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

The PresenterPaneFactory provides a fixed set of panes. More...

#include <PresenterPaneFactory.hxx>

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

Public Member Functions

virtual ~PresenterPaneFactory () override
 
virtual void SAL_CALL disposing () override
 
virtual css::uno::Reference< css::drawing::framework::XResource > SAL_CALL createResource (const css::uno::Reference< css::drawing::framework::XResourceId > &rxPaneId) override
 
virtual void SAL_CALL releaseResource (const css::uno::Reference< css::drawing::framework::XResource > &rxPane) override
 

Static Public Member Functions

static css::uno::Reference< css::drawing::framework::XResourceFactory > Create (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const rtl::Reference<::sd::DrawController > &rxController, const ::rtl::Reference< PresenterController > &rpPresenterController)
 Create a new instance of this class and register it as resource factory in the drawing framework of the given controller. More...
 

Static Public Attributes

static constexpr OUStringLiteral msCurrentSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane1"
 
static constexpr OUStringLiteral msNextSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane2"
 
static constexpr OUStringLiteral msNotesPaneURL = u"private:resource/pane/Presenter/Pane3"
 
static constexpr OUStringLiteral msToolBarPaneURL = u"private:resource/pane/Presenter/Pane4"
 
static constexpr OUStringLiteral msSlideSorterPaneURL = u"private:resource/pane/Presenter/Pane5"
 

Private Types

typedef ::std::map< OUString, css::uno::Reference< css::drawing::framework::XResource > > ResourceContainer
 

Private Member Functions

 PresenterPaneFactory (const css::uno::Reference< css::uno::XComponentContext > &rxContext, ::rtl::Reference< PresenterController > xPresenterController)
 
void Register (const rtl::Reference<::sd::DrawController > &rxController)
 
css::uno::Reference< css::drawing::framework::XResource > CreatePane (const css::uno::Reference< css::drawing::framework::XResourceId > &rxPaneId)
 
css::uno::Reference< css::drawing::framework::XResource > CreatePane (const css::uno::Reference< css::drawing::framework::XResourceId > &rxPaneId, const css::uno::Reference< css::drawing::framework::XPane > &rxParentPane, const bool bIsSpritePane)
 
void ThrowIfDisposed () const
 

Private Attributes

css::uno::WeakReference< css::uno::XComponentContext > mxComponentContextWeak
 
css::uno::WeakReference< css::drawing::framework::XConfigurationController > mxConfigurationControllerWeak
 
::rtl::Reference< PresenterControllermpPresenterController
 
std::unique_ptr< ResourceContainermpResourceCache
 

Additional Inherited Members

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

Detailed Description

The PresenterPaneFactory provides a fixed set of panes.

In order to make the presenter screen more easily extendable in the future the set of supported panes could be made extendable on demand.

Definition at line 49 of file PresenterPaneFactory.hxx.

Member Typedef Documentation

◆ ResourceContainer

typedef ::std::map<OUString, css::uno::Reference<css::drawing::framework::XResource> > sdext::presenter::PresenterPaneFactory::ResourceContainer
private

Definition at line 95 of file PresenterPaneFactory.hxx.

Constructor & Destructor Documentation

◆ ~PresenterPaneFactory()

sdext::presenter::PresenterPaneFactory::~PresenterPaneFactory ( )
overridevirtual

Definition at line 86 of file PresenterPaneFactory.cxx.

◆ PresenterPaneFactory()

sdext::presenter::PresenterPaneFactory::PresenterPaneFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
::rtl::Reference< PresenterController xPresenterController 
)
private

Definition at line 50 of file PresenterPaneFactory.cxx.

References m_aMutex.

Referenced by Create().

Member Function Documentation

◆ Create()

Reference< drawing::framework::XResourceFactory > sdext::presenter::PresenterPaneFactory::Create ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const rtl::Reference<::sd::DrawController > &  rxController,
const ::rtl::Reference< PresenterController > &  rpPresenterController 
)
static

Create a new instance of this class and register it as resource factory in the drawing framework of the given controller.

This registration keeps it alive. When the drawing framework is shut down and releases its reference to the factory then the factory is destroyed.

Definition at line 39 of file PresenterPaneFactory.cxx.

References PresenterPaneFactory().

Referenced by sdext::presenter::PresenterScreen::SetupPaneFactory().

◆ CreatePane() [1/2]

css::uno::Reference< css::drawing::framework::XResource > sdext::presenter::PresenterPaneFactory::CreatePane ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxPaneId)
private

Referenced by createResource().

◆ CreatePane() [2/2]

css::uno::Reference< css::drawing::framework::XResource > sdext::presenter::PresenterPaneFactory::CreatePane ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxPaneId,
const css::uno::Reference< css::drawing::framework::XPane > &  rxParentPane,
const bool  bIsSpritePane 
)
private

◆ createResource()

Reference< XResource > SAL_CALL sdext::presenter::PresenterPaneFactory::createResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxPaneId)
overridevirtual

◆ disposing()

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

Definition at line 90 of file PresenterPaneFactory.cxx.

References mpResourceCache, and mxConfigurationControllerWeak.

◆ Register()

void sdext::presenter::PresenterPaneFactory::Register ( const rtl::Reference<::sd::DrawController > &  rxController)
private

Definition at line 59 of file PresenterPaneFactory.cxx.

References mxConfigurationControllerWeak.

◆ releaseResource()

void SAL_CALL sdext::presenter::PresenterPaneFactory::releaseResource ( const css::uno::Reference< css::drawing::framework::XResource > &  rxPane)
overridevirtual

◆ ThrowIfDisposed()

void sdext::presenter::PresenterPaneFactory::ThrowIfDisposed ( ) const
private
Exceptions
css::lang::DisposedException

Definition at line 271 of file PresenterPaneFactory.cxx.

Referenced by createResource(), and releaseResource().

Member Data Documentation

◆ mpPresenterController

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

Definition at line 93 of file PresenterPaneFactory.hxx.

Referenced by createResource(), and releaseResource().

◆ mpResourceCache

std::unique_ptr<ResourceContainer> sdext::presenter::PresenterPaneFactory::mpResourceCache
private

Definition at line 96 of file PresenterPaneFactory.hxx.

Referenced by createResource(), disposing(), and releaseResource().

◆ msCurrentSlidePreviewPaneURL

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msCurrentSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane1"
staticconstexpr

◆ msNextSlidePreviewPaneURL

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msNextSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane2"
staticconstexpr

Definition at line 56 of file PresenterPaneFactory.hxx.

◆ msNotesPaneURL

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msNotesPaneURL = u"private:resource/pane/Presenter/Pane3"
staticconstexpr

◆ msSlideSorterPaneURL

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msSlideSorterPaneURL = u"private:resource/pane/Presenter/Pane5"
staticconstexpr

◆ msToolBarPaneURL

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msToolBarPaneURL = u"private:resource/pane/Presenter/Pane4"
staticconstexpr

Definition at line 59 of file PresenterPaneFactory.hxx.

◆ mxComponentContextWeak

css::uno::WeakReference<css::uno::XComponentContext> sdext::presenter::PresenterPaneFactory::mxComponentContextWeak
private

Definition at line 90 of file PresenterPaneFactory.hxx.

◆ mxConfigurationControllerWeak

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

Definition at line 92 of file PresenterPaneFactory.hxx.

Referenced by disposing(), and Register().


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