20#ifndef INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERCONTROLLER_HXX
21#define INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERCONTROLLER_HXX
28#include <com/sun/star/awt/XKeyListener.hpp>
29#include <com/sun/star/awt/XMouseListener.hpp>
30#include <com/sun/star/drawing/XPresenterHelper.hpp>
31#include <com/sun/star/frame/XController.hpp>
32#include <com/sun/star/frame/XDispatch.hpp>
33#include <com/sun/star/presentation/XSlideShowController.hpp>
34#include <com/sun/star/frame/XFrameActionListener.hpp>
35#include <com/sun/star/drawing/framework/XConfigurationChangeListener.hpp>
36#include <com/sun/star/drawing/framework/XConfigurationController.hpp>
37#include <com/sun/star/drawing/framework/XPane.hpp>
38#include <com/sun/star/uno/XComponentContext.hpp>
39#include <com/sun/star/util/XURLTransformer.hpp>
45namespace sd {
class DrawController; }
49class PresenterCanvasHelper;
50class PresenterPaintManager;
51class PresenterPaneAnimator;
52class PresenterPaneContainer;
53class PresenterPaneBorderPainter;
56class PresenterWindowManager;
58typedef ::cppu::WeakComponentImplHelper <
59 css::drawing::framework::XConfigurationChangeListener,
60 css::frame::XFrameActionListener,
61 css::awt::XKeyListener,
62 css::awt::XMouseListener
84 static ::rtl::Reference<PresenterController>
Instance (
85 const css::uno::Reference<css::frame::XFrame>& rxFrame);
89 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
91 const css::uno::Reference<css::presentation::XSlideShowController>& rxSlideShowController,
93 const css::uno::Reference<css::drawing::framework::XResourceId>& rxMainPaneId);
96 virtual void SAL_CALL
disposing()
override;
104 const std::shared_ptr<PresenterTheme>&
GetTheme()
const;
106 const css::uno::Reference<css::presentation::XSlideShowController>&
111 const css::uno::Reference<css::drawing::XPresenterHelper>&
GetPresenterHelper()
const;
114 void ShowView (
const OUString& rsViewURL);
115 void HideView (
const OUString& rsViewURL);
119 css::uno::Reference<css::frame::XDispatch>
GetDispatch (
120 const css::util::URL& rURL)
const;
122 const css::uno::Reference<css::drawing::framework::XConfigurationController>&
124 const css::uno::Reference<css::drawing::XDrawPage>&
GetCurrentSlide()
const;
125 static bool HasTransition (css::uno::Reference<css::drawing::XDrawPage>
const & rxPage);
126 static bool HasCustomAnimation (css::uno::Reference<css::drawing::XDrawPage>
const & rxPage);
137 const bool bIsSlideSorterActive,
138 const bool bIsNotesViewActive,
139 const bool bIsHelpViewActive);
147 const css::drawing::framework::ConfigurationChangeEvent& rEvent)
override;
152 const css::lang::EventObject& rEvent)
override;
157 const css::frame::FrameActionEvent& rEvent)
override;
161 virtual void SAL_CALL
keyPressed (
const css::awt::KeyEvent& rEvent)
override;
162 virtual void SAL_CALL
keyReleased (
const css::awt::KeyEvent& rEvent)
override;
166 virtual void SAL_CALL
mousePressed (
const css::awt::MouseEvent& rEvent)
override;
168 virtual void SAL_CALL
mouseReleased (
const css::awt::MouseEvent& rEvent)
override;
170 virtual void SAL_CALL
mouseEntered (
const css::awt::MouseEvent& rEvent)
override;
172 virtual void SAL_CALL
mouseExited (
const css::awt::MouseEvent& rEvent)
override;
180 css::uno::Reference<css::rendering::XSpriteCanvas>
mxCanvas;
182 css::uno::Reference<css::drawing::framework::XConfigurationController>
185 css::uno::Reference<css::drawing::framework::XResourceId>
mxMainPaneId;
203 void GetSlides (
const sal_Int32 nOffset);
205 void InitializeMainPane (
const css::uno::Reference<css::drawing::framework::XPane>& rxPane);
206 void LoadTheme (
const css::uno::Reference<css::drawing::framework::XPane>& rxPane);
Represents an element in the toolbar that shows the time elapsed since the presentation started.
virtual void setPauseStatus(const bool pauseStatus)=0
virtual bool isPaused()=0
virtual ~IPresentationTime()
The controller of the presenter screen is responsible for telling the individual views which slides t...
void SetAccessibilityActiveState(const bool bIsActive)
css::uno::Reference< css::uno::XComponentContext > mxComponentContext
virtual void SAL_CALL mouseReleased(const css::awt::MouseEvent &rEvent) override
css::uno::Reference< css::presentation::XSlideShowController > mxSlideShowController
void GetSlides(const sal_Int32 nOffset)
double GetSlideAspectRatio() const
IPresentationTime * GetPresentationTime()
const std::shared_ptr< PresenterPaintManager > & GetPaintManager() const
rtl::Reference<::sd::DrawController > mxController
void SetPresentationTime(IPresentationTime *pPresentationTime)
css::uno::Reference< css::drawing::XPresenterHelper > mxPresenterHelper
void InitializeMainPane(const css::uno::Reference< css::drawing::framework::XPane > &rxPane)
virtual void SAL_CALL notifyConfigurationChange(const css::drawing::framework::ConfigurationChangeEvent &rEvent) override
virtual void SAL_CALL keyPressed(const css::awt::KeyEvent &rEvent) override
const css::uno::Reference< css::drawing::framework::XConfigurationController > & GetConfigurationController() const
void HandleMouseClick(const css::awt::MouseEvent &rEvent)
css::uno::Reference< css::drawing::XDrawPage > mxCurrentSlide
void ShowView(const OUString &rsViewURL)
const css::uno::Reference< css::drawing::XDrawPage > & GetCurrentSlide() const
const ::rtl::Reference< PresenterWindowManager > & GetWindowManager() const
css::uno::Reference< css::rendering::XSpriteCanvas > mxCanvas
css::uno::Reference< css::frame::XDispatch > GetDispatch(const css::util::URL &rURL) const
virtual void SAL_CALL frameAction(const css::frame::FrameActionEvent &rEvent) override
void DispatchUnoCommand(const OUString &rsCommand) const
virtual void SAL_CALL keyReleased(const css::awt::KeyEvent &rEvent) override
void UpdatePendingSlideNumber(const sal_Int32 nPendingSlideNumber)
const ::rtl::Reference< PresenterPaneBorderPainter > & GetPaneBorderPainter() const
virtual void SAL_CALL mouseExited(const css::awt::MouseEvent &rEvent) override
std::shared_ptr< PresenterCanvasHelper > mpCanvasHelper
virtual void SAL_CALL disposing() override
IPresentationTime * mpPresentationTime
static bool HasTransition(css::uno::Reference< css::drawing::XDrawPage > const &rxPage)
const std::shared_ptr< PresenterCanvasHelper > & GetCanvasHelper() const
static bool HasCustomAnimation(css::uno::Reference< css::drawing::XDrawPage > const &rxPage)
const rtl::Reference< PresenterPaneContainer > & GetPaneContainer() const
virtual void SAL_CALL disposing(const css::lang::EventObject &rEvent) override
PresenterTheme::SharedFontDescriptor GetViewFont(const OUString &rsViewURL) const
sal_Int32 mnCurrentSlideIndex
css::uno::Reference< css::awt::XWindow > mxMainWindow
virtual void SAL_CALL mousePressed(const css::awt::MouseEvent &rEvent) override
sal_Int32 mnPendingSlideNumber
static ::rtl::Reference< PresenterController > Instance(const css::uno::Reference< css::frame::XFrame > &rxFrame)
const css::uno::Reference< css::drawing::XPresenterHelper > & GetPresenterHelper() const
std::shared_ptr< PresenterPaintManager > mpPaintManager
void LoadTheme(const css::uno::Reference< css::drawing::framework::XPane > &rxPane)
css::uno::Reference< css::util::XURLTransformer > mxUrlTransformer
void HandleNumericKeyPress(const sal_Int32 nKey, const sal_Int32 nModifiers)
This method is called when the user pressed one of the numerical keys.
bool mbIsAccessibilityActive
void HideView(const OUString &rsViewURL)
rtl::Reference< PresenterPaneContainer > mpPaneContainer
SharedBitmapDescriptor GetViewBackground(const OUString &rsViewURL) const
bool IsAccessibilityActive() const
std::shared_ptr< PresenterTheme > mpTheme
const css::uno::Reference< css::presentation::XSlideShowController > & GetSlideShowController() const
const std::shared_ptr< PresenterTheme > & GetTheme() const
static InstanceContainer maInstances
::std::map< css::uno::Reference< css::frame::XFrame >, rtl::Reference< PresenterController > > InstanceContainer
css::uno::Reference< css::drawing::framework::XResourceId > mxMainPaneId
css::uno::Reference< css::drawing::XDrawPage > mxNextSlide
virtual ~PresenterController() override
virtual void SAL_CALL mouseEntered(const css::awt::MouseEvent &rEvent) override
unotools::WeakReference< PresenterScreen > mxScreen
void UpdateCurrentSlide(const sal_Int32 nOffset)
::rtl::Reference< PresenterPaneBorderPainter > mpPaneBorderPainter
css::util::URL CreateURLFromString(const OUString &rsURL) const
::rtl::Reference< PresenterAccessible > mpAccessibleObject
css::uno::Reference< css::drawing::framework::XConfigurationController > mxConfigurationController
void RequestViews(const bool bIsSlideSorterActive, const bool bIsNotesViewActive, const bool bIsHelpViewActive)
Request activation or deactivation of (some of) the views according to the given parameters.
::rtl::Reference< PresenterWindowManager > mpWindowManager
PresenterController(unotools::WeakReference< PresenterScreen > xScreen, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const rtl::Reference<::sd::DrawController > &rxController, const css::uno::Reference< css::presentation::XSlideShowController > &rxSlideShowController, rtl::Reference< PresenterPaneContainer > xPaneContainer, const css::uno::Reference< css::drawing::framework::XResourceId > &rxMainPaneId)
std::shared_ptr< FontDescriptor > SharedFontDescriptor
::cppu::WeakComponentImplHelper< css::drawing::framework::XConfigurationChangeListener, css::frame::XFrameActionListener, css::awt::XKeyListener, css::awt::XMouseListener > PresenterControllerInterfaceBase
std::shared_ptr< PresenterBitmapContainer::BitmapDescriptor > SharedBitmapDescriptor