20#ifndef INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERSCREEN_HXX
21#define INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERSCREEN_HXX
27#include <com/sun/star/frame/XController.hpp>
28#include <com/sun/star/frame/XModel2.hpp>
29#include <com/sun/star/task/XJob.hpp>
30#include <com/sun/star/lang/XServiceInfo.hpp>
31#include <com/sun/star/drawing/framework/XConfigurationController.hpp>
32#include <com/sun/star/presentation/XPresentation2.hpp>
38namespace sd {
class DrawController; }
42class PresenterController;
44typedef ::cppu::WeakComponentImplHelper <
45 css::task::XJob, css::lang::XServiceInfo
61 virtual void SAL_CALL
disposing()
override;
69 virtual css::uno::Any SAL_CALL
execute(
70 const css::uno::Sequence<css::beans::NamedValue >& Arguments)
override;
90typedef ::cppu::WeakComponentImplHelper <
91 css::lang::XEventListener
99 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
100 css::uno::Reference<css::frame::XModel2> xModel);
105 virtual void SAL_CALL
disposing()
override;
108 const css::uno::Reference<css::uno::XComponentContext>& rxContext);
110 const css::uno::Reference<css::uno::XComponentContext>& rxContext);
128 virtual void SAL_CALL
disposing (
const css::lang::EventObject& rEvent)
override;
131 css::uno::Reference<css::frame::XModel2 >
mxModel;
133 css::uno::WeakReference<css::drawing::framework::XConfigurationController>
139 css::uno::Reference<css::drawing::framework::XResourceFactory>
mxPaneFactory;
140 css::uno::Reference<css::drawing::framework::XResourceFactory>
mxViewFactory;
161 const css::uno::Reference<css::uno::XComponentContext>& rxContext);
166 const css::uno::Reference<css::uno::XComponentContext>& rxContext);
172 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
173 const css::uno::Reference<css::drawing::framework::XResourceId>& rxAnchorId);
181 std::u16string_view rsLayoutName,
182 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
183 const css::uno::Reference<css::drawing::framework::XResourceId>& rxAnchorId);
189 const ::std::vector<css::uno::Any>& rValues,
190 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
191 const css::uno::Reference<css::drawing::framework::XResourceId>& rxAnchorId);
201 const ::std::vector<css::uno::Any>& rValues);
204 const css::uno::Reference<css::uno::XComponentContext>& rxContext,
205 const css::uno::Reference<css::drawing::framework::XResourceId>& rxAnchorId,
206 const OUString& rsPaneURL,
207 const OUString& rsViewURL,
217 const css::uno::Reference<css::presentation::XPresentation2>& rxPresentation)
const;
224 css::uno::Reference<css::drawing::framework::XResourceId>
GetMainPaneId (
225 const css::uno::Reference<css::presentation::XPresentation2>& rxPresentation,
226 const css::uno::Reference<com::sun::star::uno::XComponentContext>& xContext)
const;
This class gives access to the configuration.
::std::function< void(const css::uno::Reference< css::drawing::framework::XView > &)> ViewInitializationFunction
The PresenterScreenJob service is instantiated every time a document is created or loaded.
virtual void SAL_CALL disposing() override
virtual ~PresenterScreenJob() override
virtual css::uno::Any SAL_CALL execute(const css::uno::Sequence< css::beans::NamedValue > &Arguments) override
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
PresenterScreenJob(const PresenterScreenJob &)=delete
PresenterScreenJob & operator=(const PresenterScreenJob &)=delete
css::uno::Reference< css::uno::XComponentContext > mxComponentContext
PresenterScreenJob(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
OUString msAccessibleTitle
rtl::Reference<::sd::DrawController > mxController
css::uno::Reference< css::drawing::framework::XConfiguration > mxSavedConfiguration
virtual ~PresenterScreen() override
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.
virtual void SAL_CALL disposing() override
PresenterScreen(const PresenterScreen &)=delete
css::uno::Reference< css::frame::XModel2 > mxModel
static bool isPresenterScreenFullScreen(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
void ShutdownPresenterScreen()
static bool isPresenterScreenEnabled(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
::rtl::Reference< PresenterController > mpPresenterController
void RequestShutdownPresenterScreen()
Do not call ShutdownPresenterScreen() directly.
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)
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 sc...
::std::map< OUString, ViewDescriptor > ViewDescriptorContainer
ViewDescriptorContainer maViewDescriptors
void InitializePresenterScreen()
Make the presenter screen visible.
css::uno::WeakReference< css::uno::XComponentContext > mxContextWeak
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.
void ProcessViewDescription(const ::std::vector< css::uno::Any > &rValues)
Called by ProcessViewDescriptions for a single entry.
css::uno::Reference< css::drawing::framework::XResourceFactory > mxPaneFactory
void SetupPaneFactory(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
Create and initialize the factory for presenter view specific panes.
void ProcessViewDescriptions(PresenterConfigurationAccess &rConfiguration)
Read the view descriptions from the configuration.
static sal_Int32 GetPresenterScreenFromScreen(sal_Int32 nPresentationScreen)
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 th...
PresenterScreen(const css::uno::Reference< css::uno::XComponentContext > &rxContext, css::uno::Reference< css::frame::XModel2 > xModel)
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.
void SetupViewFactory(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
Create and initialize the factory for presenter view specific views.
virtual void SAL_CALL disposing(const css::lang::EventObject &rEvent) override
void SwitchMonitors()
Switch / converse monitors between presenter view and slide output.
css::uno::Reference< css::drawing::framework::XResourceFactory > mxViewFactory
PresenterScreen & operator=(const PresenterScreen &)=delete
::rtl::Reference< PresenterPaneContainer > mpPaneContainer
css::uno::WeakReference< css::drawing::framework::XConfigurationController > mxConfigurationControllerWeak
::cppu::WeakComponentImplHelper< css::task::XJob, css::lang::XServiceInfo > PresenterScreenJobInterfaceBase
::cppu::WeakComponentImplHelper< css::lang::XEventListener > PresenterScreenInterfaceBase
This is the bootstrap class of the presenter screen.