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 #include <toolkit/awt/vclxwindows.hxx>
21 #include <toolkit/helper/accessiblefactory.hxx>
22 #include <svtools/accessiblefactory.hxx>
23 #include <accessibility/standard/vclxaccessiblebutton.hxx>
24 #include <accessibility/standard/vclxaccessiblecheckbox.hxx>
25 #include <accessibility/standard/vclxaccessibledropdowncombobox.hxx>
26 #include <accessibility/standard/vclxaccessiblecombobox.hxx>
27 #include <accessibility/standard/vclxaccessibledropdownlistbox.hxx>
28 #include <accessibility/standard/vclxaccessibleedit.hxx>
29 #include <accessibility/standard/vclxaccessiblefixedhyperlink.hxx>
30 #include <accessibility/standard/vclxaccessiblefixedtext.hxx>
31 #include <accessibility/standard/vclxaccessiblelistbox.hxx>
32 #include <accessibility/standard/vclxaccessiblemenu.hxx>
33 #include <accessibility/standard/vclxaccessibleradiobutton.hxx>
34 #include <accessibility/standard/vclxaccessiblescrollbar.hxx>
35 #include <accessibility/standard/vclxaccessibletextcomponent.hxx>
36 #include <accessibility/standard/vclxaccessibletoolbox.hxx>
37 #include <toolkit/awt/vclxaccessiblecomponent.hxx>
38 #include <accessibility/standard/vclxaccessiblestatusbar.hxx>
39 #include <accessibility/standard/vclxaccessibletabcontrol.hxx>
40 #include <accessibility/standard/vclxaccessibletabpagewindow.hxx>
41 #include <accessibility/standard/vclxaccessiblemenubar.hxx>
42 #include <accessibility/standard/vclxaccessiblepopupmenu.hxx>
43 #include <accessibility/extended/accessibletablistbox.hxx>
44 #include <accessibility/extended/AccessibleBrowseBox.hxx>
45 #include <accessibility/extended/accessibleiconchoicectrl.hxx>
46 #include <accessibility/extended/accessibletabbar.hxx>
47 #include <accessibility/extended/accessiblelistbox.hxx>
48 #include <accessibility/extended/AccessibleBrowseBoxHeaderBar.hxx>
49 #include <accessibility/extended/textwindowaccessibility.hxx>
50 #include <accessibility/extended/AccessibleBrowseBoxTableCell.hxx>
51 #include <accessibility/extended/AccessibleBrowseBoxHeaderCell.hxx>
52 #include <accessibility/extended/AccessibleBrowseBoxCheckBoxCell.hxx>
53 #include <accessibility/extended/accessibleeditbrowseboxcell.hxx>
54 #include <accessibility/extended/AccessibleToolPanelDeck.hxx>
55 #include <accessibility/extended/AccessibleToolPanelDeckTabBar.hxx>
56 #include <accessibility/extended/AccessibleToolPanelDeckTabBarItem.hxx>
57 #include <vcl/lstbox.hxx>
58 #include <vcl/combobox.hxx>
59 #include <accessibility/extended/AccessibleGridControl.hxx>
60 #include <svtools/accessibletable.hxx>
61 #include <vcl/popupmenuwindow.hxx>
62 #include <cppuhelper/implbase1.hxx>
64 #include "floatingwindowaccessible.hxx"
66 //........................................................................
67 namespace accessibility
70 inline bool hasFloatingChild(Window
*pWindow
)
72 Window
* pChild
= pWindow
->GetAccessibleChildWindow(0);
73 if( pChild
&& WINDOW_FLOATINGWINDOW
== pChild
->GetType() )
79 //........................................................................
81 using namespace ::com::sun::star::uno
;
82 using namespace ::com::sun::star::awt
;
83 using namespace ::com::sun::star::accessibility
;
84 using namespace ::svt
;
85 using namespace ::svt::table
;
87 //================================================================
88 //= IAccessibleFactory
89 //================================================================
90 class AccessibleFactory
:public ::toolkit::IAccessibleFactory
91 ,public ::svt::IAccessibleFactory
94 oslInterlockedCount m_refCount
;
100 virtual oslInterlockedCount SAL_CALL
acquire();
101 virtual oslInterlockedCount SAL_CALL
release();
103 // ::toolkit::IAccessibleFactory
104 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
105 createAccessibleContext( VCLXButton
* _pXWindow
);
106 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
107 createAccessibleContext( VCLXCheckBox
* _pXWindow
);
108 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
109 createAccessibleContext( VCLXRadioButton
* _pXWindow
);
110 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
111 createAccessibleContext( VCLXListBox
* _pXWindow
);
112 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
113 createAccessibleContext( VCLXFixedText
* _pXWindow
);
114 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
115 createAccessibleContext( VCLXFixedHyperlink
* _pXWindow
);
116 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
117 createAccessibleContext( VCLXScrollBar
* _pXWindow
);
118 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
119 createAccessibleContext( VCLXEdit
* _pXWindow
);
120 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
121 createAccessibleContext( VCLXComboBox
* _pXWindow
);
122 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
123 createAccessibleContext( VCLXToolBox
* _pXWindow
);
124 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
125 createAccessibleContext( VCLXWindow
* _pXWindow
);
126 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
127 createAccessible( Menu
* _pMenu
, sal_Bool _bIsMenuBar
);
129 // ::svt::IAccessibleFactory
130 virtual IAccessibleTabListBox
*
131 createAccessibleTabListBox(
132 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
133 SvHeaderTabListBox
& rBox
136 virtual IAccessibleBrowseBox
*
137 createAccessibleBrowseBox(
138 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
139 IAccessibleTableProvider
& _rBrowseBox
142 virtual IAccessibleTableControl
*
143 createAccessibleTableControl(
144 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
145 IAccessibleTable
& _rTable
148 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
149 createAccessibleIconChoiceCtrl(
150 SvtIconChoiceCtrl
& _rIconCtrl
,
151 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _xParent
154 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
155 createAccessibleTabBar(
159 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
160 createAccessibleTextWindowContext(
161 VCLXWindow
* pVclXWindow
, TextEngine
& rEngine
, TextView
& rView
, bool bCompoundControlChild
164 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
165 createAccessibleTreeListBox(
166 SvTreeListBox
& _rListBox
,
167 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _xParent
170 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
171 createAccessibleBrowseBoxHeaderBar(
172 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
173 IAccessibleTableProvider
& _rOwningTable
,
174 AccessibleBrowseBoxObjType _eObjType
177 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
178 createAccessibleBrowseBoxTableCell(
179 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
180 IAccessibleTableProvider
& _rBrowseBox
,
181 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
187 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
188 createAccessibleBrowseBoxHeaderCell(
189 sal_Int32 _nColumnRowId
,
190 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& rxParent
,
191 IAccessibleTableProvider
& _rBrowseBox
,
192 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
193 AccessibleBrowseBoxObjType _eObjType
196 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
197 createAccessibleCheckBoxCell(
198 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& _rxParent
,
199 IAccessibleTableProvider
& _rBrowseBox
,
200 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _xFocusWindow
,
203 const TriState
& _eState
,
204 sal_Bool _bIsTriState
207 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>
208 createEditBrowseBoxTableCellAccess(
209 const ::com::sun::star::uno::Reference
< com::sun::star::accessibility::XAccessible
>& _rxParent
,
210 const ::com::sun::star::uno::Reference
< com::sun::star::accessibility::XAccessible
>& _rxControlAccessible
,
211 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
>& _rxFocusWindow
,
212 IAccessibleTableProvider
& _rBrowseBox
,
217 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
218 createAccessibleToolPanelDeck(
219 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& i_rAccessibleParent
,
220 ::svt::ToolPanelDeck
& i_rPanelDeck
222 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>
223 createAccessibleToolPanelTabBar(
224 const ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessible
>& i_rAccessibleParent
,
225 ::svt::IToolPanelDeck
& i_rPanelDeck
,
226 ::svt::PanelTabBar
& i_rTabBar
230 virtual ~AccessibleFactory();
234 //--------------------------------------------------------------------
235 AccessibleFactory::AccessibleFactory()
240 //--------------------------------------------------------------------
241 AccessibleFactory::~AccessibleFactory()
245 //--------------------------------------------------------------------
246 oslInterlockedCount SAL_CALL
AccessibleFactory::acquire()
248 return osl_atomic_increment( &m_refCount
);
251 //--------------------------------------------------------------------
252 oslInterlockedCount SAL_CALL
AccessibleFactory::release()
254 if ( 0 == osl_atomic_decrement( &m_refCount
) )
262 //--------------------------------------------------------------------
263 Reference
< XAccessible
> AccessibleFactory::createAccessible( Menu
* _pMenu
, sal_Bool _bIsMenuBar
)
265 OAccessibleMenuBaseComponent
* pAccessible
;
267 pAccessible
= new VCLXAccessibleMenuBar( _pMenu
);
269 pAccessible
= new VCLXAccessiblePopupMenu( _pMenu
);
270 pAccessible
->SetStates();
274 //--------------------------------------------------------------------
275 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXButton
* _pXWindow
)
277 return new VCLXAccessibleButton( _pXWindow
);
280 //--------------------------------------------------------------------
281 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXCheckBox
* _pXWindow
)
283 return new VCLXAccessibleCheckBox( _pXWindow
);
286 //--------------------------------------------------------------------
287 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXRadioButton
* _pXWindow
)
289 return new VCLXAccessibleRadioButton( _pXWindow
);
292 //--------------------------------------------------------------------
293 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXListBox
* _pXWindow
)
295 sal_Bool bIsDropDownBox
= sal_False
;
296 ListBox
* pBox
= static_cast< ListBox
* >( _pXWindow
->GetWindow() );
298 bIsDropDownBox
= ( ( pBox
->GetStyle() & WB_DROPDOWN
) == WB_DROPDOWN
);
300 if ( bIsDropDownBox
)
301 return new VCLXAccessibleDropDownListBox( _pXWindow
);
303 return new VCLXAccessibleListBox( _pXWindow
);
306 //--------------------------------------------------------------------
307 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXFixedText
* _pXWindow
)
309 return new VCLXAccessibleFixedText( _pXWindow
);
312 //--------------------------------------------------------------------
313 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXFixedHyperlink
* _pXWindow
)
315 return new VCLXAccessibleFixedHyperlink( _pXWindow
);
318 //--------------------------------------------------------------------
319 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXScrollBar
* _pXWindow
)
321 return new VCLXAccessibleScrollBar( _pXWindow
);
324 //--------------------------------------------------------------------
325 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXEdit
* _pXWindow
)
327 return new VCLXAccessibleEdit( _pXWindow
);
330 //--------------------------------------------------------------------
331 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXComboBox
* _pXWindow
)
333 sal_Bool bIsDropDownBox
= sal_False
;
334 ComboBox
* pBox
= static_cast< ComboBox
* >( _pXWindow
->GetWindow() );
336 bIsDropDownBox
= ( ( pBox
->GetStyle() & WB_DROPDOWN
) == WB_DROPDOWN
);
338 if ( bIsDropDownBox
)
339 return new VCLXAccessibleDropDownComboBox( _pXWindow
);
341 return new VCLXAccessibleComboBox( _pXWindow
);
344 //--------------------------------------------------------------------
345 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXWindow
* _pXWindow
)
347 Reference
< XAccessibleContext
> xContext
;
349 Window
* pWindow
= _pXWindow
->GetWindow();
352 WindowType nType
= pWindow
->GetType();
354 if ( nType
== WINDOW_MENUBARWINDOW
|| pWindow
->IsMenuFloatingWindow() || pWindow
->IsToolbarFloatingWindow() )
356 Reference
< XAccessible
> xAcc( pWindow
->GetAccessible() );
359 Reference
< XAccessibleContext
> xCont( xAcc
->getAccessibleContext() );
360 if ( pWindow
->GetType() == WINDOW_MENUBARWINDOW
||
361 ( xCont
.is() && xCont
->getAccessibleRole() == AccessibleRole::POPUP_MENU
) )
367 else if ( nType
== WINDOW_STATUSBAR
)
369 xContext
= (XAccessibleContext
*) new VCLXAccessibleStatusBar( _pXWindow
);
371 else if ( nType
== WINDOW_TABCONTROL
)
373 xContext
= (XAccessibleContext
*) new VCLXAccessibleTabControl( _pXWindow
);
375 else if ( nType
== WINDOW_TABPAGE
&& pWindow
->GetAccessibleParentWindow() && pWindow
->GetAccessibleParentWindow()->GetType() == WINDOW_TABCONTROL
)
377 xContext
= new VCLXAccessibleTabPageWindow( _pXWindow
);
379 else if ( nType
== WINDOW_FLOATINGWINDOW
)
381 xContext
= new FloatingWindowAccessible( _pXWindow
);
383 else if ( nType
== WINDOW_BORDERWINDOW
&& hasFloatingChild( pWindow
) )
385 // The logic here has to match that of Window::GetAccessibleParentWindow in
386 // vcl/source/window/window.cxx to avoid PopupMenuFloatingWindow
387 // becoming a11y parents of themselves
388 Window
* pChild
= pWindow
->GetAccessibleChildWindow(0);
389 if (PopupMenuFloatingWindow::isPopupMenu(pChild
))
391 // Get the accessible context from the child window.
392 Reference
<XAccessible
> xAccessible
= pChild
->CreateAccessible();
393 if (xAccessible
.is())
394 xContext
= xAccessible
->getAccessibleContext();
397 xContext
= new FloatingWindowAccessible( _pXWindow
);
399 else if ( ( nType
== WINDOW_HELPTEXTWINDOW
) || ( nType
== WINDOW_FIXEDLINE
) )
401 xContext
= (accessibility::XAccessibleContext
*) new VCLXAccessibleFixedText( _pXWindow
);
405 xContext
= (accessibility::XAccessibleContext
*) new VCLXAccessibleComponent( _pXWindow
);
412 //--------------------------------------------------------------------
413 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleContext( VCLXToolBox
* _pXWindow
)
415 return new VCLXAccessibleToolBox( _pXWindow
);
418 //--------------------------------------------------------------------
419 IAccessibleTabListBox
* AccessibleFactory::createAccessibleTabListBox(
420 const Reference
< XAccessible
>& rxParent
, SvHeaderTabListBox
& rBox
) const
422 return new AccessibleTabListBox( rxParent
, rBox
);
425 //--------------------------------------------------------------------
426 IAccessibleBrowseBox
* AccessibleFactory::createAccessibleBrowseBox(
427 const Reference
< XAccessible
>& _rxParent
, IAccessibleTableProvider
& _rBrowseBox
) const
429 return new AccessibleBrowseBoxAccess( _rxParent
, _rBrowseBox
);
432 //--------------------------------------------------------------------
433 IAccessibleTableControl
* AccessibleFactory::createAccessibleTableControl(
434 const Reference
< XAccessible
>& _rxParent
, IAccessibleTable
& _rTable
) const
436 return new AccessibleGridControlAccess( _rxParent
, _rTable
);
439 //--------------------------------------------------------------------
440 Reference
< XAccessible
> AccessibleFactory::createAccessibleIconChoiceCtrl(
441 SvtIconChoiceCtrl
& _rIconCtrl
, const Reference
< XAccessible
>& _xParent
) const
443 return new AccessibleIconChoiceCtrl( _rIconCtrl
, _xParent
);
446 //--------------------------------------------------------------------
447 Reference
< XAccessible
> AccessibleFactory::createAccessibleTabBar( TabBar
& _rTabBar
) const
449 return new AccessibleTabBar( &_rTabBar
);
452 //--------------------------------------------------------------------
453 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleTextWindowContext(
454 VCLXWindow
* pVclXWindow
, TextEngine
& rEngine
, TextView
& rView
, bool bCompoundControlChild
) const
456 return new Document( pVclXWindow
, rEngine
, rView
, bCompoundControlChild
);
459 //--------------------------------------------------------------------
460 Reference
< XAccessible
> AccessibleFactory::createAccessibleTreeListBox(
461 SvTreeListBox
& _rListBox
, const Reference
< XAccessible
>& _xParent
) const
463 return new AccessibleListBox( _rListBox
, _xParent
);
466 //--------------------------------------------------------------------
467 Reference
< XAccessible
> AccessibleFactory::createAccessibleBrowseBoxHeaderBar(
468 const Reference
< XAccessible
>& rxParent
, IAccessibleTableProvider
& _rOwningTable
,
469 AccessibleBrowseBoxObjType _eObjType
) const
471 return new AccessibleBrowseBoxHeaderBar( rxParent
, _rOwningTable
, _eObjType
);
474 //--------------------------------------------------------------------
475 Reference
< XAccessible
> AccessibleFactory::createAccessibleBrowseBoxTableCell(
476 const Reference
< XAccessible
>& _rxParent
, IAccessibleTableProvider
& _rBrowseBox
,
477 const Reference
< XWindow
>& _xFocusWindow
, sal_Int32 _nRowId
, sal_uInt16 _nColId
, sal_Int32 _nOffset
) const
479 return new AccessibleBrowseBoxTableCell( _rxParent
, _rBrowseBox
, _xFocusWindow
,
480 _nRowId
, _nColId
, _nOffset
);
483 //--------------------------------------------------------------------
484 Reference
< XAccessible
> AccessibleFactory::createAccessibleBrowseBoxHeaderCell(
485 sal_Int32 _nColumnRowId
, const Reference
< XAccessible
>& rxParent
, IAccessibleTableProvider
& _rBrowseBox
,
486 const Reference
< XWindow
>& _xFocusWindow
, AccessibleBrowseBoxObjType _eObjType
) const
488 return new AccessibleBrowseBoxHeaderCell( _nColumnRowId
, rxParent
, _rBrowseBox
,
489 _xFocusWindow
, _eObjType
);
492 //--------------------------------------------------------------------
493 Reference
< XAccessible
> AccessibleFactory::createAccessibleCheckBoxCell(
494 const Reference
< XAccessible
>& _rxParent
, IAccessibleTableProvider
& _rBrowseBox
,
495 const Reference
< XWindow
>& _xFocusWindow
, sal_Int32 _nRowPos
, sal_uInt16 _nColPos
,
496 const TriState
& _eState
, sal_Bool _bIsTriState
) const
498 return new AccessibleCheckBoxCell( _rxParent
, _rBrowseBox
, _xFocusWindow
,
499 _nRowPos
, _nColPos
, _eState
, _bIsTriState
);
502 //--------------------------------------------------------------------
503 Reference
< XAccessible
> AccessibleFactory::createEditBrowseBoxTableCellAccess(
504 const Reference
< XAccessible
>& _rxParent
, const Reference
< XAccessible
>& _rxControlAccessible
,
505 const Reference
< XWindow
>& _rxFocusWindow
, IAccessibleTableProvider
& _rBrowseBox
,
506 sal_Int32 _nRowPos
, sal_uInt16 _nColPos
) const
508 return new EditBrowseBoxTableCellAccess( _rxParent
, _rxControlAccessible
,
509 _rxFocusWindow
, _rBrowseBox
, _nRowPos
, _nColPos
);
512 //--------------------------------------------------------------------
513 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleToolPanelDeck(
514 const Reference
< XAccessible
>& i_rAccessibleParent
, ::svt::ToolPanelDeck
& i_rPanelDeck
)
516 return new AccessibleToolPanelDeck( i_rAccessibleParent
, i_rPanelDeck
);
519 //--------------------------------------------------------------------
520 Reference
< XAccessibleContext
> AccessibleFactory::createAccessibleToolPanelTabBar(
521 const Reference
< XAccessible
>& i_rAccessibleParent
, ::svt::IToolPanelDeck
& i_rPanelDeck
, ::svt::PanelTabBar
& i_rTabBar
)
523 return new AccessibleToolPanelTabBar( i_rAccessibleParent
, i_rPanelDeck
, i_rTabBar
);
526 //........................................................................
527 } // namespace accessibility
528 //........................................................................
530 //========================================================================
532 /** this is the entry point to retrieve a factory for the toolkit-level Accessible/Contexts supplied
535 This function implements the factory function needed in toolkit
536 (of type GetStandardAccComponentFactory).
540 SAL_DLLPUBLIC_EXPORT
void* SAL_CALL
getStandardAccessibleFactory()
542 ::toolkit::IAccessibleFactory
* pFactory
= new ::accessibility::AccessibleFactory
;
548 /** this is the entry point to retrieve a factory for the svtools-level Accessible/Contexts supplied
551 This function implements the factory function needed in svtools
552 (of type GetSvtAccessibilityComponentFactory).
556 SAL_DLLPUBLIC_EXPORT
void* SAL_CALL
getSvtAccessibilityComponentFactory()
558 ::svt::IAccessibleFactory
* pFactory
= new ::accessibility::AccessibleFactory
;
564 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */