offapi/com/sun/star/drawing/framework/XPane2.idl | 12 -- sd/Library_sdui.mk | 1 sd/source/console/PresenterAccessibility.cxx | 94 ++++++++------------ sd/source/console/PresenterAccessibility.hxx | 34 +------ sd/source/console/PresenterController.cxx | 3 sd/source/ui/framework/factories/FullScreenPane.cxx | 21 ---- sd/source/ui/framework/factories/FullScreenPane.hxx | 3 sd/source/ui/framework/factories/Pane.cxx | 9 - sd/source/ui/inc/framework/Pane.hxx | 3 9 files changed, 51 insertions(+), 129 deletions(-)
New commits: commit e349d5a46f858fd742e0db8480c98c1f8c23f38e Author: Michael Weghorn <[email protected]> AuthorDate: Thu May 15 20:15:32 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu May 15 22:23:52 2025 +0200 sd presenter a11y: Merge XAccessible{,Context} implementations So far, PresenterAccessible was implementing the XAccessible interface for the accessible object used by PresenterController, and it was creating another AccessibleObject (`mpAccessibleConsole`) that implemented the XAccessibleContext interface and was created in the call to PresenterController:getAccessibleContext. Stop that separation and let PresenterAccessible also implement the XAccessibleContext interface, and subclass AccessibleObject (which in turn subclasses OAccessibleComponentHelper). This aligns this further with what almost all XAccessible/XAccessibleContext implementations in the LO codebase do by now. Apart from that, keep the logic mostly unchanged, though the approach taken might be worth reconsidering at some point in time in the future. Currently, the way that announcement of the current slide by screen readers (explicitly analyzed with Orca on Linux with the gtk3 VCL plugin) works is by sending a dummy focus event for the accessible object for the slide preview of the current slide (see `PresenterAccessible::NotifyCurrentSlideChangepreview`) and then sending a name-changed event which is announced by Orca because the "focused object"'s accessible name changed. In reality, keyboard focus isn't actually on that preview pane, however. (A fair part of the UI also isn't accessible/not seen in Accerciser's treeview of the LO a11y hierarchy, likely due to the fact that custom button etc. implementations are used (see PresenterToolBar and PresenterToolBar::Element and subclasses) instead of existing vcl/weld widgets and their existing a11y implementations.) Behavior with both, Orca and Linux with the gtk3 VCL plugin and NVDA on Windows when switching slides in Presenter console, as well as what was seen in Accerciser on Linux with gtk3 or qt6 was the same with this commit as prior to it in a quick test. Change-Id: I0a347aba18d1a4e9c499c3438bcbe2143ca78f6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185372 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/sd/source/console/PresenterAccessibility.cxx b/sd/source/console/PresenterAccessibility.cxx index 3ab2783e4734..3cacfe90eb0a 100644 --- a/sd/source/console/PresenterAccessibility.cxx +++ b/sd/source/console/PresenterAccessibility.cxx @@ -48,7 +48,6 @@ #include <toolkit/helper/vclunohelper.hxx> #include <vcl/window.hxx> -#include <algorithm> #include <utility> using namespace ::com::sun::star; @@ -86,15 +85,16 @@ public: //===== PresenterAccessible =================================================== -PresenterAccessible::PresenterAccessible ( - ::rtl::Reference<PresenterController> xPresenterController, +PresenterAccessible::PresenterAccessible( + const rtl::Reference<PresenterController>& xPresenterController, const Reference<drawing::framework::XPane>& rxMainPane) - : PresenterAccessibleInterfaceBase(m_aMutex), - mpPresenterController(std::move(xPresenterController)), - mxMainPane(rxMainPane) + : ImplInheritanceHelper(AccessibleRole::PANEL, SdResId(STR_A11Y_PRESENTER_CONSOLE)) + , mpPresenterController(xPresenterController) + , mxMainPane(rxMainPane) { - assert(rxMainPane.is()); - if (VclPtr<vcl::Window> pMainPaneWin = VCLUnoHelper::GetWindow(rxMainPane->getWindow())) + assert(mxMainPane.is()); + mxMainWindow = mxMainPane->getWindow(); + if (VclPtr<vcl::Window> pMainPaneWin = VCLUnoHelper::GetWindow(mxMainWindow)) { pMainPaneWin->SetAccessible(this); mxAccessibleParent = pMainPaneWin->GetAccessibleParent(); @@ -137,9 +137,6 @@ void PresenterAccessible::UpdateAccessibilityHierarchy() if ( ! pPaneContainer.is()) return; - if ( ! mpAccessibleConsole.is()) - return; - // Get the preview pane (standard or notes view) or the slide overview // pane. PresenterPaneContainer::SharedPaneDescriptor pPreviewPane(GetPreviewPane()); @@ -174,14 +171,11 @@ void PresenterAccessible::UpdateAccessibilityHierarchy ( const Reference<awt::XWindow>& rxNotesBorderWindow, const std::shared_ptr<PresenterTextView>& rpNotesTextView) { - if ( ! mpAccessibleConsole.is()) - return; - if (mxPreviewContentWindow != rxPreviewContentWindow) { if (mpAccessiblePreview.is()) { - mpAccessibleConsole->RemoveChild(mpAccessiblePreview); + RemoveChild(mpAccessiblePreview); mpAccessiblePreview->dispose(); mpAccessiblePreview = nullptr; } @@ -194,7 +188,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy ( mpAccessiblePreview = AccessiblePreview::Create( mxPreviewContentWindow, mxPreviewBorderWindow); - mpAccessibleConsole->AddChild(mpAccessiblePreview); + AddChild(mpAccessiblePreview); mpAccessiblePreview->SetAccessibleName(rsTitle); mpAccessiblePreview->SetAccessibleParent(this); } @@ -205,7 +199,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy ( if (mpAccessibleNotes.is()) { - mpAccessibleConsole->RemoveChild(mpAccessibleNotes); + RemoveChild(mpAccessibleNotes); mpAccessibleNotes->dispose(); mpAccessibleNotes = nullptr; } @@ -219,7 +213,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy ( mxNotesContentWindow, mxNotesBorderWindow, rpNotesTextView); - mpAccessibleConsole->AddChild(mpAccessibleNotes); + AddChild(mpAccessibleNotes); } } @@ -233,7 +227,7 @@ void PresenterAccessible::NotifyCurrentSlideChange () } // Play some focus ping-pong to trigger AT tools. - //AccessibleFocusManager::Instance()->FocusObject(mpAccessibleConsole); + //AccessibleFocusManager::Instance()->FocusObject(this); AccessibleFocusManager::Instance()->FocusObject(mpAccessiblePreview); } @@ -266,33 +260,25 @@ void SAL_CALL PresenterAccessible::disposing() mpAccessibleNotes->dispose(); mpAccessibleNotes = nullptr; - if (mpAccessibleConsole) - mpAccessibleConsole->dispose(); - mpAccessibleConsole = nullptr; + AccessibleObject::disposing(); } -//----- XAccessible ----------------------------------------------------------- - -Reference<XAccessibleContext> SAL_CALL PresenterAccessible::getAccessibleContext() +rtl::Reference<PresenterAccessible> +PresenterAccessible::Create(const rtl::Reference<PresenterController>& xPresenterController, + const css::uno::Reference<css::drawing::framework::XPane>& rxMainPane) { - if ( ! mpAccessibleConsole.is()) - { - if (mxMainPane.is()) - { - mxMainWindow = mxMainPane->getWindow(); - mxMainWindow->addFocusListener(this); - } + rtl::Reference<PresenterAccessible> pPresenterAcc + = new PresenterAccessible(xPresenterController, rxMainPane); + pPresenterAcc->mxMainWindow->addFocusListener(pPresenterAcc); - const OUString sName = SdResId(STR_A11Y_PRESENTER_CONSOLE); - mpAccessibleConsole = new AccessibleObject(AccessibleRole::PANEL, sName); - mpAccessibleConsole->LateInitialization(); - mpAccessibleConsole->UpdateStateSet(); + pPresenterAcc->LateInitialization(); + pPresenterAcc->UpdateStateSet(); - mpAccessibleConsole->SetWindow(mxMainWindow, nullptr); - mpAccessibleConsole->SetAccessibleParent(mxAccessibleParent); - UpdateAccessibilityHierarchy(); - } - return mpAccessibleConsole; + pPresenterAcc->SetWindow(pPresenterAcc->mxMainWindow, nullptr); + pPresenterAcc->SetAccessibleParent(pPresenterAcc->mxAccessibleParent); + pPresenterAcc->UpdateAccessibilityHierarchy(); + + return pPresenterAcc; } //----- XFocusListener ---------------------------------------------------- @@ -301,7 +287,7 @@ void SAL_CALL PresenterAccessible::focusGained (const css::awt::FocusEvent&) { SAL_INFO("sdext.presenter", __func__ << ": PresenterAccessible::focusGained at " << this << " and window " << mxMainWindow.get()); - AccessibleFocusManager::Instance()->FocusObject(mpAccessibleConsole); + AccessibleFocusManager::Instance()->FocusObject(this); } void SAL_CALL PresenterAccessible::focusLost (const css::awt::FocusEvent&) diff --git a/sd/source/console/PresenterAccessibility.hxx b/sd/source/console/PresenterAccessibility.hxx index 03fa3c0a4dc3..591a1c3a5bd1 100644 --- a/sd/source/console/PresenterAccessibility.hxx +++ b/sd/source/console/PresenterAccessibility.hxx @@ -26,9 +26,6 @@ #include <com/sun/star/accessibility/XAccessible.hpp> #include <com/sun/star/awt/XFocusListener.hpp> #include <com/sun/star/drawing/framework/XPane.hpp> -#include <com/sun/star/drawing/framework/XPane2.hpp> -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> #include <cppuhelper/compbase.hxx> #include <cppuhelper/basemutex.hxx> #include <rtl/ref.hxx> @@ -40,17 +37,17 @@ namespace sdext::presenter { class PresenterController; class PresenterTextView; -typedef ::cppu::WeakComponentImplHelper<css::accessibility::XAccessible, css::awt::XFocusListener> - PresenterAccessibleInterfaceBase; - class PresenterAccessible - : public ::cppu::BaseMutex, - public PresenterAccessibleInterfaceBase + : public cppu::ImplInheritanceHelper<AccessibleObject, css::awt::XFocusListener> { + PresenterAccessible(const rtl::Reference<PresenterController>& xPresenterController, + const css::uno::Reference<css::drawing::framework::XPane>& rxMainPane); + public: - PresenterAccessible ( - ::rtl::Reference<PresenterController> xPresenterController, - const css::uno::Reference<css::drawing::framework::XPane>& rxMainPane); + static rtl::Reference<PresenterAccessible> + Create(const rtl::Reference<PresenterController>& xPresenterController, + const css::uno::Reference<css::drawing::framework::XPane>& rxMainPane); + virtual ~PresenterAccessible() override; void UpdateAccessibilityHierarchy(); @@ -59,11 +56,6 @@ public: virtual void SAL_CALL disposing() override; - //----- XAccessible ------------------------------------------------------- - - virtual css::uno::Reference<css::accessibility::XAccessibleContext> SAL_CALL - getAccessibleContext() override; - //----- XFocusListener ---------------------------------------------------- virtual void SAL_CALL focusGained (const css::awt::FocusEvent& rEvent) override; @@ -82,7 +74,6 @@ private: css::uno::Reference<css::awt::XWindow> mxPreviewBorderWindow; css::uno::Reference<css::awt::XWindow> mxNotesContentWindow; css::uno::Reference<css::awt::XWindow> mxNotesBorderWindow; - ::rtl::Reference<AccessibleObject> mpAccessibleConsole; ::rtl::Reference<AccessibleObject> mpAccessiblePreview; ::rtl::Reference<AccessibleObject> mpAccessibleNotes; css::uno::Reference<css::accessibility::XAccessible> mxAccessibleParent; diff --git a/sd/source/console/PresenterController.cxx b/sd/source/console/PresenterController.cxx index 1b407a713210..127f5e61e67d 100644 --- a/sd/source/console/PresenterController.cxx +++ b/sd/source/console/PresenterController.cxx @@ -42,6 +42,7 @@ #include <com/sun/star/drawing/XDrawPagesSupplier.hpp> #include <com/sun/star/drawing/framework/ResourceActivationMode.hpp> #include <com/sun/star/drawing/framework/ResourceId.hpp> +#include <com/sun/star/drawing/framework/XPane2.hpp> #include <com/sun/star/frame/FrameSearchFlag.hpp> #include <com/sun/star/frame/XDispatchProvider.hpp> #include <com/sun/star/presentation/AnimationEffect.hpp> @@ -1027,7 +1028,7 @@ void PresenterController::InitializeMainPane (const Reference<XPane>& rxPane) if ( ! rxPane.is()) return; - mpAccessibleObject = new PresenterAccessible(this, rxPane); + mpAccessibleObject = PresenterAccessible::Create(this, rxPane); LoadTheme(rxPane); commit d99879e3886785720465d366530c19adae32a1a1 Author: Michael Weghorn <[email protected]> AuthorDate: Thu May 15 15:06:33 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu May 15 22:23:44 2025 +0200 [API CHANGE] a11y: Drop unused XPane2::setAccessible This method is now unused since Change-Id: I055dd19bbec810126d67e7795ffdfab257beeed3 Author: Michael Weghorn <[email protected]> Date: Thu May 15 14:45:24 2025 +0200 sd presenter a11y: Drop indirection to set win accessible , so drop it the same way that XPane2::getAccessible was dropped earlier in commit 26bf576f85f760c4495f34002d28c9114e1778cc Author: Michael Weghorn <[email protected]> Date: Tue May 13 21:20:11 2025 +0200 [API CHANGE] a11y: Drop unused XPane2::getAccessible Change-Id: Id0c185562213baa71de3987eb3b5d12fa24798f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185366 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/offapi/com/sun/star/drawing/framework/XPane2.idl b/offapi/com/sun/star/drawing/framework/XPane2.idl index bd3920853afe..b371c7a198df 100644 --- a/offapi/com/sun/star/drawing/framework/XPane2.idl +++ b/offapi/com/sun/star/drawing/framework/XPane2.idl @@ -20,8 +20,7 @@ module com { module sun { module star { module drawing { module framework { /** An extension of the XPane interface that adds support for - a) showing and hiding the windows that internally belong to the pane and - b) setting the accessibility object. + showing and hiding the windows that internally belong to the pane. This is typically an optional interface. */ interface XPane2 @@ -40,15 +39,6 @@ interface XPane2 When `TRUE` then show the pane. Hide it otherwise. */ void setVisible ([in] boolean bIsVisible); - - /** Set the accessibility object for the pane. When there is more than - one window used to implement the pane then the given accessibility - object is usually set at the topmost window. However, the details - are implementation dependent. - @param xAccessible - May be an empty reference. - */ - void setAccessible ([in] ::com::sun::star::accessibility::XAccessible xAccessible); }; }; }; }; }; }; // ::com::sun::star::drawing::framework diff --git a/sd/source/ui/framework/factories/FullScreenPane.cxx b/sd/source/ui/framework/factories/FullScreenPane.cxx index 856ebce01a03..9753ea4996aa 100644 --- a/sd/source/ui/framework/factories/FullScreenPane.cxx +++ b/sd/source/ui/framework/factories/FullScreenPane.cxx @@ -140,11 +140,6 @@ void SAL_CALL FullScreenPane::setVisible (const sal_Bool bIsVisible) mpWorkWindow->Show(bIsVisible); } -void SAL_CALL FullScreenPane::setAccessible(const Reference<css::accessibility::XAccessible>&) -{ - assert(false && "Shouldn't get here"); -} - IMPL_LINK(FullScreenPane, WindowEventHandler, VclWindowEvent&, rEvent, void) { switch (rEvent.GetId()) diff --git a/sd/source/ui/framework/factories/FullScreenPane.hxx b/sd/source/ui/framework/factories/FullScreenPane.hxx index 6939eeeacbed..6d7fad309818 100644 --- a/sd/source/ui/framework/factories/FullScreenPane.hxx +++ b/sd/source/ui/framework/factories/FullScreenPane.hxx @@ -65,9 +65,6 @@ public: virtual void SAL_CALL setVisible (sal_Bool bIsVisible) override; - virtual void SAL_CALL setAccessible ( - const css::uno::Reference<css::accessibility::XAccessible>& rxAccessible) override; - DECL_LINK(WindowEventHandler, VclWindowEvent&, void); protected: diff --git a/sd/source/ui/framework/factories/Pane.cxx b/sd/source/ui/framework/factories/Pane.cxx index 7a27bdb5e4d9..fee587182cdc 100644 --- a/sd/source/ui/framework/factories/Pane.cxx +++ b/sd/source/ui/framework/factories/Pane.cxx @@ -103,11 +103,6 @@ void SAL_CALL Pane::setVisible (sal_Bool bIsVisible) pWindow->Show(bIsVisible); } -void SAL_CALL Pane::setAccessible(const Reference<css::accessibility::XAccessible>&) -{ - assert(false && "Shouldn't get here"); -} - //----- XResource ------------------------------------------------------------- Reference<XResourceId> SAL_CALL Pane::getResourceId() diff --git a/sd/source/ui/inc/framework/Pane.hxx b/sd/source/ui/inc/framework/Pane.hxx index 97337f4898e6..b4a3d1c83bf6 100644 --- a/sd/source/ui/inc/framework/Pane.hxx +++ b/sd/source/ui/inc/framework/Pane.hxx @@ -90,9 +90,6 @@ public: virtual void SAL_CALL setVisible (sal_Bool bIsVisible) override; - virtual void SAL_CALL setAccessible ( - const css::uno::Reference<css::accessibility::XAccessible>& rxAccessible) override; - //----- XResource --------------------------------------------------------- virtual css::uno::Reference<css::drawing::framework::XResourceId> commit 675be4a949970c779526549ae2283d80d2821d79 Author: Michael Weghorn <[email protected]> AuthorDate: Thu May 15 14:45:24 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Thu May 15 22:23:36 2025 +0200 sd presenter a11y: Drop indirection to set win accessible So far the logic including indirection via UNO interfaces was like this: * The PresenterAccessible ctor calls XPane2::setAccessible, passing itself as the accessible. * The XPane2 implementations call vcl::Window::SetAccessible with the accessible. * The XPane2 implementations (at least the one in FullScreenPane::setAccessible) calls XInitialization::initialize on the accessible (which is implemented in PresenterAccessible) to set the window's a11y parent as the a11y parent of the PresenterAccessible. * PresenterAccessible::initialize takes that parent and remembers it and/or sets it on the underlying console a11y object. Get rid of that indirection by directly retrieving the pane's vcl::Window in the PresenterAccessible ctor and moving the logic there. Linking sdui against the toolkit module is newly needed because of the newly introduced use of VCLUnoHelper::GetWindow. Stop implementing the XInitialization iface in PresenterAccessible. Replace the XFrame2::setAccessible implementations with dummy ones that trigger an assert for now. (They will be dropped from the interface altogether in a separate commit.) PresenterAccessible no longer needs an XPane2 any more, which allows to drop some UNO querying between XPane and XPane interfaces. Change-Id: I055dd19bbec810126d67e7795ffdfab257beeed3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185365 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/sd/Library_sdui.mk b/sd/Library_sdui.mk index 48cdaca3d159..ac9b5aac6ebb 100644 --- a/sd/Library_sdui.mk +++ b/sd/Library_sdui.mk @@ -58,6 +58,7 @@ $(eval $(call gb_Library_use_libraries,sdui,\ svt \ svxcore \ svx \ + tk \ tl \ utl \ vcl \ diff --git a/sd/source/console/PresenterAccessibility.cxx b/sd/source/console/PresenterAccessibility.cxx index 4adc3be02560..3ab2783e4734 100644 --- a/sd/source/console/PresenterAccessibility.cxx +++ b/sd/source/console/PresenterAccessibility.cxx @@ -45,6 +45,8 @@ #include <cppuhelper/implbase.hxx> #include <o3tl/safeint.hxx> #include <sal/log.hxx> +#include <toolkit/helper/vclunohelper.hxx> +#include <vcl/window.hxx> #include <algorithm> #include <utility> @@ -89,10 +91,14 @@ PresenterAccessible::PresenterAccessible ( const Reference<drawing::framework::XPane>& rxMainPane) : PresenterAccessibleInterfaceBase(m_aMutex), mpPresenterController(std::move(xPresenterController)), - mxMainPane(rxMainPane, UNO_QUERY) + mxMainPane(rxMainPane) { - if (mxMainPane.is()) - mxMainPane->setAccessible(this); + assert(rxMainPane.is()); + if (VclPtr<vcl::Window> pMainPaneWin = VCLUnoHelper::GetWindow(rxMainPane->getWindow())) + { + pMainPaneWin->SetAccessible(this); + mxAccessibleParent = pMainPaneWin->GetAccessibleParent(); + } } PresenterAccessible::~PresenterAccessible() @@ -246,7 +252,10 @@ void SAL_CALL PresenterAccessible::disposing() mxMainWindow->removeFocusListener(this); if (mxMainPane.is()) - mxMainPane->setAccessible(nullptr); + { + if (VclPtr<vcl::Window> pMainPaneWin = VCLUnoHelper::GetWindow(mxMainPane->getWindow())) + pMainPaneWin->SetAccessible(nullptr); + } } if (mpAccessiblePreview) @@ -268,10 +277,9 @@ Reference<XAccessibleContext> SAL_CALL PresenterAccessible::getAccessibleContext { if ( ! mpAccessibleConsole.is()) { - Reference<XPane> xMainPane (mxMainPane, UNO_QUERY); - if (xMainPane.is()) + if (mxMainPane.is()) { - mxMainWindow = xMainPane->getWindow(); + mxMainWindow = mxMainPane->getWindow(); mxMainWindow->addFocusListener(this); } @@ -310,18 +318,6 @@ void SAL_CALL PresenterAccessible::disposing (const css::lang::EventObject& rEve mxMainWindow = nullptr; } -//----- XInitialize ----------------------------------------------------------- - -void SAL_CALL PresenterAccessible::initialize (const css::uno::Sequence<css::uno::Any>& rArguments) -{ - if (rArguments.hasElements()) - { - mxAccessibleParent.set(rArguments[0], UNO_QUERY); - if (mpAccessibleConsole.is()) - mpAccessibleConsole->SetAccessibleParent(mxAccessibleParent); - } -} - } // end of namespace ::sd::presenter /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/console/PresenterAccessibility.hxx b/sd/source/console/PresenterAccessibility.hxx index 6a8b1cb030fa..03fa3c0a4dc3 100644 --- a/sd/source/console/PresenterAccessibility.hxx +++ b/sd/source/console/PresenterAccessibility.hxx @@ -40,11 +40,8 @@ namespace sdext::presenter { class PresenterController; class PresenterTextView; -typedef ::cppu::WeakComponentImplHelper < - css::accessibility::XAccessible, - css::lang::XInitialization, - css::awt::XFocusListener -> PresenterAccessibleInterfaceBase; +typedef ::cppu::WeakComponentImplHelper<css::accessibility::XAccessible, css::awt::XFocusListener> + PresenterAccessibleInterfaceBase; class PresenterAccessible : public ::cppu::BaseMutex, @@ -77,13 +74,9 @@ public: virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) override; - //----- XInitialization --------------------------------------------------- - - virtual void SAL_CALL initialize (const css::uno::Sequence<css::uno::Any>& rArguments) override; - private: ::rtl::Reference<PresenterController> mpPresenterController; - css::uno::Reference<css::drawing::framework::XPane2> mxMainPane; + css::uno::Reference<css::drawing::framework::XPane> mxMainPane; css::uno::Reference<css::awt::XWindow> mxMainWindow; css::uno::Reference<css::awt::XWindow> mxPreviewContentWindow; css::uno::Reference<css::awt::XWindow> mxPreviewBorderWindow; diff --git a/sd/source/ui/framework/factories/FullScreenPane.cxx b/sd/source/ui/framework/factories/FullScreenPane.cxx index d24d3bb21dcc..856ebce01a03 100644 --- a/sd/source/ui/framework/factories/FullScreenPane.cxx +++ b/sd/source/ui/framework/factories/FullScreenPane.cxx @@ -140,25 +140,9 @@ void SAL_CALL FullScreenPane::setVisible (const sal_Bool bIsVisible) mpWorkWindow->Show(bIsVisible); } -void SAL_CALL FullScreenPane::setAccessible ( - const Reference<css::accessibility::XAccessible>& rxAccessible) +void SAL_CALL FullScreenPane::setAccessible(const Reference<css::accessibility::XAccessible>&) { - ThrowIfDisposed(); - - if (mpWindow == nullptr) - return; - - Reference<lang::XInitialization> xInitializable (rxAccessible, UNO_QUERY); - if (xInitializable.is()) - { - vcl::Window* pParentWindow = mpWindow->GetParent(); - Reference<css::accessibility::XAccessible> xAccessibleParent; - if (pParentWindow != nullptr) - xAccessibleParent = pParentWindow->GetAccessible(); - Sequence<Any> aArguments{ Any(xAccessibleParent) }; - xInitializable->initialize(aArguments); - } - GetWindow()->SetAccessible(rxAccessible); + assert(false && "Shouldn't get here"); } IMPL_LINK(FullScreenPane, WindowEventHandler, VclWindowEvent&, rEvent, void) diff --git a/sd/source/ui/framework/factories/Pane.cxx b/sd/source/ui/framework/factories/Pane.cxx index 2ef106694ba5..7a27bdb5e4d9 100644 --- a/sd/source/ui/framework/factories/Pane.cxx +++ b/sd/source/ui/framework/factories/Pane.cxx @@ -103,13 +103,9 @@ void SAL_CALL Pane::setVisible (sal_Bool bIsVisible) pWindow->Show(bIsVisible); } -void SAL_CALL Pane::setAccessible ( - const Reference<css::accessibility::XAccessible>& rxAccessible) +void SAL_CALL Pane::setAccessible(const Reference<css::accessibility::XAccessible>&) { - ThrowIfDisposed(); - vcl::Window* pWindow = GetWindow(); - if (pWindow != nullptr) - pWindow->SetAccessible(rxAccessible); + assert(false && "Shouldn't get here"); } //----- XResource -------------------------------------------------------------
