accessibility/inc/standard/svtaccessiblenumericfield.hxx | 3 accessibility/inc/standard/vclxaccessiblebox.hxx | 3 accessibility/inc/standard/vclxaccessiblebutton.hxx | 4 accessibility/inc/standard/vclxaccessiblecheckbox.hxx | 5 accessibility/inc/standard/vclxaccessiblecombobox.hxx | 4 accessibility/inc/standard/vclxaccessibledropdowncombobox.hxx | 4 accessibility/inc/standard/vclxaccessibledropdownlistbox.hxx | 2 accessibility/inc/standard/vclxaccessibleedit.hxx | 5 accessibility/inc/standard/vclxaccessibleheaderbar.hxx | 3 accessibility/inc/standard/vclxaccessiblelist.hxx | 5 accessibility/inc/standard/vclxaccessiblelistbox.hxx | 2 accessibility/inc/standard/vclxaccessibleradiobutton.hxx | 6 accessibility/inc/standard/vclxaccessiblescrollbar.hxx | 6 accessibility/inc/standard/vclxaccessiblestatusbar.hxx | 2 accessibility/inc/standard/vclxaccessibletabcontrol.hxx | 2 accessibility/inc/standard/vclxaccessibletabpagewindow.hxx | 2 accessibility/inc/standard/vclxaccessibletextcomponent.hxx | 2 accessibility/inc/standard/vclxaccessibletextfield.hxx | 4 accessibility/inc/standard/vclxaccessibletoolbox.hxx | 2 accessibility/source/extended/accessibleiconchoicectrl.cxx | 2 accessibility/source/extended/accessiblelistbox.cxx | 2 accessibility/source/extended/textwindowaccessibility.cxx | 2 accessibility/source/helper/acc_factory.cxx | 114 ++++------ accessibility/source/standard/svtaccessiblenumericfield.cxx | 5 accessibility/source/standard/vclxaccessiblebox.cxx | 9 accessibility/source/standard/vclxaccessiblecheckbox.cxx | 5 accessibility/source/standard/vclxaccessiblecombobox.cxx | 4 accessibility/source/standard/vclxaccessibledropdowncombobox.cxx | 4 accessibility/source/standard/vclxaccessibledropdownlistbox.cxx | 4 accessibility/source/standard/vclxaccessibleedit.cxx | 5 accessibility/source/standard/vclxaccessibleheaderbar.cxx | 6 accessibility/source/standard/vclxaccessiblelist.cxx | 6 accessibility/source/standard/vclxaccessiblelistbox.cxx | 4 accessibility/source/standard/vclxaccessibleradiobutton.cxx | 1 accessibility/source/standard/vclxaccessiblescrollbar.cxx | 1 accessibility/source/standard/vclxaccessiblestatusbar.cxx | 4 accessibility/source/standard/vclxaccessibletabcontrol.cxx | 4 accessibility/source/standard/vclxaccessibletabpagewindow.cxx | 4 accessibility/source/standard/vclxaccessibletextcomponent.cxx | 5 accessibility/source/standard/vclxaccessibletextfield.cxx | 7 accessibility/source/standard/vclxaccessibletoolbox.cxx | 6 dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx | 2 dbaccess/source/ui/querydesign/JAccess.cxx | 2 dbaccess/source/ui/querydesign/TableWindowAccess.cxx | 2 include/toolkit/awt/vclxaccessiblecomponent.hxx | 4 include/toolkit/helper/accessiblefactory.hxx | 65 ++--- sw/source/uibase/docvw/AnnotationWin2.cxx | 3 sw/source/uibase/docvw/SidebarWinAcc.cxx | 32 -- sw/source/uibase/docvw/SidebarWinAcc.hxx | 11 toolkit/source/awt/vclxaccessiblecomponent.cxx | 16 - toolkit/source/awt/vclxwindow.cxx | 4 toolkit/source/awt/vclxwindows.cxx | 56 +++- 52 files changed, 218 insertions(+), 249 deletions(-)
New commits: commit 168512dce7f1f1453c045584d47bd78a0a6c73f7 Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 12 18:06:13 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Dec 12 23:02:33 2024 +0100 a11y: Stop using VCLXWindow in vcl a11y classes Adjust VCLXAccessibleComponent and subclasses to take a vcl::Window arg instead of a VCLXWindow in the ctor and drop the VCLXAccessibleComponent::m_xVCLXWindow member that used to hold a reference to the VCLXWindow. (VCLXAccessibleComponent still holds a VclPtr to the corresponding vcl::Window.) Instead of passing the UNO/toolkit peer (VCLXWindow and subclasses) to the AccessibleFactory to create an XAccessibleContext context for the underlying VCL widget, pass the underlying vcl widget, which can now be passed as is to the corresponding ctors of VCLXAccessibleComponent and specialized subclasses. This follows earlier commits replacing the use of the VCLXWindow classes by direct uses of the vcl::Window subclasses inside VCLXAccessibleComponent and subclasses and is the next step in reducing the UNO/toolkit dependency in the accessibility implementation for vcl widgets. For now, the logic where those accessible objects are created remains in VCLXWindow::CreateAccessibleContext and overrides, but that can change in the future. `IAccessibleFactory::createAccessibleContext(VCLXMultiLineEdit*)` is just dropped and doesn't need its own replacement: The previous VCLXMultiLineEdit variant was creating a VCLXAccessibleEdit like the variant taking a VCLXEdit, but VCLXMultiLineEdit doesn't subclass VCLXEdit. The vcl MultiLineEdit however subclasses Edit, so VCLXMultiLineEdit::CreateAccessibleContext can make use of `IAccessibleFactory::createAccessibleContext(Edit*)` as well now. This also implements what was mentioned in earlier commit Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325 Author: Michael Weghorn <[email protected]> Date: Thu Dec 12 17:16:29 2024 +0100 sw annotation win a11y: Skip VCLXWindow logic : > Drop the comment about the code being dodgy from > SwAnnotationWin::CreateAccessible. This commit partially > addresses it and switching VCLXAccessibleComponent > to using the vcl::Window will take care of the rest, > see upcoming commit > Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2 > ("a11y: Stop using VCLXWindow in vcl a11y classes"). Now that the VCLXAccessibleComponent ctor takes a vcl::Window, the sw::annotation::SwAnnotationWin can be passed directly. From a user perspective, no change in behavior is intended by this commit. Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178385 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/accessibility/inc/standard/svtaccessiblenumericfield.hxx b/accessibility/inc/standard/svtaccessiblenumericfield.hxx index 29225a5c6072..0bdf122c1fab 100644 --- a/accessibility/inc/standard/svtaccessiblenumericfield.hxx +++ b/accessibility/inc/standard/svtaccessiblenumericfield.hxx @@ -20,6 +20,7 @@ #pragma once #include <cppuhelper/implbase.hxx> +#include <vcl/toolkit/fmtfield.hxx> #include <vcl/vclevent.hxx> #include <standard/vclxaccessibleedit.hxx> @@ -30,7 +31,7 @@ class SVTXAccessibleNumericField final : public cppu::ImplInheritanceHelper<VCLXAccessibleEdit, css::accessibility::XAccessibleValue> { public: - SVTXAccessibleNumericField(VCLXWindow* pVCLXindow); + SVTXAccessibleNumericField(FormattedField* pFormattedField); virtual void ProcessWindowEvent(const VclWindowEvent& rVclWindowEvent) override; diff --git a/accessibility/inc/standard/vclxaccessiblebox.hxx b/accessibility/inc/standard/vclxaccessiblebox.hxx index c2db4a0cdd63..c107245b2432 100644 --- a/accessibility/inc/standard/vclxaccessiblebox.hxx +++ b/accessibility/inc/standard/vclxaccessiblebox.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleValue.hpp> #include <toolkit/awt/vclxaccessiblecomponent.hxx> #include <cppuhelper/implbase.hxx> +#include <vcl/toolkit/lstbox.hxx> class VCLXAccessibleList; @@ -46,7 +47,7 @@ public: either COMBOBOX or LISTBOX and a flag indicating whether the box is a drop down box. */ - VCLXAccessibleBox (VCLXWindow* pVCLXindow, BoxType aType, bool bIsDropDownBox); + VCLXAccessibleBox(vcl::Window* pBox, BoxType aType, bool bIsDropDownBox); // XAccessible diff --git a/accessibility/inc/standard/vclxaccessiblebutton.hxx b/accessibility/inc/standard/vclxaccessiblebutton.hxx index 460c90c67c41..fb9db98818a3 100644 --- a/accessibility/inc/standard/vclxaccessiblebutton.hxx +++ b/accessibility/inc/standard/vclxaccessiblebutton.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleValue.hpp> #include <cppuhelper/implbase.hxx> +#include <vcl/toolkit/button.hxx> @@ -40,7 +41,8 @@ class VCLXAccessibleButton final : public cppu::ImplInheritanceHelper< virtual void FillAccessibleStateSet( sal_Int64& rStateSet ) override; public: - VCLXAccessibleButton( VCLXWindow* pVCLXWindow ): ImplInheritanceHelper(pVCLXWindow) {} + VCLXAccessibleButton(PushButton* pButton) + : ImplInheritanceHelper(pButton) {} // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessiblecheckbox.hxx b/accessibility/inc/standard/vclxaccessiblecheckbox.hxx index dc7b0d3c353e..4a0b2de88c99 100644 --- a/accessibility/inc/standard/vclxaccessiblecheckbox.hxx +++ b/accessibility/inc/standard/vclxaccessiblecheckbox.hxx @@ -25,8 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleValue.hpp> #include <cppuhelper/implbase.hxx> - - +#include <vcl/toolkit/button.hxx> class VCLXAccessibleCheckBox final : public cppu::ImplInheritanceHelper< @@ -52,7 +51,7 @@ private: virtual void FillAccessibleStateSet( sal_Int64& rStateSet ) override; public: - VCLXAccessibleCheckBox( VCLXWindow* pVCLXindow ); + VCLXAccessibleCheckBox(CheckBox* pCheckBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessiblecombobox.hxx b/accessibility/inc/standard/vclxaccessiblecombobox.hxx index 6294e7df91d1..9475d5baddd7 100644 --- a/accessibility/inc/standard/vclxaccessiblecombobox.hxx +++ b/accessibility/inc/standard/vclxaccessiblecombobox.hxx @@ -21,6 +21,8 @@ #include <standard/vclxaccessiblebox.hxx> +#include <vcl/toolkit/combobox.hxx> + /** The accessible combobox has two children. The first is the text field represented by an object of the VCLXAccessibleEdit class. The second is the list containing all items and is represented by an @@ -30,7 +32,7 @@ class VCLXAccessibleComboBox final : public VCLXAccessibleBox { public: - VCLXAccessibleComboBox(VCLXWindow* pVCLXindow); + VCLXAccessibleComboBox(ComboBox* pComboBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibledropdowncombobox.hxx b/accessibility/inc/standard/vclxaccessibledropdowncombobox.hxx index 2527b2fbc2c8..3ad1e0e9f92a 100644 --- a/accessibility/inc/standard/vclxaccessibledropdowncombobox.hxx +++ b/accessibility/inc/standard/vclxaccessibledropdowncombobox.hxx @@ -21,6 +21,8 @@ #include <standard/vclxaccessiblebox.hxx> +#include <vcl/toolkit/combobox.hxx> + /** The accessible drop down combobox has two children. The first is the text field represented by an object of the VCLXAccessibleEdit class. The second is the list @@ -31,7 +33,7 @@ class VCLXAccessibleDropDownComboBox final : public VCLXAccessibleBox { public: - VCLXAccessibleDropDownComboBox(VCLXWindow* pVCLXindow); + VCLXAccessibleDropDownComboBox(ComboBox* pComboBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibledropdownlistbox.hxx b/accessibility/inc/standard/vclxaccessibledropdownlistbox.hxx index 3a314ad09434..b29b8206cde0 100644 --- a/accessibility/inc/standard/vclxaccessibledropdownlistbox.hxx +++ b/accessibility/inc/standard/vclxaccessibledropdownlistbox.hxx @@ -31,7 +31,7 @@ class VCLXAccessibleDropDownListBox final : public VCLXAccessibleBox { public: - VCLXAccessibleDropDownListBox(VCLXWindow* pVCLXindow); + VCLXAccessibleDropDownListBox(ListBox* pListBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibleedit.hxx b/accessibility/inc/standard/vclxaccessibleedit.hxx index e5d810ccc016..6469101be775 100644 --- a/accessibility/inc/standard/vclxaccessibleedit.hxx +++ b/accessibility/inc/standard/vclxaccessibleedit.hxx @@ -25,8 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleAction.hpp> #include <cppuhelper/implbase.hxx> - - +#include <vcl/toolkit/edit.hxx> class VCLXAccessibleEdit : public cppu::ImplInheritanceHelper< @@ -54,7 +53,7 @@ protected: virtual bool PreferFullTextInTextChangedEvent() override; public: - VCLXAccessibleEdit( VCLXWindow* pVCLXindow ); + VCLXAccessibleEdit(Edit* pEdit); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibleheaderbar.hxx b/accessibility/inc/standard/vclxaccessibleheaderbar.hxx index 505e0f2859d8..d89354fca9e9 100644 --- a/accessibility/inc/standard/vclxaccessibleheaderbar.hxx +++ b/accessibility/inc/standard/vclxaccessibleheaderbar.hxx @@ -20,7 +20,6 @@ #include <vcl/headbar.hxx> #include <toolkit/awt/vclxaccessiblecomponent.hxx> -#include <toolkit/awt/vclxwindow.hxx> typedef std::vector<css::uno::WeakReference<css::accessibility::XAccessible>> ListItems; @@ -31,7 +30,7 @@ class VCLXAccessibleHeaderBar final : public VCLXAccessibleComponent public: virtual ~VCLXAccessibleHeaderBar() override; - VCLXAccessibleHeaderBar(VCLXWindow* pVCLXindow); + VCLXAccessibleHeaderBar(HeaderBar* pHeaderBar); // XAccessibleContext virtual sal_Int64 SAL_CALL getAccessibleChildCount() override; diff --git a/accessibility/inc/standard/vclxaccessiblelist.hxx b/accessibility/inc/standard/vclxaccessiblelist.hxx index 7bfb83c7e386..2a1652d04112 100644 --- a/accessibility/inc/standard/vclxaccessiblelist.hxx +++ b/accessibility/inc/standard/vclxaccessiblelist.hxx @@ -47,9 +47,8 @@ class VCLXAccessibleList final public: enum BoxType {COMBOBOX, LISTBOX}; - VCLXAccessibleList (VCLXWindow* pVCLXindow, BoxType aBoxType, - const css::uno::Reference< - css::accessibility::XAccessible >& _xParent); + VCLXAccessibleList(vcl::Window* pWindow, BoxType aBoxType, + const css::uno::Reference<css::accessibility::XAccessible>& _xParent); /** The index that is passed to this method is returned on following calls to getAccessibleIndexInParent. diff --git a/accessibility/inc/standard/vclxaccessiblelistbox.hxx b/accessibility/inc/standard/vclxaccessiblelistbox.hxx index ed2cd05efc56..2e73cc9499d2 100644 --- a/accessibility/inc/standard/vclxaccessiblelistbox.hxx +++ b/accessibility/inc/standard/vclxaccessiblelistbox.hxx @@ -29,7 +29,7 @@ class VCLXAccessibleListBox final : public VCLXAccessibleBox { public: - VCLXAccessibleListBox(VCLXWindow* pVCLXindow); + VCLXAccessibleListBox(ListBox* pListBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibleradiobutton.hxx b/accessibility/inc/standard/vclxaccessibleradiobutton.hxx index 4e93579fa9c1..bec1aea7f1d2 100644 --- a/accessibility/inc/standard/vclxaccessibleradiobutton.hxx +++ b/accessibility/inc/standard/vclxaccessibleradiobutton.hxx @@ -25,8 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleValue.hpp> #include <cppuhelper/implbase.hxx> - - +#include <vcl/toolkit/button.hxx> class VCLXAccessibleRadioButton final : public cppu::ImplInheritanceHelper< @@ -41,7 +40,8 @@ class VCLXAccessibleRadioButton final : public cppu::ImplInheritanceHelper< virtual void FillAccessibleStateSet( sal_Int64& rStateSet ) override; public: - VCLXAccessibleRadioButton( VCLXWindow* pVCLXWindow ): ImplInheritanceHelper(pVCLXWindow) {} + VCLXAccessibleRadioButton(RadioButton* pRadioButton) + : ImplInheritanceHelper(pRadioButton) {} // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessiblescrollbar.hxx b/accessibility/inc/standard/vclxaccessiblescrollbar.hxx index c8f1dd719878..4cbc63033160 100644 --- a/accessibility/inc/standard/vclxaccessiblescrollbar.hxx +++ b/accessibility/inc/standard/vclxaccessiblescrollbar.hxx @@ -25,8 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleValue.hpp> #include <cppuhelper/implbase.hxx> - - +#include <vcl/toolkit/scrbar.hxx> class VCLXAccessibleScrollBar final : public cppu::ImplInheritanceHelper< @@ -40,7 +39,8 @@ class VCLXAccessibleScrollBar final : public cppu::ImplInheritanceHelper< virtual void FillAccessibleStateSet( sal_Int64& rStateSet ) override; public: - VCLXAccessibleScrollBar( VCLXWindow* pVCLXWindow ): ImplInheritanceHelper(pVCLXWindow) {} + VCLXAccessibleScrollBar(ScrollBar* pScrollBar) + : ImplInheritanceHelper(pScrollBar) {} // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessiblestatusbar.hxx b/accessibility/inc/standard/vclxaccessiblestatusbar.hxx index 17f77af4fbb6..5b13f10317f4 100644 --- a/accessibility/inc/standard/vclxaccessiblestatusbar.hxx +++ b/accessibility/inc/standard/vclxaccessiblestatusbar.hxx @@ -49,7 +49,7 @@ private: virtual void SAL_CALL disposing() override; public: - VCLXAccessibleStatusBar( VCLXWindow* pVCLXWindow ); + VCLXAccessibleStatusBar(vcl::Window* pWindow); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibletabcontrol.hxx b/accessibility/inc/standard/vclxaccessibletabcontrol.hxx index 32565c6d80ad..bc56e7746e48 100644 --- a/accessibility/inc/standard/vclxaccessibletabcontrol.hxx +++ b/accessibility/inc/standard/vclxaccessibletabcontrol.hxx @@ -60,7 +60,7 @@ private: virtual void SAL_CALL disposing() override; public: - VCLXAccessibleTabControl( VCLXWindow* pVCLXWindow ); + VCLXAccessibleTabControl(vcl::Window* pWindow); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/inc/standard/vclxaccessibletabpagewindow.hxx b/accessibility/inc/standard/vclxaccessibletabpagewindow.hxx index 826aa8daad91..457cb5b944bc 100644 --- a/accessibility/inc/standard/vclxaccessibletabpagewindow.hxx +++ b/accessibility/inc/standard/vclxaccessibletabpagewindow.hxx @@ -41,7 +41,7 @@ private: virtual void SAL_CALL disposing() override; public: - VCLXAccessibleTabPageWindow( VCLXWindow* pVCLXWindow ); + VCLXAccessibleTabPageWindow(vcl::Window* pWindow); // XAccessibleContext virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override; diff --git a/accessibility/inc/standard/vclxaccessibletextcomponent.hxx b/accessibility/inc/standard/vclxaccessibletextcomponent.hxx index 9678eb15469b..356c968c1413 100644 --- a/accessibility/inc/standard/vclxaccessibletextcomponent.hxx +++ b/accessibility/inc/standard/vclxaccessibletextcomponent.hxx @@ -56,7 +56,7 @@ protected: virtual void SAL_CALL disposing() override; public: - VCLXAccessibleTextComponent( VCLXWindow* pVCLXWindow ); + VCLXAccessibleTextComponent(vcl::Window* pWindow); // XAccessibleText virtual sal_Int32 SAL_CALL getCaretPosition() override; diff --git a/accessibility/inc/standard/vclxaccessibletextfield.hxx b/accessibility/inc/standard/vclxaccessibletextfield.hxx index b730bd107ea2..997041db1f9f 100644 --- a/accessibility/inc/standard/vclxaccessibletextfield.hxx +++ b/accessibility/inc/standard/vclxaccessibletextfield.hxx @@ -33,8 +33,8 @@ class VCLXAccessibleTextField final : public cppu::ImplInheritanceHelper<VCLXAccessibleTextComponent, css::accessibility::XAccessible> { public: - VCLXAccessibleTextField (VCLXWindow* pVCLXindow, - const css::uno::Reference< css::accessibility::XAccessible >& _xParent); + VCLXAccessibleTextField(vcl::Window* pWindow, + const css::uno::Reference<css::accessibility::XAccessible>& _xParent); // XAccessible css::uno::Reference< css::accessibility::XAccessibleContext> SAL_CALL diff --git a/accessibility/inc/standard/vclxaccessibletoolbox.hxx b/accessibility/inc/standard/vclxaccessibletoolbox.hxx index 4918e511ba2a..efe684f5b31b 100644 --- a/accessibility/inc/standard/vclxaccessibletoolbox.hxx +++ b/accessibility/inc/standard/vclxaccessibletoolbox.hxx @@ -63,7 +63,7 @@ private: virtual void SAL_CALL disposing() override; public: - VCLXAccessibleToolBox( VCLXWindow* pVCLXWindow ); + VCLXAccessibleToolBox(ToolBox* pToolBox); // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; diff --git a/accessibility/source/extended/accessibleiconchoicectrl.cxx b/accessibility/source/extended/accessibleiconchoicectrl.cxx index e0780143ea83..7cebe8379aec 100644 --- a/accessibility/source/extended/accessibleiconchoicectrl.cxx +++ b/accessibility/source/extended/accessibleiconchoicectrl.cxx @@ -43,7 +43,7 @@ namespace accessibility AccessibleIconChoiceCtrl::AccessibleIconChoiceCtrl(SvtIconChoiceCtrl& _rIconCtrl, const Reference<XAccessible>& _xParent) - : ImplInheritanceHelper(_rIconCtrl.GetWindowPeer()) + : ImplInheritanceHelper(&_rIconCtrl) , m_xParent(_xParent) { } diff --git a/accessibility/source/extended/accessiblelistbox.cxx b/accessibility/source/extended/accessiblelistbox.cxx index 5ad681d3b233..1b8535af1df5 100644 --- a/accessibility/source/extended/accessiblelistbox.cxx +++ b/accessibility/source/extended/accessiblelistbox.cxx @@ -43,7 +43,7 @@ namespace accessibility // Ctor() and Dtor() AccessibleListBox::AccessibleListBox(SvTreeListBox& _rListBox, const Reference< XAccessible >& _xParent) - : ImplInheritanceHelper( _rListBox.GetWindowPeer() ), + : ImplInheritanceHelper(&_rListBox), m_xParent( _xParent ) { } diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx index 04939fee3b3a..e19915407e00 100644 --- a/accessibility/source/extended/textwindowaccessibility.cxx +++ b/accessibility/source/extended/textwindowaccessibility.cxx @@ -703,7 +703,7 @@ void Paragraph::checkDisposed() Document::Document(::VCLXWindow * pVclXWindow, ::TextEngine & rEngine, ::TextView & rView): - VCLXAccessibleComponent(pVclXWindow), + VCLXAccessibleComponent(pVclXWindow->GetWindow()), m_xAccessible(pVclXWindow), m_rEngine(rEngine), m_rView(rView), diff --git a/accessibility/source/helper/acc_factory.cxx b/accessibility/source/helper/acc_factory.cxx index 9bfdd1f2948e..9ac17ca3e106 100644 --- a/accessibility/source/helper/acc_factory.cxx +++ b/accessibility/source/helper/acc_factory.cxx @@ -57,6 +57,8 @@ #include <com/sun/star/accessibility/AccessibleRole.hpp> #include <vcl/toolkit/lstbox.hxx> #include <vcl/toolkit/combobox.hxx> +#include <vcl/toolkit/fixed.hxx> +#include <vcl/toolkit/fixedhyper.hxx> #include <extended/AccessibleGridControl.hxx> #include <vcl/accessibletable.hxx> @@ -86,33 +88,31 @@ public: // ::toolkit::IAccessibleFactory virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXButton* _pXWindow ) override; + createAccessibleContext(PushButton* pButton) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXCheckBox* _pXWindow ) override; + createAccessibleContext(CheckBox* pCheckBox) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXRadioButton* _pXWindow ) override; + createAccessibleContext(RadioButton* pRadioButton) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXListBox* _pXWindow ) override; + createAccessibleContext(ListBox* pListBox) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXFixedText* _pXWindow ) override; + createAccessibleContext(FixedText* pFixedText) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXFixedHyperlink* _pXWindow ) override; + createAccessibleContext(FixedHyperlink* pFixedHyperlink) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXScrollBar* _pXWindow ) override; + createAccessibleContext(ScrollBar* pScrollBar) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXEdit* _pXWindow ) override; + createAccessibleContext(Edit* pEdit) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXMultiLineEdit* _pXWindow ) override; + createAccessibleContext(ComboBox* pComboBox) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXComboBox* _pXWindow ) override; + createAccessibleContext(ToolBox* pToolBox) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXToolBox* _pXWindow ) override; + createAccessibleContext(HeaderBar* pHeaderBar) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXHeaderBar* _pXWindow ) override; + createAccessibleContext(FormattedField* pFormattedField) override; virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( SVTXNumericField* _pXWindow ) override; - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXWindow* _pXWindow ) override; + createAccessibleContext(vcl::Window* pWindow) override; // ::vcl::IAccessibleFactory virtual vcl::IAccessibleTabListBox* @@ -220,75 +220,67 @@ AccessibleFactory::~AccessibleFactory() { } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXButton* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(PushButton* pButton) { - return new VCLXAccessibleButton( _pXWindow ); + return new VCLXAccessibleButton(pButton); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXCheckBox* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(CheckBox* pCheckBox) { - return new VCLXAccessibleCheckBox( _pXWindow ); + return new VCLXAccessibleCheckBox(pCheckBox); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXRadioButton* _pXWindow ) +Reference<XAccessibleContext> AccessibleFactory::createAccessibleContext(RadioButton* pRadioButton) { - return new VCLXAccessibleRadioButton( _pXWindow ); + return new VCLXAccessibleRadioButton(pRadioButton); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXListBox* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(ListBox* pListBox) { bool bIsDropDownBox = false; - VclPtr< ListBox > pBox = _pXWindow->GetAs< ListBox >(); - if ( pBox ) - bIsDropDownBox = ( ( pBox->GetStyle() & WB_DROPDOWN ) == WB_DROPDOWN ); + if (pListBox) + bIsDropDownBox = ((pListBox->GetStyle() & WB_DROPDOWN) == WB_DROPDOWN); if ( bIsDropDownBox ) - return new VCLXAccessibleDropDownListBox( _pXWindow ); + return new VCLXAccessibleDropDownListBox(pListBox); else - return new VCLXAccessibleListBox( _pXWindow ); -} - -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXFixedText* _pXWindow ) -{ - return new VCLXAccessibleFixedText( _pXWindow ); + return new VCLXAccessibleListBox(pListBox); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXFixedHyperlink* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(FixedText* pFixedText) { - return new VCLXAccessibleFixedHyperlink( _pXWindow ); + return new VCLXAccessibleFixedText(pFixedText); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXScrollBar* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(FixedHyperlink* pFixedHyperlink) { - return new VCLXAccessibleScrollBar( _pXWindow ); + return new VCLXAccessibleFixedHyperlink(pFixedHyperlink); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXEdit* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(ScrollBar* pScrollBar) { - return new VCLXAccessibleEdit( _pXWindow ); + return new VCLXAccessibleScrollBar(pScrollBar); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXMultiLineEdit* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(Edit* pEdit) { - return new VCLXAccessibleEdit( _pXWindow ); + return new VCLXAccessibleEdit(pEdit); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXComboBox* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(ComboBox* pComboBox) { bool bIsDropDownBox = false; - VclPtr< ComboBox > pBox = _pXWindow->GetAs< ComboBox >(); - if ( pBox ) - bIsDropDownBox = ( ( pBox->GetStyle() & WB_DROPDOWN ) == WB_DROPDOWN ); + if (pComboBox) + bIsDropDownBox = ((pComboBox->GetStyle() & WB_DROPDOWN) == WB_DROPDOWN); if ( bIsDropDownBox ) - return new VCLXAccessibleDropDownComboBox( _pXWindow ); + return new VCLXAccessibleDropDownComboBox(pComboBox); else - return new VCLXAccessibleComboBox( _pXWindow ); + return new VCLXAccessibleComboBox(pComboBox); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXWindow* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(vcl::Window* pWindow) { - VclPtr<vcl::Window> pWindow = _pXWindow->GetWindow(); if (!pWindow) return nullptr; @@ -310,54 +302,54 @@ Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLX else if ( nType == WindowType::STATUSBAR ) { - return new VCLXAccessibleStatusBar(_pXWindow); + return new VCLXAccessibleStatusBar(pWindow); } else if ( nType == WindowType::TABCONTROL ) { - return new VCLXAccessibleTabControl(_pXWindow); + return new VCLXAccessibleTabControl(pWindow); } else if ( nType == WindowType::TABPAGE && pWindow->GetAccessibleParentWindow() && pWindow->GetAccessibleParentWindow()->GetType() == WindowType::TABCONTROL ) { - return new VCLXAccessibleTabPageWindow(_pXWindow); + return new VCLXAccessibleTabPageWindow(pWindow); } else if ( nType == WindowType::FLOATINGWINDOW ) { - return new FloatingWindowAccessible(_pXWindow); + return new FloatingWindowAccessible(pWindow); } else if ( nType == WindowType::BORDERWINDOW && hasFloatingChild( pWindow ) ) { - return new FloatingWindowAccessible(_pXWindow); + return new FloatingWindowAccessible(pWindow); } else if ( ( nType == WindowType::HELPTEXTWINDOW ) || ( nType == WindowType::FIXEDLINE ) ) { - return new VCLXAccessibleFixedText(_pXWindow); + return new VCLXAccessibleFixedText(pWindow); } else { - return new VCLXAccessibleComponent(_pXWindow); + return new VCLXAccessibleComponent(pWindow); } return nullptr; } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXToolBox* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(ToolBox* pToolBox) { - return new VCLXAccessibleToolBox( _pXWindow ); + return new VCLXAccessibleToolBox(pToolBox); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( VCLXHeaderBar* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(HeaderBar* pHeaderBar) { - return new VCLXAccessibleHeaderBar(_pXWindow); + return new VCLXAccessibleHeaderBar(pHeaderBar); } -Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( SVTXNumericField* _pXWindow ) +Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext(FormattedField* pFormattedField) { - return new SVTXAccessibleNumericField( _pXWindow ); + return new SVTXAccessibleNumericField(pFormattedField); } vcl::IAccessibleTabListBox* AccessibleFactory::createAccessibleTabListBox( diff --git a/accessibility/source/standard/svtaccessiblenumericfield.cxx b/accessibility/source/standard/svtaccessiblenumericfield.cxx index 50a17a1373ec..2d4630a943b3 100644 --- a/accessibility/source/standard/svtaccessiblenumericfield.cxx +++ b/accessibility/source/standard/svtaccessiblenumericfield.cxx @@ -19,7 +19,6 @@ #include <standard/svtaccessiblenumericfield.hxx> #include <comphelper/accessiblecontexthelper.hxx> -#include <vcl/toolkit/fmtfield.hxx> #include <com/sun/star/accessibility/AccessibleEventId.hpp> #include <com/sun/star/accessibility/AccessibleRole.hpp> @@ -27,8 +26,8 @@ using namespace ::com::sun::star::accessibility; using namespace ::comphelper; -SVTXAccessibleNumericField::SVTXAccessibleNumericField(VCLXWindow* pVCLWindow) - : ImplInheritanceHelper(pVCLWindow) +SVTXAccessibleNumericField::SVTXAccessibleNumericField(FormattedField* pFormattedField) + : ImplInheritanceHelper(pFormattedField) { } diff --git a/accessibility/source/standard/vclxaccessiblebox.cxx b/accessibility/source/standard/vclxaccessiblebox.cxx index 9690eff35ee2..32ff3cdab47d 100644 --- a/accessibility/source/standard/vclxaccessiblebox.cxx +++ b/accessibility/source/standard/vclxaccessiblebox.cxx @@ -30,7 +30,6 @@ #include <vcl/accessibility/strings.hxx> #include <vcl/svapp.hxx> #include <vcl/toolkit/combobox.hxx> -#include <vcl/toolkit/lstbox.hxx> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -38,8 +37,8 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::accessibility; -VCLXAccessibleBox::VCLXAccessibleBox (VCLXWindow* pVCLWindow, BoxType aType, bool bIsDropDownBox) - : ImplInheritanceHelper (pVCLWindow), +VCLXAccessibleBox::VCLXAccessibleBox(vcl::Window* pBox, BoxType aType, bool bIsDropDownBox) + : ImplInheritanceHelper(pBox), m_aBoxType (aType), m_bIsDropDownBox (bIsDropDownBox) { @@ -299,7 +298,7 @@ Reference<XAccessible> SAL_CALL VCLXAccessibleBox::getAccessibleChild (sal_Int64 // List. if ( ! m_xList.is()) { - m_xList = new VCLXAccessibleList(GetVCLXWindow(), + m_xList = new VCLXAccessibleList(GetWindow(), (m_aBoxType == LISTBOX ? VCLXAccessibleList::LISTBOX : VCLXAccessibleList::COMBOBOX), this); m_xList->SetIndexInParent(i); @@ -318,7 +317,7 @@ Reference<XAccessible> SAL_CALL VCLXAccessibleBox::getAccessibleChild (sal_Int64 m_xText = pComboBox->GetSubEdit()->GetAccessible(); } else if (m_bIsDropDownBox) - m_xText = new VCLXAccessibleTextField (GetVCLXWindow(),this); + m_xText = new VCLXAccessibleTextField(GetWindow(), this); } xChild = m_xText; } diff --git a/accessibility/source/standard/vclxaccessiblecheckbox.cxx b/accessibility/source/standard/vclxaccessiblecheckbox.cxx index debdb086df1e..34eb97635f2d 100644 --- a/accessibility/source/standard/vclxaccessiblecheckbox.cxx +++ b/accessibility/source/standard/vclxaccessiblecheckbox.cxx @@ -29,7 +29,6 @@ #include <com/sun/star/accessibility/AccessibleEventId.hpp> #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> -#include <vcl/toolkit/button.hxx> #include <vcl/event.hxx> #include <vcl/vclevent.hxx> @@ -43,8 +42,8 @@ using namespace ::comphelper; // VCLXAccessibleCheckBox -VCLXAccessibleCheckBox::VCLXAccessibleCheckBox( VCLXWindow* pVCLWindow ) - :ImplInheritanceHelper( pVCLWindow ) +VCLXAccessibleCheckBox::VCLXAccessibleCheckBox(CheckBox* pCheckBox) + :ImplInheritanceHelper(pCheckBox) { m_bChecked = IsChecked(); m_bIndeterminate = IsIndeterminate(); diff --git a/accessibility/source/standard/vclxaccessiblecombobox.cxx b/accessibility/source/standard/vclxaccessiblecombobox.cxx index 1673048cf771..79dffd1c2f26 100644 --- a/accessibility/source/standard/vclxaccessiblecombobox.cxx +++ b/accessibility/source/standard/vclxaccessiblecombobox.cxx @@ -25,8 +25,8 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -VCLXAccessibleComboBox::VCLXAccessibleComboBox (VCLXWindow* pVCLWindow) - : VCLXAccessibleBox (pVCLWindow, VCLXAccessibleBox::COMBOBOX, false) +VCLXAccessibleComboBox::VCLXAccessibleComboBox(ComboBox* pComboBox) + : VCLXAccessibleBox(pComboBox, VCLXAccessibleBox::COMBOBOX, false) { } diff --git a/accessibility/source/standard/vclxaccessibledropdowncombobox.cxx b/accessibility/source/standard/vclxaccessibledropdowncombobox.cxx index 91b51606d9e0..a621263ff941 100644 --- a/accessibility/source/standard/vclxaccessibledropdowncombobox.cxx +++ b/accessibility/source/standard/vclxaccessibledropdowncombobox.cxx @@ -28,8 +28,8 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -VCLXAccessibleDropDownComboBox::VCLXAccessibleDropDownComboBox (VCLXWindow* pVCLWindow) - : VCLXAccessibleBox (pVCLWindow, VCLXAccessibleBox::COMBOBOX, true) +VCLXAccessibleDropDownComboBox::VCLXAccessibleDropDownComboBox(ComboBox* pComboBox) + : VCLXAccessibleBox(pComboBox, VCLXAccessibleBox::COMBOBOX, true) { } diff --git a/accessibility/source/standard/vclxaccessibledropdownlistbox.cxx b/accessibility/source/standard/vclxaccessibledropdownlistbox.cxx index 0445e39b2d29..df9323330d52 100644 --- a/accessibility/source/standard/vclxaccessibledropdownlistbox.cxx +++ b/accessibility/source/standard/vclxaccessibledropdownlistbox.cxx @@ -25,8 +25,8 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -VCLXAccessibleDropDownListBox::VCLXAccessibleDropDownListBox (VCLXWindow* pVCLWindow) - : VCLXAccessibleBox (pVCLWindow, VCLXAccessibleBox::LISTBOX, true) +VCLXAccessibleDropDownListBox::VCLXAccessibleDropDownListBox (ListBox* pListBox) + : VCLXAccessibleBox(pListBox, VCLXAccessibleBox::LISTBOX, true) { } diff --git a/accessibility/source/standard/vclxaccessibleedit.cxx b/accessibility/source/standard/vclxaccessibleedit.cxx index e87ed8960503..70f25ee40907 100644 --- a/accessibility/source/standard/vclxaccessibleedit.cxx +++ b/accessibility/source/standard/vclxaccessibleedit.cxx @@ -33,7 +33,6 @@ #include <vcl/window.hxx> #include <vcl/mnemonic.hxx> #include <vcl/settings.hxx> -#include <vcl/toolkit/edit.hxx> #include <vcl/toolkit/vclmedit.hxx> #include <vcl/textdata.hxx> #include <vcl/txtattr.hxx> @@ -55,8 +54,8 @@ using namespace ::comphelper; // VCLXAccessibleEdit -VCLXAccessibleEdit::VCLXAccessibleEdit( VCLXWindow* pVCLWindow ) - :ImplInheritanceHelper( pVCLWindow ) +VCLXAccessibleEdit::VCLXAccessibleEdit(Edit* pEdit) + :ImplInheritanceHelper(pEdit) { m_nCaretPosition = getCaretPosition(); } diff --git a/accessibility/source/standard/vclxaccessibleheaderbar.cxx b/accessibility/source/standard/vclxaccessibleheaderbar.cxx index 2c8ad658b1ab..6c49dbdd747b 100644 --- a/accessibility/source/standard/vclxaccessibleheaderbar.cxx +++ b/accessibility/source/standard/vclxaccessibleheaderbar.cxx @@ -31,10 +31,10 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::accessibility; -VCLXAccessibleHeaderBar::VCLXAccessibleHeaderBar(VCLXWindow* pVCLWindow) - : VCLXAccessibleComponent(pVCLWindow) +VCLXAccessibleHeaderBar::VCLXAccessibleHeaderBar(HeaderBar* pHeaderBar) + : VCLXAccessibleComponent(pHeaderBar) { - m_pHeadBar = GetAs<HeaderBar>(); + m_pHeadBar = pHeaderBar; } VCLXAccessibleHeaderBar::~VCLXAccessibleHeaderBar() {} diff --git a/accessibility/source/standard/vclxaccessiblelist.cxx b/accessibility/source/standard/vclxaccessiblelist.cxx index 79cb5241d567..674b500b8703 100644 --- a/accessibility/source/standard/vclxaccessiblelist.cxx +++ b/accessibility/source/standard/vclxaccessiblelist.cxx @@ -53,9 +53,9 @@ namespace } } -VCLXAccessibleList::VCLXAccessibleList (VCLXWindow* pVCLWindow, BoxType aBoxType, - const Reference< XAccessible >& _xParent) - : ImplInheritanceHelper (pVCLWindow), +VCLXAccessibleList::VCLXAccessibleList(vcl::Window* pWindow, BoxType aBoxType, + const Reference< XAccessible >& _xParent) + : ImplInheritanceHelper (pWindow), m_aBoxType (aBoxType), m_nVisibleLineCount (0), m_nIndexInParent (DEFAULT_INDEX_IN_PARENT), diff --git a/accessibility/source/standard/vclxaccessiblelistbox.cxx b/accessibility/source/standard/vclxaccessiblelistbox.cxx index de282aba1a64..5c9a9ae074e9 100644 --- a/accessibility/source/standard/vclxaccessiblelistbox.cxx +++ b/accessibility/source/standard/vclxaccessiblelistbox.cxx @@ -24,8 +24,8 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -VCLXAccessibleListBox::VCLXAccessibleListBox (VCLXWindow* pVCLWindow) - : VCLXAccessibleBox (pVCLWindow, VCLXAccessibleBox::LISTBOX, false) +VCLXAccessibleListBox::VCLXAccessibleListBox(ListBox* pListBox) + : VCLXAccessibleBox(pListBox, VCLXAccessibleBox::LISTBOX, false) { } diff --git a/accessibility/source/standard/vclxaccessibleradiobutton.cxx b/accessibility/source/standard/vclxaccessibleradiobutton.cxx index 53dc04bae9ee..0fa74c2a6e31 100644 --- a/accessibility/source/standard/vclxaccessibleradiobutton.cxx +++ b/accessibility/source/standard/vclxaccessibleradiobutton.cxx @@ -32,7 +32,6 @@ #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> #include <vcl/accessibility/strings.hxx> #include <vcl/window.hxx> -#include <vcl/toolkit/button.hxx> #include <vcl/event.hxx> #include <vcl/vclevent.hxx> diff --git a/accessibility/source/standard/vclxaccessiblescrollbar.cxx b/accessibility/source/standard/vclxaccessiblescrollbar.cxx index 2136f54c75ff..8dc4de787af5 100644 --- a/accessibility/source/standard/vclxaccessiblescrollbar.cxx +++ b/accessibility/source/standard/vclxaccessiblescrollbar.cxx @@ -29,7 +29,6 @@ #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> #include <comphelper/accessiblecontexthelper.hxx> #include <vcl/accessibility/strings.hxx> -#include <vcl/toolkit/scrbar.hxx> #include <vcl/vclevent.hxx> using namespace ::com::sun::star; diff --git a/accessibility/source/standard/vclxaccessiblestatusbar.cxx b/accessibility/source/standard/vclxaccessiblestatusbar.cxx index 877abf27e090..862eb0033d46 100644 --- a/accessibility/source/standard/vclxaccessiblestatusbar.cxx +++ b/accessibility/source/standard/vclxaccessiblestatusbar.cxx @@ -37,8 +37,8 @@ using namespace ::comphelper; -VCLXAccessibleStatusBar::VCLXAccessibleStatusBar( VCLXWindow* pVCLXWindow ) - :VCLXAccessibleComponent( pVCLXWindow ) +VCLXAccessibleStatusBar::VCLXAccessibleStatusBar(vcl::Window* pWindow) + : VCLXAccessibleComponent(pWindow) { m_pStatusBar = GetAs<StatusBar>(); diff --git a/accessibility/source/standard/vclxaccessibletabcontrol.cxx b/accessibility/source/standard/vclxaccessibletabcontrol.cxx index 4be0e3b12378..9e9a2f7caedd 100644 --- a/accessibility/source/standard/vclxaccessibletabcontrol.cxx +++ b/accessibility/source/standard/vclxaccessibletabcontrol.cxx @@ -41,8 +41,8 @@ using namespace ::comphelper; -VCLXAccessibleTabControl::VCLXAccessibleTabControl( VCLXWindow* pVCLXWindow ) - :ImplInheritanceHelper( pVCLXWindow ) +VCLXAccessibleTabControl::VCLXAccessibleTabControl(vcl::Window* pWindow) + : ImplInheritanceHelper(pWindow) { m_pTabControl = GetAs<TabControl>(); if (!m_pTabControl) diff --git a/accessibility/source/standard/vclxaccessibletabpagewindow.cxx b/accessibility/source/standard/vclxaccessibletabpagewindow.cxx index be41e86b1634..7bae454d3223 100644 --- a/accessibility/source/standard/vclxaccessibletabpagewindow.cxx +++ b/accessibility/source/standard/vclxaccessibletabpagewindow.cxx @@ -32,8 +32,8 @@ using namespace ::comphelper; -VCLXAccessibleTabPageWindow::VCLXAccessibleTabPageWindow( VCLXWindow* pVCLXWindow ) - :VCLXAccessibleComponent( pVCLXWindow ) +VCLXAccessibleTabPageWindow::VCLXAccessibleTabPageWindow(vcl::Window* pWindow) + : VCLXAccessibleComponent(pWindow) { m_pTabPage = GetAs<TabPage>(); m_pTabControl = nullptr; diff --git a/accessibility/source/standard/vclxaccessibletextcomponent.cxx b/accessibility/source/standard/vclxaccessibletextcomponent.cxx index ba2324b1bc94..f3c82134939a 100644 --- a/accessibility/source/standard/vclxaccessibletextcomponent.cxx +++ b/accessibility/source/standard/vclxaccessibletextcomponent.cxx @@ -44,10 +44,9 @@ using namespace ::comphelper; -VCLXAccessibleTextComponent::VCLXAccessibleTextComponent( VCLXWindow* pVCLXWindow ) - :ImplInheritanceHelper( pVCLXWindow ) +VCLXAccessibleTextComponent::VCLXAccessibleTextComponent(vcl::Window* pWindow) + : ImplInheritanceHelper(pWindow) { - VclPtr<vcl::Window> pWindow = GetWindow(); if ( pWindow ) m_sText = removeMnemonicFromString( pWindow->GetText() ); } diff --git a/accessibility/source/standard/vclxaccessibletextfield.cxx b/accessibility/source/standard/vclxaccessibletextfield.cxx index 238a7f1a670f..1020436b44d3 100644 --- a/accessibility/source/standard/vclxaccessibletextfield.cxx +++ b/accessibility/source/standard/vclxaccessibletextfield.cxx @@ -30,10 +30,9 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::accessibility; -VCLXAccessibleTextField::VCLXAccessibleTextField (VCLXWindow* pVCLWindow, const Reference< XAccessible >& _xParent) : - ImplInheritanceHelper (pVCLWindow), - m_xParent( _xParent ) - +VCLXAccessibleTextField::VCLXAccessibleTextField(vcl::Window* pWindow, const Reference<XAccessible>& _xParent) + : ImplInheritanceHelper(pWindow) + , m_xParent( _xParent ) { } diff --git a/accessibility/source/standard/vclxaccessibletoolbox.cxx b/accessibility/source/standard/vclxaccessibletoolbox.cxx index c8601d707ad3..610c08ae021b 100644 --- a/accessibility/source/standard/vclxaccessibletoolbox.cxx +++ b/accessibility/source/standard/vclxaccessibletoolbox.cxx @@ -112,10 +112,8 @@ namespace // VCLXAccessibleToolBox -VCLXAccessibleToolBox::VCLXAccessibleToolBox( VCLXWindow* pVCLXWindow ) : - - ImplInheritanceHelper( pVCLXWindow ) - +VCLXAccessibleToolBox::VCLXAccessibleToolBox(ToolBox* pToolBox) + : ImplInheritanceHelper(pToolBox) { } diff --git a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx index 34363d470af3..2bff88cf3ecf 100644 --- a/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx +++ b/dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx @@ -34,7 +34,7 @@ namespace dbaui using namespace ::com::sun::star; OConnectionLineAccess::OConnectionLineAccess(OTableConnection* _pLine) - : ImplInheritanceHelper(_pLine->GetComponentInterface().is() ? _pLine->GetWindowPeer() : nullptr) + : ImplInheritanceHelper(_pLine) ,m_pLine(_pLine) { } diff --git a/dbaccess/source/ui/querydesign/JAccess.cxx b/dbaccess/source/ui/querydesign/JAccess.cxx index 7c6844f3afd7..7548acae3ca4 100644 --- a/dbaccess/source/ui/querydesign/JAccess.cxx +++ b/dbaccess/source/ui/querydesign/JAccess.cxx @@ -32,7 +32,7 @@ namespace dbaui using namespace ::com::sun::star::lang; OJoinDesignViewAccess::OJoinDesignViewAccess(OJoinTableView* _pTableView) - :ImplInheritanceHelper(_pTableView->GetComponentInterface().is() ? _pTableView->GetWindowPeer() : nullptr) + :ImplInheritanceHelper(_pTableView) ,m_pTableView(_pTableView) { } diff --git a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx index 41ff49ea65ed..fd3831b2496b 100644 --- a/dbaccess/source/ui/querydesign/TableWindowAccess.cxx +++ b/dbaccess/source/ui/querydesign/TableWindowAccess.cxx @@ -34,7 +34,7 @@ namespace dbaui using namespace ::com::sun::star; OTableWindowAccess::OTableWindowAccess(OTableWindow* _pTable) - :ImplInheritanceHelper(_pTable->GetComponentInterface().is() ? _pTable->GetWindowPeer() : nullptr) + :ImplInheritanceHelper(_pTable) ,m_pTable(_pTable) { } diff --git a/include/toolkit/awt/vclxaccessiblecomponent.hxx b/include/toolkit/awt/vclxaccessiblecomponent.hxx index 0afe07d9df70..b21a4afd5f6a 100644 --- a/include/toolkit/awt/vclxaccessiblecomponent.hxx +++ b/include/toolkit/awt/vclxaccessiblecomponent.hxx @@ -46,7 +46,6 @@ class TOOLKIT_DLLPUBLIC VCLXAccessibleComponent comphelper::OAccessibleExtendedComponentHelper, css::lang::XServiceInfo> { private: - rtl::Reference<VCLXWindow> m_xVCLXWindow; VclPtr<vcl::Window> m_xWindow; DECL_DLLPRIVATE_LINK( WindowEventListener, VclWindowEvent&, void ); @@ -62,10 +61,9 @@ protected: virtual css::uno::Reference< css::accessibility::XAccessible > GetChildAccessible( const VclWindowEvent& rVclWindowEvent ); public: - VCLXAccessibleComponent( VCLXWindow* pVCLXWindow ); + VCLXAccessibleComponent(vcl::Window* pWindow); virtual ~VCLXAccessibleComponent() override; - VCLXWindow* GetVCLXWindow() const; vcl::Window* GetWindow() const; template< class derived_type > derived_type* GetAs() const { return static_cast< derived_type * >( GetWindow() ); } diff --git a/include/toolkit/helper/accessiblefactory.hxx b/include/toolkit/helper/accessiblefactory.hxx index 2b2c3455abd7..b331be352775 100644 --- a/include/toolkit/helper/accessiblefactory.hxx +++ b/include/toolkit/helper/accessiblefactory.hxx @@ -27,21 +27,23 @@ namespace com::sun::star::accessibility { class XAccessible; class XAccessibleContext; } -class SVTXNumericField; -class VCLXButton; -class VCLXCheckBox; -class VCLXRadioButton; -class VCLXListBox; -class VCLXFixedHyperlink; -class VCLXFixedText; -class VCLXScrollBar; -class VCLXEdit; -class VCLXComboBox; -class VCLXMultiLineEdit; -class VCLXToolBox; -class VCLXHeaderBar; -class VCLXWindow; -class Menu; + +namespace vcl { + class Window; +} + +class ComboBox; +class Edit; +class FixedHyperlink; +class FixedText; +class FormattedField; +class HeaderBar; +class ListBox; +class RadioButton; +class ScrollBar; + +#include <vcl/toolbox.hxx> +#include <vcl/toolkit/button.hxx> namespace toolkit @@ -49,7 +51,7 @@ namespace toolkit /** a function which is able to create a factory for the standard Accessible/Context - components needed for standard toolkit controls + 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 @@ -66,72 +68,67 @@ namespace toolkit /** creates an accessible context for a button window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXButton* _pXWindow ) = 0; + createAccessibleContext(PushButton* pButton) = 0; /** creates an accessible context for a checkbox window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXCheckBox* _pXWindow ) = 0; + createAccessibleContext(CheckBox* pCheckBox) = 0; /** creates an accessible context for a radio button window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXRadioButton* _pXWindow ) = 0; + createAccessibleContext(RadioButton* pRadioButton) = 0; /** creates an accessible context for a listbox window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXListBox* _pXWindow ) = 0; + createAccessibleContext(ListBox* pListBox) = 0; /** creates an accessible context for a fixed hyperlink window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXFixedHyperlink* _pXWindow ) = 0; + createAccessibleContext(FixedHyperlink* pFixedHyperlink) = 0; /** creates an accessible context for a fixed text window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXFixedText* _pXWindow ) = 0; + createAccessibleContext(FixedText* pFixedText) = 0; /** creates an accessible context for a scrollbar window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXScrollBar* _pXWindow ) = 0; + createAccessibleContext(ScrollBar* pScrollBar) = 0; /** creates an accessible context for an edit window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXEdit* _pXWindow ) = 0; - - /** creates an accessible context for a multiline edit window - */ - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXMultiLineEdit* _pXWindow ) = 0; + createAccessibleContext(Edit* pEdit) = 0; /** creates an accessible context for a combo box window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXComboBox* _pXWindow ) = 0; + createAccessibleContext(ComboBox* pComboBox) = 0; /** creates an accessible context for a toolbox window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXToolBox* _pXWindow ) = 0; + createAccessibleContext(ToolBox* pToolBox) = 0; /** creates an accessible context for a headerbar window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXHeaderBar* _pXWindow ) = 0; + createAccessibleContext(HeaderBar* pHeaderBar) = 0; /** creates an accessible context for a numeric field */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( SVTXNumericField* _pXWindow ) = 0; + createAccessibleContext(FormattedField* pFormattedField) = 0; /** creates an accessible context for a generic window */ virtual css::uno::Reference< css::accessibility::XAccessibleContext > - createAccessibleContext( VCLXWindow* _pXWindow ) = 0; + createAccessibleContext(vcl::Window* pWindow) = 0; protected: virtual ~IAccessibleFactory() override {} diff --git a/sw/source/uibase/docvw/SidebarWinAcc.cxx b/sw/source/uibase/docvw/SidebarWinAcc.cxx index 003efebae794..b289c0ea9959 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.cxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.cxx @@ -31,8 +31,8 @@ namespace sw::sidebarwindows { // implementation of accessible context for <SidebarWinAccessible> instance SidebarWinAccessibleContext::SidebarWinAccessibleContext( sw::annotation::SwAnnotationWin& rSidebarWin, SwViewShell& rViewShell, - const SwFrame* pAnchorFrame, SidebarWinAccessible* pSidebarWinAccessible) - : VCLXAccessibleComponent(pSidebarWinAccessible) + const SwFrame* pAnchorFrame) + : VCLXAccessibleComponent(&rSidebarWin) , mrViewShell(rViewShell) , mpAnchorFrame(pAnchorFrame) { @@ -100,7 +100,7 @@ css::uno::Reference<css::accessibility::XAccessibleContext> SidebarWinAccessible::getAccessibleContext() { if (!m_xAccContext.is()) - m_xAccContext = new SidebarWinAccessibleContext(mrSidebarWin, mrViewShell, mpAnchorFrame, this); + m_xAccContext = new SidebarWinAccessibleContext(mrSidebarWin, mrViewShell, mpAnchorFrame); return m_xAccContext; } diff --git a/sw/source/uibase/docvw/SidebarWinAcc.hxx b/sw/source/uibase/docvw/SidebarWinAcc.hxx index 3ec2b60444cf..f3597f3d509c 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.hxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.hxx @@ -29,14 +29,11 @@ namespace sw::annotation { class SwAnnotationWin; } namespace sw::sidebarwindows { -class SidebarWinAccessible; - class SidebarWinAccessibleContext : public VCLXAccessibleComponent { public: explicit SidebarWinAccessibleContext(sw::annotation::SwAnnotationWin& rSidebarWin, - SwViewShell& rViewShell, const SwFrame* pAnchorFrame, - SidebarWinAccessible* pSidebarWinAccessible); + SwViewShell& rViewShell, const SwFrame* pAnchorFrame); void ChangeAnchor(const SwFrame* pAnchorFrame); diff --git a/toolkit/source/awt/vclxaccessiblecomponent.cxx b/toolkit/source/awt/vclxaccessiblecomponent.cxx index a42cab94d83f..b9ad1b5574df 100644 --- a/toolkit/source/awt/vclxaccessiblecomponent.cxx +++ b/toolkit/source/awt/vclxaccessiblecomponent.cxx @@ -42,12 +42,10 @@ using namespace ::com::sun::star; using namespace ::comphelper; -VCLXAccessibleComponent::VCLXAccessibleComponent( VCLXWindow* pVCLXWindow ) +VCLXAccessibleComponent::VCLXAccessibleComponent(vcl::Window* pWindow) + : m_xWindow(pWindow) { - m_xVCLXWindow = pVCLXWindow; - - DBG_ASSERT( pVCLXWindow->GetWindow(), "VCLXAccessibleComponent - no window!" ); - m_xWindow = pVCLXWindow->GetWindow(); + DBG_ASSERT(pWindow, "VCLXAccessibleComponent - no window!"); if (m_xWindow) { m_xWindow->AddEventListener(LINK(this, VCLXAccessibleComponent, WindowEventListener)); @@ -56,11 +54,6 @@ VCLXAccessibleComponent::VCLXAccessibleComponent( VCLXWindow* pVCLXWindow ) } } -VCLXWindow* VCLXAccessibleComponent::GetVCLXWindow() const -{ - return m_xVCLXWindow.get(); -} - void VCLXAccessibleComponent::DisconnectEvents() { if (m_xWindow) @@ -215,7 +208,6 @@ void VCLXAccessibleComponent::ProcessWindowEvent( const VclWindowEvent& rVclWind case VclEventId::ObjectDying: { DisconnectEvents(); - m_xVCLXWindow.clear(); } break; case VclEventId::WindowChildDestroyed: @@ -373,8 +365,6 @@ void VCLXAccessibleComponent::disposing() DisconnectEvents(); OAccessibleExtendedComponentHelper::disposing(); - - m_xVCLXWindow.clear(); } vcl::Window* VCLXAccessibleComponent::GetWindow() const { return m_xWindow; } diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index ed9e80e506fe..e90dca918314 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -876,7 +876,9 @@ uno::Reference< accessibility::XAccessibleContext > VCLXWindow::CreateAccessible SolarMutexGuard aGuard; if (mpImpl->mbDisposing) return nullptr; - return getAccessibleFactory().createAccessibleContext( this ); + + VclPtr<vcl::Window> pWindow = GetWindow(); + return getAccessibleFactory().createAccessibleContext(pWindow); } void VCLXWindow::SetSynthesizingVCLEvent( bool _b ) diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx index b64b326a7576..da16d6d81bdf 100644 --- a/toolkit/source/awt/vclxwindows.cxx +++ b/toolkit/source/awt/vclxwindows.cxx @@ -41,6 +41,7 @@ #include <vcl/toolkit/button.hxx> #include <vcl/toolkit/fmtfield.hxx> #include <vcl/graph.hxx> +#include <vcl/headbar.hxx> #include <vcl/toolkit/lstbox.hxx> #include <vcl/toolkit/combobox.hxx> #include <vcl/toolkit/field.hxx> @@ -381,7 +382,8 @@ VCLXButton::~VCLXButton() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXButton::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<PushButton> pButton = GetAs<PushButton>(); + return getAccessibleFactory().createAccessibleContext(pButton); } void VCLXButton::dispose() @@ -782,7 +784,8 @@ VCLXCheckBox::VCLXCheckBox() : maActionListeners( *this ), maItemListeners( *th css::uno::Reference< css::accessibility::XAccessibleContext > VCLXCheckBox::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<CheckBox> pCheckBox = GetAs<CheckBox>(); + return getAccessibleFactory().createAccessibleContext(pCheckBox); } void VCLXCheckBox::dispose() @@ -1066,7 +1069,8 @@ VCLXRadioButton::VCLXRadioButton() : maItemListeners( *this ), maActionListeners css::uno::Reference< css::accessibility::XAccessibleContext > VCLXRadioButton::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<RadioButton> pRadioButton = GetAs<RadioButton>(); + return getAccessibleFactory().createAccessibleContext(pRadioButton); } void VCLXRadioButton::dispose() @@ -1793,7 +1797,8 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXListBox::Creat { SolarMutexGuard aGuard; - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<ListBox> pListBox = GetAs<ListBox>(); + return getAccessibleFactory().createAccessibleContext(pListBox); } void VCLXListBox::setProperty( const OUString& PropertyName, const css::uno::Any& Value) @@ -2781,7 +2786,8 @@ void VCLXFixedHyperlink::ProcessWindowEvent( const VclWindowEvent& rVclWindowEve css::uno::Reference< css::accessibility::XAccessibleContext > VCLXFixedHyperlink::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<FixedHyperlink> pFixedHyperlink = GetAs<FixedHyperlink>(); + return getAccessibleFactory().createAccessibleContext(pFixedHyperlink); } void VCLXFixedHyperlink::setText( const OUString& Text ) @@ -3032,7 +3038,8 @@ VCLXFixedText::~VCLXFixedText() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXFixedText::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<FixedText> pFixedText = GetAs<FixedText>(); + return getAccessibleFactory().createAccessibleContext(pFixedText); } void VCLXFixedText::setText( const OUString& Text ) @@ -3159,7 +3166,8 @@ VCLXScrollBar::VCLXScrollBar() : maAdjustmentListeners( *this ) css::uno::Reference< css::accessibility::XAccessibleContext > VCLXScrollBar::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<ScrollBar> pScrollBar = GetAs<ScrollBar>(); + return getAccessibleFactory().createAccessibleContext(pScrollBar); } // css::lang::XComponent @@ -3629,7 +3637,8 @@ VCLXEdit::VCLXEdit() : maTextListeners( *this ) css::uno::Reference< css::accessibility::XAccessibleContext > VCLXEdit::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<Edit> pEdit = GetAs<Edit>(); + return getAccessibleFactory().createAccessibleContext(pEdit); } void VCLXEdit::dispose() @@ -3997,7 +4006,8 @@ css::uno::Reference< css::accessibility::XAccessibleContext > VCLXComboBox::Crea { SolarMutexGuard aGuard; - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<ComboBox> pComboBox = GetAs<ComboBox>(); + return getAccessibleFactory().createAccessibleContext(pComboBox); } void VCLXComboBox::dispose() @@ -4627,12 +4637,12 @@ VCLXDateField::~VCLXDateField() //change the window type here to match the role css::uno::Reference< css::accessibility::XAccessibleContext > VCLXDateField::CreateAccessibleContext() { - VclPtr< vcl::Window > pWindow = GetWindow(); - if ( pWindow ) + VclPtr<Edit> pEdit = GetAs<Edit>(); + if (pEdit) { - pWindow->SetType( WindowType::DATEFIELD ); + pEdit->SetType( WindowType::DATEFIELD ); } - return getAccessibleFactory().createAccessibleContext( this ); + return getAccessibleFactory().createAccessibleContext(pEdit); } void VCLXDateField::setProperty( const OUString& PropertyName, const css::uno::Any& Value) @@ -4961,12 +4971,12 @@ VCLXTimeField::~VCLXTimeField() //change the window type here to match the role css::uno::Reference< css::accessibility::XAccessibleContext > VCLXTimeField::CreateAccessibleContext() { - VclPtr< vcl::Window > pWindow = GetWindow(); - if ( pWindow ) + VclPtr<Edit> pEdit = GetAs<Edit>(); + if (pEdit) { - pWindow->SetType( WindowType::TIMEFIELD ); + pEdit->SetType( WindowType::TIMEFIELD ); } - return getAccessibleFactory().createAccessibleContext( this ); + return getAccessibleFactory().createAccessibleContext(pEdit); } void VCLXTimeField::setTime( const util::Time& aTime ) @@ -5954,7 +5964,8 @@ VCLXToolBox::~VCLXToolBox() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXToolBox::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<ToolBox> pToolBox = GetAs<ToolBox>(); + return getAccessibleFactory().createAccessibleContext(pToolBox); } VCLXHeaderBar::VCLXHeaderBar() @@ -5967,7 +5978,8 @@ VCLXHeaderBar::~VCLXHeaderBar() css::uno::Reference< css::accessibility::XAccessibleContext > VCLXHeaderBar::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext( this ); + VclPtr<HeaderBar> pHeaderBar = GetAs<HeaderBar>(); + return getAccessibleFactory().createAccessibleContext(pHeaderBar); } @@ -7348,7 +7360,8 @@ SVTXNumericField::~SVTXNumericField() css::uno::Reference<accessibility::XAccessibleContext> SVTXNumericField::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext(this); + VclPtr<FormattedField> pFormattedField = GetAs<FormattedField>(); + return getAccessibleFactory().createAccessibleContext(pFormattedField); } @@ -7879,7 +7892,8 @@ void VCLXMultiLineEdit::ImplGetPropertyIds( std::vector< sal_uInt16 > &rIds ) css::uno::Reference<css::accessibility::XAccessibleContext> VCLXMultiLineEdit::CreateAccessibleContext() { - return getAccessibleFactory().createAccessibleContext(this); + VclPtr<MultiLineEdit> pMultiLineEdit = GetAs<MultiLineEdit>(); + return getAccessibleFactory().createAccessibleContext(pMultiLineEdit); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 5699b04a0cb64394c7951ec480b663402187fd85 Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 12 17:16:29 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Dec 12 23:02:23 2024 +0100 sw annotation win a11y: Skip VCLXWindow logic Instead of overriding the base class VCLXWindow::CreateAccessibleContext which gets called by VCLXWindow::getAccessibleContext and results in the VCLXWindow base class also keeping a pointer to the XAccessible, override VCLXWindow::getAccessibleContext right away, and keep a reference to the SidebarWinAccessibleContext in SidebarWinAccessible itself. This simplifies the code, removes the need to cast the XAccessibleContext retrieved via the base class methods, and also prepares for making VCLXAccessibleComponent no more rely on the VCLXWindow, but using a vcl::Window directly in an upcoming commit. Drop the comment about the code being dodgy from SwAnnotationWin::CreateAccessible. This commit partially addresses it and switching VCLXAccessibleComponent to using the vcl::Window will take care of the rest, see upcoming commit Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2 ("a11y: Stop using VCLXWindow in vcl a11y classes"). Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178384 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/sw/source/uibase/docvw/AnnotationWin2.cxx b/sw/source/uibase/docvw/AnnotationWin2.cxx index 83344e82d2e2..9eed54376ad0 100644 --- a/sw/source/uibase/docvw/AnnotationWin2.cxx +++ b/sw/source/uibase/docvw/AnnotationWin2.cxx @@ -1451,9 +1451,6 @@ void SwAnnotationWin::ChangeSidebarItem( SwSidebarItem const & rSidebarItem ) css::uno::Reference< css::accessibility::XAccessible > SwAnnotationWin::CreateAccessible() { #if !ENABLE_WASM_STRIP_ACCESSIBILITY - // This is rather dodgy code. Normally in CreateAccessible, if we want a custom - // object, we return a custom object, but we do no override the default toolkit - // window peer. if (!mxSidebarWinAccessible) mxSidebarWinAccessible = new SidebarWinAccessible( *this, mrView.GetWrtShell(), diff --git a/sw/source/uibase/docvw/SidebarWinAcc.cxx b/sw/source/uibase/docvw/SidebarWinAcc.cxx index 0e3ad3a69e6f..003efebae794 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.cxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.cxx @@ -82,7 +82,6 @@ SidebarWinAccessible::SidebarWinAccessible( sw::annotation::SwAnnotationWin& rSi : mrSidebarWin( rSidebarWin ) , mrViewShell( rViewShell ) , mpAnchorFrame( rSidebarItem.maLayoutInfo.mpAnchorFrame ) - , m_bAccContextCreated( false ) { SetWindow( &mrSidebarWin ); } @@ -93,28 +92,17 @@ SidebarWinAccessible::~SidebarWinAccessible() void SidebarWinAccessible::ChangeSidebarItem( const SwSidebarItem& rSidebarItem ) { - if ( !m_bAccContextCreated ) - return; - - css::uno::Reference< css::accessibility::XAccessibleContext > xAcc - = getAccessibleContext(); - if ( xAcc.is() ) - { - SidebarWinAccessibleContext* pAccContext = - dynamic_cast<SidebarWinAccessibleContext*>(xAcc.get()); - if ( pAccContext ) - { - pAccContext->ChangeAnchor( rSidebarItem.maLayoutInfo.mpAnchorFrame ); - } - } + if (m_xAccContext.is()) + m_xAccContext->ChangeAnchor(rSidebarItem.maLayoutInfo.mpAnchorFrame); } -css::uno::Reference< css::accessibility::XAccessibleContext > SidebarWinAccessible::CreateAccessibleContext() +css::uno::Reference<css::accessibility::XAccessibleContext> +SidebarWinAccessible::getAccessibleContext() { - rtl::Reference<SidebarWinAccessibleContext> pAccContext - = new SidebarWinAccessibleContext(mrSidebarWin, mrViewShell, mpAnchorFrame, this); - m_bAccContextCreated = true; - return pAccContext; + if (!m_xAccContext.is()) + m_xAccContext = new SidebarWinAccessibleContext(mrSidebarWin, mrViewShell, mpAnchorFrame, this); + + return m_xAccContext; } } // end of namespace sw::sidebarwindows diff --git a/sw/source/uibase/docvw/SidebarWinAcc.hxx b/sw/source/uibase/docvw/SidebarWinAcc.hxx index 189905f7d5fa..3ec2b60444cf 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.hxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.hxx @@ -58,8 +58,8 @@ class SidebarWinAccessible : public VCLXWindow const SwSidebarItem& rSidebarItem ); virtual ~SidebarWinAccessible() override; - virtual css::uno::Reference< css::accessibility::XAccessibleContext > - CreateAccessibleContext() override; + virtual css::uno::Reference<css::accessibility::XAccessibleContext> + SAL_CALL getAccessibleContext() override; void ChangeSidebarItem( const SwSidebarItem& rSidebarItem ); @@ -67,7 +67,7 @@ class SidebarWinAccessible : public VCLXWindow sw::annotation::SwAnnotationWin& mrSidebarWin; SwViewShell& mrViewShell; const SwFrame* mpAnchorFrame; - bool m_bAccContextCreated; + rtl::Reference<SidebarWinAccessibleContext> m_xAccContext; }; } // end of namespace sw::sidebarwindows
