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::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 ::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 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 rtl::Reference<::sd::DrawController > &rxController, ::rtl::Reference< PresenterController > pPresenterController)
 
void Register (const ::rtl::Reference<::sd::DrawController > &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
 
unotools::WeakReference<::sd::DrawControllermxControllerWeak
 
::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 76 of file PresenterViewFactory.hxx.

Member Typedef Documentation

◆ ResourceContainer

Definition at line 123 of file PresenterViewFactory.hxx.

◆ ViewResourceDescriptor

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 122 of file PresenterViewFactory.hxx.

Constructor & Destructor Documentation

◆ ~PresenterViewFactory()

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

Definition at line 145 of file PresenterViewFactory.cxx.

◆ PresenterViewFactory()

sdext::presenter::PresenterViewFactory::PresenterViewFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
const rtl::Reference<::sd::DrawController > &  rxController,
::rtl::Reference< PresenterController pPresenterController 
)
private

Definition at line 95 of file PresenterViewFactory.cxx.

References m_aMutex.

Referenced by Create().

Member Function Documentation

◆ Create()

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

References PresenterViewFactory().

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

◆ CreateHelpView()

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

Definition at line 460 of file PresenterViewFactory.cxx.

References mpPresenterController, mxComponentContext, and mxControllerWeak.

Referenced by CreateView().

◆ CreateNotesView()

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

◆ createResource()

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

◆ CreateSlidePreviewView()

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

◆ CreateSlideShowView()

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

◆ CreateSlideSorterView()

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

◆ CreateToolBarView()

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

Definition at line 394 of file PresenterViewFactory.cxx.

References mpPresenterController, mxComponentContext, and mxControllerWeak.

Referenced by CreateView().

◆ 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

◆ disposing()

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

Definition at line 149 of file PresenterViewFactory.cxx.

References mpResourceCache, and mxConfigurationController.

◆ GetViewFromCache()

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

Definition at line 252 of file PresenterViewFactory.cxx.

References mpResourceCache.

Referenced by createResource().

◆ Register()

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

◆ releaseResource()

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

◆ ThrowIfDisposed()

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

Definition at line 470 of file PresenterViewFactory.cxx.

Referenced by createResource(), and releaseResource().

Member Data Documentation

◆ mpPresenterController

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

◆ mpResourceCache

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

Definition at line 124 of file PresenterViewFactory.hxx.

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

◆ msCurrentSlidePreviewViewURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msCurrentSlidePreviewViewURL = u"private:resource/view/Presenter/CurrentSlidePreview"
staticconstexpr

◆ msHelpViewURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msHelpViewURL = u"private:resource/view/Presenter/Help"
staticconstexpr

◆ msNextSlidePreviewViewURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msNextSlidePreviewViewURL = u"private:resource/view/Presenter/NextSlidePreview"
staticconstexpr

◆ msNotesViewURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msNotesViewURL = u"private:resource/view/Presenter/Notes"
staticconstexpr

◆ msSlideSorterURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msSlideSorterURL = u"private:resource/view/Presenter/SlideSorter"
staticconstexpr

◆ msToolBarViewURL

constexpr OUStringLiteral sdext::presenter::PresenterViewFactory::msToolBarViewURL = u"private:resource/view/Presenter/ToolBar"
staticconstexpr

◆ mxComponentContext

css::uno::Reference<css::uno::XComponentContext> sdext::presenter::PresenterViewFactory::mxComponentContext
private

◆ mxConfigurationController

css::uno::Reference<css::drawing::framework::XConfigurationController> sdext::presenter::PresenterViewFactory::mxConfigurationController
private

◆ mxControllerWeak

unotools::WeakReference<::sd::DrawController> sdext::presenter::PresenterViewFactory::mxControllerWeak
private

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