LibreOffice Module vcl (master)  1
accessiblefactory.hxx
Go to the documentation of this file.
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_VCL_ACCESSIBLEFACTORY_HXX
21 #define INCLUDED_VCL_ACCESSIBLEFACTORY_HXX
22 
24 
25 #include <com/sun/star/uno/Reference.hxx>
26 
28 #include <tools/gen.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 
40 namespace vcl { class IAccessibleBrowseBox; }
41 namespace vcl { class IAccessibleTabListBox; }
42 namespace vcl { class IAccessibleTableProvider; }
43 
44 class SvHeaderTabListBox;
45 class SvtIconChoiceCtrl;
46 class TabBar;
47 class SvTreeListBox;
48 class VCLXWindow;
49 class TextEngine;
50 class TextView;
51 
52 namespace vcl
53 {
54  namespace table
55  {
56  class IAccessibleTable;
58  }
59 
67  typedef void* (* GetSvtAccessibilityComponentFactory)( );
68 
69 
70  //= IAccessibleFactory
71 
73  {
74  public:
77  const css::uno::Reference< css::accessibility::XAccessible >& rxParent,
78  SvHeaderTabListBox& rBox
79  ) const = 0;
80  virtual css::uno::Reference< css::accessibility::XAccessible >
82  SvTreeListBox& _rListBox,
83  const css::uno::Reference< css::accessibility::XAccessible >& _xParent
84  ) const = 0;
87  const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
89  ) const = 0;
92  const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
94  ) const = 0;
95 
96  virtual css::uno::Reference< css::accessibility::XAccessible >
98  SvtIconChoiceCtrl& _rIconCtrl,
99  const css::uno::Reference< css::accessibility::XAccessible >& _xParent
100  ) const = 0;
101 
102  virtual css::uno::Reference< css::accessibility::XAccessible >
104  TabBar& _rTabBar
105  ) const = 0;
106 
107  virtual css::uno::Reference< css::accessibility::XAccessibleContext >
109  VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView
110  ) const = 0;
111 
112  virtual css::uno::Reference< css::accessibility::XAccessible >
114  const css::uno::Reference< css::accessibility::XAccessible >& rxParent,
115  vcl::IAccessibleTableProvider& _rOwningTable,
117  ) const = 0;
118 
119  virtual css::uno::Reference< css::accessibility::XAccessible >
121  const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
122  vcl::IAccessibleTableProvider& _rBrowseBox,
123  const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
124  sal_Int32 _nRowId,
125  sal_uInt16 _nColId,
126  sal_Int32 _nOffset
127  ) const = 0;
128 
129  virtual css::uno::Reference< css::accessibility::XAccessible >
131  sal_Int32 _nColumnRowId,
132  const css::uno::Reference< css::accessibility::XAccessible >& rxParent,
133  vcl::IAccessibleTableProvider& _rBrowseBox,
134  const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
136  ) const = 0;
137 
138  virtual css::uno::Reference< css::accessibility::XAccessible >
140  const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
141  vcl::IAccessibleTableProvider& _rBrowseBox,
142  const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
143  sal_Int32 _nRowPos,
144  sal_uInt16 _nColPos,
145  const TriState& _eState,
146  bool _bIsTriState
147  ) const = 0;
148 
149  virtual css::uno::Reference< css::accessibility::XAccessible >
151  const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
152  const css::uno::Reference< css::accessibility::XAccessible >& _rxControlAccessible,
153  const css::uno::Reference< css::awt::XWindow >& _rxFocusWindow,
154  vcl::IAccessibleTableProvider& _rBrowseBox,
155  sal_Int32 _nRowPos,
156  sal_uInt16 _nColPos
157  ) const = 0;
158 
159  protected:
160  virtual ~IAccessibleFactory() override {}
161  };
162 
163 } // namespace vcl
164 
165 
166 #endif // INCLUDED_VCL_ACCESSIBLEFACTORY_HXX
167 
168 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This abstract class provides methods to implement an accessible table object.
virtual css::uno::Reference< css::accessibility::XAccessible > createEditBrowseBoxTableCellAccess(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, const css::uno::Reference< css::accessibility::XAccessible > &_rxControlAccessible, const css::uno::Reference< css::awt::XWindow > &_rxFocusWindow, vcl::IAccessibleTableProvider &_rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos) const =0
interface for an implementation of a table control's Accessible component
virtual ~IAccessibleFactory() override
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleBrowseBoxHeaderCell(sal_Int32 _nColumnRowId, const css::uno::Reference< css::accessibility::XAccessible > &rxParent, vcl::IAccessibleTableProvider &_rBrowseBox, const css::uno::Reference< css::awt::XWindow > &_xFocusWindow, vcl::AccessibleBrowseBoxObjType _eObjType) const =0
virtual vcl::IAccessibleTabListBox * createAccessibleTabListBox(const css::uno::Reference< css::accessibility::XAccessible > &rxParent, SvHeaderTabListBox &rBox) const =0
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleBrowseBoxHeaderBar(const css::uno::Reference< css::accessibility::XAccessible > &rxParent, vcl::IAccessibleTableProvider &_rOwningTable, vcl::AccessibleBrowseBoxObjType _eObjType) const =0
This abstract class provides methods to implement an accessible table object.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > createAccessibleTextWindowContext(VCLXWindow *pVclXWindow, TextEngine &rEngine, TextView &rView) const =0
virtual vcl::IAccessibleBrowseBox * createAccessibleBrowseBox(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, vcl::IAccessibleTableProvider &_rBrowseBox) const =0
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleTreeListBox(SvTreeListBox &_rListBox, const css::uno::Reference< css::accessibility::XAccessible > &_xParent) const =0
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleIconChoiceCtrl(SvtIconChoiceCtrl &_rIconCtrl, const css::uno::Reference< css::accessibility::XAccessible > &_xParent) const =0
interface for an implementation of a table control's Accessible component
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleTabBar(TabBar &_rTabBar) const =0
interface for an implementation of a browse box's Accessible component
virtual table::IAccessibleTableControl * createAccessibleTableControl(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, table::IAccessibleTable &_rTable) const =0
AccessibleBrowseBoxObjType
This enumeration contains a constant for each kind of accessible object of a BrowseBox.
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleCheckBoxCell(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, vcl::IAccessibleTableProvider &_rBrowseBox, const css::uno::Reference< css::awt::XWindow > &_xFocusWindow, sal_Int32 _nRowPos, sal_uInt16 _nColPos, const TriState &_eState, bool _bIsTriState) const =0
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleBrowseBoxTableCell(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, vcl::IAccessibleTableProvider &_rBrowseBox, const css::uno::Reference< css::awt::XWindow > &_xFocusWindow, sal_Int32 _nRowId, sal_uInt16 _nColId, sal_Int32 _nOffset) const =0
TriState