1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef SVTOOLS_ACCESSIBLE_FACTORY_HXX
21 #define SVTOOLS_ACCESSIBLE_FACTORY_HXX
23 #include "AccessibleBrowseBoxObjType.hxx"
24 #include "accessibletableprovider.hxx"
26 #include <com/sun/star/uno/Reference.hxx>
28 #include <rtl/ref.hxx>
30 namespace com
{ namespace sun
{ namespace star
{
31 namespace accessibility
{
33 class XAccessibleContext
;
39 class SvHeaderTabListBox
;
40 class SvtIconChoiceCtrl
;
47 //........................................................................
50 //........................................................................
57 class IAccessibleTable
;
58 class IAccessibleTableControl
;
61 /** a function which is able to create a factory for the standard Accessible/Context
62 components needed for standard toolkit controls
64 The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired
65 <em>once</em>. The caller is responsible for holding this reference as long as it needs the
66 factory, and release it afterwards.
68 typedef void* (SAL_CALL
* GetSvtAccessibilityComponentFactory
)( );
70 //================================================================
71 //= IAccessibleFactory
72 //================================================================
73 class IAccessibleFactory
: public ::rtl::IReference
76 virtual IAccessibleTabListBox
*
77 createAccessibleTabListBox(
78 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
79 SvHeaderTabListBox
& rBox
82 virtual IAccessibleBrowseBox
*
83 createAccessibleBrowseBox(
84 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
85 IAccessibleTableProvider
& _rBrowseBox
87 virtual table::IAccessibleTableControl
*
88 createAccessibleTableControl(
89 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
90 table::IAccessibleTable
& _rTable
93 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
94 createAccessibleIconChoiceCtrl(
95 SvtIconChoiceCtrl
& _rIconCtrl
,
96 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _xParent
99 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
100 createAccessibleTabBar(
104 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
105 createAccessibleTextWindowContext(
106 VCLXWindow
* pVclXWindow
, TextEngine
& rEngine
, TextView
& rView
, bool bCompoundControlChild
109 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
110 createAccessibleTreeListBox(
111 SvTreeListBox
& _rListBox
,
112 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _xParent
115 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
116 createAccessibleBrowseBoxHeaderBar(
117 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
118 IAccessibleTableProvider
& _rOwningTable
,
119 AccessibleBrowseBoxObjType _eObjType
122 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
123 createAccessibleBrowseBoxTableCell(
124 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
125 IAccessibleTableProvider
& _rBrowseBox
,
126 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
132 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
133 createAccessibleBrowseBoxHeaderCell(
134 sal_Int32 _nColumnRowId
,
135 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
136 IAccessibleTableProvider
& _rBrowseBox
,
137 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
138 AccessibleBrowseBoxObjType _eObjType
141 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
142 createAccessibleCheckBoxCell(
143 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
144 IAccessibleTableProvider
& _rBrowseBox
,
145 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
148 const TriState
& _eState
,
149 sal_Bool _bIsTriState
152 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
153 createEditBrowseBoxTableCellAccess(
154 const ::com::sun::star::uno::Reference
< com::sun::star::accessibility::XAccessible
>& _rxParent
,
155 const ::com::sun::star::uno::Reference
< com::sun::star::accessibility::XAccessible
>& _rxControlAccessible
,
156 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _rxFocusWindow
,
157 IAccessibleTableProvider
& _rBrowseBox
,
162 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
163 createAccessibleToolPanelDeck(
164 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& i_rAccessibleParent
,
165 ::svt::ToolPanelDeck
& i_rPanelDeck
167 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
168 createAccessibleToolPanelTabBar(
169 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& i_rAccessibleParent
,
170 ::svt::IToolPanelDeck
& i_rPanelDeck
,
171 ::svt::PanelTabBar
& i_rTabBar
175 ~IAccessibleFactory() {}
178 //........................................................................
180 //........................................................................
182 #endif // SVTOOLS_ACCESSIBLE_FACTORY_HXX
184 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */