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::PresenterViewFactory Class Reference

Factory of the presenter screen specific views. More...

#include <PresenterViewFactory.hxx>

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

Public Member Functions

virtual ~PresenterViewFactory () 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 > &rxViewId) 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 msCurrentSlidePreviewViewURL = u"private:resource/view/Presenter/CurrentSlidePreview"
 
static constexpr OUStringLiteral msNextSlidePreviewViewURL = u"private:resource/view/Presenter/NextSlidePreview"
 
static constexpr OUStringLiteral msNotesViewURL = u"private:resource/view/Presenter/Notes"
 
static constexpr OUStringLiteral msToolBarViewURL = u"private:resource/view/Presenter/ToolBar"
 
static constexpr OUStringLiteral msSlideSorterURL = u"private:resource/view/Presenter/SlideSorter"
 
static constexpr OUStringLiteral msHelpViewURL = u"private:resource/view/Presenter/Help"
 

Private Types

typedef ::std::pair< css::uno::Reference< css::drawing::framework::XView >, css::uno::Reference< css::drawing::framework::XPane > > ViewResourceDescriptor
 
typedef ::std::map< OUString, ViewResourceDescriptorResourceContainer
 

Private Member Functions

 PresenterViewFactory (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XController > &rxController, const ::rtl::Reference< PresenterController > &rpPresenterController)
 
void Register (const css::uno::Reference< css::frame::XController > &rxController)
 
css::uno::Reference< css::drawing::framework::XView > CreateSlideShowView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId) const
 
css::uno::Reference< css::drawing::framework::XView > CreateSlidePreviewView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId, const css::uno::Reference< css::drawing::framework::XPane > &rxPane) const
 
css::uno::Reference< css::drawing::framework::XView > CreateToolBarView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId) const
 
css::uno::Reference< css::drawing::framework::XView > CreateNotesView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId) const
 
css::uno::Reference< css::drawing::framework::XView > CreateSlideSorterView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId) const
 
css::uno::Reference< css::drawing::framework::XView > CreateHelpView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId) const
 
css::uno::Reference< css::drawing::framework::XResource > GetViewFromCache (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId, const css::uno::Reference< css::drawing::framework::XPane > &rxAnchorPane) const
 
css::uno::Reference< css::drawing::framework::XResource > CreateView (const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId, const css::uno::Reference< css::drawing::framework::XPane > &rxAnchorPane)
 
void ThrowIfDisposed () const
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > mxComponentContext
 
css::uno::Reference< css::drawing::framework::XConfigurationController > mxConfigurationController
 
css::uno::WeakReference< css::frame::XController > mxControllerWeak
 
::rtl::Reference< PresenterControllermpPresenterController
 
std::unique_ptr< ResourceContainermpResourceCache
 

Additional Inherited Members

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

Detailed Description

Factory of the presenter screen specific views.

The supported set of views includes: a life view of the current slide, a static preview of the next slide, the notes of the current slide, a tool bar

Definition at line 73 of file PresenterViewFactory.hxx.

Member Typedef Documentation

Definition at line 120 of file PresenterViewFactory.hxx.

typedef ::std::pair<css::uno::Reference<css::drawing::framework::XView>, css::uno::Reference<css::drawing::framework::XPane> > sdext::presenter::PresenterViewFactory::ViewResourceDescriptor
private

Definition at line 119 of file PresenterViewFactory.hxx.

Constructor & Destructor Documentation

sdext::presenter::PresenterViewFactory::~PresenterViewFactory ( )
overridevirtual

Definition at line 148 of file PresenterViewFactory.cxx.

sdext::presenter::PresenterViewFactory::PresenterViewFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const css::uno::Reference< css::frame::XController > &  rxController,
const ::rtl::Reference< PresenterController > &  rpPresenterController 
)
private

Definition at line 94 of file PresenterViewFactory.cxx.

References m_aMutex.

Referenced by Create().

Member Function Documentation

Reference< drawing::framework::XResourceFactory > sdext::presenter::PresenterViewFactory::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 107 of file PresenterViewFactory.cxx.

References PresenterViewFactory().

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

Reference< XView > sdext::presenter::PresenterViewFactory::CreateHelpView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId) const
private

Definition at line 463 of file PresenterViewFactory.cxx.

References mpPresenterController, mxComponentContext, and mxControllerWeak.

Referenced by CreateView().

Reference< XView > sdext::presenter::PresenterViewFactory::CreateNotesView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId) const
private
Reference< XResource > SAL_CALL sdext::presenter::PresenterViewFactory::createResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId)
overridevirtual
Reference< XView > sdext::presenter::PresenterViewFactory::CreateSlidePreviewView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId,
const css::uno::Reference< css::drawing::framework::XPane > &  rxPane 
) const
private
Reference< XView > sdext::presenter::PresenterViewFactory::CreateSlideShowView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId) const
private
Reference< XView > sdext::presenter::PresenterViewFactory::CreateSlideSorterView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId) const
private
Reference< XView > sdext::presenter::PresenterViewFactory::CreateToolBarView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId) const
private

Definition at line 397 of file PresenterViewFactory.cxx.

References mpPresenterController, mxComponentContext, and mxControllerWeak.

Referenced by CreateView().

Reference< XResource > sdext::presenter::PresenterViewFactory::CreateView ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId,
const css::uno::Reference< css::drawing::framework::XPane > &  rxAnchorPane 
)
private
void SAL_CALL sdext::presenter::PresenterViewFactory::disposing ( )
overridevirtual

Definition at line 152 of file PresenterViewFactory.cxx.

References mpResourceCache, and mxConfigurationController.

Reference< XResource > sdext::presenter::PresenterViewFactory::GetViewFromCache ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxViewId,
const css::uno::Reference< css::drawing::framework::XPane > &  rxAnchorPane 
) const
private
void sdext::presenter::PresenterViewFactory::Register ( const css::uno::Reference< css::frame::XController > &  rxController)
private
void SAL_CALL sdext::presenter::PresenterViewFactory::releaseResource ( const css::uno::Reference< css::drawing::framework::XResource > &  rxPane)
overridevirtual
void sdext::presenter::PresenterViewFactory::ThrowIfDisposed ( ) const
private
Exceptions
css::lang::DisposedException

Definition at line 473 of file PresenterViewFactory.cxx.

Referenced by createResource(), and releaseResource().

Member Data Documentation

::rtl::Reference<PresenterController> sdext::presenter::PresenterViewFactory::mpPresenterController
private
std::unique_ptr<ResourceContainer> sdext::presenter::PresenterViewFactory::mpResourceCache
private

Definition at line 121 of file PresenterViewFactory.hxx.

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

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msCurrentSlidePreviewViewURL = u"private:resource/view/Presenter/CurrentSlidePreview"
static
constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msHelpViewURL = u"private:resource/view/Presenter/Help"
static
constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msNextSlidePreviewViewURL = u"private:resource/view/Presenter/NextSlidePreview"
static
constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msNotesViewURL = u"private:resource/view/Presenter/Notes"
static
constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msSlideSorterURL = u"private:resource/view/Presenter/SlideSorter"
static
constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msToolBarViewURL = u"private:resource/view/Presenter/ToolBar"
static
css::uno::Reference<css::uno::XComponentContext> sdext::presenter::PresenterViewFactory::mxComponentContext
private
css::uno::Reference<css::drawing::framework::XConfigurationController> sdext::presenter::PresenterViewFactory::mxConfigurationController
private
css::uno::WeakReference<css::frame::XController> sdext::presenter::PresenterViewFactory::mxControllerWeak
private

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