bump product version to 4.1.6.2
[LibreOffice.git] / include / svtools / accessiblefactory.hxx
blobd30af055c91d81001a5acf427c905d8ec9bd3542
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 {
32 class XAccessible;
33 class XAccessibleContext;
35 namespace awt {
36 class XWindow;
38 } } }
39 class SvHeaderTabListBox;
40 class SvtIconChoiceCtrl;
41 class TabBar;
42 class SvTreeListBox;
43 class VCLXWindow;
44 class TextEngine;
45 class TextView;
47 //........................................................................
48 namespace svt
50 //........................................................................
52 class ToolPanelDeck;
53 class IToolPanelDeck;
54 class PanelTabBar;
55 namespace table
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
75 public:
76 virtual IAccessibleTabListBox*
77 createAccessibleTabListBox(
78 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
79 SvHeaderTabListBox& rBox
80 ) const = 0;
82 virtual IAccessibleBrowseBox*
83 createAccessibleBrowseBox(
84 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
85 IAccessibleTableProvider& _rBrowseBox
86 ) const = 0;
87 virtual table::IAccessibleTableControl*
88 createAccessibleTableControl(
89 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
90 table::IAccessibleTable& _rTable
91 ) const = 0;
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
97 ) const = 0;
99 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
100 createAccessibleTabBar(
101 TabBar& _rTabBar
102 ) const = 0;
104 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
105 createAccessibleTextWindowContext(
106 VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView, bool bCompoundControlChild
107 ) const = 0;
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
113 ) const = 0;
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
120 ) const = 0;
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,
127 sal_Int32 _nRowId,
128 sal_uInt16 _nColId,
129 sal_Int32 _nOffset
130 ) const = 0;
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
139 ) const = 0;
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,
146 sal_Int32 _nRowPos,
147 sal_uInt16 _nColPos,
148 const TriState& _eState,
149 sal_Bool _bIsTriState
150 ) const = 0;
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,
158 sal_Int32 _nRowPos,
159 sal_uInt16 _nColPos
160 ) const = 0;
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
166 ) = 0;
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
172 ) = 0;
174 protected:
175 ~IAccessibleFactory() {}
178 //........................................................................
179 } // namespace svt
180 //........................................................................
182 #endif // SVTOOLS_ACCESSIBLE_FACTORY_HXX
184 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */