LibreOffice Module sdext (master)  1
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
sdext::presenter::PresenterController Class Reference

The controller of the presenter screen is responsible for telling the individual views which slides to show. More...

#include <PresenterController.hxx>

Inheritance diagram for sdext::presenter::PresenterController:
[legend]
Collaboration diagram for sdext::presenter::PresenterController:
[legend]

Public Member Functions

static::rtl::Reference< PresenterControllerInstance (const css::uno::Reference< css::frame::XFrame > &rxFrame)
 
 PresenterController (const css::uno::WeakReference< css::lang::XEventListener > &rxScreen, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XController > &rxController, const css::uno::Reference< css::presentation::XSlideShowController > &rxSlideShowController, const rtl::Reference< PresenterPaneContainer > &rpPaneContainer, 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 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)
 
IPresentationTimeGetPresentationTime ()
 
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

css::uno::WeakReference< css::lang::XEventListener > mxScreen
 
css::uno::Reference< css::uno::XComponentContext > mxComponentContext
 
css::uno::Reference< css::rendering::XSpriteCanvas > mxCanvas
 
css::uno::Reference< css::frame::XController > 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< PresenterPaneContainermpPaneContainer
 
sal_Int32 mnCurrentSlideIndex
 
css::uno::Reference< css::drawing::XDrawPage > mxCurrentSlide
 
css::uno::Reference< css::drawing::XDrawPage > mxNextSlide
 
::rtl::Reference< PresenterWindowManagermpWindowManager
 
std::shared_ptr< PresenterThemempTheme
 
css::uno::Reference< css::awt::XWindow > mxMainWindow
 
::rtl::Reference< PresenterPaneBorderPaintermpPaneBorderPainter
 
std::shared_ptr< PresenterCanvasHelpermpCanvasHelper
 
css::uno::Reference< css::drawing::XPresenterHelper > mxPresenterHelper
 
std::shared_ptr< PresenterPaintManagermpPaintManager
 
sal_Int32 mnPendingSlideNumber
 
css::uno::Reference< css::util::XURLTransformer > mxUrlTransformer
 
::rtl::Reference< PresenterAccessiblempAccessibleObject
 
bool mbIsAccessibilityActive
 
IPresentationTimempPresentationTime
 

Static Private Attributes

static InstanceContainer maInstances
 

Additional Inherited Members

- Protected Attributes inherited from cppu::BaseMutex
mutable::osl::Mutex m_aMutex
 

Detailed Description

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 73 of file PresenterController.hxx.

Member Typedef Documentation

typedef ::std::map<css::uno::Reference<css::frame::XFrame>,rtl::Reference<PresenterController> > sdext::presenter::PresenterController::InstanceContainer
private

Definition at line 168 of file PresenterController.hxx.

Constructor & Destructor Documentation

sdext::presenter::PresenterController::PresenterController ( const css::uno::WeakReference< css::lang::XEventListener > &  rxScreen,
const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::frame::XController > &  rxController,
const css::uno::Reference< css::presentation::XSlideShowController > &  rxSlideShowController,
const rtl::Reference< PresenterPaneContainer > &  rpPaneContainer,
const css::uno::Reference< css::drawing::framework::XResourceId > &  rxMainPaneId 
)
sdext::presenter::PresenterController::~PresenterController ( )
overridevirtual

Definition at line 190 of file PresenterController.cxx.

Member Function Documentation

util::URL sdext::presenter::PresenterController::CreateURLFromString ( const OUString &  rsURL) const

Definition at line 547 of file PresenterController.cxx.

References aURL, and mxUrlTransformer.

void sdext::presenter::PresenterController::DispatchUnoCommand ( const OUString &  rsCommand) const

Definition at line 516 of file PresenterController.cxx.

References aURL, GetDispatch(), mxUrlTransformer, and xDispatch.

void sdext::presenter::PresenterController::disposing ( )
overridevirtual
virtual void SAL_CALL sdext::presenter::PresenterController::disposing ( const css::lang::EventObject &  rEvent)
overridevirtual
void SAL_CALL sdext::presenter::PresenterController::frameAction ( const css::frame::FrameActionEvent &  rEvent)
overridevirtual

Definition at line 802 of file PresenterController.cxx.

References mxSlideShowController.

const std::shared_ptr< PresenterCanvasHelper > & sdext::presenter::PresenterController::GetCanvasHelper ( ) const

Definition at line 468 of file PresenterController.cxx.

References mpCanvasHelper.

const Reference< drawing::framework::XConfigurationController > & sdext::presenter::PresenterController::GetConfigurationController ( ) const

Definition at line 561 of file PresenterController.cxx.

References mxConfigurationController.

const Reference< drawing::XDrawPage > & sdext::presenter::PresenterController::GetCurrentSlide ( ) const

Definition at line 566 of file PresenterController.cxx.

References mxCurrentSlide.

Reference< css::frame::XDispatch > sdext::presenter::PresenterController::GetDispatch ( const css::util::URL &  rURL) const

Definition at line 532 of file PresenterController.cxx.

References mxController.

Referenced by DispatchUnoCommand().

const std::shared_ptr< PresenterPaintManager > & sdext::presenter::PresenterController::GetPaintManager ( ) const

Definition at line 478 of file PresenterController.cxx.

References mpPaintManager.

Referenced by notifyConfigurationChange().

const ::rtl::Reference< PresenterPaneBorderPainter > & sdext::presenter::PresenterController::GetPaneBorderPainter ( ) const

Definition at line 463 of file PresenterController.cxx.

References mpPaneBorderPainter.

const rtl::Reference< PresenterPaneContainer > & sdext::presenter::PresenterController::GetPaneContainer ( ) const

Definition at line 458 of file PresenterController.cxx.

References mpPaneContainer.

IPresentationTime * sdext::presenter::PresenterController::GetPresentationTime ( )

Definition at line 701 of file PresenterController.cxx.

References mpPresentationTime.

const Reference< drawing::XPresenterHelper > & sdext::presenter::PresenterController::GetPresenterHelper ( ) const

Definition at line 473 of file PresenterController.cxx.

References mxPresenterHelper.

double sdext::presenter::PresenterController::GetSlideAspectRatio ( ) const

Definition at line 1088 of file PresenterController.cxx.

References mxController.

void sdext::presenter::PresenterController::GetSlides ( const sal_Int32  nOffset)
private
const Reference< presentation::XSlideShowController > & sdext::presenter::PresenterController::GetSlideShowController ( ) const

Definition at line 453 of file PresenterController.cxx.

References mxSlideShowController.

const std::shared_ptr< PresenterTheme > & sdext::presenter::PresenterController::GetTheme ( ) const

Definition at line 442 of file PresenterController.cxx.

References mpTheme.

SharedBitmapDescriptor sdext::presenter::PresenterController::GetViewBackground ( const OUString &  rsViewURL) const

Definition at line 421 of file PresenterController.cxx.

References mpTheme.

PresenterTheme::SharedFontDescriptor sdext::presenter::PresenterController::GetViewFont ( const OUString &  rsViewURL) const

Definition at line 432 of file PresenterController.cxx.

References mpTheme.

const ::rtl::Reference< PresenterWindowManager > & sdext::presenter::PresenterController::GetWindowManager ( ) const

Definition at line 447 of file PresenterController.cxx.

References mpWindowManager.

void sdext::presenter::PresenterController::HandleMouseClick ( const css::awt::MouseEvent &  rEvent)

Definition at line 634 of file PresenterController.cxx.

References mxSlideShowController.

void sdext::presenter::PresenterController::HandleNumericKeyPress ( const sal_Int32  nKey,
const sal_Int32  nModifiers 
)
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).

Parameters
nKeyNumeric 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?).
nModifiersThe modifier bit field as provided by the key up event.

Definition at line 982 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().

bool sdext::presenter::PresenterController::HasCustomAnimation ( css::uno::Reference< css::drawing::XDrawPage > const &  rxPage)
static
bool sdext::presenter::PresenterController::HasTransition ( css::uno::Reference< css::drawing::XDrawPage > const &  rxPage)
static
void sdext::presenter::PresenterController::HideView ( const OUString &  rsViewURL)

Definition at line 502 of file PresenterController.cxx.

References mpPaneContainer, mxComponentContext, and mxConfigurationController.

Referenced by RequestViews().

void sdext::presenter::PresenterController::InitializeMainPane ( const css::uno::Reference< css::drawing::framework::XPane > &  rxPane)
private
rtl::Reference< PresenterController > sdext::presenter::PresenterController::Instance ( const css::uno::Reference< css::frame::XFrame > &  rxFrame)
bool sdext::presenter::PresenterController::IsAccessibilityActive ( ) const
inline
void SAL_CALL sdext::presenter::PresenterController::keyPressed ( const css::awt::KeyEvent &  rEvent)
overridevirtual

Definition at line 814 of file PresenterController.cxx.

References mpPaneContainer.

void SAL_CALL sdext::presenter::PresenterController::keyReleased ( const css::awt::KeyEvent &  rEvent)
overridevirtual
void sdext::presenter::PresenterController::LoadTheme ( const css::uno::Reference< css::drawing::framework::XPane > &  rxPane)
private

Definition at line 1081 of file PresenterController.cxx.

References mpTheme, and mxComponentContext.

Referenced by InitializeMainPane().

void SAL_CALL sdext::presenter::PresenterController::mouseEntered ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 1036 of file PresenterController.cxx.

void SAL_CALL sdext::presenter::PresenterController::mouseExited ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 1038 of file PresenterController.cxx.

void SAL_CALL sdext::presenter::PresenterController::mousePressed ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 1028 of file PresenterController.cxx.

References mxMainWindow.

void SAL_CALL sdext::presenter::PresenterController::mouseReleased ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 1034 of file PresenterController.cxx.

void SAL_CALL sdext::presenter::PresenterController::notifyConfigurationChange ( const css::drawing::framework::ConfigurationChangeEvent &  rEvent)
overridevirtual
void sdext::presenter::PresenterController::RequestViews ( const bool  bIsSlideSorterActive,
const bool  bIsNotesViewActive,
const bool  bIsHelpViewActive 
)
void sdext::presenter::PresenterController::SetAccessibilityActiveState ( const bool  bIsActive)

Definition at line 624 of file PresenterController.cxx.

References mbIsAccessibilityActive, and UpdatePaneTitles().

void sdext::presenter::PresenterController::SetPresentationTime ( IPresentationTime pPresentationTime)

Definition at line 696 of file PresenterController.cxx.

References mpPresentationTime.

void sdext::presenter::PresenterController::ShowView ( const OUString &  rsViewURL)

Definition at line 483 of file PresenterController.cxx.

References mpPaneContainer, mxComponentContext, and mxConfigurationController.

Referenced by RequestViews().

void sdext::presenter::PresenterController::SwitchMonitors ( )
void sdext::presenter::PresenterController::UpdateCurrentSlide ( const sal_Int32  nOffset)
void sdext::presenter::PresenterController::UpdatePaneTitles ( )
void sdext::presenter::PresenterController::UpdatePendingSlideNumber ( const sal_Int32  nPendingSlideNumber)
private

Definition at line 1121 of file PresenterController.cxx.

References mnPendingSlideNumber, mpTheme, mxCanvas, and mxMainWindow.

Referenced by HandleNumericKeyPress().

void sdext::presenter::PresenterController::UpdateViews ( )
private

Definition at line 409 of file PresenterController.cxx.

References mpPaneContainer, and mxCurrentSlide.

Referenced by notifyConfigurationChange(), and UpdateCurrentSlide().

Member Data Documentation

PresenterController::InstanceContainer sdext::presenter::PresenterController::maInstances
staticprivate

Definition at line 169 of file PresenterController.hxx.

Referenced by disposing(), Instance(), and PresenterController().

bool sdext::presenter::PresenterController::mbIsAccessibilityActive
private

Definition at line 193 of file PresenterController.hxx.

Referenced by IsAccessibilityActive(), and SetAccessibilityActiveState().

sal_Int32 sdext::presenter::PresenterController::mnCurrentSlideIndex
private

Definition at line 180 of file PresenterController.hxx.

Referenced by disposing(), GetSlides(), and UpdatePaneTitles().

sal_Int32 sdext::presenter::PresenterController::mnPendingSlideNumber
private
::rtl::Reference<PresenterAccessible> sdext::presenter::PresenterController::mpAccessibleObject
private
std::shared_ptr<PresenterCanvasHelper> sdext::presenter::PresenterController::mpCanvasHelper
private

Definition at line 187 of file PresenterController.hxx.

Referenced by disposing(), and GetCanvasHelper().

std::shared_ptr<PresenterPaintManager> sdext::presenter::PresenterController::mpPaintManager
private

Definition at line 189 of file PresenterController.hxx.

Referenced by disposing(), GetPaintManager(), and InitializeMainPane().

::rtl::Reference<PresenterPaneBorderPainter> sdext::presenter::PresenterController::mpPaneBorderPainter
private
rtl::Reference<PresenterPaneContainer> sdext::presenter::PresenterController::mpPaneContainer
private
IPresentationTime* sdext::presenter::PresenterController::mpPresentationTime
private

Definition at line 194 of file PresenterController.hxx.

Referenced by GetPresentationTime(), and SetPresentationTime().

std::shared_ptr<PresenterTheme> sdext::presenter::PresenterController::mpTheme
private
::rtl::Reference<PresenterWindowManager> sdext::presenter::PresenterController::mpWindowManager
private
css::uno::Reference<css::rendering::XSpriteCanvas> sdext::presenter::PresenterController::mxCanvas
private

Definition at line 173 of file PresenterController.hxx.

Referenced by InitializeMainPane(), and UpdatePendingSlideNumber().

css::uno::Reference<css::uno::XComponentContext> sdext::presenter::PresenterController::mxComponentContext
private
css::uno::Reference<css::drawing::framework::XConfigurationController> sdext::presenter::PresenterController::mxConfigurationController
private
css::uno::Reference<css::frame::XController> sdext::presenter::PresenterController::mxController
private
css::uno::Reference<css::drawing::XDrawPage> sdext::presenter::PresenterController::mxCurrentSlide
private
css::uno::Reference<css::drawing::framework::XResourceId> sdext::presenter::PresenterController::mxMainPaneId
private

Definition at line 178 of file PresenterController.hxx.

Referenced by disposing(), and notifyConfigurationChange().

css::uno::Reference<css::awt::XWindow> sdext::presenter::PresenterController::mxMainWindow
private
css::uno::Reference<css::drawing::XDrawPage> sdext::presenter::PresenterController::mxNextSlide
private

Definition at line 182 of file PresenterController.hxx.

Referenced by disposing(), and GetSlides().

css::uno::Reference<css::drawing::XPresenterHelper> sdext::presenter::PresenterController::mxPresenterHelper
private
css::uno::WeakReference<css::lang::XEventListener> sdext::presenter::PresenterController::mxScreen
private

Definition at line 171 of file PresenterController.hxx.

Referenced by SwitchMonitors().

css::uno::Reference<css::presentation::XSlideShowController> sdext::presenter::PresenterController::mxSlideShowController
private
css::uno::Reference<css::util::XURLTransformer> sdext::presenter::PresenterController::mxUrlTransformer
private

The documentation for this class was generated from the following files: