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 : #include <salhelper/simplereferenceobject.hxx>
30 :
31 : namespace com { namespace sun { namespace star {
32 : namespace accessibility {
33 : class XAccessible;
34 : class XAccessibleContext;
35 : }
36 : namespace awt {
37 : class XWindow;
38 : }
39 : } } }
40 : class SvHeaderTabListBox;
41 : class SvtIconChoiceCtrl;
42 : class TabBar;
43 : class SvTreeListBox;
44 : class VCLXWindow;
45 : class TextEngine;
46 : class TextView;
47 :
48 :
49 : namespace svt
50 : {
51 :
52 :
53 : class ToolPanelDeck;
54 : class IToolPanelDeck;
55 : class PanelTabBar;
56 : namespace table
57 : {
58 : class IAccessibleTable;
59 : class IAccessibleTableControl;
60 : }
61 :
62 : /** a function which is able to create a factory for the standard Accessible/Context
63 : components needed for standard toolkit controls
64 :
65 : The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired
66 : <em>once</em>. The caller is responsible for holding this reference as long as it needs the
67 : factory, and release it afterwards.
68 : */
69 : typedef void* (SAL_CALL * GetSvtAccessibilityComponentFactory)( );
70 :
71 :
72 : //= IAccessibleFactory
73 :
74 22 : class IAccessibleFactory : public virtual ::salhelper::SimpleReferenceObject
75 : {
76 : public:
77 : virtual IAccessibleTabListBox*
78 : createAccessibleTabListBox(
79 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
80 : SvHeaderTabListBox& rBox
81 : ) const = 0;
82 :
83 : virtual IAccessibleBrowseBox*
84 : createAccessibleBrowseBox(
85 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
86 : IAccessibleTableProvider& _rBrowseBox
87 : ) const = 0;
88 : virtual table::IAccessibleTableControl*
89 : createAccessibleTableControl(
90 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
91 : table::IAccessibleTable& _rTable
92 : ) const = 0;
93 :
94 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
95 : createAccessibleIconChoiceCtrl(
96 : SvtIconChoiceCtrl& _rIconCtrl,
97 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _xParent
98 : ) const = 0;
99 :
100 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
101 : createAccessibleTabBar(
102 : TabBar& _rTabBar
103 : ) const = 0;
104 :
105 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
106 : createAccessibleTextWindowContext(
107 : VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView
108 : ) const = 0;
109 :
110 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
111 : createAccessibleTreeListBox(
112 : SvTreeListBox& _rListBox,
113 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _xParent
114 : ) const = 0;
115 :
116 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
117 : createAccessibleBrowseBoxHeaderBar(
118 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
119 : IAccessibleTableProvider& _rOwningTable,
120 : AccessibleBrowseBoxObjType _eObjType
121 : ) const = 0;
122 :
123 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
124 : createAccessibleBrowseBoxTableCell(
125 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
126 : IAccessibleTableProvider& _rBrowseBox,
127 : const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
128 : sal_Int32 _nRowId,
129 : sal_uInt16 _nColId,
130 : sal_Int32 _nOffset
131 : ) const = 0;
132 :
133 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
134 : createAccessibleBrowseBoxHeaderCell(
135 : sal_Int32 _nColumnRowId,
136 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
137 : IAccessibleTableProvider& _rBrowseBox,
138 : const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
139 : AccessibleBrowseBoxObjType _eObjType
140 : ) const = 0;
141 :
142 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
143 : createAccessibleCheckBoxCell(
144 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
145 : IAccessibleTableProvider& _rBrowseBox,
146 : const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xFocusWindow,
147 : sal_Int32 _nRowPos,
148 : sal_uInt16 _nColPos,
149 : const TriState& _eState,
150 : bool _bIsTriState
151 : ) const = 0;
152 :
153 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
154 : createEditBrowseBoxTableCellAccess(
155 : const ::com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible >& _rxParent,
156 : const ::com::sun::star::uno::Reference< com::sun::star::accessibility::XAccessible >& _rxControlAccessible,
157 : const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _rxFocusWindow,
158 : IAccessibleTableProvider& _rBrowseBox,
159 : sal_Int32 _nRowPos,
160 : sal_uInt16 _nColPos
161 : ) const = 0;
162 :
163 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
164 : createAccessibleToolPanelDeck(
165 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
166 : ::svt::ToolPanelDeck& i_rPanelDeck
167 : ) = 0;
168 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
169 : createAccessibleToolPanelTabBar(
170 : const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
171 : ::svt::IToolPanelDeck& i_rPanelDeck,
172 : ::svt::PanelTabBar& i_rTabBar
173 : ) = 0;
174 :
175 : protected:
176 0 : virtual ~IAccessibleFactory() {}
177 : };
178 :
179 :
180 : } // namespace svt
181 :
182 :
183 : #endif // INCLUDED_SVTOOLS_ACCESSIBLEFACTORY_HXX
184 :
185 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|