blob: e42c8ed90781b679bb2932b11fad74d368a640a8 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef SVTOOLS_ACCESSIBLE_FACTORY_HXX
#define SVTOOLS_ACCESSIBLE_FACTORY_HXX
#include "AccessibleBrowseBoxObjType.hxx"
#include "accessibletableprovider.hxx"
#include <com/sun/star/uno/Reference.hxx>
#include <rtl/ref.hxx>
namespace com { namespace sun { namespace star {
namespace accessibility {
class XAccessible;
class XAccessibleContext;
}
namespace awt {
class XWindow;
}
} } }
class SvHeaderTabListBox;
class SvtIconChoiceCtrl;
class TabBar;
class SvTreeListBox;
class VCLXWindow;
class TextEngine;
class TextView;
//........................................................................
namespace svt
{
//........................................................................
class ToolPanelDeck;
class IToolPanelDeck;
class PanelTabBar;
namespace table
{
class IAccessibleTable;
class IAccessibleTableControl;
}
/** a function which is able to create a factory for the standard Accessible/Context
components needed for standard toolkit controls
The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired
<em>once</em>. The caller is responsible for holding this reference as long as it needs the
factory, and release it afterwards.
*/
typedef void* (SAL_CALL * GetSvtAccessibilityComponentFactory)( );
//================================================================
//= IAccessibleFactory
//================================================================
class IAccessibleFactory : public ::rtl::IReference
{
public:
virtual IAccessibleTabListBox*
createAccessibleTabListBox(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
SvHeaderTabListBox& rBox
) const = 0;
virtual IAccessibleBrowseBox*
createAccessibleBrowseBox(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
IAccessibleTableProvider& _rBrowseBox
) const = 0;
virtual table::IAccessibleTableControl*
createAccessibleTableControl(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
table::IAccessibleTable& _rTable
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleIconChoiceCtrl(
SvtIconChoiceCtrl& _rIconCtrl,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _xParent
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleTabBar(
TabBar& _rTabBar
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
createAccessibleTextWindowContext(
VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView, bool bCompoundControlChild
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleTreeListBox(
SvTreeListBox& _rListBox,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _xParent
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleBrowseBoxHeaderBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
IAccessibleTableProvider& _rOwningTable,
AccessibleBrowseBoxObjType _eObjType
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleBrowseBoxTableCell(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
IAccessibleTableProvider& _rBrowseBox,
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
sal_Int32 _nRowId,
sal_uInt16 _nColId,
sal_Int32 _nOffset
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleBrowseBoxHeaderCell(
sal_Int32 _nColumnRowId,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
IAccessibleTableProvider& _rBrowseBox,
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
AccessibleBrowseBoxObjType _eObjType
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createAccessibleCheckBoxCell(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
IAccessibleTableProvider& _rBrowseBox,
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
sal_Int32 _nRowPos,
sal_uInt16 _nColPos,
const TriState& _eState,
sal_Bool _bEnabled,
sal_Bool _bIsTriState
) const = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
createEditBrowseBoxTableCellAccess(
const ::com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible >& _rxParent,
const ::com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible >& _rxControlAccessible,
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _rxFocusWindow,
IAccessibleTableProvider& _rBrowseBox,
sal_Int32 _nRowPos,
sal_uInt16 _nColPos
) const = 0;
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
) = 0;
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
createAccessibleToolPanelTabBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
::svt::IToolPanelDeck& i_rPanelDeck,
::svt::PanelTabBar& i_rTabBar
) = 0;
};
//........................................................................
} // namespace svt
//........................................................................
#endif // SVTOOLS_ACCESSIBLE_FACTORY_HXX