LibreOffice Module sd (master) 1
|
#include <PresenterScreen.hxx>
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 | |
PresenterScreen & | operator= (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, ViewDescriptor > | ViewDescriptorContainer |
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::DrawController > | mxController |
css::uno::WeakReference< css::drawing::framework::XConfigurationController > | mxConfigurationControllerWeak |
css::uno::WeakReference< css::uno::XComponentContext > | mxContextWeak |
::rtl::Reference< PresenterController > | mpPresenterController |
css::uno::Reference< css::drawing::framework::XConfiguration > | mxSavedConfiguration |
::rtl::Reference< PresenterPaneContainer > | mpPaneContainer |
css::uno::Reference< css::drawing::framework::XResourceFactory > | mxPaneFactory |
css::uno::Reference< css::drawing::framework::XResourceFactory > | mxViewFactory |
ViewDescriptorContainer | maViewDescriptors |
![]() | |
mutable::osl::Mutex | m_aMutex |
Definition at line 93 of file PresenterScreen.hxx.
|
private |
Definition at line 153 of file PresenterScreen.hxx.
sdext::presenter::PresenterScreen::PresenterScreen | ( | const css::uno::Reference< css::uno::XComponentContext > & | rxContext, |
css::uno::Reference< css::frame::XModel2 > | xModel | ||
) |
|
overridevirtual |
Definition at line 249 of file PresenterScreen.cxx.
|
delete |
|
overridevirtual |
Definition at line 277 of file PresenterScreen.cxx.
References mxConfigurationControllerWeak, mxModel, mxPaneFactory, mxSavedConfiguration, and mxViewFactory.
|
overridevirtual |
|
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().
|
staticprivate |
Definition at line 496 of file PresenterScreen.cxx.
References SAL_INFO.
Referenced by GetPresenterScreenNumber().
|
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.
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().
void sdext::presenter::PresenterScreen::InitializePresenterScreen | ( | ) |
Make the presenter screen visible.
Definition at line 304 of file PresenterScreen.cxx.
References Exception, GetMainPaneId(), mpPaneContainer, mpPresenterController, mxConfigurationControllerWeak, mxContextWeak, mxController, mxModel, mxSavedConfiguration, SetupConfiguration(), SetupPaneFactory(), and SetupViewFactory().
|
static |
Definition at line 253 of file PresenterScreen.cxx.
References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and sdext::presenter::PresenterConfigurationAccess::READ_ONLY.
|
static |
Definition at line 265 of file PresenterScreen.cxx.
References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and sdext::presenter::PresenterConfigurationAccess::READ_ONLY.
Referenced by GetMainPaneId(), and GetPresenterScreenNumber().
|
delete |
|
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().
|
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().
|
private |
Called by ProcessViewDescriptions for a single entry.
Definition at line 769 of file PresenterScreen.cxx.
References Exception, maViewDescriptors, sdext::presenter::PresenterScreen::ViewDescriptor::mbIsOpaque, sdext::presenter::PresenterScreen::ViewDescriptor::msAccessibleTitle, and sdext::presenter::PresenterScreen::ViewDescriptor::msTitle.
Referenced by ProcessViewDescriptions().
|
private |
Read the view descriptions from the configuration.
Definition at line 700 of file PresenterScreen.cxx.
References aProperties, sdext::presenter::PresenterConfigurationAccess::ForAll(), sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and ProcessViewDescription().
Referenced by SetupConfiguration().
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().
|
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().
|
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().
|
private |
Definition at line 793 of file PresenterScreen.cxx.
References maViewDescriptors, sdext::presenter::PresenterScreen::ViewDescriptor::mbIsOpaque, mpPaneContainer, sdext::presenter::PresenterScreen::ViewDescriptor::msAccessibleTitle, sdext::presenter::PresenterScreen::ViewDescriptor::msTitle, and mxConfigurationControllerWeak.
Referenced by ProcessComponent().
|
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().
|
private |
Definition at line 572 of file PresenterScreen.cxx.
References mpPaneContainer, mpPresenterController, mxContextWeak, mxPaneFactory, and mxViewFactory.
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.
|
private |
Definition at line 154 of file PresenterScreen.hxx.
Referenced by ProcessViewDescription(), SetupConfiguration(), and SetupView().
|
private |
Definition at line 138 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupView(), and ShutdownPresenterScreen().
|
private |
Definition at line 136 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupPaneFactory(), SetupViewFactory(), and ShutdownPresenterScreen().
|
private |
Definition at line 134 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), RequestShutdownPresenterScreen(), and SetupView().
|
private |
Definition at line 135 of file PresenterScreen.hxx.
Referenced by GetMainPaneId(), GetPresenterScreenNumber(), InitializePresenterScreen(), and ShutdownPresenterScreen().
|
private |
Definition at line 132 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupPaneFactory(), and SetupViewFactory().
|
private |
Definition at line 131 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), and SwitchMonitors().
|
private |
Definition at line 139 of file PresenterScreen.hxx.
Referenced by disposing(), SetupPaneFactory(), and ShutdownPresenterScreen().
|
private |
Definition at line 137 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), and RequestShutdownPresenterScreen().
|
private |
Definition at line 140 of file PresenterScreen.hxx.
Referenced by disposing(), SetupViewFactory(), and ShutdownPresenterScreen().