LibreOffice Module sd (master) 1
|
The controller of the presenter screen is responsible for telling the individual views which slides to show. More...
#include <PresenterController.hxx>
Public Member Functions | |
static ::rtl::Reference< PresenterController > | Instance (const css::uno::Reference< css::frame::XFrame > &rxFrame) |
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) | |
virtual | ~PresenterController () override |
virtual void SAL_CALL | disposing () override |
void | UpdateCurrentSlide (const sal_Int32 nOffset) |
SharedBitmapDescriptor | GetViewBackground (const OUString &rsViewURL) const |
PresenterTheme::SharedFontDescriptor | GetViewFont (const OUString &rsViewURL) const |
const std::shared_ptr< PresenterTheme > & | GetTheme () const |
const ::rtl::Reference< PresenterWindowManager > & | GetWindowManager () const |
const css::uno::Reference< css::presentation::XSlideShowController > & | GetSlideShowController () const |
const rtl::Reference< PresenterPaneContainer > & | GetPaneContainer () const |
const ::rtl::Reference< PresenterPaneBorderPainter > & | GetPaneBorderPainter () const |
const std::shared_ptr< PresenterCanvasHelper > & | GetCanvasHelper () const |
const css::uno::Reference< css::drawing::XPresenterHelper > & | GetPresenterHelper () const |
const std::shared_ptr< PresenterPaintManager > & | GetPaintManager () const |
double | GetSlideAspectRatio () const |
void | ShowView (const OUString &rsViewURL) |
void | HideView (const OUString &rsViewURL) |
void | SwitchMonitors () |
void | ExitPresenter () |
void | DispatchUnoCommand (const OUString &rsCommand) const |
css::uno::Reference< css::frame::XDispatch > | GetDispatch (const css::util::URL &rURL) const |
css::util::URL | CreateURLFromString (const OUString &rsURL) const |
const css::uno::Reference< css::drawing::framework::XConfigurationController > & | GetConfigurationController () const |
const css::uno::Reference< css::drawing::XDrawPage > & | GetCurrentSlide () const |
void | SetAccessibilityActiveState (const bool bIsActive) |
bool | IsAccessibilityActive () const |
void | HandleMouseClick (const css::awt::MouseEvent &rEvent) |
void | UpdatePaneTitles () |
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. More... | |
void | SetPresentationTime (IPresentationTime *pPresentationTime) |
IPresentationTime * | GetPresentationTime () |
virtual void SAL_CALL | notifyConfigurationChange (const css::drawing::framework::ConfigurationChangeEvent &rEvent) override |
virtual void SAL_CALL | disposing (const css::lang::EventObject &rEvent) override |
virtual void SAL_CALL | frameAction (const css::frame::FrameActionEvent &rEvent) override |
virtual void SAL_CALL | keyPressed (const css::awt::KeyEvent &rEvent) override |
virtual void SAL_CALL | keyReleased (const css::awt::KeyEvent &rEvent) override |
virtual void SAL_CALL | mousePressed (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseReleased (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseEntered (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseExited (const css::awt::MouseEvent &rEvent) override |
Static Public Member Functions | |
static bool | HasTransition (css::uno::Reference< css::drawing::XDrawPage > const &rxPage) |
static bool | HasCustomAnimation (css::uno::Reference< css::drawing::XDrawPage > const &rxPage) |
Private Types | |
typedef ::std::map< css::uno::Reference< css::frame::XFrame >, rtl::Reference< PresenterController > > | InstanceContainer |
Private Member Functions | |
void | GetSlides (const sal_Int32 nOffset) |
void | UpdateViews () |
void | InitializeMainPane (const css::uno::Reference< css::drawing::framework::XPane > &rxPane) |
void | LoadTheme (const css::uno::Reference< css::drawing::framework::XPane > &rxPane) |
void | UpdatePendingSlideNumber (const sal_Int32 nPendingSlideNumber) |
void | HandleNumericKeyPress (const sal_Int32 nKey, const sal_Int32 nModifiers) |
This method is called when the user pressed one of the numerical keys. More... | |
Private Attributes | |
unotools::WeakReference< PresenterScreen > | mxScreen |
css::uno::Reference< css::uno::XComponentContext > | mxComponentContext |
css::uno::Reference< css::rendering::XSpriteCanvas > | mxCanvas |
rtl::Reference<::sd::DrawController > | mxController |
css::uno::Reference< css::drawing::framework::XConfigurationController > | mxConfigurationController |
css::uno::Reference< css::presentation::XSlideShowController > | mxSlideShowController |
css::uno::Reference< css::drawing::framework::XResourceId > | mxMainPaneId |
rtl::Reference< PresenterPaneContainer > | mpPaneContainer |
sal_Int32 | mnCurrentSlideIndex |
css::uno::Reference< css::drawing::XDrawPage > | mxCurrentSlide |
css::uno::Reference< css::drawing::XDrawPage > | mxNextSlide |
::rtl::Reference< PresenterWindowManager > | mpWindowManager |
std::shared_ptr< PresenterTheme > | mpTheme |
css::uno::Reference< css::awt::XWindow > | mxMainWindow |
::rtl::Reference< PresenterPaneBorderPainter > | mpPaneBorderPainter |
std::shared_ptr< PresenterCanvasHelper > | mpCanvasHelper |
css::uno::Reference< css::drawing::XPresenterHelper > | mxPresenterHelper |
std::shared_ptr< PresenterPaintManager > | mpPaintManager |
sal_Int32 | mnPendingSlideNumber |
css::uno::Reference< css::util::XURLTransformer > | mxUrlTransformer |
::rtl::Reference< PresenterAccessible > | mpAccessibleObject |
bool | mbIsAccessibilityActive |
IPresentationTime * | mpPresentationTime |
Static Private Attributes | |
static InstanceContainer | maInstances |
Additional Inherited Members | |
![]() | |
mutable::osl::Mutex | m_aMutex |
The controller of the presenter screen is responsible for telling the individual views which slides to show.
Additionally it provides access to frequently used values of the current theme.
Definition at line 79 of file PresenterController.hxx.
|
private |
Definition at line 175 of file PresenterController.hxx.
sdext::presenter::PresenterController::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 | ||
) |
Definition at line 85 of file PresenterController.cxx.
References Any, m_aMutex, maInstances, make_shared(), mpPaneBorderPainter, mpWindowManager, mxComponentContext, mxConfigurationController, mxController, mxPresenterHelper, mxSlideShowController, mxUrlTransformer, UpdateCurrentSlide(), xFactory, and xFrame.
|
overridevirtual |
Definition at line 178 of file PresenterController.cxx.
util::URL sdext::presenter::PresenterController::CreateURLFromString | ( | const OUString & | rsURL | ) | const |
Definition at line 532 of file PresenterController.cxx.
References aURL, and mxUrlTransformer.
void sdext::presenter::PresenterController::DispatchUnoCommand | ( | const OUString & | rsCommand | ) | const |
Definition at line 501 of file PresenterController.cxx.
References aURL, GetDispatch(), mxUrlTransformer, and xDispatch.
|
overridevirtual |
Definition at line 182 of file PresenterController.cxx.
References maInstances, mnCurrentSlideIndex, mnPendingSlideNumber, mpCanvasHelper, mpPaintManager, mpPaneBorderPainter, mpPaneContainer, mpTheme, mpWindowManager, mxComponentContext, mxConfigurationController, mxController, mxCurrentSlide, mxMainPaneId, mxMainWindow, mxNextSlide, mxPresenterHelper, mxSlideShowController, mxUrlTransformer, and xFrame.
|
overridevirtual |
void sdext::presenter::PresenterController::ExitPresenter | ( | ) |
Definition at line 1165 of file PresenterController.cxx.
References mxController.
|
overridevirtual |
Definition at line 786 of file PresenterController.cxx.
References mxSlideShowController.
const std::shared_ptr< PresenterCanvasHelper > & sdext::presenter::PresenterController::GetCanvasHelper | ( | ) | const |
Definition at line 453 of file PresenterController.cxx.
References mpCanvasHelper.
const Reference< drawing::framework::XConfigurationController > & sdext::presenter::PresenterController::GetConfigurationController | ( | ) | const |
Definition at line 546 of file PresenterController.cxx.
References mxConfigurationController.
const Reference< drawing::XDrawPage > & sdext::presenter::PresenterController::GetCurrentSlide | ( | ) | const |
Definition at line 551 of file PresenterController.cxx.
References mxCurrentSlide.
Reference< css::frame::XDispatch > sdext::presenter::PresenterController::GetDispatch | ( | const css::util::URL & | rURL | ) | const |
Definition at line 517 of file PresenterController.cxx.
References mxController.
Referenced by DispatchUnoCommand().
const std::shared_ptr< PresenterPaintManager > & sdext::presenter::PresenterController::GetPaintManager | ( | ) | const |
Definition at line 463 of file PresenterController.cxx.
References mpPaintManager.
Referenced by notifyConfigurationChange().
const ::rtl::Reference< PresenterPaneBorderPainter > & sdext::presenter::PresenterController::GetPaneBorderPainter | ( | ) | const |
Definition at line 448 of file PresenterController.cxx.
References mpPaneBorderPainter.
const rtl::Reference< PresenterPaneContainer > & sdext::presenter::PresenterController::GetPaneContainer | ( | ) | const |
Definition at line 443 of file PresenterController.cxx.
References mpPaneContainer.
IPresentationTime * sdext::presenter::PresenterController::GetPresentationTime | ( | ) |
Definition at line 686 of file PresenterController.cxx.
References mpPresentationTime.
const Reference< drawing::XPresenterHelper > & sdext::presenter::PresenterController::GetPresenterHelper | ( | ) | const |
Definition at line 458 of file PresenterController.cxx.
References mxPresenterHelper.
double sdext::presenter::PresenterController::GetSlideAspectRatio | ( | ) | const |
Definition at line 1096 of file PresenterController.cxx.
References mxController.
|
private |
Definition at line 254 of file PresenterController.cxx.
References mnCurrentSlideIndex, mxCurrentSlide, mxNextSlide, and mxSlideShowController.
Referenced by UpdateCurrentSlide().
const Reference< presentation::XSlideShowController > & sdext::presenter::PresenterController::GetSlideShowController | ( | ) | const |
Definition at line 438 of file PresenterController.cxx.
References mxSlideShowController.
const std::shared_ptr< PresenterTheme > & sdext::presenter::PresenterController::GetTheme | ( | ) | const |
Definition at line 427 of file PresenterController.cxx.
References mpTheme.
SharedBitmapDescriptor sdext::presenter::PresenterController::GetViewBackground | ( | const OUString & | rsViewURL | ) | const |
Definition at line 406 of file PresenterController.cxx.
References mpTheme.
PresenterTheme::SharedFontDescriptor sdext::presenter::PresenterController::GetViewFont | ( | const OUString & | rsViewURL | ) | const |
Definition at line 417 of file PresenterController.cxx.
References mpTheme.
const ::rtl::Reference< PresenterWindowManager > & sdext::presenter::PresenterController::GetWindowManager | ( | ) | const |
Definition at line 432 of file PresenterController.cxx.
References mpWindowManager.
void sdext::presenter::PresenterController::HandleMouseClick | ( | const css::awt::MouseEvent & | rEvent | ) |
Definition at line 619 of file PresenterController.cxx.
References mxSlideShowController.
|
private |
This method is called when the user pressed one of the numerical keys.
Depending on the modifier, numeric keys switch to another slide (no modifier), or change to another view (Ctrl modifier).
nKey | Numeric value that is printed on the pressed key. For example pressing the key '4' will result in the value 4, not the ASCII code (0x34?). |
nModifiers | The modifier bit field as provided by the key up event. |
Definition at line 990 of file PresenterController.cxx.
References mnPendingSlideNumber, mpWindowManager, SwitchMonitors(), UpdatePendingSlideNumber(), sdext::presenter::PresenterWindowManager::VM_Notes, sdext::presenter::PresenterWindowManager::VM_SlideOverview, and sdext::presenter::PresenterWindowManager::VM_Standard.
Referenced by keyReleased().
|
static |
Definition at line 578 of file PresenterController.cxx.
Referenced by sdext::presenter::PresenterSlideSorter::PaintPreview().
|
static |
Definition at line 556 of file PresenterController.cxx.
Referenced by sdext::presenter::PresenterSlideSorter::PaintPreview().
void sdext::presenter::PresenterController::HideView | ( | const OUString & | rsViewURL | ) |
Definition at line 487 of file PresenterController.cxx.
References mpPaneContainer, mxComponentContext, and mxConfigurationController.
Referenced by RequestViews().
|
private |
Definition at line 1048 of file PresenterController.cxx.
References LoadTheme(), mpAccessibleObject, mpPaintManager, mpPaneBorderPainter, mpPaneContainer, mpTheme, mpWindowManager, mxCanvas, mxComponentContext, mxMainWindow, mxPresenterHelper, mxSlideShowController, and UpdateCurrentSlide().
Referenced by notifyConfigurationChange().
rtl::Reference< PresenterController > sdext::presenter::PresenterController::Instance | ( | const css::uno::Reference< css::frame::XFrame > & | rxFrame | ) |
Definition at line 75 of file PresenterController.cxx.
References maInstances.
Referenced by sdext::presenter::PresenterProtocolHandler::initialize().
|
inline |
Definition at line 128 of file PresenterController.hxx.
References mbIsAccessibilityActive.
Referenced by notifyConfigurationChange(), UpdateCurrentSlide(), and UpdatePaneTitles().
|
overridevirtual |
Definition at line 798 of file PresenterController.cxx.
References mpPaneContainer.
|
overridevirtual |
Definition at line 812 of file PresenterController.cxx.
References sd::outliner::END, HandleNumericKeyPress(), mnPendingSlideNumber, mpPaneContainer, mpWindowManager, mxController, mxMainWindow, mxSlideShowController, and sdext::presenter::PresenterWindowManager::VM_Help.
|
private |
Definition at line 1089 of file PresenterController.cxx.
References mpTheme, and mxComponentContext.
Referenced by InitializeMainPane().
|
overridevirtual |
Definition at line 1044 of file PresenterController.cxx.
|
overridevirtual |
Definition at line 1046 of file PresenterController.cxx.
|
overridevirtual |
Definition at line 1036 of file PresenterController.cxx.
References mxMainWindow.
|
overridevirtual |
Definition at line 1042 of file PresenterController.cxx.
|
overridevirtual |
Definition at line 693 of file PresenterController.cxx.
References GetPaintManager(), InitializeMainPane(), IsAccessibilityActive(), mpAccessibleObject, mpPaneContainer, mpWindowManager, mxMainPaneId, nType, UpdateCurrentSlide(), and UpdateViews().
void sdext::presenter::PresenterController::RequestViews | ( | const bool | bIsSlideSorterActive, |
const bool | bIsNotesViewActive, | ||
const bool | bIsHelpViewActive | ||
) |
Request activation or deactivation of (some of) the views according to the given parameters.
Definition at line 643 of file PresenterController.cxx.
References HideView(), mpPaneContainer, sdext::presenter::PresenterViewFactory::msCurrentSlidePreviewViewURL, sdext::presenter::PresenterViewFactory::msHelpViewURL, sdext::presenter::PresenterViewFactory::msNextSlidePreviewViewURL, sdext::presenter::PresenterViewFactory::msNotesViewURL, sdext::presenter::PresenterViewFactory::msSlideSorterURL, sdext::presenter::PresenterViewFactory::msToolBarViewURL, and ShowView().
void sdext::presenter::PresenterController::SetAccessibilityActiveState | ( | const bool | bIsActive | ) |
Definition at line 609 of file PresenterController.cxx.
References mbIsAccessibilityActive, and UpdatePaneTitles().
void sdext::presenter::PresenterController::SetPresentationTime | ( | IPresentationTime * | pPresentationTime | ) |
Definition at line 681 of file PresenterController.cxx.
References mpPresentationTime.
void sdext::presenter::PresenterController::ShowView | ( | const OUString & | rsViewURL | ) |
Definition at line 468 of file PresenterController.cxx.
References mpPaneContainer, mxComponentContext, and mxConfigurationController.
Referenced by RequestViews().
void sdext::presenter::PresenterController::SwitchMonitors | ( | ) |
Definition at line 1156 of file PresenterController.cxx.
References mxScreen.
Referenced by HandleNumericKeyPress().
void sdext::presenter::PresenterController::UpdateCurrentSlide | ( | const sal_Int32 | nOffset | ) |
Definition at line 240 of file PresenterController.cxx.
References GetSlides(), IsAccessibilityActive(), mpAccessibleObject, UpdatePaneTitles(), and UpdateViews().
Referenced by InitializeMainPane(), notifyConfigurationChange(), and PresenterController().
void sdext::presenter::PresenterController::UpdatePaneTitles | ( | ) |
Definition at line 300 of file PresenterController.cxx.
References IsAccessibilityActive(), mnCurrentSlideIndex, mpPaneContainer, mxCurrentSlide, mxSlideShowController, nIndex, sName, and u.
Referenced by SetAccessibilityActiveState(), and UpdateCurrentSlide().
|
private |
Definition at line 1129 of file PresenterController.cxx.
References mnPendingSlideNumber, mpTheme, mxCanvas, and mxMainWindow.
Referenced by HandleNumericKeyPress().
|
private |
Definition at line 394 of file PresenterController.cxx.
References mpPaneContainer, and mxCurrentSlide.
Referenced by notifyConfigurationChange(), and UpdateCurrentSlide().
|
staticprivate |
Definition at line 176 of file PresenterController.hxx.
Referenced by disposing(), Instance(), and PresenterController().
|
private |
Definition at line 200 of file PresenterController.hxx.
Referenced by IsAccessibilityActive(), and SetAccessibilityActiveState().
|
private |
Definition at line 187 of file PresenterController.hxx.
Referenced by disposing(), GetSlides(), and UpdatePaneTitles().
|
private |
Definition at line 197 of file PresenterController.hxx.
Referenced by disposing(), HandleNumericKeyPress(), keyReleased(), and UpdatePendingSlideNumber().
|
private |
Definition at line 199 of file PresenterController.hxx.
Referenced by InitializeMainPane(), notifyConfigurationChange(), and UpdateCurrentSlide().
|
private |
Definition at line 194 of file PresenterController.hxx.
Referenced by disposing(), and GetCanvasHelper().
|
private |
Definition at line 196 of file PresenterController.hxx.
Referenced by disposing(), GetPaintManager(), and InitializeMainPane().
|
private |
Definition at line 193 of file PresenterController.hxx.
Referenced by disposing(), GetPaneBorderPainter(), InitializeMainPane(), and PresenterController().
|
private |
Definition at line 186 of file PresenterController.hxx.
Referenced by disposing(), GetPaneContainer(), HideView(), InitializeMainPane(), keyPressed(), keyReleased(), notifyConfigurationChange(), RequestViews(), ShowView(), UpdatePaneTitles(), and UpdateViews().
|
private |
Definition at line 201 of file PresenterController.hxx.
Referenced by GetPresentationTime(), and SetPresentationTime().
|
private |
Definition at line 191 of file PresenterController.hxx.
Referenced by disposing(), GetTheme(), GetViewBackground(), GetViewFont(), InitializeMainPane(), LoadTheme(), and UpdatePendingSlideNumber().
|
private |
Definition at line 190 of file PresenterController.hxx.
Referenced by disposing(), GetWindowManager(), HandleNumericKeyPress(), InitializeMainPane(), keyReleased(), notifyConfigurationChange(), and PresenterController().
|
private |
Definition at line 180 of file PresenterController.hxx.
Referenced by InitializeMainPane(), and UpdatePendingSlideNumber().
|
private |
Definition at line 179 of file PresenterController.hxx.
Referenced by disposing(), HideView(), InitializeMainPane(), LoadTheme(), PresenterController(), and ShowView().
|
private |
Definition at line 183 of file PresenterController.hxx.
Referenced by disposing(), GetConfigurationController(), HideView(), PresenterController(), and ShowView().
|
private |
Definition at line 181 of file PresenterController.hxx.
Referenced by disposing(), ExitPresenter(), GetDispatch(), GetSlideAspectRatio(), keyReleased(), and PresenterController().
|
private |
Definition at line 188 of file PresenterController.hxx.
Referenced by disposing(), GetCurrentSlide(), GetSlides(), UpdatePaneTitles(), and UpdateViews().
|
private |
Definition at line 185 of file PresenterController.hxx.
Referenced by disposing(), and notifyConfigurationChange().
|
private |
Definition at line 192 of file PresenterController.hxx.
Referenced by disposing(), InitializeMainPane(), keyReleased(), mousePressed(), and UpdatePendingSlideNumber().
|
private |
Definition at line 189 of file PresenterController.hxx.
Referenced by disposing(), and GetSlides().
|
private |
Definition at line 195 of file PresenterController.hxx.
Referenced by disposing(), GetPresenterHelper(), InitializeMainPane(), and PresenterController().
|
private |
Definition at line 178 of file PresenterController.hxx.
Referenced by SwitchMonitors().
|
private |
Definition at line 184 of file PresenterController.hxx.
Referenced by disposing(), frameAction(), GetSlides(), GetSlideShowController(), HandleMouseClick(), InitializeMainPane(), keyReleased(), PresenterController(), and UpdatePaneTitles().
|
private |
Definition at line 198 of file PresenterController.hxx.
Referenced by CreateURLFromString(), DispatchUnoCommand(), disposing(), and PresenterController().