LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/accessibility/source/helper - acc_factory.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 67 125 53.6 %
Date: 2013-07-09 Functions: 18 36 50.0 %
Legend: Lines: hit not hit

          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             : #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>
      63             : 
      64             : #include "floatingwindowaccessible.hxx"
      65             : 
      66             : //........................................................................
      67             : namespace accessibility
      68             : {
      69             : 
      70          23 : inline bool hasFloatingChild(Window *pWindow)
      71             : {
      72          23 :     Window * pChild = pWindow->GetAccessibleChildWindow(0);
      73          23 :     if( pChild && WINDOW_FLOATINGWINDOW == pChild->GetType() )
      74           0 :         return true;
      75             : 
      76          23 :     return false;
      77             : }
      78             : 
      79             : //........................................................................
      80             : 
      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;
      86             : 
      87             :     //================================================================
      88             :     //= IAccessibleFactory
      89             :     //================================================================
      90             :     class AccessibleFactory :public ::toolkit::IAccessibleFactory
      91             :                             ,public ::svt::IAccessibleFactory
      92             :     {
      93             :     private:
      94             :         oslInterlockedCount m_refCount;
      95             : 
      96             :     public:
      97             :         AccessibleFactory();
      98             : 
      99             :         // IReference
     100             :         virtual oslInterlockedCount SAL_CALL acquire();
     101             :         virtual oslInterlockedCount SAL_CALL release();
     102             : 
     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 );
     128             : 
     129             :         // ::svt::IAccessibleFactory
     130             :         virtual IAccessibleTabListBox*
     131             :             createAccessibleTabListBox(
     132             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent,
     133             :                 SvHeaderTabListBox& rBox
     134             :             ) const;
     135             : 
     136             :         virtual IAccessibleBrowseBox*
     137             :             createAccessibleBrowseBox(
     138             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
     139             :                 IAccessibleTableProvider& _rBrowseBox
     140             :             ) const;
     141             : 
     142             :         virtual IAccessibleTableControl*
     143             :             createAccessibleTableControl(
     144             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _rxParent,
     145             :                 IAccessibleTable& _rTable
     146             :             ) const;
     147             : 
     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
     152             :             ) const;
     153             : 
     154             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
     155             :             createAccessibleTabBar(
     156             :                 TabBar& _rTabBar
     157             :             ) const;
     158             : 
     159             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
     160             :             createAccessibleTextWindowContext(
     161             :                 VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView, bool bCompoundControlChild
     162             :             ) const;
     163             : 
     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
     168             :             ) const;
     169             : 
     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
     175             :             ) const;
     176             : 
     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,
     182             :                 sal_Int32 _nRowId,
     183             :                 sal_uInt16 _nColId,
     184             :                 sal_Int32 _nOffset
     185             :             ) const;
     186             : 
     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
     194             :             ) const;
     195             : 
     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,
     201             :                 sal_Int32 _nRowPos,
     202             :                 sal_uInt16 _nColPos,
     203             :                 const TriState& _eState,
     204             :                 sal_Bool _bIsTriState
     205             :             ) const;
     206             : 
     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,
     213             :                 sal_Int32 _nRowPos,
     214             :                 sal_uInt16 _nColPos
     215             :             ) const;
     216             : 
     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
     221             :             );
     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
     227             :             );
     228             : 
     229             :     protected:
     230             :         virtual ~AccessibleFactory();
     231             :     };
     232             : 
     233             : 
     234             :     //--------------------------------------------------------------------
     235          11 :     AccessibleFactory::AccessibleFactory()
     236          11 :         :m_refCount( 0 )
     237             :     {
     238          11 :     }
     239             : 
     240             :     //--------------------------------------------------------------------
     241           0 :     AccessibleFactory::~AccessibleFactory()
     242             :     {
     243           0 :     }
     244             : 
     245             :     //--------------------------------------------------------------------
     246          22 :     oslInterlockedCount SAL_CALL AccessibleFactory::acquire()
     247             :     {
     248          22 :         return osl_atomic_increment( &m_refCount );
     249             :     }
     250             : 
     251             :     //--------------------------------------------------------------------
     252          11 :     oslInterlockedCount SAL_CALL AccessibleFactory::release()
     253             :     {
     254          11 :         if ( 0 == osl_atomic_decrement( &m_refCount ) )
     255             :         {
     256           0 :             delete this;
     257           0 :             return 0;
     258             :         }
     259          11 :         return m_refCount;
     260             :     }
     261             : 
     262             :     //--------------------------------------------------------------------
     263          25 :     Reference< XAccessible > AccessibleFactory::createAccessible( Menu* _pMenu, sal_Bool _bIsMenuBar )
     264             :     {
     265             :         OAccessibleMenuBaseComponent* pAccessible;
     266          25 :         if ( _bIsMenuBar )
     267          25 :             pAccessible = new VCLXAccessibleMenuBar( _pMenu );
     268             :         else
     269           0 :             pAccessible = new VCLXAccessiblePopupMenu( _pMenu );
     270          25 :         pAccessible->SetStates();
     271          25 :         return pAccessible;
     272             :     }
     273             : 
     274             :     //--------------------------------------------------------------------
     275          16 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXButton* _pXWindow )
     276             :     {
     277          16 :         return new VCLXAccessibleButton( _pXWindow );
     278             :     }
     279             : 
     280             :     //--------------------------------------------------------------------
     281           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXCheckBox* _pXWindow )
     282             :     {
     283           0 :         return new VCLXAccessibleCheckBox( _pXWindow );
     284             :     }
     285             : 
     286             :     //--------------------------------------------------------------------
     287           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXRadioButton* _pXWindow )
     288             :     {
     289           0 :         return new VCLXAccessibleRadioButton( _pXWindow );
     290             :     }
     291             : 
     292             :     //--------------------------------------------------------------------
     293           5 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXListBox* _pXWindow )
     294             :     {
     295           5 :         sal_Bool bIsDropDownBox = sal_False;
     296           5 :         ListBox* pBox = static_cast< ListBox* >( _pXWindow->GetWindow() );
     297           5 :         if ( pBox )
     298           5 :             bIsDropDownBox = ( ( pBox->GetStyle() & WB_DROPDOWN ) == WB_DROPDOWN );
     299             : 
     300           5 :         if ( bIsDropDownBox )
     301           5 :             return new VCLXAccessibleDropDownListBox( _pXWindow );
     302             :         else
     303           0 :             return new VCLXAccessibleListBox( _pXWindow );
     304             :     }
     305             : 
     306             :     //--------------------------------------------------------------------
     307           1 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXFixedText* _pXWindow )
     308             :     {
     309           1 :         return new VCLXAccessibleFixedText( _pXWindow );
     310             :     }
     311             : 
     312             :     //--------------------------------------------------------------------
     313           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXFixedHyperlink* _pXWindow )
     314             :     {
     315           0 :         return new VCLXAccessibleFixedHyperlink( _pXWindow );
     316             :     }
     317             : 
     318             :     //--------------------------------------------------------------------
     319          15 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXScrollBar* _pXWindow )
     320             :     {
     321          15 :         return new VCLXAccessibleScrollBar( _pXWindow );
     322             :     }
     323             : 
     324             :     //--------------------------------------------------------------------
     325           6 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXEdit* _pXWindow )
     326             :     {
     327           6 :         return new VCLXAccessibleEdit( _pXWindow );
     328             :     }
     329             : 
     330             :     //--------------------------------------------------------------------
     331           5 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXComboBox* _pXWindow )
     332             :     {
     333           5 :         sal_Bool bIsDropDownBox = sal_False;
     334           5 :         ComboBox* pBox = static_cast< ComboBox* >( _pXWindow->GetWindow() );
     335           5 :         if ( pBox )
     336           5 :             bIsDropDownBox = ( ( pBox->GetStyle() & WB_DROPDOWN ) == WB_DROPDOWN );
     337             : 
     338           5 :         if ( bIsDropDownBox )
     339           5 :             return new VCLXAccessibleDropDownComboBox( _pXWindow );
     340             :         else
     341           0 :             return new VCLXAccessibleComboBox( _pXWindow );
     342             :     }
     343             : 
     344             :     //--------------------------------------------------------------------
     345         173 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXWindow* _pXWindow )
     346             :     {
     347         173 :         Reference< XAccessibleContext > xContext;
     348             : 
     349         173 :         Window* pWindow = _pXWindow->GetWindow();
     350         173 :         if ( pWindow )
     351             :         {
     352         173 :             WindowType nType = pWindow->GetType();
     353             : 
     354         173 :             if ( nType == WINDOW_MENUBARWINDOW || pWindow->IsMenuFloatingWindow() || pWindow->IsToolbarFloatingWindow() )
     355             :             {
     356           0 :                 Reference< XAccessible > xAcc( pWindow->GetAccessible() );
     357           0 :                 if ( xAcc.is() )
     358             :                 {
     359           0 :                     Reference< XAccessibleContext > xCont( xAcc->getAccessibleContext() );
     360           0 :                     if ( pWindow->GetType() == WINDOW_MENUBARWINDOW ||
     361           0 :                         ( xCont.is() && xCont->getAccessibleRole() == AccessibleRole::POPUP_MENU ) )
     362             :                     {
     363           0 :                         xContext = xCont;
     364           0 :                     }
     365           0 :                 }
     366             :             }
     367         173 :             else if ( nType == WINDOW_STATUSBAR )
     368             :             {
     369           1 :                 xContext = (XAccessibleContext*) new VCLXAccessibleStatusBar( _pXWindow );
     370             :             }
     371         172 :             else if ( nType == WINDOW_TABCONTROL )
     372             :             {
     373           0 :                 xContext = (XAccessibleContext*) new VCLXAccessibleTabControl( _pXWindow );
     374             :             }
     375         172 :             else if ( nType == WINDOW_TABPAGE && pWindow->GetAccessibleParentWindow() && pWindow->GetAccessibleParentWindow()->GetType() == WINDOW_TABCONTROL )
     376             :             {
     377           0 :                 xContext = new VCLXAccessibleTabPageWindow( _pXWindow );
     378             :             }
     379         172 :             else if ( nType == WINDOW_FLOATINGWINDOW )
     380             :             {
     381           0 :                 xContext = new FloatingWindowAccessible( _pXWindow );
     382             :             }
     383         172 :             else if ( nType == WINDOW_BORDERWINDOW && hasFloatingChild( pWindow ) )
     384             :             {
     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           0 :                 Window* pChild = pWindow->GetAccessibleChildWindow(0);
     389           0 :                 if (PopupMenuFloatingWindow::isPopupMenu(pChild))
     390             :                 {
     391             :                     // Get the accessible context from the child window.
     392           0 :                     Reference<XAccessible> xAccessible = pChild->CreateAccessible();
     393           0 :                     if (xAccessible.is())
     394           0 :                         xContext = xAccessible->getAccessibleContext();
     395             :                 }
     396             :                 else
     397           0 :                     xContext = new FloatingWindowAccessible( _pXWindow );
     398             :             }
     399         172 :             else if ( ( nType == WINDOW_HELPTEXTWINDOW ) || ( nType == WINDOW_FIXEDLINE ) )
     400             :             {
     401           0 :                xContext = (accessibility::XAccessibleContext*) new VCLXAccessibleFixedText( _pXWindow );
     402             :             }
     403             :             else
     404             :             {
     405         172 :                xContext = (accessibility::XAccessibleContext*) new VCLXAccessibleComponent( _pXWindow );
     406             :             }
     407             :         }
     408             : 
     409         173 :         return xContext;
     410             :     }
     411             : 
     412             :     //--------------------------------------------------------------------
     413          15 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXToolBox* _pXWindow )
     414             :     {
     415          15 :         return new VCLXAccessibleToolBox( _pXWindow );
     416             :     }
     417             : 
     418             :     //--------------------------------------------------------------------
     419           0 :     IAccessibleTabListBox* AccessibleFactory::createAccessibleTabListBox(
     420             :         const Reference< XAccessible >& rxParent, SvHeaderTabListBox& rBox ) const
     421             :     {
     422           0 :         return new AccessibleTabListBox( rxParent, rBox );
     423             :     }
     424             : 
     425             :     //--------------------------------------------------------------------
     426           0 :     IAccessibleBrowseBox* AccessibleFactory::createAccessibleBrowseBox(
     427             :         const Reference< XAccessible >& _rxParent, IAccessibleTableProvider& _rBrowseBox ) const
     428             :     {
     429           0 :         return new AccessibleBrowseBoxAccess( _rxParent, _rBrowseBox );
     430             :     }
     431             : 
     432             :     //--------------------------------------------------------------------
     433           0 :     IAccessibleTableControl* AccessibleFactory::createAccessibleTableControl(
     434             :         const Reference< XAccessible >& _rxParent, IAccessibleTable& _rTable ) const
     435             :     {
     436           0 :         return new AccessibleGridControlAccess( _rxParent, _rTable );
     437             :     }
     438             : 
     439             :     //--------------------------------------------------------------------
     440           0 :     Reference< XAccessible > AccessibleFactory::createAccessibleIconChoiceCtrl(
     441             :         SvtIconChoiceCtrl& _rIconCtrl, const Reference< XAccessible >& _xParent ) const
     442             :     {
     443           0 :         return new AccessibleIconChoiceCtrl( _rIconCtrl, _xParent );
     444             :     }
     445             : 
     446             :     //--------------------------------------------------------------------
     447           0 :     Reference< XAccessible > AccessibleFactory::createAccessibleTabBar( TabBar& _rTabBar ) const
     448             :     {
     449           0 :         return new AccessibleTabBar( &_rTabBar );
     450             :     }
     451             : 
     452             :     //--------------------------------------------------------------------
     453           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleTextWindowContext(
     454             :         VCLXWindow* pVclXWindow, TextEngine& rEngine, TextView& rView, bool bCompoundControlChild ) const
     455             :     {
     456           0 :         return new Document( pVclXWindow, rEngine, rView, bCompoundControlChild );
     457             :     }
     458             : 
     459             :     //--------------------------------------------------------------------
     460           3 :     Reference< XAccessible > AccessibleFactory::createAccessibleTreeListBox(
     461             :         SvTreeListBox& _rListBox, const Reference< XAccessible >& _xParent ) const
     462             :     {
     463           3 :         return new AccessibleListBox( _rListBox, _xParent );
     464             :     }
     465             : 
     466             :     //--------------------------------------------------------------------
     467           0 :     Reference< XAccessible > AccessibleFactory::createAccessibleBrowseBoxHeaderBar(
     468             :         const Reference< XAccessible >& rxParent, IAccessibleTableProvider& _rOwningTable,
     469             :         AccessibleBrowseBoxObjType _eObjType ) const
     470             :     {
     471           0 :         return new AccessibleBrowseBoxHeaderBar( rxParent, _rOwningTable, _eObjType );
     472             :     }
     473             : 
     474             :     //--------------------------------------------------------------------
     475           0 :     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
     478             :     {
     479             :         return new AccessibleBrowseBoxTableCell( _rxParent, _rBrowseBox, _xFocusWindow,
     480           0 :             _nRowId, _nColId, _nOffset );
     481             :     }
     482             : 
     483             :     //--------------------------------------------------------------------
     484           0 :     Reference< XAccessible > AccessibleFactory::createAccessibleBrowseBoxHeaderCell(
     485             :         sal_Int32 _nColumnRowId, const Reference< XAccessible >& rxParent, IAccessibleTableProvider& _rBrowseBox,
     486             :         const Reference< XWindow >& _xFocusWindow, AccessibleBrowseBoxObjType  _eObjType ) const
     487             :     {
     488             :         return new AccessibleBrowseBoxHeaderCell( _nColumnRowId, rxParent, _rBrowseBox,
     489           0 :             _xFocusWindow, _eObjType );
     490             :     }
     491             : 
     492             :     //--------------------------------------------------------------------
     493           0 :     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
     497             :     {
     498             :         return new AccessibleCheckBoxCell( _rxParent, _rBrowseBox, _xFocusWindow,
     499           0 :             _nRowPos, _nColPos, _eState, _bIsTriState );
     500             :     }
     501             : 
     502             :     //--------------------------------------------------------------------
     503           0 :     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
     507             :     {
     508             :         return new EditBrowseBoxTableCellAccess( _rxParent, _rxControlAccessible,
     509           0 :             _rxFocusWindow, _rBrowseBox, _nRowPos, _nColPos );
     510             :     }
     511             : 
     512             :     //--------------------------------------------------------------------
     513           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleToolPanelDeck(
     514             :             const Reference< XAccessible >& i_rAccessibleParent, ::svt::ToolPanelDeck& i_rPanelDeck )
     515             :     {
     516           0 :         return new AccessibleToolPanelDeck( i_rAccessibleParent, i_rPanelDeck );
     517             :     }
     518             : 
     519             :     //--------------------------------------------------------------------
     520           0 :     Reference< XAccessibleContext > AccessibleFactory::createAccessibleToolPanelTabBar(
     521             :         const Reference< XAccessible >& i_rAccessibleParent, ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar )
     522             :     {
     523           0 :         return new AccessibleToolPanelTabBar( i_rAccessibleParent, i_rPanelDeck, i_rTabBar );
     524             :     }
     525             : 
     526             : //........................................................................
     527             : }   // namespace accessibility
     528             : //........................................................................
     529             : 
     530             : //========================================================================
     531             : 
     532             : /** this is the entry point to retrieve a factory for the toolkit-level Accessible/Contexts supplied
     533             :     by this library
     534             : 
     535             :     This function implements the factory function needed in toolkit
     536             :     (of type GetStandardAccComponentFactory).
     537             : */
     538             : extern "C"
     539             : {
     540          10 :     SAL_DLLPUBLIC_EXPORT void* SAL_CALL getStandardAccessibleFactory()
     541             :     {
     542          10 :         ::toolkit::IAccessibleFactory* pFactory = new ::accessibility::AccessibleFactory;
     543          10 :         pFactory->acquire();
     544          10 :         return pFactory;
     545             :     }
     546             : }
     547             : 
     548             : /** this is the entry point to retrieve a factory for the svtools-level Accessible/Contexts supplied
     549             :     by this library
     550             : 
     551             :     This function implements the factory function needed in svtools
     552             :     (of type GetSvtAccessibilityComponentFactory).
     553             : */
     554             : extern "C"
     555             : {
     556           1 :     SAL_DLLPUBLIC_EXPORT void* SAL_CALL getSvtAccessibilityComponentFactory()
     557             :     {
     558           1 :         ::svt::IAccessibleFactory* pFactory = new ::accessibility::AccessibleFactory;
     559           1 :         pFactory->acquire();
     560           1 :         return pFactory;
     561             :     }
     562          30 : }
     563             : 
     564             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10