Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
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 .
18 : */
19 :
20 : #ifndef INCLUDED_SVTOOLS_ACCESSIBLEFACTORY_HXX
21 : #define INCLUDED_SVTOOLS_ACCESSIBLEFACTORY_HXX
22 :
23 : #include <svtools/AccessibleBrowseBoxObjType.hxx>
24 : #include <svtools/accessibletableprovider.hxx>
25 :
26 : #include <com/sun/star/uno/Reference.hxx>
27 :
28 : #include <rtl/ref.hxx>
29 :
30 : namespace com { namespace sun { namespace star {
31 : namespace accessibility {
32 : class XAccessible;
33 : class XAccessibleContext;
34 : }
35 : namespace awt {
36 : class XWindow;
37 : }
38 : } } }
39 : class SvHeaderTabListBox;
40 : class SvtIconChoiceCtrl;
41 : class TabBar;
42 : class SvTreeListBox;
43 : class VCLXWindow;
44 : class TextEngine;
45 : class TextView;
46 :
47 :
48 : namespace svt
49 : {
50 :
51 :
52 : class ToolPanelDeck;
53 : class IToolPanelDeck;
54 : class PanelTabBar;
55 : namespace table
56 : {
57 : class IAccessibleTable;
58 : class IAccessibleTableControl;
59 : }
60 :
61 : /** a function which is able to create a factory for the standard Accessible/Context
62 : components needed for standard toolkit controls
63 :
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.
67 : */
68 : typedef void* (SAL_CALL * GetSvtAccessibilityComponentFactory)( );
69 :
70 :
71 : //= IAccessibleFactory
72 :
73 0 : class IAccessibleFactory : public ::rtl::IReference
74 : {
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;
81 :
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;
92 :
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;
98 :
99 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
100 : createAccessibleTabBar(
101 : TabBar& _rTabBar
102 : ) const = 0;
103 :
104 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
105 : createAccessibleTextWindowContext(
106 : VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView
107 : ) const = 0;
108 :
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;
114 :
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;
121 :
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;
131 :
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;
140 :
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 : bool _bIsTriState
150 : ) const = 0;
151 :
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;
161 :
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;
173 :
174 : protected:
175 0 : ~IAccessibleFactory() {}
176 : };
177 :
178 :
179 : } // namespace svt
180 :
181 :
182 : #endif // INCLUDED_SVTOOLS_ACCESSIBLEFACTORY_HXX
183 :
184 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|