diff options
-rw-r--r-- | sdext/source/presenter/PresenterAccessibility.cxx | 3 | ||||
-rw-r--r-- | sdext/source/presenter/PresenterNotesView.cxx | 10 | ||||
-rw-r--r-- | sdext/source/presenter/PresenterNotesView.hxx | 7 | ||||
-rw-r--r-- | sdext/source/presenter/PresenterProtocolHandler.cxx | 3 |
4 files changed, 20 insertions, 3 deletions
diff --git a/sdext/source/presenter/PresenterAccessibility.cxx b/sdext/source/presenter/PresenterAccessibility.cxx index 4f2fa33f3866..7040da4a3c51 100644 --- a/sdext/source/presenter/PresenterAccessibility.cxx +++ b/sdext/source/presenter/PresenterAccessibility.cxx @@ -38,6 +38,7 @@ #include <com/sun/star/drawing/framework/XPane.hpp> #include <com/sun/star/drawing/framework/XView.hpp> #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> +#include <comphelper/servicehelper.hxx> #include <cppuhelper/compbase.hxx> #include <cppuhelper/implbase.hxx> #include <o3tl/safeint.hxx> @@ -513,7 +514,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy() if (pNotesPane) xNotesView = pNotesPane->mxView; rtl::Reference<PresenterNotesView> pNotesView ( - dynamic_cast<PresenterNotesView*>(xNotesView.get())); + comphelper::getFromUnoTunnel<PresenterNotesView>(xNotesView)); UpdateAccessibilityHierarchy( pPreviewPane ? pPreviewPane->mxContentWindow : Reference<awt::XWindow>(), diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx index 457be1f612b7..ca434f5fa8a8 100644 --- a/sdext/source/presenter/PresenterNotesView.cxx +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -37,6 +37,7 @@ #include <com/sun/star/rendering/CompositeOperation.hpp> #include <com/sun/star/rendering/XSpriteCanvas.hpp> #include <com/sun/star/text/XTextRange.hpp> +#include <comphelper/servicehelper.hxx> using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -376,6 +377,15 @@ void SAL_CALL PresenterNotesView::keyPressed (const awt::KeyEvent& rEvent) void SAL_CALL PresenterNotesView::keyReleased (const awt::KeyEvent&) {} +sal_Int64 PresenterNotesView::getSomething(css::uno::Sequence<sal_Int8> const & aIdentifier) { + return comphelper::getSomethingImpl(aIdentifier, this); +} + +css::uno::Sequence<sal_Int8> const & PresenterNotesView::getUnoTunnelId() { + static comphelper::UnoIdInit const id; + return id.getSeq(); +} + void PresenterNotesView::Layout() { diff --git a/sdext/source/presenter/PresenterNotesView.hxx b/sdext/source/presenter/PresenterNotesView.hxx index 1af3f241f004..05368a7151c6 100644 --- a/sdext/source/presenter/PresenterNotesView.hxx +++ b/sdext/source/presenter/PresenterNotesView.hxx @@ -31,6 +31,7 @@ #include <com/sun/star/drawing/framework/XView.hpp> #include <com/sun/star/drawing/framework/XResourceId.hpp> #include <com/sun/star/frame/XController.hpp> +#include <com/sun/star/lang/XUnoTunnel.hpp> #include <rtl/ref.hxx> #include <memory> @@ -45,7 +46,8 @@ typedef cppu::WeakComponentImplHelper< css::awt::XPaintListener, css::drawing::framework::XView, css::drawing::XDrawView, - css::awt::XKeyListener + css::awt::XKeyListener, + css::lang::XUnoTunnel > PresenterNotesViewInterfaceBase; /** A drawing framework view of the notes of a slide. At the moment this is @@ -117,6 +119,9 @@ public: virtual void SAL_CALL keyPressed (const css::awt::KeyEvent& rEvent) override; virtual void SAL_CALL keyReleased (const css::awt::KeyEvent& rEvent) override; + sal_Int64 SAL_CALL getSomething(css::uno::Sequence<sal_Int8> const & aIdentifier) override; + static css::uno::Sequence<sal_Int8> const & getUnoTunnelId(); + private: css::uno::Reference<css::drawing::framework::XResourceId> mxViewId; ::rtl::Reference<PresenterController> mpPresenterController; diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx index a32a73b6180e..bda104ce37d8 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.cxx +++ b/sdext/source/presenter/PresenterProtocolHandler.cxx @@ -24,6 +24,7 @@ #include "PresenterPaneContainer.hxx" #include "PresenterViewFactory.hxx" #include "PresenterWindowManager.hxx" +#include <comphelper/servicehelper.hxx> #include <cppuhelper/compbase.hxx> #include <cppuhelper/supportsservice.hxx> #include <algorithm> @@ -792,7 +793,7 @@ NotesFontSizeCommand::NotesFontSizeCommand( if (!pDescriptor) return nullptr; - return dynamic_cast<PresenterNotesView*>(pDescriptor->mxView.get()); + return comphelper::getFromUnoTunnel<PresenterNotesView>(pDescriptor->mxView); } void NotesFontSizeCommand::Execute() |