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

#include <PresenterScreen.hxx>

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

Classes

class  ViewDescriptor
 

Public Member Functions

 PresenterScreen (const css::uno::Reference< css::uno::XComponentContext > &rxContext, css::uno::Reference< css::frame::XModel2 > xModel)
 
virtual ~PresenterScreen () override
 
 PresenterScreen (const PresenterScreen &)=delete
 
PresenterScreenoperator= (const PresenterScreen &)=delete
 
virtual void SAL_CALL disposing () override
 
void InitializePresenterScreen ()
 Make the presenter screen visible. More...
 
void RequestShutdownPresenterScreen ()
 Do not call ShutdownPresenterScreen() directly. More...
 
void SwitchMonitors ()
 Switch / converse monitors between presenter view and slide output. More...
 
virtual void SAL_CALL disposing (const css::lang::EventObject &rEvent) override
 

Static Public Member Functions

static bool isPresenterScreenEnabled (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 
static bool isPresenterScreenFullScreen (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 

Private Types

typedef ::std::map< OUString, ViewDescriptorViewDescriptorContainer
 

Private Member Functions

void ShutdownPresenterScreen ()
 
void SetupPaneFactory (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 Create and initialize the factory for presenter view specific panes. More...
 
void SetupViewFactory (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 Create and initialize the factory for presenter view specific views. More...
 
void SetupConfiguration (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::drawing::framework::XResourceId > &rxAnchorId)
 Read the current layout from the configuration and call ProcessLayout to bring it on to the screen. More...
 
void ProcessLayout (PresenterConfigurationAccess &rConfiguration, std::u16string_view rsLayoutName, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::drawing::framework::XResourceId > &rxAnchorId)
 Read one layout from the configuration and make resource activation requests to bring it on to the screen. More...
 
void ProcessComponent (const ::std::vector< css::uno::Any > &rValues, const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::drawing::framework::XResourceId > &rxAnchorId)
 Called by ProcessLayout for a single entry of a Layouts configuration list. More...
 
void ProcessViewDescriptions (PresenterConfigurationAccess &rConfiguration)
 Read the view descriptions from the configuration. More...
 
void ProcessViewDescription (const ::std::vector< css::uno::Any > &rValues)
 Called by ProcessViewDescriptions for a single entry. More...
 
void SetupView (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::drawing::framework::XResourceId > &rxAnchorId, const OUString &rsPaneURL, const OUString &rsViewURL, const PresenterPaneContainer::ViewInitializationFunction &rViewInitialization)
 
sal_Int32 GetPresenterScreenNumber (const css::uno::Reference< css::presentation::XPresentation2 > &rxPresentation) const
 Return the built-in screen number on the presentation will normally display the presenter console. More...
 
css::uno::Reference< css::drawing::framework::XResourceId > GetMainPaneId (const css::uno::Reference< css::presentation::XPresentation2 > &rxPresentation, const css::uno::Reference< com::sun::star::uno::XComponentContext > &xContext) const
 Create a resource id for the full screen background pane so that it is displayed on another screen than the full screen presentation. More...
 

Static Private Member Functions

static sal_Int32 GetPresenterScreenFromScreen (sal_Int32 nPresentationScreen)
 

Private Attributes

css::uno::Reference< css::frame::XModel2 > mxModel
 
rtl::Reference<::sd::DrawControllermxController
 
css::uno::WeakReference< css::drawing::framework::XConfigurationController > mxConfigurationControllerWeak
 
css::uno::WeakReference< css::uno::XComponentContext > mxContextWeak
 
::rtl::Reference< PresenterControllermpPresenterController
 
css::uno::Reference< css::drawing::framework::XConfiguration > mxSavedConfiguration
 
::rtl::Reference< PresenterPaneContainermpPaneContainer
 
css::uno::Reference< css::drawing::framework::XResourceFactory > mxPaneFactory
 
css::uno::Reference< css::drawing::framework::XResourceFactory > mxViewFactory
 
ViewDescriptorContainer maViewDescriptors
 
- Private Attributes inherited from cppu::BaseMutex
mutable::osl::Mutex m_aMutex
 

Detailed Description

Definition at line 93 of file PresenterScreen.hxx.

Member Typedef Documentation

◆ ViewDescriptorContainer

Definition at line 153 of file PresenterScreen.hxx.

Constructor & Destructor Documentation

◆ PresenterScreen() [1/2]

sdext::presenter::PresenterScreen::PresenterScreen ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
css::uno::Reference< css::frame::XModel2 >  xModel 
)

◆ ~PresenterScreen()

sdext::presenter::PresenterScreen::~PresenterScreen ( )
overridevirtual

Definition at line 249 of file PresenterScreen.cxx.

◆ PresenterScreen() [2/2]

sdext::presenter::PresenterScreen::PresenterScreen ( const PresenterScreen )
delete

Member Function Documentation

◆ disposing() [1/2]

void SAL_CALL sdext::presenter::PresenterScreen::disposing ( )
overridevirtual

◆ disposing() [2/2]

virtual void SAL_CALL sdext::presenter::PresenterScreen::disposing ( const css::lang::EventObject &  rEvent)
overridevirtual

◆ GetMainPaneId()

Reference< drawing::framework::XResourceId > sdext::presenter::PresenterScreen::GetMainPaneId ( const css::uno::Reference< css::presentation::XPresentation2 > &  rxPresentation,
const css::uno::Reference< com::sun::star::uno::XComponentContext > &  xContext 
) const
private

Create a resource id for the full screen background pane so that it is displayed on another screen than the full screen presentation.

Definition at line 523 of file PresenterScreen.cxx.

References GetPresenterScreenNumber(), isPresenterScreenFullScreen(), sdext::presenter::PresenterHelper::msFullScreenPaneURL, and mxContextWeak.

Referenced by InitializePresenterScreen().

◆ GetPresenterScreenFromScreen()

sal_Int32 sdext::presenter::PresenterScreen::GetPresenterScreenFromScreen ( sal_Int32  nPresentationScreen)
staticprivate

Definition at line 496 of file PresenterScreen.cxx.

References SAL_INFO.

Referenced by GetPresenterScreenNumber().

◆ GetPresenterScreenNumber()

sal_Int32 sdext::presenter::PresenterScreen::GetPresenterScreenNumber ( const css::uno::Reference< css::presentation::XPresentation2 > &  rxPresentation) const
private

Return the built-in screen number on the presentation will normally display the presenter console.

Return the real VCL screen number to show the presenter console on or -1 to not show anything.

Returns
Returns -1 when the presenter screen can or shall not be displayed.

Definition at line 424 of file PresenterScreen.cxx.

References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), Application::GetDisplayExternalScreen(), GetPresenterScreenFromScreen(), Application::GetScreenCount(), isPresenterScreenFullScreen(), mxContextWeak, sdext::presenter::PresenterConfigurationAccess::READ_ONLY, and SAL_INFO.

Referenced by GetMainPaneId(), and SwitchMonitors().

◆ InitializePresenterScreen()

void sdext::presenter::PresenterScreen::InitializePresenterScreen ( )

◆ isPresenterScreenEnabled()

bool sdext::presenter::PresenterScreen::isPresenterScreenEnabled ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
static

◆ isPresenterScreenFullScreen()

bool sdext::presenter::PresenterScreen::isPresenterScreenFullScreen ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
static

◆ operator=()

PresenterScreen & sdext::presenter::PresenterScreen::operator= ( const PresenterScreen )
delete

◆ ProcessComponent()

void sdext::presenter::PresenterScreen::ProcessComponent ( const ::std::vector< css::uno::Any > &  rValues,
const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::drawing::framework::XResourceId > &  rxAnchorId 
)
private

Called by ProcessLayout for a single entry of a Layouts configuration list.

Definition at line 730 of file PresenterScreen.cxx.

References Exception, and SetupView().

Referenced by ProcessLayout().

◆ ProcessLayout()

void sdext::presenter::PresenterScreen::ProcessLayout ( PresenterConfigurationAccess rConfiguration,
std::u16string_view  rsLayoutName,
const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::drawing::framework::XResourceId > &  rxAnchorId 
)
private

Read one layout from the configuration and make resource activation requests to bring it on to the screen.

When one layout references a parent layout then this method calls itself recursively.

Definition at line 646 of file PresenterScreen.cxx.

References aProperties, sdext::presenter::PresenterConfigurationAccess::ForAll(), sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), ProcessComponent(), and ProcessLayout().

Referenced by ProcessLayout(), and SetupConfiguration().

◆ ProcessViewDescription()

void sdext::presenter::PresenterScreen::ProcessViewDescription ( const ::std::vector< css::uno::Any > &  rValues)
private

◆ ProcessViewDescriptions()

void sdext::presenter::PresenterScreen::ProcessViewDescriptions ( PresenterConfigurationAccess rConfiguration)
private

◆ RequestShutdownPresenterScreen()

void sdext::presenter::PresenterScreen::RequestShutdownPresenterScreen ( )

Do not call ShutdownPresenterScreen() directly.

Call RequestShutdownPresenterScreen() instead. It will issue an asynchronous call to ShutdownPresenterScreen() when that is safe.

Definition at line 546 of file PresenterScreen.cxx.

References mxConfigurationControllerWeak, mxSavedConfiguration, and sdext::presenter::PresenterFrameworkObserver::RunOnUpdateEnd().

◆ SetupConfiguration()

void sdext::presenter::PresenterScreen::SetupConfiguration ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::drawing::framework::XResourceId > &  rxAnchorId 
)
private

Read the current layout from the configuration and call ProcessLayout to bring it on to the screen.

Definition at line 624 of file PresenterScreen.cxx.

References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), maViewDescriptors, ProcessLayout(), ProcessViewDescriptions(), and sdext::presenter::PresenterConfigurationAccess::READ_ONLY.

Referenced by InitializePresenterScreen().

◆ SetupPaneFactory()

void sdext::presenter::PresenterScreen::SetupPaneFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
private

Create and initialize the factory for presenter view specific panes.

Definition at line 592 of file PresenterScreen.cxx.

References sdext::presenter::PresenterPaneFactory::Create(), mpPresenterController, mxController, and mxPaneFactory.

Referenced by InitializePresenterScreen().

◆ SetupView()

void sdext::presenter::PresenterScreen::SetupView ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::drawing::framework::XResourceId > &  rxAnchorId,
const OUString &  rsPaneURL,
const OUString &  rsViewURL,
const PresenterPaneContainer::ViewInitializationFunction rViewInitialization 
)
private

◆ SetupViewFactory()

void sdext::presenter::PresenterScreen::SetupViewFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
private

Create and initialize the factory for presenter view specific views.

Definition at line 608 of file PresenterScreen.cxx.

References sdext::presenter::PresenterViewFactory::Create(), mpPresenterController, mxController, and mxViewFactory.

Referenced by InitializePresenterScreen().

◆ ShutdownPresenterScreen()

void sdext::presenter::PresenterScreen::ShutdownPresenterScreen ( )
private

◆ SwitchMonitors()

void sdext::presenter::PresenterScreen::SwitchMonitors ( )

Switch / converse monitors between presenter view and slide output.

Definition at line 393 of file PresenterScreen.cxx.

References Any, Application::GetDisplayExternalScreen(), GetPresenterScreenNumber(), and mxModel.

Member Data Documentation

◆ maViewDescriptors

ViewDescriptorContainer sdext::presenter::PresenterScreen::maViewDescriptors
private

Definition at line 154 of file PresenterScreen.hxx.

Referenced by ProcessViewDescription(), SetupConfiguration(), and SetupView().

◆ mpPaneContainer

::rtl::Reference<PresenterPaneContainer> sdext::presenter::PresenterScreen::mpPaneContainer
private

◆ mpPresenterController

::rtl::Reference<PresenterController> sdext::presenter::PresenterScreen::mpPresenterController
private

◆ mxConfigurationControllerWeak

css::uno::WeakReference<css::drawing::framework::XConfigurationController> sdext::presenter::PresenterScreen::mxConfigurationControllerWeak
private

◆ mxContextWeak

css::uno::WeakReference<css::uno::XComponentContext> sdext::presenter::PresenterScreen::mxContextWeak
private

◆ mxController

rtl::Reference<::sd::DrawController> sdext::presenter::PresenterScreen::mxController
private

◆ mxModel

css::uno::Reference<css::frame::XModel2 > sdext::presenter::PresenterScreen::mxModel
private

Definition at line 131 of file PresenterScreen.hxx.

Referenced by disposing(), InitializePresenterScreen(), and SwitchMonitors().

◆ mxPaneFactory

css::uno::Reference<css::drawing::framework::XResourceFactory> sdext::presenter::PresenterScreen::mxPaneFactory
private

Definition at line 139 of file PresenterScreen.hxx.

Referenced by disposing(), SetupPaneFactory(), and ShutdownPresenterScreen().

◆ mxSavedConfiguration

css::uno::Reference<css::drawing::framework::XConfiguration> sdext::presenter::PresenterScreen::mxSavedConfiguration
private

◆ mxViewFactory

css::uno::Reference<css::drawing::framework::XResourceFactory> sdext::presenter::PresenterScreen::mxViewFactory
private

Definition at line 140 of file PresenterScreen.hxx.

Referenced by disposing(), SetupViewFactory(), and ShutdownPresenterScreen().


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