LibreOffice Module sdext (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 css::uno::Reference< css::frame::XController > &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, const ::rtl::Reference< PresenterController > &rpPresenterController)
 
void Register (const css::uno::Reference< css::frame::XController > &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 47 of file PresenterPaneFactory.hxx.

Member Typedef Documentation

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

Definition at line 93 of file PresenterPaneFactory.hxx.

Constructor & Destructor Documentation

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

Definition at line 89 of file PresenterPaneFactory.cxx.

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

Definition at line 50 of file PresenterPaneFactory.cxx.

References m_aMutex.

Referenced by Create().

Member Function Documentation

Reference< drawing::framework::XResourceFactory > sdext::presenter::PresenterPaneFactory::Create ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::frame::XController > &  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 38 of file PresenterPaneFactory.cxx.

References PresenterPaneFactory().

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

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

Referenced by createResource().

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
Reference< XResource > SAL_CALL sdext::presenter::PresenterPaneFactory::createResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxPaneId)
overridevirtual
void SAL_CALL sdext::presenter::PresenterPaneFactory::disposing ( )
overridevirtual

Definition at line 93 of file PresenterPaneFactory.cxx.

References mpResourceCache, and mxConfigurationControllerWeak.

void sdext::presenter::PresenterPaneFactory::Register ( const css::uno::Reference< css::frame::XController > &  rxController)
private

Definition at line 61 of file PresenterPaneFactory.cxx.

References mxConfigurationControllerWeak.

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

Definition at line 276 of file PresenterPaneFactory.cxx.

Referenced by createResource(), and releaseResource().

Member Data Documentation

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

Definition at line 91 of file PresenterPaneFactory.hxx.

Referenced by createResource(), and releaseResource().

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

Definition at line 94 of file PresenterPaneFactory.hxx.

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

constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msCurrentSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane1"
static
constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msNextSlidePreviewPaneURL = u"private:resource/pane/Presenter/Pane2"
static
constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msNotesPaneURL = u"private:resource/pane/Presenter/Pane3"
static
constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msSlideSorterPaneURL = u"private:resource/pane/Presenter/Pane5"
static
constexpr OUStringLiteral sdext::presenter::PresenterPaneFactory::msToolBarPaneURL = u"private:resource/pane/Presenter/Pane4"
static
css::uno::WeakReference<css::uno::XComponentContext> sdext::presenter::PresenterPaneFactory::mxComponentContextWeak
private

Definition at line 88 of file PresenterPaneFactory.hxx.

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

Definition at line 90 of file PresenterPaneFactory.hxx.

Referenced by disposing(), and Register().


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