basctl/source/basicide/textwindowpeer.cxx | 4 bin/find-can-be-private-symbols.functions.results | 2 bin/find-mergedlib-can-be-private-symbols.functions.results | 2 compilerplugins/clang/constantparam.numbers.results | 4 compilerplugins/clang/mergeclasses.results | 2 compilerplugins/clang/store/manualrefcount.cxx | 5 include/svtools/brwbox.hxx | 10 include/toolkit/awt/vclxwindow.hxx | 7 include/vcl/accessiblefactory.hxx | 297 +--------- include/vcl/svtaccessiblefactory.hxx | 59 - offapi/UnoApi_offapi.mk | 1 offapi/com/sun/star/accessibility/GetStandardAccessibleFactoryService.idl | 38 - solenv/clang-format/excludelist | 2 svtools/source/brwbox/brwbox3.cxx | 20 svtools/source/brwbox/editbrowsebox2.cxx | 4 toolkit/Library_tk.mk | 1 toolkit/inc/helper/accessibilityclient.hxx | 57 - toolkit/inc/helper/unowrapper.hxx | 4 toolkit/source/awt/vclxwindow.cxx | 16 toolkit/source/awt/vclxwindows.cxx | 30 - toolkit/source/controls/table/tablecontrol_impl.cxx | 2 toolkit/source/controls/table/tablecontrol_impl.hxx | 2 toolkit/source/helper/accessibilityclient.cxx | 88 -- vcl/Library_vcl.mk | 1 vcl/inc/svimpbox.hxx | 4 vcl/source/accessibility/acc_factory.cxx | 140 +--- vcl/source/control/imivctl.hxx | 7 vcl/source/control/ivctrl.cxx | 2 vcl/source/helper/svtaccessiblefactory.cxx | 123 ---- vcl/source/treelist/iconview.cxx | 2 vcl/source/treelist/svtabbx.cxx | 12 vcl/source/treelist/treelistbox.cxx | 2 vcl/vcl.common.component | 4 33 files changed, 130 insertions(+), 824 deletions(-)
New commits: commit 7503bb286ff6bc15c1682d47b188fc37f3beff31 Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 17 13:58:03 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 17 22:57:26 2024 +0100 [API CHANGE] a11y: Drop UNO service to create a11y contexts Drop the com.sun.star.accessibility.GetStandardAccessibleFactoryService UNO service that was used to create instances of the a11y classes for (mainly vcl) widgets. The service was needed to break a dependency cycle. However, with Change-Id: Ib46c87446dc9121d3b8e735e0e5a40594da73cc5 Author: Michael Weghorn <[email protected]> Date: Tue Dec 17 12:04:04 2024 +0100 a11y: Merge accessibility module into vcl and all the preparatory commits in place, there is no more dependency cycle, as the a11y classes for vcl widgets no longer depend on any modules "above" vcl. Therefore, drop the UNO service and the abstract vcl::IAccessibleFactory class and other related classes. Make all methods in the AccessibleFactory class (that was previously subclassing the abstract IAccessibleFactory) static helper methods, and call them directly. The UNO service dropped in this commit was introduced in commit 1af510e95147374e5289ae1c12f1f280931919f4 Date: Wed Feb 21 11:30:47 2024 +0200 Create an UNO service to do the symbol lookup in toolkit::AccessibilityClient and its documentation was already clearly stating that it's only meant for LibreOffice internal use: > /** > The toolkit module uses this to get a pointer to the AccessibleFactory from the acc module. > Because we have a dependency in our modules that goes the "wrong" way. > > @since LibreOffice 24.8 > > @internal > > ATTENTION: This is marked <em>internal</em> and does not > have the <em>published</em> flag, which means it is subject to > change without notice and should not be used outside the LibreOffice core. > */ Change-Id: Ib97396a4bad486d9530361dd851ad3ee0f9681b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178689 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/basctl/source/basicide/textwindowpeer.cxx b/basctl/source/basicide/textwindowpeer.cxx index a3ad564baccd..68945f46b630 100644 --- a/basctl/source/basicide/textwindowpeer.cxx +++ b/basctl/source/basicide/textwindowpeer.cxx @@ -19,7 +19,6 @@ #include <sal/config.h> -#include <vcl/svtaccessiblefactory.hxx> #include <vcl/accessiblefactory.hxx> #include <com/sun/star/accessibility/XAccessibleContext.hpp> @@ -45,7 +44,6 @@ private: TextEngine & m_rEngine; TextView & m_rView; - vcl::AccessibleFactoryAccess m_aFactoryAccess; }; TextWindowPeer::TextWindowPeer(TextView & view): @@ -56,7 +54,7 @@ TextWindowPeer::TextWindowPeer(TextView & view): css::uno::Reference<css::accessibility::XAccessibleContext> TextWindowPeer::CreateAccessibleContext() { - return m_aFactoryAccess.getFactory().createAccessibleTextWindowContext( + return AccessibleFactory::createAccessibleTextWindowContext( GetWindow(), m_rEngine, m_rView); } diff --git a/bin/find-can-be-private-symbols.functions.results b/bin/find-can-be-private-symbols.functions.results index 732a616b5953..ed4b5100cec2 100644 --- a/bin/find-can-be-private-symbols.functions.results +++ b/bin/find-can-be-private-symbols.functions.results @@ -9436,7 +9436,6 @@ VCLXWindow::IsSynthesizingVCLEvent() const VCLXWindow::PushPropertyIds(std::__debug::vector<unsigned short, std::allocator<unsigned short> >&, int, ...) VCLXWindow::SetSynthesizingVCLEvent(bool) VCLXWindow::SetSystemParent_Impl(com::sun::star::uno::Any const&) -VCLXWindow::getAccessibleFactory() VCLXWindow::notifyWindowRemoved(vcl::Window const&) VCLXWindow::resumeVclEventListening() VCLXWindow::suspendVclEventListening() @@ -15664,7 +15663,6 @@ vcl::AbstractTrueTypeFont::glyphOffset(unsigned int) const vcl::AbstractTrueTypeFont::indexGlyphData() vcl::AbstractTrueTypeFont::initialize() vcl::AbstractTrueTypeFont::~AbstractTrueTypeFont() -vcl::AccessibleFactoryAccess::ensureInitialized() vcl::BufferDevice::Dispose() vcl::BufferDevice::operator*() vcl::CloseTTFont(vcl::TrueTypeFont*) diff --git a/bin/find-mergedlib-can-be-private-symbols.functions.results b/bin/find-mergedlib-can-be-private-symbols.functions.results index 5a3724db6792..51f40068f0f0 100644 --- a/bin/find-mergedlib-can-be-private-symbols.functions.results +++ b/bin/find-mergedlib-can-be-private-symbols.functions.results @@ -151,7 +151,6 @@ BrowseBox::ToggleSelectedColumn() BrowseBox::commitBrowseBoxEvent(short, com::sun::star::uno::Any const&, com::sun::star::uno::Any const&) BrowseBox::commitHeaderBarEvent(short, com::sun::star::uno::Any const&, com::sun::star::uno::Any const&, bool) BrowseBox::commitTableEvent(short, com::sun::star::uno::Any const&, com::sun::star::uno::Any const&) -BrowseBox::getAccessibleFactory() BrowseBox::isAccessibleAlive() const Button::GetImageAlign() const Button::SetImageAlign(ImageAlign) @@ -9947,7 +9946,6 @@ VCLXWindow::IsSynthesizingVCLEvent() const VCLXWindow::PushPropertyIds(std::vector<unsigned short, std::allocator<unsigned short> >&, int, ...) VCLXWindow::SetSynthesizingVCLEvent(bool) VCLXWindow::SetSystemParent_Impl(com::sun::star::uno::Any const&) -VCLXWindow::getAccessibleFactory() VCLXWindow::notifyWindowRemoved(vcl::Window const&) VCLXWindow::resumeVclEventListening() VCLXWindow::suspendVclEventListening() diff --git a/compilerplugins/clang/constantparam.numbers.results b/compilerplugins/clang/constantparam.numbers.results index dd9f0411e61c..d9f7d3c45b89 100644 --- a/compilerplugins/clang/constantparam.numbers.results +++ b/compilerplugins/clang/constantparam.numbers.results @@ -1398,10 +1398,6 @@ include/vcl/accessibility/AccessibleTextAttributeHelper.hxx:63 class rtl::OUString GetIAccessible2TextAttributes(const class com::sun::star::uno::Reference<class com::sun::star::accessibility::XAccessibleText> &,enum IA2AttributeType,int,int &,int &) enum IA2AttributeType eAttributeType 3 -include/vcl/accessiblefactory.hxx:119 - class com::sun::star::uno::Reference<class com::sun::star::accessibility::XAccessible> vcl::IAccessibleFactory::createAccessibleBrowseBoxHeaderBar(const class com::sun::star::uno::Reference<class com::sun::star::accessibility::XAccessible> &,class vcl::IAccessibleTableProvider &,enum AccessibleBrowseBoxObjType) const - enum AccessibleBrowseBoxObjType _eObjType - 3 include/vcl/BitmapAlphaClampFilter.hxx:22 void BitmapAlphaClampFilter::BitmapAlphaClampFilter(unsigned char) unsigned char cThreshold diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results index 00f3238b0bb0..3ed6cdea7300 100644 --- a/compilerplugins/clang/mergeclasses.results +++ b/compilerplugins/clang/mergeclasses.results @@ -693,7 +693,6 @@ merge sw::mark::IDropdownFieldmark with sw::mark::DropDownFieldmark merge sw::util::WrtRedlineAuthor with WW8_WrtRedlineAuthor merge test::EventPosterHelper with test::AccessibleEventPosterHelper merge test::EventPosterHelperBase with test::EventPosterHelper -maybe merge toolkit::IAccessibleFactory with (anonymous namespace)::AccessibleFactory, in modules toolkit and accessibility merge ucbhelper::ActiveDataSink_Base with ucbhelper::ActiveDataSink merge ucbhelper::CommandEnvironment_Base with ucbhelper::CommandEnvironment merge ucbhelper::InterceptedInteraction_Base with ucbhelper::InterceptedInteraction @@ -704,7 +703,6 @@ merge utl::OInputStreamWrapper_Base with utl::OInputStreamWrapper merge vcl::DeletionNotifier with SalFrame merge vcl::ExtOutDevData with vcl::PDFExtOutDevData maybe merge vcl::IAccessibleBrowseBox with accessibility::AccessibleBrowseBoxAccess, in modules vcl and accessibility -maybe merge vcl::IAccessibleFactory with (anonymous namespace)::AccessibleFactory, in modules vcl and accessibility maybe merge vcl::IAccessibleTabListBox with accessibility::AccessibleTabListBox, in modules vcl and accessibility maybe merge vcl::PDFOutputStream with (anonymous namespace)::PDFExportStreamDoc, in modules vcl and filter merge vcl::SolarThreadExecutor with vcl::solarthread::detail::GenericSolarThreadExecutor diff --git a/compilerplugins/clang/store/manualrefcount.cxx b/compilerplugins/clang/store/manualrefcount.cxx index c8085904fede..247e16f6884c 100644 --- a/compilerplugins/clang/store/manualrefcount.cxx +++ b/compilerplugins/clang/store/manualrefcount.cxx @@ -114,11 +114,6 @@ public: return; if (loplugin::isSamePathname(fn, SRCDIR "/ucb/source/ucp/file/filprp.cxx")) return; - // calling release() ? - if (loplugin::isSamePathname(fn, SRCDIR "/toolkit/source/helper/accessibilityclient.cxx")) - return; - if (loplugin::isSamePathname(fn, SRCDIR "/svtools/source/misc/svtaccessiblefactory.cxx")) - return; // implementing css::uno::XInterface if (loplugin::isSamePathname(fn, SRCDIR "/sd/source/ui/animations/motionpathtag.cxx")) diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx index a514e70dd524..8ceb560e9614 100644 --- a/include/svtools/brwbox.hxx +++ b/include/svtools/brwbox.hxx @@ -28,7 +28,6 @@ #include <vcl/timer.hxx> #include <vcl/AccessibleBrowseBoxObjType.hxx> #include <vcl/accessibletableprovider.hxx> -#include <vcl/svtaccessiblefactory.hxx> #include <vector> #include <stack> @@ -46,10 +45,6 @@ namespace svt { class BrowseBoxImpl; } -namespace vcl { - class IAccessibleFactory; -} - namespace weld { class Scrollbar; } @@ -349,7 +344,6 @@ private: Color m_aCursorColor; // special color for cursor, COL_TRANSPARENT for usual (VCL-painted) "inverted" cursor BrowserMode m_nCurrentMode; // last argument of SetMode (redundant, as our other members represent the current settings, too) - vcl::AccessibleFactoryAccess m_aFactoryAccess; rtl::Reference<vcl::IAccessibleBrowseBox> m_pAccessible; THeaderCellMap m_aColHeaderCellMap; @@ -396,10 +390,6 @@ private: css::uno::Reference<css::accessibility::XAccessible> getAccessibleTable(); -protected: - /// retrieves the XAccessible implementation associated with the BrowseBox instance - SAL_DLLPRIVATE ::vcl::IAccessibleFactory& getAccessibleFactory(); - protected: bool m_bNavigationBar; diff --git a/include/toolkit/awt/vclxwindow.hxx b/include/toolkit/awt/vclxwindow.hxx index 300874f4c43b..01e003db073a 100644 --- a/include/toolkit/awt/vclxwindow.hxx +++ b/include/toolkit/awt/vclxwindow.hxx @@ -49,11 +49,6 @@ namespace vcl { class Window; } class VclWindowEvent; -namespace vcl -{ - class IAccessibleFactory; -} - class UnoPropertyArrayHelper; class VCLXWindowImpl; @@ -89,8 +84,6 @@ protected: void SetSystemParent_Impl( const css::uno::Any& rHandle ); - vcl::IAccessibleFactory& getAccessibleFactory(); - // helper ... static void PushPropertyIds( std::vector< sal_uInt16 > &aIds, int nFirstId, ...); // for use in controls/ diff --git a/include/vcl/accessiblefactory.hxx b/include/vcl/accessiblefactory.hxx index cc97ce380f66..b65d60895c97 100644 --- a/include/vcl/accessiblefactory.hxx +++ b/include/vcl/accessiblefactory.hxx @@ -20,6 +20,7 @@ #pragma once #include <vcl/AccessibleBrowseBoxObjType.hxx> +#include <vcl/dllapi.h> #include <com/sun/star/lang/XUnoTunnel.hpp> #include <com/sun/star/uno/Reference.hxx> @@ -69,275 +70,91 @@ namespace vcl class IAccessibleTable; class IAccessibleTableControl; } +} - /** a function which is able to create a factory for the standard Accessible/Context - components needed for standard toolkit controls - - The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired - <em>once</em>. The caller is responsible for holding this reference as long as it needs the - factory, and release it afterwards. - */ - typedef void* (* GetSvtAccessibilityComponentFactory)( ); - - - /** a function which is able to create a factory for the standard Accessible/Context - components needed for standard VCL controls - - The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired - <em>once</em>. The caller is responsible for holding this reference as long as it needs the - factory, and release it afterwards. - */ - typedef void* (* GetStandardAccComponentFactory)( ); - - - //= IAccessibleFactory - - class IAccessibleFactory : public virtual ::salhelper::SimpleReferenceObject - { - public: - virtual vcl::IAccessibleTabListBox* - createAccessibleTabListBox( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - SvHeaderTabListBox& rBox - ) 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 > - createAccessibleIconView( - SvTreeListBox& _rListBox, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent - ) const = 0; - virtual rtl::Reference<vcl::IAccessibleBrowseBox> - createAccessibleBrowseBox( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox - ) const = 0; - virtual rtl::Reference<table::IAccessibleTableControl> - createAccessibleTableControl( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - table::IAccessibleTable& _rTable - ) const = 0; - - virtual css::uno::Reference< css::accessibility::XAccessible > - createAccessibleIconChoiceCtrl( - SvtIconChoiceCtrl& _rIconCtrl, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent - ) const = 0; - - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleTextWindowContext( - vcl::Window* pWindow, TextEngine& rEngine, TextView& rView - ) const = 0; - - virtual css::uno::Reference< css::accessibility::XAccessible > - createAccessibleBrowseBoxHeaderBar( - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - vcl::IAccessibleTableProvider& _rOwningTable, - AccessibleBrowseBoxObjType _eObjType - ) const = 0; - - virtual 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 - ) const = 0; - - virtual css::uno::Reference< css::accessibility::XAccessible > - createAccessibleBrowseBoxHeaderCell( - sal_Int32 _nColumnRowId, - const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, - AccessibleBrowseBoxObjType _eObjType - ) const = 0; - - virtual 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 - ) const = 0; - - 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; - - /** creates an accessible context for a button window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(PushButton* pButton) = 0; - - /** creates an accessible context for a checkbox window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(CheckBox* pCheckBox) = 0; - - /** creates an accessible context for a radio button window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(RadioButton* pRadioButton) = 0; - - /** creates an accessible context for a listbox window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(ListBox* pListBox) = 0; - - /** creates an accessible context for a fixed hyperlink window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(FixedHyperlink* pFixedHyperlink) = 0; - - /** creates an accessible context for a fixed text window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(FixedText* pFixedText) = 0; - - /** creates an accessible context for a scrollbar window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(ScrollBar* pScrollBar) = 0; - - /** creates an accessible context for an edit window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(Edit* pEdit) = 0; - - /** creates an accessible context for a combo box window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(ComboBox* pComboBox) = 0; - - /** creates an accessible context for a toolbox window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(ToolBox* pToolBox) = 0; - - /** creates an accessible context for a headerbar window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(HeaderBar* pHeaderBar) = 0; - - /** creates an accessible context for a numeric field - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(FormattedField* pFormattedField) = 0; - - /** creates an accessible context for a generic window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext(vcl::Window* pWindow) = 0; - - protected: - virtual ~IAccessibleFactory() override {} - }; - -} // namespace vcl - -class AccessibleFactory : public vcl::IAccessibleFactory +class VCL_DLLPUBLIC AccessibleFactory { public: - AccessibleFactory(); - - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(PushButton* pButton) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(CheckBox* pCheckBox) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(RadioButton* pRadioButton) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(ListBox* pListBox) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(FixedText* pFixedText) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(FixedHyperlink* pFixedHyperlink) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(ScrollBar* pScrollBar) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(Edit* pEdit) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(ComboBox* pComboBox) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(ToolBox* pToolBox) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(HeaderBar* pHeaderBar) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(FormattedField* pFormattedField) override; - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleContext(vcl::Window* pWindow) override; - - virtual vcl::IAccessibleTabListBox* + AccessibleFactory() = delete; + + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(PushButton* pButton); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(CheckBox* pCheckBox); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(RadioButton* pRadioButton); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(ListBox* pListBox); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(FixedText* pFixedText); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(FixedHyperlink* pFixedHyperlink); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(ScrollBar* pScrollBar); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(Edit* pEdit); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(ComboBox* pComboBox); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(ToolBox* pToolBox); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(HeaderBar* pHeaderBar); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(FormattedField* pFormattedField); + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleContext(vcl::Window* pWindow); + + static vcl::IAccessibleTabListBox* createAccessibleTabListBox(const css::uno::Reference<css::accessibility::XAccessible>& rxParent, - SvHeaderTabListBox& rBox) const override; + SvHeaderTabListBox& rBox); - virtual rtl::Reference<vcl::IAccessibleBrowseBox> + static rtl::Reference<vcl::IAccessibleBrowseBox> createAccessibleBrowseBox(const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox) const override; + vcl::IAccessibleTableProvider& _rBrowseBox); - virtual rtl::Reference<vcl::table::IAccessibleTableControl> createAccessibleTableControl( + static rtl::Reference<vcl::table::IAccessibleTableControl> createAccessibleTableControl( const css::uno::Reference<css::accessibility::XAccessible>& _rxParent, - vcl::table::IAccessibleTable& _rTable) const override; + vcl::table::IAccessibleTable& _rTable); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleIconChoiceCtrl( + static css::uno::Reference<css::accessibility::XAccessible> createAccessibleIconChoiceCtrl( SvtIconChoiceCtrl& _rIconCtrl, - const css::uno::Reference<css::accessibility::XAccessible>& _xParent) const override; + const css::uno::Reference<css::accessibility::XAccessible>& _xParent); - virtual css::uno::Reference<css::accessibility::XAccessibleContext> - createAccessibleTextWindowContext(vcl::Window* pWindow, TextEngine& rEngine, - TextView& rView) const override; + static css::uno::Reference<css::accessibility::XAccessibleContext> + createAccessibleTextWindowContext(vcl::Window* pWindow, TextEngine& rEngine, TextView& rView); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleTreeListBox( + static css::uno::Reference<css::accessibility::XAccessible> createAccessibleTreeListBox( SvTreeListBox& _rListBox, - const css::uno::Reference<css::accessibility::XAccessible>& _xParent) const override; + const css::uno::Reference<css::accessibility::XAccessible>& _xParent); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleIconView( - SvTreeListBox& _rListBox, - const css::uno::Reference<css::accessibility::XAccessible>& _xParent) const override; + static css::uno::Reference<css::accessibility::XAccessible> + createAccessibleIconView(SvTreeListBox& _rListBox, + const css::uno::Reference<css::accessibility::XAccessible>& _xParent); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxHeaderBar( + static css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxHeaderBar( const css::uno::Reference<css::accessibility::XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rOwningTable, - AccessibleBrowseBoxObjType _eObjType) const override; + vcl::IAccessibleTableProvider& _rOwningTable, AccessibleBrowseBoxObjType _eObjType); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxTableCell( + 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) const override; + sal_Int32 _nOffset); - virtual css::uno::Reference<css::accessibility::XAccessible> - createAccessibleBrowseBoxHeaderCell( + static css::uno::Reference<css::accessibility::XAccessible> createAccessibleBrowseBoxHeaderCell( sal_Int32 _nColumnRowId, const css::uno::Reference<css::accessibility::XAccessible>& rxParent, - vcl::IAccessibleTableProvider& _rBrowseBox, - AccessibleBrowseBoxObjType _eObjType) const override; + vcl::IAccessibleTableProvider& _rBrowseBox, AccessibleBrowseBoxObjType _eObjType); - virtual css::uno::Reference<css::accessibility::XAccessible> createAccessibleCheckBoxCell( + 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) const override; + const TriState& _eState, bool _bIsTriState); - virtual css::uno::Reference<css::accessibility::XAccessible> createEditBrowseBoxTableCellAccess( + 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) const override; - -protected: - virtual ~AccessibleFactory() override; + vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/svtaccessiblefactory.hxx b/include/vcl/svtaccessiblefactory.hxx deleted file mode 100644 index 14bcc653265a..000000000000 --- a/include/vcl/svtaccessiblefactory.hxx +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_INCLUDE_VCL_SVTACCESSIBLEFACTORY_HXX -#define INCLUDED_INCLUDE_VCL_SVTACCESSIBLEFACTORY_HXX - -#include <config_options.h> -#include <vcl/dllapi.h> - -namespace vcl { class IAccessibleFactory; } - -namespace vcl -{ - /** a client for the accessibility implementations which have been outsourced - from the main vcl/svtools libraries - - All instances of this class share a reference to a common IAccessibleFactory - instance, which is used for creating all kind of Accessibility related - components. - - When the AccessibleFactoryAccess goes away, also this factory goes away, and the respective - library is unloaded. - - This class is not thread-safe. - */ - class UNLESS_MERGELIBS(VCL_DLLPUBLIC) AccessibleFactoryAccess - { - private: - bool m_bInitialized; - - public: - AccessibleFactoryAccess(); - - IAccessibleFactory& getFactory(); - - private: - void ensureInitialized(); - }; -} // namespace svt - -#endif // INCLUDED_INCLUDE_VCL_SVTACCESSIBLEFACTORY_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index 8d2a99822bc3..8e79c960515b 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -1632,7 +1632,6 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/accessibility,\ AccessibleTableModelChange \ AccessibleTableModelChangeType \ AccessibleTextType \ - GetStandardAccessibleFactoryService \ IllegalAccessibleComponentStateException \ TextSegment \ MSAAService \ diff --git a/offapi/com/sun/star/accessibility/GetStandardAccessibleFactoryService.idl b/offapi/com/sun/star/accessibility/GetStandardAccessibleFactoryService.idl deleted file mode 100644 index 15015b8a6f3e..000000000000 --- a/offapi/com/sun/star/accessibility/GetStandardAccessibleFactoryService.idl +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -module com { module sun { module star { module accessibility { - -/** - The toolkit module uses this to get a pointer to the AccessibleFactory from the acc module. - Because we have a dependency in our modules that goes the "wrong" way. - - @since LibreOffice 24.8 - - @internal - - ATTENTION: This is marked <em>internal</em> and does not - have the <em>published</em> flag, which means it is subject to - change without notice and should not be used outside the LibreOffice core. -*/ -service GetStandardAccessibleFactoryService : com::sun::star::lang::XUnoTunnel; - -}; }; }; }; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index de8d26edf1fa..c33a8fe87118 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -6211,7 +6211,6 @@ include/vcl/splitwin.hxx include/vcl/status.hxx include/vcl/stdtext.hxx include/vcl/svapp.hxx -include/vcl/svtaccessiblefactory.hxx include/vcl/syschild.hxx include/vcl/sysdata.hxx include/vcl/syswin.hxx @@ -14737,7 +14736,6 @@ vcl/source/helper/commandinfoprovider.cxx vcl/source/helper/displayconnectiondispatch.cxx vcl/source/helper/evntpost.cxx vcl/source/helper/strhelper.cxx -vcl/source/helper/svtaccessiblefactory.cxx vcl/source/image/Image.cxx vcl/source/image/ImageRepository.cxx vcl/source/image/ImageTree.cxx diff --git a/svtools/source/brwbox/brwbox3.cxx b/svtools/source/brwbox/brwbox3.cxx index 649da48cfc1d..d9b9f72d47f3 100644 --- a/svtools/source/brwbox/brwbox3.cxx +++ b/svtools/source/brwbox/brwbox3.cxx @@ -39,15 +39,14 @@ namespace svt sal_Int32 _nPos, AccessibleBrowseBoxObjType _eType, const Reference< XAccessible >& _rParent, - BrowseBox& _rBrowseBox, - vcl::IAccessibleFactory const & rFactory + BrowseBox& _rBrowseBox ) { Reference< XAccessible > xRet; BrowseBox::THeaderCellMap::iterator aFind = _raHeaderCells.find(_nPos); if ( aFind == _raHeaderCells.end() ) { - Reference< XAccessible > xAccessible = rFactory.createAccessibleBrowseBoxHeaderCell( + Reference< XAccessible > xAccessible = AccessibleFactory::createAccessibleBrowseBoxHeaderCell( _nPos, _rParent, _rBrowseBox, @@ -85,7 +84,7 @@ Reference< XAccessible > BrowseBox::CreateAccessible() Reference< XAccessible > xAccParent = pParent->GetAccessible(); if( xAccParent.is() ) { - m_pAccessible = getAccessibleFactory().createAccessibleBrowseBox( + m_pAccessible = AccessibleFactory::createAccessibleBrowseBox( xAccParent, *this ); } @@ -102,7 +101,7 @@ 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 m_aFactoryAccess.getFactory().createAccessibleBrowseBoxTableCell( + return AccessibleFactory::createAccessibleBrowseBoxTableCell( getAccessibleTable(), *this, _nRow, @@ -119,8 +118,7 @@ Reference< XAccessible > BrowseBox::CreateAccessibleRowHeader( sal_Int32 _nRow ) _nRow, AccessibleBrowseBoxObjType::RowHeaderCell, getAccessibleHeaderBar(AccessibleBrowseBoxObjType::RowHeaderBar), - *this, - m_aFactoryAccess.getFactory() + *this ); } @@ -132,8 +130,7 @@ Reference< XAccessible > BrowseBox::CreateAccessibleColumnHeader( sal_uInt16 _nC _nColumnPos, AccessibleBrowseBoxObjType::ColumnHeaderCell, getAccessibleHeaderBar(AccessibleBrowseBoxObjType::ColumnHeaderBar), - *this, - m_aFactoryAccess.getFactory() + *this ); } @@ -409,11 +406,6 @@ void BrowseBox::commitBrowseBoxEvent( sal_Int16 _nEventId, const Any& _rNewValue m_pAccessible->commitEvent( _nEventId, _rNewValue, _rOldValue); } -::vcl::IAccessibleFactory& BrowseBox::getAccessibleFactory() -{ - return m_aFactoryAccess.getFactory(); -} - bool BrowseBox::isAccessibleAlive( ) const { return m_pAccessible && m_pAccessible->isAlive(); diff --git a/svtools/source/brwbox/editbrowsebox2.cxx b/svtools/source/brwbox/editbrowsebox2.cxx index 67c0aa84867a..89f5c640564e 100644 --- a/svtools/source/brwbox/editbrowsebox2.cxx +++ b/svtools/source/brwbox/editbrowsebox2.cxx @@ -45,7 +45,7 @@ Reference< XAccessible > EditBrowseBox::CreateAccessibleCheckBoxCell(sal_Int32 _ Reference< XAccessible > xReturn; if ( xAccContext.is() ) { - xReturn = getAccessibleFactory().createAccessibleCheckBoxCell( + xReturn = AccessibleFactory::createAccessibleCheckBoxCell( xAccContext->getAccessibleChild( ::vcl::BBINDEX_TABLE ), *this, _nRow, @@ -75,7 +75,7 @@ void EditBrowseBox::implCreateActiveAccessible( ) if ( !(xMy.is() && xCont.is()) ) return; - m_aImpl->m_xActiveCell = getAccessibleFactory().createEditBrowseBoxTableCellAccess( + m_aImpl->m_xActiveCell = AccessibleFactory::createEditBrowseBoxTableCellAccess( xMy, // parent accessible xCont, // control accessible VCLUnoHelper::GetInterface( &aController->GetWindow() ), // focus window (for notifications) diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk index 19a94985f860..2f676872ef50 100644 --- a/toolkit/Library_tk.mk +++ b/toolkit/Library_tk.mk @@ -120,7 +120,6 @@ $(eval $(call gb_Library_add_exception_objects,tk,\ toolkit/source/hatchwindow/hatchwindow \ toolkit/source/hatchwindow/hatchwindowfactory \ toolkit/source/hatchwindow/ipwin \ - toolkit/source/helper/accessibilityclient \ toolkit/source/helper/btndlg \ toolkit/source/helper/imagealign \ toolkit/source/helper/listenermultiplexer \ diff --git a/toolkit/inc/helper/accessibilityclient.hxx b/toolkit/inc/helper/accessibilityclient.hxx deleted file mode 100644 index ca6464629678..000000000000 --- a/toolkit/inc/helper/accessibilityclient.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_TOOLKIT_INC_HELPER_ACCESSIBILITYCLIENT_HXX -#define INCLUDED_TOOLKIT_INC_HELPER_ACCESSIBILITYCLIENT_HXX - -#include <vcl/accessiblefactory.hxx> - -namespace toolkit -{ - /** a client for the accessibility implementations which have been - outsourced from the main toolkit library - - All instances of this class share a reference to a common IAccessibleFactory - instance, which is used for creating all kind of Accessibility related - components. - - When the AccessibilityClient goes away, also this factory goes away, and the respective - library is unloaded. - - This class is not thread-safe. - */ - class AccessibilityClient - { - private: - bool m_bInitialized; - - public: - AccessibilityClient(); - - vcl::IAccessibleFactory& getFactory(); - - private: - void ensureInitialized(); - }; - -} // namespace toolkit - -#endif // INCLUDED_TOOLKIT_INC_HELPER_ACCESSIBILITYCLIENT_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index 1d150cef0040..eacf4189270a 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -46,6 +46,7 @@ #include <tools/color.hxx> #include <tools/fract.hxx> #include <tools/debug.hxx> +#include <vcl/accessiblefactory.hxx> #include <vcl/event.hxx> #include <vcl/dockwin.hxx> #include <vcl/pdfextoutdevdata.hxx> @@ -60,7 +61,6 @@ #include "stylesettings.hxx" #include <tools/urlobj.hxx> -#include <helper/accessibilityclient.hxx> #include <helper/unopropertyarrayhelper.hxx> #include <atomic> @@ -91,7 +91,6 @@ private: private: VCLXWindow& mrAntiImpl; - ::toolkit::AccessibilityClient maAccFactory; bool mbDisposed; bool mbDrawingOntoParent; // no bit mask, is passed around by reference bool mbEnableVisible; @@ -164,11 +163,6 @@ public: */ void disposing(); - ::toolkit::AccessibilityClient& getAccessibleFactory() - { - return maAccFactory; - } - Reference< XStyleSettings > getStyleSettings(); /** returns the container of registered XWindowListener2 listeners @@ -344,12 +338,6 @@ void VCLXWindow::ImplExecuteAsyncWithoutSolarLock( const Callback& i_callback ) mpImpl->callBackAsync( i_callback ); } - -vcl::IAccessibleFactory& VCLXWindow::getAccessibleFactory() -{ - return mpImpl->getAccessibleFactory().getFactory(); -} - void VCLXWindow::SetWindow( const VclPtr<vcl::Window> &pWindow ) { assert(!mpImpl->mbDisposing || !pWindow); @@ -878,7 +866,7 @@ uno::Reference< accessibility::XAccessibleContext > VCLXWindow::CreateAccessible return nullptr; VclPtr<vcl::Window> pWindow = GetWindow(); - return getAccessibleFactory().createAccessibleContext(pWindow); + return AccessibleFactory::createAccessibleContext(pWindow); } void VCLXWindow::SetSynthesizingVCLEvent( bool _b ) diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx index d1b893d4acfd..fb58403e9ef5 100644 --- a/toolkit/source/awt/vclxwindows.cxx +++ b/toolkit/source/awt/vclxwindows.cxx @@ -384,7 +384,7 @@ VCLXButton::~VCLXButton() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXButton::CreateAccessibleContext() { VclPtr<PushButton> pButton = GetAs<PushButton>(); - return getAccessibleFactory().createAccessibleContext(pButton); + return AccessibleFactory::createAccessibleContext(pButton); } void VCLXButton::dispose() @@ -786,7 +786,7 @@ VCLXCheckBox::VCLXCheckBox() : maActionListeners( *this ), maItemListeners( *th css::uno::Reference< css::accessibility::XAccessibleContext > VCLXCheckBox::CreateAccessibleContext() { VclPtr<CheckBox> pCheckBox = GetAs<CheckBox>(); - return getAccessibleFactory().createAccessibleContext(pCheckBox); + return AccessibleFactory::createAccessibleContext(pCheckBox); } void VCLXCheckBox::dispose() @@ -1071,7 +1071,7 @@ VCLXRadioButton::VCLXRadioButton() : maItemListeners( *this ), maActionListeners css::uno::Reference< css::accessibility::XAccessibleContext > VCLXRadioButton::CreateAccessibleContext() { VclPtr<RadioButton> pRadioButton = GetAs<RadioButton>(); - return getAccessibleFactory().createAccessibleContext(pRadioButton); + return AccessibleFactory::createAccessibleContext(pRadioButton); } void VCLXRadioButton::dispose() @@ -1799,7 +1799,7 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXListBox::Creat SolarMutexGuard aGuard; VclPtr<ListBox> pListBox = GetAs<ListBox>(); - return getAccessibleFactory().createAccessibleContext(pListBox); + return AccessibleFactory::createAccessibleContext(pListBox); } void VCLXListBox::setProperty( const OUString& PropertyName, const css::uno::Any& Value) @@ -2788,7 +2788,7 @@ void VCLXFixedHyperlink::ProcessWindowEvent( const VclWindowEvent& rVclWindowEve css::uno::Reference< css::accessibility::XAccessibleContext > VCLXFixedHyperlink::CreateAccessibleContext() { VclPtr<FixedHyperlink> pFixedHyperlink = GetAs<FixedHyperlink>(); - return getAccessibleFactory().createAccessibleContext(pFixedHyperlink); + return AccessibleFactory::createAccessibleContext(pFixedHyperlink); } void VCLXFixedHyperlink::setText( const OUString& Text ) @@ -3040,7 +3040,7 @@ VCLXFixedText::~VCLXFixedText() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXFixedText::CreateAccessibleContext() { VclPtr<FixedText> pFixedText = GetAs<FixedText>(); - return getAccessibleFactory().createAccessibleContext(pFixedText); + return AccessibleFactory::createAccessibleContext(pFixedText); } void VCLXFixedText::setText( const OUString& Text ) @@ -3168,7 +3168,7 @@ VCLXScrollBar::VCLXScrollBar() : maAdjustmentListeners( *this ) css::uno::Reference< css::accessibility::XAccessibleContext > VCLXScrollBar::CreateAccessibleContext() { VclPtr<ScrollBar> pScrollBar = GetAs<ScrollBar>(); - return getAccessibleFactory().createAccessibleContext(pScrollBar); + return AccessibleFactory::createAccessibleContext(pScrollBar); } // css::lang::XComponent @@ -3639,7 +3639,7 @@ VCLXEdit::VCLXEdit() : maTextListeners( *this ) css::uno::Reference< css::accessibility::XAccessibleContext > VCLXEdit::CreateAccessibleContext() { VclPtr<Edit> pEdit = GetAs<Edit>(); - return getAccessibleFactory().createAccessibleContext(pEdit); + return AccessibleFactory::createAccessibleContext(pEdit); } void VCLXEdit::dispose() @@ -4008,7 +4008,7 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXComboBox::Crea SolarMutexGuard aGuard; VclPtr<ComboBox> pComboBox = GetAs<ComboBox>(); - return getAccessibleFactory().createAccessibleContext(pComboBox); + return AccessibleFactory::createAccessibleContext(pComboBox); } void VCLXComboBox::dispose() @@ -4643,7 +4643,7 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXDateField::Cre { pEdit->SetType( WindowType::DATEFIELD ); } - return getAccessibleFactory().createAccessibleContext(pEdit); + return AccessibleFactory::createAccessibleContext(pEdit); } void VCLXDateField::setProperty( const OUString& PropertyName, const css::uno::Any& Value) @@ -4977,7 +4977,7 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXTimeField::Cre { pEdit->SetType( WindowType::TIMEFIELD ); } - return getAccessibleFactory().createAccessibleContext(pEdit); + return AccessibleFactory::createAccessibleContext(pEdit); } void VCLXTimeField::setTime( const util::Time& aTime ) @@ -5966,7 +5966,7 @@ VCLXToolBox::~VCLXToolBox() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXToolBox::CreateAccessibleContext() { VclPtr<ToolBox> pToolBox = GetAs<ToolBox>(); - return getAccessibleFactory().createAccessibleContext(pToolBox); + return AccessibleFactory::createAccessibleContext(pToolBox); } VCLXHeaderBar::VCLXHeaderBar() @@ -5980,7 +5980,7 @@ VCLXHeaderBar::~VCLXHeaderBar() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXHeaderBar::CreateAccessibleContext() { VclPtr<HeaderBar> pHeaderBar = GetAs<HeaderBar>(); - return getAccessibleFactory().createAccessibleContext(pHeaderBar); + return AccessibleFactory::createAccessibleContext(pHeaderBar); } @@ -7362,7 +7362,7 @@ SVTXNumericField::~SVTXNumericField() css::uno::Reference<accessibility::XAccessibleContext> SVTXNumericField::CreateAccessibleContext() { VclPtr<FormattedField> pFormattedField = GetAs<FormattedField>(); - return getAccessibleFactory().createAccessibleContext(pFormattedField); + return AccessibleFactory::createAccessibleContext(pFormattedField); } @@ -7894,7 +7894,7 @@ void VCLXMultiLineEdit::ImplGetPropertyIds( std::vector< sal_uInt16 > &rIds ) css::uno::Reference<css::accessibility::XAccessibleContext> VCLXMultiLineEdit::CreateAccessibleContext() { VclPtr<MultiLineEdit> pMultiLineEdit = GetAs<MultiLineEdit>(); - return getAccessibleFactory().createAccessibleContext(pMultiLineEdit); + return AccessibleFactory::createAccessibleContext(pMultiLineEdit); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/toolkit/source/controls/table/tablecontrol_impl.cxx b/toolkit/source/controls/table/tablecontrol_impl.cxx index c868ca827c49..7d8e25d742c7 100644 --- a/toolkit/source/controls/table/tablecontrol_impl.cxx +++ b/toolkit/source/controls/table/tablecontrol_impl.cxx @@ -2379,7 +2379,7 @@ namespace svt::table Reference< XAccessible > const xAccParent = i_parentWindow.GetAccessible(); if ( xAccParent.is() ) { - m_pAccessibleTable = m_aFactoryAccess.getFactory().createAccessibleTableControl( + m_pAccessibleTable = AccessibleFactory::createAccessibleTableControl( xAccParent, m_rAntiImpl ); } diff --git a/toolkit/source/controls/table/tablecontrol_impl.hxx b/toolkit/source/controls/table/tablecontrol_impl.hxx index bbfc56d1092e..db17ef85fdfe 100644 --- a/toolkit/source/controls/table/tablecontrol_impl.hxx +++ b/toolkit/source/controls/table/tablecontrol_impl.hxx @@ -23,7 +23,6 @@ #include <controls/table/tablemodel.hxx> #include <controls/table/tablecontrolinterface.hxx> -#include <vcl/svtaccessiblefactory.hxx> #include <vcl/accessibletable.hxx> #include <vcl/seleng.hxx> @@ -131,7 +130,6 @@ namespace svt::table RowPos m_nAnchor; bool m_bUpdatingColWidths; - vcl::AccessibleFactoryAccess m_aFactoryAccess; rtl::Reference<vcl::table::IAccessibleTableControl> m_pAccessibleTable; public: diff --git a/toolkit/source/helper/accessibilityclient.cxx b/toolkit/source/helper/accessibilityclient.cxx deleted file mode 100644 index 89a16f806532..000000000000 --- a/toolkit/source/helper/accessibilityclient.cxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <config_feature_desktop.h> -#include <config_wasm_strip.h> - -#include <sal/config.h> - -#include <comphelper/processfactory.hxx> -#include <osl/diagnose.h> -#include <osl/mutex.hxx> -#include <rtl/ref.hxx> -#include <tools/svlibrary.h> - -#include <helper/accessibilityclient.hxx> -#include <com/sun/star/accessibility/GetStandardAccessibleFactoryService.hpp> - -namespace toolkit -{ - using namespace ::com::sun::star::uno; - using namespace ::com::sun::star::accessibility; - - namespace - { - rtl::Reference<vcl::IAccessibleFactory> s_pFactory; - } - - - //= AccessibilityClient - - - AccessibilityClient::AccessibilityClient() - :m_bInitialized( false ) - { - } - - void AccessibilityClient::ensureInitialized() - { - if ( m_bInitialized ) - return; - - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - -#if !ENABLE_WASM_STRIP_ACCESSIBILITY -#if HAVE_FEATURE_DESKTOP - if (!s_pFactory) - { - auto xService = css::accessibility::GetStandardAccessibleFactoryService::create(comphelper::getProcessComponentContext()); - assert(xService); - // get a factory instance - vcl::IAccessibleFactory* pFactory = reinterpret_cast<vcl::IAccessibleFactory*>(xService->getSomething({})); - assert(pFactory); - s_pFactory = pFactory; - pFactory->release(); - } -#endif // HAVE_FEATURE_DESKTOP -#endif // ENABLE_WASM_STRIP_ACCESSIBILITY - - m_bInitialized = true; - } - - vcl::IAccessibleFactory& AccessibilityClient::getFactory() - { - ensureInitialized(); - OSL_ENSURE( s_pFactory.is(), "AccessibilityClient::getFactory: at least a dummy factory should have been created!" ); - return *s_pFactory; - } - - -} // namespace toolkit - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index d6c527ab8222..79ea2cc1974a 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -450,7 +450,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/helper/evntpost \ vcl/source/helper/idletask \ vcl/source/helper/strhelper \ - vcl/source/helper/svtaccessiblefactory \ vcl/source/helper/threadex \ vcl/source/app/brand \ vcl/source/app/customweld \ diff --git a/vcl/inc/svimpbox.hxx b/vcl/inc/svimpbox.hxx index 2274f2b81108..1efc174090bb 100644 --- a/vcl/inc/svimpbox.hxx +++ b/vcl/inc/svimpbox.hxx @@ -23,7 +23,6 @@ #include <vcl/seleng.hxx> #include <vcl/idle.hxx> #include <vcl/image.hxx> -#include <vcl/svtaccessiblefactory.hxx> #include <vcl/vclevent.hxx> #include <vcl/toolkit/scrbar.hxx> #include <vcl/toolkit/treelistbox.hxx> @@ -93,9 +92,6 @@ private: VclPtr<ScrollBarBox> m_aScrBarBox; - ::vcl::AccessibleFactoryAccess - m_aFactoryAccess; - static Image* s_pDefCollapsed; static Image* s_pDefExpanded; static oslInterlockedCount s_nImageRefCount; /// When 0 all static images will be destroyed diff --git a/vcl/source/accessibility/acc_factory.cxx b/vcl/source/accessibility/acc_factory.cxx index c2aaff9524cf..65a634c0f405 100644 --- a/vcl/source/accessibility/acc_factory.cxx +++ b/vcl/source/accessibility/acc_factory.cxx @@ -75,14 +75,6 @@ bool hasFloatingChild(vcl::Window *pWindow) } }; -AccessibleFactory::AccessibleFactory() -{ -} - -AccessibleFactory::~AccessibleFactory() -{ -} - Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(PushButton* pButton) { return new VCLXAccessibleButton(pButton); @@ -199,150 +191,94 @@ Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(Forma return new SVTXAccessibleNumericField(pFormattedField); } -vcl::IAccessibleTabListBox* AccessibleFactory::createAccessibleTabListBox( - const Reference< XAccessible >& rxParent, SvHeaderTabListBox& rBox ) const +vcl::IAccessibleTabListBox* +AccessibleFactory::createAccessibleTabListBox(const Reference<XAccessible>& rxParent, + SvHeaderTabListBox& rBox) { return new AccessibleTabListBox( rxParent, rBox ); } -rtl::Reference<vcl::IAccessibleBrowseBox> AccessibleFactory::createAccessibleBrowseBox( - const Reference< XAccessible >& _rxParent, vcl::IAccessibleTableProvider& _rBrowseBox ) const +rtl::Reference<vcl::IAccessibleBrowseBox> +AccessibleFactory::createAccessibleBrowseBox(const Reference<XAccessible>& _rxParent, + vcl::IAccessibleTableProvider& _rBrowseBox) { return new AccessibleBrowseBoxAccess( _rxParent, _rBrowseBox ); } -rtl::Reference<IAccessibleTableControl> AccessibleFactory::createAccessibleTableControl( - const Reference< XAccessible >& _rxParent, IAccessibleTable& _rTable ) const +rtl::Reference<IAccessibleTableControl> +AccessibleFactory::createAccessibleTableControl(const Reference<XAccessible>& _rxParent, + IAccessibleTable& _rTable) { return new AccessibleGridControlAccess( _rxParent, _rTable ); } -Reference< XAccessible > AccessibleFactory::createAccessibleIconChoiceCtrl( - SvtIconChoiceCtrl& _rIconCtrl, const Reference< XAccessible >& _xParent ) const +Reference<XAccessible> +AccessibleFactory::createAccessibleIconChoiceCtrl(SvtIconChoiceCtrl& _rIconCtrl, + const Reference<XAccessible>& _xParent) { return new AccessibleIconChoiceCtrl( _rIconCtrl, _xParent ); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleTextWindowContext( - vcl::Window* pWindow, TextEngine& rEngine, TextView& rView) const +Reference<XAccessibleContext> +AccessibleFactory::createAccessibleTextWindowContext(vcl::Window* pWindow, TextEngine& rEngine, + TextView& rView) { return new Document(pWindow, rEngine, rView ); } -Reference< XAccessible > AccessibleFactory::createAccessibleTreeListBox( - SvTreeListBox& _rListBox, const Reference< XAccessible >& _xParent ) const +Reference<XAccessible> +AccessibleFactory::createAccessibleTreeListBox(SvTreeListBox& _rListBox, + const Reference<XAccessible>& _xParent) { return new AccessibleListBox( _rListBox, _xParent ); } -Reference< XAccessible > AccessibleFactory::createAccessibleIconView( - SvTreeListBox& _rListBox, const Reference< XAccessible >& _xParent ) const +Reference<XAccessible> +AccessibleFactory::createAccessibleIconView(SvTreeListBox& _rListBox, + const Reference<XAccessible>& _xParent) { return new AccessibleIconView( _rListBox, _xParent ); } -Reference< XAccessible > AccessibleFactory::createAccessibleBrowseBoxHeaderBar( - const Reference< XAccessible >& rxParent, vcl::IAccessibleTableProvider& _rOwningTable, - AccessibleBrowseBoxObjType _eObjType ) const +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) const +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) const +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) const +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 ) const +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 ); } -#if HAVE_FEATURE_DESKTOP - -/// anonymous implementation namespace -namespace { - -class GetStandardAccessibleFactoryService: - public ::cppu::WeakImplHelper< - css::lang::XServiceInfo, - css::lang::XUnoTunnel> -{ -public: - // css::lang::XServiceInfo: - virtual OUString SAL_CALL getImplementationName() override - { return u"com.sun.star.accessibility.comp.GetStandardAccessibleFactoryService"_ustr; } - virtual sal_Bool SAL_CALL supportsService(const OUString & serviceName) override - { return cppu::supportsService(this, serviceName); } - virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override - { return { u"com.sun.star.accessibility.GetStandardAccessibleFactoryService"_ustr }; } - - // XUnoTunnel - virtual sal_Int64 SAL_CALL getSomething( const ::css::uno::Sequence< ::sal_Int8 >& /*aIdentifier*/ ) override - { - vcl::IAccessibleFactory* pFactory = new AccessibleFactory; - pFactory->acquire(); - return reinterpret_cast<sal_Int64>(pFactory); - } -}; - -} // closing anonymous implementation namespace - -/* this is the entry point to retrieve a factory for the vcl-level Accessible/Contexts supplied - by this library - - This function implements the factory function needed in vcl - (of type GetStandardAccComponentFactory). -*/ -extern "C" -{ - SAL_DLLPUBLIC_EXPORT css::uno::XInterface * - com_sun_star_accessibility_GetStandardAccessibleFactoryService_get_implementation( - css::uno::XComponentContext *, - css::uno::Sequence<css::uno::Any> const &) - { - return cppu::acquire(new GetStandardAccessibleFactoryService); - } -} - -/** this is the entry point to retrieve a factory for the svtools-level Accessible/Contexts supplied - by this library - - This function implements the factory function needed in svtools - (of type GetSvtAccessibilityComponentFactory). -*/ -extern "C" -{ - SAL_DLLPUBLIC_EXPORT void* getSvtAccessibilityComponentFactory() - { - ::vcl::IAccessibleFactory* pFactory = new AccessibleFactory; - pFactory->acquire(); - return pFactory; - } -} -#endif // HAVE_FEATURE_DESKTOP - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/control/imivctl.hxx b/vcl/source/control/imivctl.hxx index 6542233782f8..3fd3503a6448 100644 --- a/vcl/source/control/imivctl.hxx +++ b/vcl/source/control/imivctl.hxx @@ -27,7 +27,6 @@ #include <vcl/idle.hxx> #include <vcl/vclptr.hxx> #include <tools/debug.hxx> -#include <vcl/svtaccessiblefactory.hxx> #include <vcl/toolkit/ivctrl.hxx> #include <vcl/toolkit/scrbar.hxx> @@ -131,7 +130,6 @@ class SvxIconChoiceCtrl_Impl SvxIconChoiceCtrlEntry* pCurHighlightFrame; SvxIconChoiceCtrlEntry* pCursor; LocalFocus aFocus; // Data for focusrect - ::vcl::AccessibleFactoryAccess aAccFactory; bool bBoundRectsDirty; @@ -291,11 +289,6 @@ public: static void DrawHighlightFrame(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect); void CallEventListeners( VclEventId nEvent, void* pData ); - - ::vcl::IAccessibleFactory& GetAccessibleFactory() - { - return aAccFactory.getFactory(); - } }; typedef std::map<sal_uInt16, SvxIconChoiceCtrlEntryPtrVec> IconChoiceMap; diff --git a/vcl/source/control/ivctrl.cxx b/vcl/source/control/ivctrl.cxx index 05fdf8d41864..acea1506df3a 100644 --- a/vcl/source/control/ivctrl.cxx +++ b/vcl/source/control/ivctrl.cxx @@ -352,7 +352,7 @@ css::uno::Reference< XAccessible > SvtIconChoiceCtrl::CreateAccessible() if ( xAccParent.is() ) { css::uno::Reference< css::awt::XVclWindowPeer > xHoldAlive(GetComponentInterface()); - xAccessible = _pImpl->GetAccessibleFactory().createAccessibleIconChoiceCtrl( *this, xAccParent ); + xAccessible = AccessibleFactory::createAccessibleIconChoiceCtrl(*this, xAccParent); } } return xAccessible; diff --git a/vcl/source/helper/svtaccessiblefactory.cxx b/vcl/source/helper/svtaccessiblefactory.cxx deleted file mode 100644 index 71f3b3eba26b..000000000000 --- a/vcl/source/helper/svtaccessiblefactory.cxx +++ /dev/null @@ -1,123 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <config_feature_desktop.h> -#include <config_wasm_strip.h> -#include <config_options.h> - -#include <vcl/svtaccessiblefactory.hxx> -#include <vcl/accessiblefactory.hxx> -#include <vcl/accessibletable.hxx> -#include <vcl/accessibletableprovider.hxx> - -#include <tools/svlibrary.h> -#include <tools/debug.hxx> - -#include <osl/module.h> -#include <osl/diagnose.h> -#include <rtl/ref.hxx> - -namespace vcl -{ - using namespace ::com::sun::star::awt; - using namespace ::com::sun::star::accessibility; - - namespace - { -#ifndef DISABLE_DYNLOADING - oslModule s_hAccessibleImplementationModule = nullptr; -#endif -#if HAVE_FEATURE_DESKTOP -#if !ENABLE_WASM_STRIP_ACCESSIBILITY - GetSvtAccessibilityComponentFactory s_pAccessibleFactoryFunc = nullptr; -#endif -#endif - ::rtl::Reference< IAccessibleFactory > s_pFactory; - } - - - //= AccessibleFactoryAccess - - - AccessibleFactoryAccess::AccessibleFactoryAccess() - :m_bInitialized( false ) - { - } - -#if !ENABLE_WASM_STRIP_ACCESSIBILITY -#if HAVE_FEATURE_DESKTOP -#ifndef DISABLE_DYNLOADING - extern "C" { static void thisModule() {} } -#else - extern "C" void* getSvtAccessibilityComponentFactory(); -#endif -#endif // HAVE_FEATURE_DESKTOP -#endif // ENABLE_WASM_STRIP_ACCESSIBILITY - - void AccessibleFactoryAccess::ensureInitialized() - { - if ( m_bInitialized ) - return; - - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - -#if !ENABLE_WASM_STRIP_ACCESSIBILITY -#if HAVE_FEATURE_DESKTOP - // load the library implementing the factory - if (!s_pFactory) - { -#ifndef DISABLE_DYNLOADING -#if ENABLE_MERGELIBS_MORE - s_hAccessibleImplementationModule = osl_loadModuleRelative( &thisModule, u"" SVLIBRARY( "merged" ) ""_ustr.pData, 0 ); -#else - s_hAccessibleImplementationModule = osl_loadModuleRelative( &thisModule, u"" SVLIBRARY( "vcl" ) ""_ustr.pData, 0 ); -#endif - assert(s_hAccessibleImplementationModule); - s_pAccessibleFactoryFunc = reinterpret_cast<GetSvtAccessibilityComponentFactory>( - osl_getFunctionSymbol( s_hAccessibleImplementationModule, u"getSvtAccessibilityComponentFactory"_ustr.pData )); - - assert( s_pAccessibleFactoryFunc && "ac_registerClient: could not load the library, or not retrieve the needed symbol!" ); -#else - s_pAccessibleFactoryFunc = getSvtAccessibilityComponentFactory; -#endif // DISABLE_DYNLOADING - - // get a factory instance - IAccessibleFactory* pFactory = static_cast< IAccessibleFactory* >( (*s_pAccessibleFactoryFunc)() ); - assert(pFactory); - s_pFactory = pFactory; - pFactory->release(); - } -#endif // HAVE_FEATURE_DESKTOP -#endif // ENABLE_WASM_STRIP_ACCESSIBILITY - - assert(s_pFactory); - - m_bInitialized = true; - } - - IAccessibleFactory& AccessibleFactoryAccess::getFactory() - { - ensureInitialized(); - DBG_ASSERT( s_pFactory.is(), "AccessibleFactoryAccess::getFactory: at least a dummy factory should have been created!" ); - return *s_pFactory; - } - -} // namespace vcl - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/treelist/iconview.cxx b/vcl/source/treelist/iconview.cxx index 34f213462911..927ad5decb4e 100644 --- a/vcl/source/treelist/iconview.cxx +++ b/vcl/source/treelist/iconview.cxx @@ -238,7 +238,7 @@ css::uno::Reference<css::accessibility::XAccessible> IconView::CreateAccessible( { // need to be done here to get the vclxwindow later on in the accessible css::uno::Reference<css::awt::XVclWindowPeer> xHoldAlive(GetComponentInterface()); - return pImpl->m_aFactoryAccess.getFactory().createAccessibleIconView(*this, xAccParent); + return AccessibleFactory::createAccessibleIconView(*this, xAccParent); } } return {}; diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index cc3e1c7322f1..9c97c0bfd81d 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -18,7 +18,6 @@ */ #include <comphelper/types.hxx> -#include <vcl/svtaccessiblefactory.hxx> #include <vcl/accessiblefactory.hxx> #include <vcl/toolkit/svtabbx.hxx> #include <vcl/headbar.hxx> @@ -545,7 +544,6 @@ namespace vcl struct SvHeaderTabListBoxImpl { VclPtr<HeaderBar> m_pHeaderBar; - AccessibleFactoryAccess m_aFactoryAccess; SvHeaderTabListBoxImpl() : m_pHeaderBar( nullptr ) { } }; @@ -662,7 +660,7 @@ IMPL_LINK_NOARG(SvHeaderTabListBox, CreateAccessibleHdl_Impl, HeaderBar*, void) css::uno::Reference< XAccessible > xAccParent = pParent->GetAccessible(); if ( xAccParent.is() ) { - Reference< XAccessible > xAccessible = m_pImpl->m_aFactoryAccess.getFactory().createAccessibleBrowseBoxHeaderBar( + Reference<XAccessible> xAccessible = AccessibleFactory::createAccessibleBrowseBoxHeaderBar( xAccParent, *this, AccessibleBrowseBoxObjType::ColumnHeaderBar ); m_pImpl->m_pHeaderBar->SetAccessible( xAccessible ); } @@ -892,10 +890,10 @@ Reference< XAccessible > SvHeaderTabListBox::CreateAccessibleCell( sal_Int32 _nR TriState eState = TRISTATE_INDET; bool bIsCheckBox = IsCellCheckBox( _nRow, _nColumnPos, eState ); if ( bIsCheckBox ) - xChild = m_pImpl->m_aFactoryAccess.getFactory().createAccessibleCheckBoxCell( + xChild = AccessibleFactory::createAccessibleCheckBoxCell( m_pAccessible->getTable(), *this, _nRow, _nColumnPos, eState, false); else - xChild = m_pImpl->m_aFactoryAccess.getFactory().createAccessibleBrowseBoxTableCell( + xChild = AccessibleFactory::createAccessibleBrowseBoxTableCell( m_pAccessible->getTable(), *this, _nRow, _nColumnPos, OFFSET_NONE ); return xChild; @@ -922,7 +920,7 @@ Reference< XAccessible > SvHeaderTabListBox::CreateAccessibleColumnHeader( sal_u if ( !xChild.is() && m_pAccessible ) { // no -> create new header cell - xChild = m_pImpl->m_aFactoryAccess.getFactory().createAccessibleBrowseBoxHeaderCell( + xChild = AccessibleFactory::createAccessibleBrowseBoxHeaderCell( _nColumn, m_pAccessible->getHeaderBar(), *this, AccessibleBrowseBoxObjType::ColumnHeaderCell); @@ -1167,7 +1165,7 @@ Reference< XAccessible > SvHeaderTabListBox::CreateAccessible() Reference< XAccessible > xAccParent = pParent->GetAccessible(); if ( xAccParent.is() ) { - m_pAccessible = m_pImpl->m_aFactoryAccess.getFactory().createAccessibleTabListBox( xAccParent, *this ); + m_pAccessible = AccessibleFactory::createAccessibleTabListBox( xAccParent, *this ); if ( m_pAccessible ) xAccessible = m_pAccessible->getMyself(); } diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index d40c90ac479a..a7a482a59d4c 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -3461,7 +3461,7 @@ css::uno::Reference< XAccessible > SvTreeListBox::CreateAccessible() { // need to be done here to get the vclxwindow later on in the accessible css::uno::Reference< css::awt::XVclWindowPeer > xHoldAlive(GetComponentInterface()); - xAccessible = pImpl->m_aFactoryAccess.getFactory().createAccessibleTreeListBox( *this, xAccParent ); + xAccessible = AccessibleFactory::createAccessibleTreeListBox( *this, xAccParent ); } } return xAccessible; diff --git a/vcl/vcl.common.component b/vcl/vcl.common.component index e12d2edc146b..3069a1c79d19 100644 --- a/vcl/vcl.common.component +++ b/vcl/vcl.common.component @@ -86,8 +86,4 @@ <service name="com.sun.star.awt.FontIdentificator"/> <optional/> </implementation> - <implementation name="com.sun.star.accessibility.comp.GetStandardAccessibleFactoryService" - constructor="com_sun_star_accessibility_GetStandardAccessibleFactoryService_get_implementation"> - <service name="com.sun.star.accessibility.GetStandardAccessibleFactoryService"/> - </implementation> </component> commit 4c35e9beedc9ba89b20e7ce48cc04c800ee2fa6a Author: Michael Weghorn <[email protected]> AuthorDate: Tue Dec 17 13:11:29 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Dec 17 22:57:14 2024 +0100 a11y: Drop unused UnoWrapper::maAccessibleFactoryAccess Unused since commit 739b0716504d2526fb7283100420e4bd5eacb7c2 Author: Michael Weghorn <[email protected]> Date: Wed Dec 4 15:48:51 2024 +0100 a11y: Move menu a11y classes to vcl, no more use factory Change-Id: I492bc5dee8ccadba3d608ffb1cef011cc6f1e250 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178688 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/toolkit/inc/helper/unowrapper.hxx b/toolkit/inc/helper/unowrapper.hxx index 274e60beb2c3..0cd0cc41611c 100644 --- a/toolkit/inc/helper/unowrapper.hxx +++ b/toolkit/inc/helper/unowrapper.hxx @@ -28,15 +28,11 @@ #include <vcl/toolkit/unowrap.hxx> #include <vcl/window.hxx> -#include <helper/accessibilityclient.hxx> - - class UnoWrapper final : public UnoWrapperBase { private: css::uno::Reference< css::awt::XToolkit> mxToolkit; - ::toolkit::AccessibilityClient maAccessibleFactoryAccess; public: UnoWrapper( const css::uno::Reference< css::awt::XToolkit>& rxToolkit );
