Kaydet (Commit) 398b595e authored tarafından Frank Schoenheit [fs]'s avatar Frank Schoenheit [fs]

slidecopy: A11Y for the ToolPanelDeck VCL control

üst ae7e1f91
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef ACC_ACCESSIBLETOOLPANELDECK_HXX
#define ACC_ACCESSIBLETOOLPANELDECK_HXX
/** === begin UNO includes === **/
/** === end UNO includes === **/
#include <cppuhelper/implbase1.hxx>
#include <toolkit/awt/vclxaccessiblecomponent.hxx>
#include <boost/scoped_ptr.hpp>
namespace svt
{
class ToolPanelDeck;
}
//......................................................................................................................
namespace accessibility
{
//......................................................................................................................
//==================================================================================================================
//= AccessibleToolPanelDeck
//==================================================================================================================
class AccessibleToolPanelDeck_Impl;
typedef VCLXAccessibleComponent AccessibleToolPanelDeck_Base;
class AccessibleToolPanelDeck : public AccessibleToolPanelDeck_Base
{
public:
AccessibleToolPanelDeck(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
::svt::ToolPanelDeck& i_rPanelDeck
);
using AccessibleToolPanelDeck_Base::NotifyAccessibleEvent;
protected:
virtual ~AccessibleToolPanelDeck();
// XAccessibleContext
virtual sal_Int32 SAL_CALL getAccessibleChildCount( ) throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) throw (::com::sun::star::uno::RuntimeException);
virtual sal_Int16 SAL_CALL getAccessibleRole( ) throw (::com::sun::star::uno::RuntimeException);
// XAccessibleComponent
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL grabFocus( ) throw (::com::sun::star::uno::RuntimeException);
// OComponentHelper
virtual void SAL_CALL disposing();
// VCLXAccessibleComponent
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > GetChildAccessible( const VclWindowEvent& i_rVclWindowEvent );
virtual void FillAccessibleStateSet( ::utl::AccessibleStateSetHelper& i_rStateSet );
private:
::boost::scoped_ptr< AccessibleToolPanelDeck_Impl > m_pImpl;
};
//......................................................................................................................
} // namespace accessibility
//......................................................................................................................
#endif // ACC_ACCESSIBLETOOLPANELDECK_HXX
......@@ -71,7 +71,8 @@ SLOFILES=\
$(SLO)$/AccessibleGridControlHeader.obj \
$(SLO)$/AccessibleGridControlTableCell.obj \
$(SLO)$/AccessibleGridControlHeaderCell.obj \
$(SLO)$/AccessibleGridControlTable.obj
$(SLO)$/AccessibleGridControlTable.obj \
$(SLO)$/AccessibleToolPanelDeck.obj
# --- Targets -------------------------------------------------------
......
......@@ -32,18 +32,12 @@
#include "precompiled_accessibility.hxx"
#include <accessibility/helper/acc_factory.hxx>
#ifndef _TOOLKIT_AWT_VCLXWINDOWS_HXX
#include <toolkit/awt/vclxwindows.hxx>
#endif
#include <accessibility/standard/vclxaccessiblebutton.hxx>
#include <accessibility/standard/vclxaccessiblecheckbox.hxx>
#ifndef ACCESSIBILITY_STANDARD_VCLXACCESSIBLEDROPDOWCOMBOBOX_HXX
#include <accessibility/standard/vclxaccessibledropdowncombobox.hxx>
#endif
#include <accessibility/standard/vclxaccessiblecombobox.hxx>
#ifndef ACCESSIBILITY_STANDARD_VCLXACCESSIBLEDROPDOWLISTBOX_HXX
#include <accessibility/standard/vclxaccessibledropdownlistbox.hxx>
#endif
#include <accessibility/standard/vclxaccessibleedit.hxx>
#include <accessibility/standard/vclxaccessiblefixedhyperlink.hxx>
#include <accessibility/standard/vclxaccessiblefixedtext.hxx>
......@@ -70,6 +64,7 @@
#include <accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx>
#include <accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx>
#include <accessibility/extended/accessibleeditbrowseboxcell.hxx>
#include <accessibility/extended/AccessibleToolPanelDeck.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/combobox.hxx>
#include <accessibility/extended/AccessibleGridControl.hxx>
......@@ -230,6 +225,18 @@ inline bool hasFloatingChild(Window *pWindow)
sal_uInt16 _nColPos
) const;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
createAccessibleToolPanelDeck(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
::svt::ToolPanelDeck& i_rPanelDeck
);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleToolPanelDeckTabBarItem(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
::svt::IToolPanelDeck& i_rPanelDeck,
const size_t i_nItemPos
);
protected:
virtual ~AccessibleFactory();
};
......@@ -511,6 +518,21 @@ inline bool hasFloatingChild(Window *pWindow)
_rxFocusWindow, _rBrowseBox, _nRowPos, _nColPos );
}
//--------------------------------------------------------------------
Reference< XAccessibleContext > AccessibleFactory::createAccessibleToolPanelDeck(
const Reference< XAccessible >& i_rAccessibleParent, ::svt::ToolPanelDeck& i_rPanelDeck )
{
return new AccessibleToolPanelDeck( i_rAccessibleParent, i_rPanelDeck );
}
//--------------------------------------------------------------------
Reference< XAccessible > AccessibleFactory::createAccessibleToolPanelDeckTabBarItem(
const Reference< XAccessible >& /*i_rAccessibleParent*/, ::svt::IToolPanelDeck& /*i_rPanelDeck*/, const size_t /*i_nItemPos*/ )
{
// TODO
return NULL;
}
//........................................................................
} // namespace accessibility
//........................................................................
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment