include/vcl/accessibility/AccessibleBrowseBox.hxx | 5 include/vcl/accessibility/AccessibleBrowseBoxBase.hxx | 5 include/vcl/accessibility/AccessibleBrowseBoxCell.hxx | 2 include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx | 4 include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx | 2 include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx | 6 - include/vcl/accessibility/accessibleeditbrowseboxcell.hxx | 4 include/vcl/accessiblefactory.hxx | 32 ----- svtools/source/brwbox/brwbox3.cxx | 20 +-- svtools/source/brwbox/editbrowsebox2.cxx | 26 +--- vcl/source/accessibility/acc_factory.cxx | 54 ---------- vcl/source/treelist/svtabbx.cxx | 21 ++- 12 files changed, 49 insertions(+), 132 deletions(-)
New commits: commit 51dc6397e740b49038d15f7e0f1e9d3970e9d5a3 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu Feb 6 09:21:06 2025 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri Feb 7 09:19:09 2025 +0100 browsebox a11y: Call AccessibleBrowseBox* ctors directly No longer use the AccessibleFactory for creating the accessible objects. In the past, this was necessary to break a dependency cycle, but that's no longer the case, see commit 9283da858506fe3b4383e4cfe0506e470a4356f6 Author: Michael Weghorn <m.wegh...@posteo.de> Date: Tue Dec 17 12:04:04 2024 +0100 a11y: Merge accessibility module into vcl Mark copy ctors and operator= as deleted. Otherwise, the Windows build fails like this [1]: [build CXX] vcl/source/accessibility/AccessibleBrowseBoxTableCell.cxx C: C: C: C: C: C: C: C: make[1]: *** [C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/solenv/gbuild/LinkTarget.mk:339: C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/workdir/CxxObject/vcl/source/accessibility/AccessibleBrowseBoxTableCell.o] Error 2 make[1]: *** Waiting for unfinished jobs.... [1] https://ci.libreoffice.org/job/gerrit_windows/193155/console Change-Id: Ib24fc6b7f85e4ca575cb2505c172243da2cfb8b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181206 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/include/vcl/accessibility/AccessibleBrowseBox.hxx b/include/vcl/accessibility/AccessibleBrowseBox.hxx index dfb4e553d469..40843493309f 100644 --- a/include/vcl/accessibility/AccessibleBrowseBox.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBox.hxx @@ -44,6 +44,9 @@ protected: virtual ~AccessibleBrowseBox() override; + AccessibleBrowseBox(const AccessibleBrowseBox&) = delete; + AccessibleBrowseBox& operator=(const AccessibleBrowseBox&) = delete; + /** sets the XAccessible which created the context To be called only once, and only if in the ctor NULL was passed. @@ -191,7 +194,7 @@ private: The instance holds its XAccessibleContext with a hard reference, while the context holds this instance weak. */ -class AccessibleBrowseBoxAccess final : public ::vcl::IAccessibleBrowseBox +class VCL_DLLPUBLIC AccessibleBrowseBoxAccess final : public ::vcl::IAccessibleBrowseBox { private: mutable std::recursive_mutex m_aMutex; diff --git a/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx b/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx index 031848533310..73043b568f1f 100644 --- a/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx @@ -49,7 +49,7 @@ namespace vcl { /** The BrowseBox accessible objects inherit from this base class. It implements basic functionality for various Accessibility interfaces. */ -class AccessibleBrowseBoxBase +class VCL_DLLPUBLIC AccessibleBrowseBoxBase : public cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper, css::awt::XFocusListener, css::lang::XServiceInfo> { @@ -86,6 +86,9 @@ public: OUString rDescription ); protected: + AccessibleBrowseBoxBase(const AccessibleBrowseBoxBase&) = delete; + AccessibleBrowseBoxBase& operator=(const AccessibleBrowseBoxBase&) = delete; + /** Commits DeFunc event to listeners and cleans up members. */ virtual void SAL_CALL disposing() override; diff --git a/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx b/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx index 0999153deda0..faaa81655e7a 100644 --- a/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx @@ -27,7 +27,7 @@ /** common accessibility-functionality for browse box elements which occupy a cell */ -class AccessibleBrowseBoxCell : public AccessibleBrowseBoxBase +class VCL_DLLPUBLIC AccessibleBrowseBoxCell : public AccessibleBrowseBoxBase { private: sal_Int32 m_nRowPos; // the row number of the table cell diff --git a/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx b/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx index 58e22acc2bbc..d07a2f3edc42 100644 --- a/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx @@ -28,8 +28,8 @@ typedef ::cppu::ImplHelper2 < css::accessibility::XAccessible, css::accessibility::XAccessibleValue > AccessibleCheckBoxCell_BASE; -class AccessibleCheckBoxCell final : public AccessibleBrowseBoxCell - ,public AccessibleCheckBoxCell_BASE +class VCL_DLLPUBLIC AccessibleCheckBoxCell final : public AccessibleBrowseBoxCell, + public AccessibleCheckBoxCell_BASE { private: TriState m_eState; diff --git a/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx b/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx index e07ed3901230..e8facbaf225b 100644 --- a/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx @@ -20,7 +20,7 @@ #include <vcl/accessibility/AccessibleBrowseBoxBase.hxx> -class AccessibleBrowseBoxHeaderCell final : public BrowseBoxAccessibleElement +class VCL_DLLPUBLIC AccessibleBrowseBoxHeaderCell final : public BrowseBoxAccessibleElement { sal_Int32 m_nColumnRowId; public: diff --git a/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx b/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx index 0bbe3060ee3c..11faa3f1e639 100644 --- a/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx +++ b/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx @@ -24,7 +24,7 @@ #include <vcl/accessibility/AccessibleBrowseBoxCell.hxx> // implementation of a table cell of BrowseBox -class AccessibleBrowseBoxTableCell final +class VCL_DLLPUBLIC AccessibleBrowseBoxTableCell final : public cppu::ImplInheritanceHelper<AccessibleBrowseBoxCell, css::accessibility::XAccessibleText, css::accessibility::XAccessible>, @@ -97,6 +97,10 @@ public: virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override; virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override; virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override; + +private: + AccessibleBrowseBoxTableCell(const AccessibleBrowseBoxTableCell&) = delete; + AccessibleBrowseBoxTableCell& operator=(const AccessibleBrowseBoxTableCell&) = delete; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx b/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx index 635fc016683c..0c40aa7d2cf8 100644 --- a/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx +++ b/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx @@ -86,8 +86,8 @@ private: // = EditBrowseBoxTableCell // XAccessible providing an EditBrowseBoxTableCell -class EditBrowseBoxTableCellAccess final : - public comphelper::WeakComponentImplHelper<css::accessibility::XAccessible> +class VCL_DLLPUBLIC EditBrowseBoxTableCellAccess final + : public comphelper::WeakComponentImplHelper<css::accessibility::XAccessible> { css::uno::WeakReference< css::accessibility::XAccessibleContext > m_aContext; diff --git a/include/vcl/accessiblefactory.hxx b/include/vcl/accessiblefactory.hxx index 19a13e5afdf6..9174a4189482 100644 --- a/include/vcl/accessiblefactory.hxx +++ b/include/vcl/accessiblefactory.hxx @@ -27,7 +27,6 @@ #include <salhelper/simplereferenceobject.hxx> #include <tools/gen.hxx> #include <rtl/ref.hxx> -#include <vcl/accessibility/AccessibleBrowseBoxObjType.hxx> namespace com::sun::star { namespace accessibility { @@ -39,8 +38,6 @@ namespace com::sun::star { } } -namespace vcl { class IAccessibleBrowseBox; } -namespace vcl { class IAccessibleTableProvider; } namespace vcl { class Window; } class CheckBox; @@ -93,10 +90,6 @@ public: static css::uno::Reference<css::accessibility::XAccessibleContext> createAccessibleContext(vcl::Window* pWindow); - static rtl::Reference<vcl::IAccessibleBrowseBox> - createAccessibleBrowseBox(const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox); - static css::uno::Reference<css::accessibility::XAccessible> createAccessibleIconChoiceCtrl( SvtIconChoiceCtrl& _rIconCtrl, const css::uno::Reference<css::accessibility::XAccessible>& _xParent); @@ -111,31 +104,6 @@ public: static css::uno::Reference<css::accessibility::XAccessible> createAccessibleIconView(SvTreeListBox& _rListBox, const css::uno::Reference<css::accessibility::XAccessible>& _xParent); - - static css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxHeaderBar( - const css::uno::Reference<css::accessibility::XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rOwningTable, AccessibleBrowseBoxObjType _eObjType); - - static css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxTableCell( - const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowId, sal_uInt16 _nColId, - sal_Int32 _nOffset); - - static css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxHeaderCell( - sal_Int32 _nColumnRowId, - const css::uno::Reference<css::accessibility::XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, AccessibleBrowseBoxObjType _eObjType); - - static css::uno::Reference<css::accessibility::XAccessible> createAccessibleCheckBoxCell( - const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos, - const TriState& _eState, bool _bIsTriState); - - static 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); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/brwbox/brwbox3.cxx b/svtools/source/brwbox/brwbox3.cxx index 90f33271679b..8a1c9efff76a 100644 --- a/svtools/source/brwbox/brwbox3.cxx +++ b/svtools/source/brwbox/brwbox3.cxx @@ -19,7 +19,10 @@ #include <osl/diagnose.h> #include <svtools/brwbox.hxx> +#include <vcl/accessibility/AccessibleBrowseBox.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx> #include <vcl/accessibility/AccessibleBrowseBoxObjType.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx> #include <vcl/accessiblefactory.hxx> #include <sal/log.hxx> #include <tools/debug.hxx> @@ -41,8 +44,8 @@ Reference<XAccessible> BrowseBox::getAccessibleHeaderCell(BrowseBox::THeaderCell BrowseBox::THeaderCellMap::iterator aFind = _raHeaderCells.find(_nPos); if (aFind == _raHeaderCells.end()) { - Reference<XAccessible> xAccessible = AccessibleFactory::createAccessibleBrowseBoxHeaderCell( - _nPos, _rParent, *this, _eType); + Reference<XAccessible> xAccessible + = new AccessibleBrowseBoxHeaderCell(_nPos, _rParent, *this, _eType); aFind = _raHeaderCells.emplace(_nPos, xAccessible).first; } if (aFind != _raHeaderCells.end()) @@ -74,9 +77,7 @@ Reference< XAccessible > BrowseBox::CreateAccessible() Reference< XAccessible > xAccParent = pParent->GetAccessible(); if( xAccParent.is() ) { - m_pAccessible = AccessibleFactory::createAccessibleBrowseBox( - xAccParent, *this - ); + m_pAccessible = new AccessibleBrowseBoxAccess(xAccParent, *this); } } @@ -91,13 +92,8 @@ Reference< XAccessible > BrowseBox::CreateAccessibleCell( sal_Int32 _nRow, sal_u // BBINDEX_TABLE must be the table OSL_ENSURE(m_pAccessible,"Invalid call: Accessible is null"); - return AccessibleFactory::createAccessibleBrowseBoxTableCell( - getAccessibleTable(), - *this, - _nRow, - _nColumnPos, - OFFSET_DEFAULT - ); + return new AccessibleBrowseBoxTableCell(getAccessibleTable(), *this, _nRow, _nColumnPos, + OFFSET_DEFAULT); } diff --git a/svtools/source/brwbox/editbrowsebox2.cxx b/svtools/source/brwbox/editbrowsebox2.cxx index 89f5c640564e..220f2dc0f581 100644 --- a/svtools/source/brwbox/editbrowsebox2.cxx +++ b/svtools/source/brwbox/editbrowsebox2.cxx @@ -23,6 +23,8 @@ #include "editbrowseboximpl.hxx" #include <comphelper/types.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx> +#include <vcl/accessibility/accessibleeditbrowseboxcell.hxx> #include <vcl/accessiblefactory.hxx> #include <vcl/svapp.hxx> #include <tools/debug.hxx> @@ -45,14 +47,8 @@ Reference< XAccessible > EditBrowseBox::CreateAccessibleCheckBoxCell(sal_Int32 _ Reference< XAccessible > xReturn; if ( xAccContext.is() ) { - xReturn = AccessibleFactory::createAccessibleCheckBoxCell( - xAccContext->getAccessibleChild( ::vcl::BBINDEX_TABLE ), - *this, - _nRow, - _nColumnPos, - eState, - true - ); + xReturn = new AccessibleCheckBoxCell(xAccContext->getAccessibleChild(::vcl::BBINDEX_TABLE), + *this, _nRow, _nColumnPos, eState, true); } return xReturn; } @@ -75,14 +71,12 @@ void EditBrowseBox::implCreateActiveAccessible( ) if ( !(xMy.is() && xCont.is()) ) return; - m_aImpl->m_xActiveCell = AccessibleFactory::createEditBrowseBoxTableCellAccess( - xMy, // parent accessible - xCont, // control accessible - VCLUnoHelper::GetInterface( &aController->GetWindow() ), // focus window (for notifications) - *this, // the browse box - GetCurRow(), - GetColumnPos( GetCurColumnId() ) - ); + m_aImpl->m_xActiveCell = new EditBrowseBoxTableCellAccess( + xMy, // parent accessible + xCont, // control accessible + VCLUnoHelper::GetInterface(&aController->GetWindow()), // focus window (for notifications) + *this, // the browse box + GetCurRow(), GetColumnPos(GetCurColumnId())); commitBrowseBoxEvent( CHILD, Any( m_aImpl->m_xActiveCell ), Any() ); } diff --git a/vcl/source/accessibility/acc_factory.cxx b/vcl/source/accessibility/acc_factory.cxx index d66043e06ad0..6756899685a1 100644 --- a/vcl/source/accessibility/acc_factory.cxx +++ b/vcl/source/accessibility/acc_factory.cxx @@ -40,16 +40,10 @@ #include <accessibility/vclxaccessibletabcontrol.hxx> #include <accessibility/vclxaccessibletabpagewindow.hxx> #include <accessibility/accessibletablistbox.hxx> -#include <vcl/accessibility/AccessibleBrowseBox.hxx> #include <accessibility/accessibleiconchoicectrl.hxx> #include <accessibility/AccessibleIconView.hxx> #include <accessibility/accessiblelistbox.hxx> -#include <vcl/accessibility/AccessibleBrowseBoxHeaderBar.hxx> #include <accessibility/textwindowaccessibility.hxx> -#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx> -#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx> -#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx> -#include <vcl/accessibility/accessibleeditbrowseboxcell.hxx> #include <com/sun/star/accessibility/AccessibleRole.hpp> #include <vcl/toolkit/lstbox.hxx> #include <vcl/toolkit/combobox.hxx> @@ -187,13 +181,6 @@ Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(Forma return new SVTXAccessibleNumericField(pFormattedField); } -rtl::Reference<vcl::IAccessibleBrowseBox> -AccessibleFactory::createAccessibleBrowseBox(const Reference<XAccessible>& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox) -{ - return new AccessibleBrowseBoxAccess( _rxParent, _rBrowseBox ); -} - Reference<XAccessible> AccessibleFactory::createAccessibleIconChoiceCtrl(SvtIconChoiceCtrl& _rIconCtrl, const Reference<XAccessible>& _xParent) @@ -222,45 +209,4 @@ AccessibleFactory::createAccessibleIconView(SvTreeListBox& _rListBox, return new AccessibleIconView( _rListBox, _xParent ); } -Reference<XAccessible> -AccessibleFactory::createAccessibleBrowseBoxHeaderBar(const Reference<XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rOwningTable, - AccessibleBrowseBoxObjType _eObjType) -{ - return new AccessibleBrowseBoxHeaderBar( rxParent, _rOwningTable, _eObjType ); -} - -Reference<XAccessible> AccessibleFactory::createAccessibleBrowseBoxTableCell( - const Reference<XAccessible>& _rxParent, vcl::IAccessibleTableProvider& _rBrowseBox, - sal_Int32 _nRowId, sal_uInt16 _nColId, sal_Int32 _nOffset) -{ - return new AccessibleBrowseBoxTableCell( _rxParent, _rBrowseBox, - _nRowId, _nColId, _nOffset ); -} - -Reference<XAccessible> AccessibleFactory::createAccessibleBrowseBoxHeaderCell( - sal_Int32 _nColumnRowId, const Reference<XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, AccessibleBrowseBoxObjType _eObjType) -{ - return new AccessibleBrowseBoxHeaderCell( _nColumnRowId, rxParent, _rBrowseBox, - _eObjType); -} - -Reference<XAccessible> AccessibleFactory::createAccessibleCheckBoxCell( - const Reference<XAccessible>& _rxParent, vcl::IAccessibleTableProvider& _rBrowseBox, - sal_Int32 _nRowPos, sal_uInt16 _nColPos, const TriState& _eState, bool _bIsTriState) -{ - return new AccessibleCheckBoxCell( _rxParent, _rBrowseBox, - _nRowPos, _nColPos, _eState, _bIsTriState ); -} - -Reference<XAccessible> AccessibleFactory::createEditBrowseBoxTableCellAccess( - const Reference<XAccessible>& _rxParent, const Reference<XAccessible>& _rxControlAccessible, - const Reference<XWindow>& _rxFocusWindow, vcl::IAccessibleTableProvider& _rBrowseBox, - sal_Int32 _nRowPos, sal_uInt16 _nColPos) -{ - return new EditBrowseBoxTableCellAccess( _rxParent, _rxControlAccessible, - _rxFocusWindow, _rBrowseBox, _nRowPos, _nColPos ); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index d417c320c014..ffd946e1b53b 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -37,6 +37,10 @@ #include <memory> #include <tools/json_writer.hxx> #include <comphelper/propertyvalue.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxHeaderBar.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx> +#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx> #include <vcl/filter/PngImageWriter.hxx> #include <comphelper/base64.hxx> @@ -647,8 +651,8 @@ IMPL_LINK_NOARG(SvHeaderTabListBox, CreateAccessibleHdl_Impl, HeaderBar*, void) css::uno::Reference< XAccessible > xAccParent = pParent->GetAccessible(); if ( xAccParent.is() ) { - Reference<XAccessible> xAccessible = AccessibleFactory::createAccessibleBrowseBoxHeaderBar( - xAccParent, *this, AccessibleBrowseBoxObjType::ColumnHeaderBar ); + Reference<XAccessible> xAccessible = new AccessibleBrowseBoxHeaderBar( + xAccParent, *this, AccessibleBrowseBoxObjType::ColumnHeaderBar); m_xHeaderBar->SetAccessible(xAccessible); } } @@ -863,11 +867,11 @@ Reference< XAccessible > SvHeaderTabListBox::CreateAccessibleCell( sal_Int32 _nR TriState eState = TRISTATE_INDET; bool bIsCheckBox = IsCellCheckBox( _nRow, _nColumnPos, eState ); if ( bIsCheckBox ) - xChild = AccessibleFactory::createAccessibleCheckBoxCell( - m_xAccessible->getTable(), *this, _nRow, _nColumnPos, eState, false); + xChild = new AccessibleCheckBoxCell(m_xAccessible->getTable(), *this, _nRow, _nColumnPos, + eState, false); else - xChild = AccessibleFactory::createAccessibleBrowseBoxTableCell( - m_xAccessible->getTable(), *this, _nRow, _nColumnPos, OFFSET_NONE); + xChild = new AccessibleBrowseBoxTableCell(m_xAccessible->getTable(), *this, _nRow, + _nColumnPos, OFFSET_NONE); return xChild; } @@ -893,9 +897,8 @@ Reference< XAccessible > SvHeaderTabListBox::CreateAccessibleColumnHeader( sal_u if (!xChild.is() && m_xAccessible.is()) { // no -> create new header cell - xChild = AccessibleFactory::createAccessibleBrowseBoxHeaderCell( - _nColumn, m_xAccessible->getHeaderBar(), - *this, AccessibleBrowseBoxObjType::ColumnHeaderCell); + xChild = new AccessibleBrowseBoxHeaderCell(_nColumn, m_xAccessible->getHeaderBar(), *this, + AccessibleBrowseBoxObjType::ColumnHeaderCell); // insert into list m_aAccessibleChildren[ _nColumn ] = xChild;