LibreOffice Module sdext (master)
1
|
#include <PresenterScreen.hxx>
Classes | |
class | ViewDescriptor |
Public Member Functions | |
PresenterScreen (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XModel2 > &rxModel) | |
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) |
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 |
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 |
css::uno::Reference< css::frame::XController > | 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 91 of file PresenterScreen.hxx.
|
private |
Definition at line 148 of file PresenterScreen.hxx.
sdext::presenter::PresenterScreen::PresenterScreen | ( | const css::uno::Reference< css::uno::XComponentContext > & | rxContext, |
const css::uno::Reference< css::frame::XModel2 > & | rxModel | ||
) |
|
overridevirtual |
Definition at line 248 of file PresenterScreen.cxx.
|
delete |
|
overridevirtual |
Definition at line 263 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 507 of file PresenterScreen.cxx.
References GetPresenterScreenNumber(), sdext::presenter::PresenterHelper::msFullScreenPaneURL, and mxContextWeak.
Referenced by InitializePresenterScreen().
|
staticprivate |
Definition at line 480 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 410 of file PresenterScreen.cxx.
References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), Application::GetDisplayExternalScreen(), GetPresenterScreenFromScreen(), Application::GetScreenCount(), 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 290 of file PresenterScreen.cxx.
References Exception, GetMainPaneId(), mpPaneContainer, mpPresenterController, mxConfigurationControllerWeak, mxContextWeak, mxController, mxModel, mxSavedConfiguration, SetupConfiguration(), SetupPaneFactory(), and SetupViewFactory().
|
static |
Definition at line 252 of file PresenterScreen.cxx.
References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and sdext::presenter::PresenterConfigurationAccess::READ_ONLY.
|
delete |
|
private |
Called by ProcessLayout for a single entry of a Layouts configuration list.
Definition at line 707 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 623 of file PresenterScreen.cxx.
References aProperties, sdext::presenter::PresenterConfigurationAccess::ForAll(), sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and ProcessComponent().
Referenced by SetupConfiguration().
|
private |
Called by ProcessViewDescriptions for a single entry.
Definition at line 746 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 677 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 523 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 601 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 569 of file PresenterScreen.cxx.
References sdext::presenter::PresenterPaneFactory::Create(), mpPresenterController, mxController, and mxPaneFactory.
Referenced by InitializePresenterScreen().
|
private |
Definition at line 770 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 585 of file PresenterScreen.cxx.
References sdext::presenter::PresenterViewFactory::Create(), mpPresenterController, mxController, and mxViewFactory.
Referenced by InitializePresenterScreen().
|
private |
Definition at line 549 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 379 of file PresenterScreen.cxx.
References Any, Application::GetDisplayExternalScreen(), GetPresenterScreenNumber(), and mxModel.
Referenced by sdext::presenter::PresenterController::SwitchMonitors().
|
private |
Definition at line 149 of file PresenterScreen.hxx.
Referenced by ProcessViewDescription(), SetupConfiguration(), and SetupView().
|
private |
Definition at line 133 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupView(), and ShutdownPresenterScreen().
|
private |
Definition at line 131 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupPaneFactory(), SetupViewFactory(), and ShutdownPresenterScreen().
|
private |
Definition at line 129 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), RequestShutdownPresenterScreen(), and SetupView().
|
private |
Definition at line 130 of file PresenterScreen.hxx.
Referenced by GetMainPaneId(), GetPresenterScreenNumber(), InitializePresenterScreen(), and ShutdownPresenterScreen().
|
private |
Definition at line 127 of file PresenterScreen.hxx.
Referenced by InitializePresenterScreen(), SetupPaneFactory(), and SetupViewFactory().
|
private |
Definition at line 126 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), and SwitchMonitors().
|
private |
Definition at line 134 of file PresenterScreen.hxx.
Referenced by disposing(), SetupPaneFactory(), and ShutdownPresenterScreen().
|
private |
Definition at line 132 of file PresenterScreen.hxx.
Referenced by disposing(), InitializePresenterScreen(), and RequestShutdownPresenterScreen().
|
private |
Definition at line 135 of file PresenterScreen.hxx.
Referenced by disposing(), SetupViewFactory(), and ShutdownPresenterScreen().