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

A simple manager of the positions of the panes of the presenter screen. More...

#include <PresenterWindowManager.hxx>

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

Public Types

enum  LayoutMode {
  LM_Standard ,
  LM_Notes ,
  LM_Generic
}
 
enum  ViewMode {
  VM_Standard ,
  VM_Notes ,
  VM_SlideOverview ,
  VM_Help
}
 

Public Member Functions

 PresenterWindowManager (const css::uno::Reference< css::uno::XComponentContext > &rxContext, ::rtl::Reference< PresenterPaneContainer > pPaneContainer, ::rtl::Reference< PresenterController > pPresenterController)
 
virtual ~PresenterWindowManager () override
 
 PresenterWindowManager (const PresenterWindowManager &)=delete
 
PresenterWindowManageroperator= (const PresenterWindowManager &)=delete
 
void SAL_CALL disposing () override
 
void SetParentPane (const css::uno::Reference< css::drawing::framework::XPane > &rxPane)
 
void SetTheme (const std::shared_ptr< PresenterTheme > &rpTheme)
 
void NotifyViewCreation (const css::uno::Reference< css::drawing::framework::XView > &rxView)
 
void SetPanePosSizeAbsolute (const OUString &rsPaneURL, const double nX, const double nY, const double nWidth, const double nHeight)
 
void SetPaneBorderPainter (const ::rtl::Reference< PresenterPaneBorderPainter > &rPainter)
 
void Update ()
 
void Layout ()
 
void SetSlideSorterState (bool bIsActive)
 
void SetHelpViewState (bool bIsActive)
 
void SetPauseState (bool bIsPaused)
 
void SetViewMode (const ViewMode eMode)
 The high-level method to switch the view mode. More...
 
ViewMode GetViewMode () const
 
void RestoreViewMode ()
 Restore the layout mode (or slide sorter state) from the configuration. More...
 
void AddLayoutListener (const css::uno::Reference< css::document::XEventListener > &rxListener)
 
void RemoveLayoutListener (const css::uno::Reference< css::document::XEventListener > &rxListener)
 
virtual void SAL_CALL windowResized (const css::awt::WindowEvent &rEvent) override
 
virtual void SAL_CALL windowMoved (const css::awt::WindowEvent &rEvent) override
 
virtual void SAL_CALL windowShown (const css::lang::EventObject &rEvent) override
 
virtual void SAL_CALL windowHidden (const css::lang::EventObject &rEvent) override
 
virtual void SAL_CALL windowPaint (const css::awt::PaintEvent &rEvent) override
 
virtual void SAL_CALL mousePressed (const css::awt::MouseEvent &rEvent) override
 
virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent &rEvent) override
 
virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent &rEvent) override
 
virtual void SAL_CALL mouseExited (const css::awt::MouseEvent &rEvent) override
 
virtual void SAL_CALL focusGained (const css::awt::FocusEvent &rEvent) override
 
virtual void SAL_CALL focusLost (const css::awt::FocusEvent &rEvent) override
 
virtual void SAL_CALL disposing (const css::lang::EventObject &rEvent) override
 

Private Types

typedef ::std::vector< css::uno::Reference< css::document::XEventListener > > LayoutListenerContainer
 

Private Member Functions

void SetLayoutMode (const LayoutMode eMode)
 
void PaintChildren (const css::awt::PaintEvent &rEvent) const
 
void UpdateWindowSize (const css::uno::Reference< css::awt::XWindow > &rxBorderWindow)
 
void PaintBackground (const css::awt::Rectangle &rUpdateBox)
 
void ProvideBackgroundBitmap ()
 
css::uno::Reference< css::rendering::XPolyPolygon2D > CreateClipPolyPolygon () const
 
void StoreViewMode (const ViewMode eViewMode)
 
void LayoutStandardMode ()
 
void LayoutNotesMode ()
 
void LayoutSlideSorterMode ()
 
void LayoutHelpMode ()
 
css::geometry::RealRectangle2D LayoutToolBar ()
 Layout the tool bar and return its outer bounding box. More...
 
css::awt::Size CalculatePaneSize (const double nOuterWidth, const OUString &rsPaneURL)
 
void NotifyLayoutModeChange ()
 Notify changes of the layout mode and of the slide sorter state. More...
 
void NotifyDisposing ()
 
void ThrowIfDisposed () const
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > mxComponentContext
 
::rtl::Reference< PresenterControllermpPresenterController
 
css::uno::Reference< css::awt::XWindow > mxParentWindow
 
css::uno::Reference< css::rendering::XCanvas > mxParentCanvas
 
css::uno::Reference< css::uno::XInterface > mxPaneBorderManager
 
::rtl::Reference< PresenterPaneBorderPaintermpPaneBorderPainter
 
::rtl::Reference< PresenterPaneContainermpPaneContainer
 
bool mbIsLayoutPending
 
bool mbIsLayouting
 This flag is set to <TRUE> while the Layout() method is being executed. More...
 
std::shared_ptr< PresenterThemempTheme
 
SharedBitmapDescriptor mpBackgroundBitmap
 
css::uno::Reference< css::rendering::XBitmap > mxScaledBackgroundBitmap
 
css::uno::Reference< css::rendering::XPolyPolygon2D > mxClipPolygon
 
LayoutMode meLayoutMode
 
bool mbIsSlideSorterActive
 
bool mbIsHelpViewActive
 
bool mbisPaused
 
LayoutListenerContainer maLayoutListeners
 
bool mbIsMouseClickPending
 

Additional Inherited Members

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

Detailed Description

A simple manager of the positions of the panes of the presenter screen.

Uses relative coordinates of the four sides of each pane. Allows panes to be moved or resized with the mouse.

Definition at line 56 of file PresenterWindowManager.hxx.

Member Typedef Documentation

◆ LayoutListenerContainer

typedef ::std::vector<css::uno::Reference<css::document::XEventListener> > sdext::presenter::PresenterWindowManager::LayoutListenerContainer
private

Definition at line 169 of file PresenterWindowManager.hxx.

Member Enumeration Documentation

◆ LayoutMode

Enumerator
LM_Standard 
LM_Notes 
LM_Generic 

Definition at line 88 of file PresenterWindowManager.hxx.

◆ ViewMode

Enumerator
VM_Standard 
VM_Notes 
VM_SlideOverview 
VM_Help 

Definition at line 93 of file PresenterWindowManager.hxx.

Constructor & Destructor Documentation

◆ PresenterWindowManager() [1/2]

sdext::presenter::PresenterWindowManager::PresenterWindowManager ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext,
::rtl::Reference< PresenterPaneContainer pPaneContainer,
::rtl::Reference< PresenterController pPresenterController 
)

◆ ~PresenterWindowManager()

sdext::presenter::PresenterWindowManager::~PresenterWindowManager ( )
overridevirtual

Definition at line 69 of file PresenterWindowManager.cxx.

◆ PresenterWindowManager() [2/2]

sdext::presenter::PresenterWindowManager::PresenterWindowManager ( const PresenterWindowManager )
delete

Member Function Documentation

◆ AddLayoutListener()

void sdext::presenter::PresenterWindowManager::AddLayoutListener ( const css::uno::Reference< css::document::XEventListener > &  rxListener)

Definition at line 519 of file PresenterWindowManager.cxx.

◆ CalculatePaneSize()

awt::Size sdext::presenter::PresenterWindowManager::CalculatePaneSize ( const double  nOuterWidth,
const OUString &  rsPaneURL 
)
private

Definition at line 798 of file PresenterWindowManager.cxx.

References mpPresenterController.

◆ CreateClipPolyPolygon()

Reference< rendering::XPolyPolygon2D > sdext::presenter::PresenterWindowManager::CreateClipPolyPolygon ( ) const
private

Definition at line 989 of file PresenterWindowManager.cxx.

◆ disposing() [1/2]

void SAL_CALL sdext::presenter::PresenterWindowManager::disposing ( )
override

Definition at line 73 of file PresenterWindowManager.cxx.

◆ disposing() [2/2]

virtual void SAL_CALL sdext::presenter::PresenterWindowManager::disposing ( const css::lang::EventObject &  rEvent)
overridevirtual

◆ focusGained()

void SAL_CALL sdext::presenter::PresenterWindowManager::focusGained ( const css::awt::FocusEvent &  rEvent)
overridevirtual

Definition at line 282 of file PresenterWindowManager.cxx.

◆ focusLost()

void SAL_CALL sdext::presenter::PresenterWindowManager::focusLost ( const css::awt::FocusEvent &  rEvent)
overridevirtual

Definition at line 287 of file PresenterWindowManager.cxx.

◆ GetViewMode()

PresenterWindowManager::ViewMode sdext::presenter::PresenterWindowManager::GetViewMode ( ) const

Definition at line 448 of file PresenterWindowManager.cxx.

◆ Layout()

void sdext::presenter::PresenterWindowManager::Layout ( )

Definition at line 534 of file PresenterWindowManager.cxx.

References Exception.

◆ LayoutHelpMode()

void sdext::presenter::PresenterWindowManager::LayoutHelpMode ( )
private

Definition at line 727 of file PresenterWindowManager.cxx.

◆ LayoutNotesMode()

void sdext::presenter::PresenterWindowManager::LayoutNotesMode ( )
private

check whether RTL interface or not

check whether RTL interface or not

check whether RTL interface or not

check whether RTL interface or not

Definition at line 629 of file PresenterWindowManager.cxx.

References AllSettings::GetLayoutRTL().

◆ LayoutSlideSorterMode()

void sdext::presenter::PresenterWindowManager::LayoutSlideSorterMode ( )
private

Definition at line 713 of file PresenterWindowManager.cxx.

◆ LayoutStandardMode()

void sdext::presenter::PresenterWindowManager::LayoutStandardMode ( )
private

check whether RTL interface or not

check whether RTL interface or not

Definition at line 572 of file PresenterWindowManager.cxx.

References AllSettings::GetLayoutRTL().

◆ LayoutToolBar()

geometry::RealRectangle2D sdext::presenter::PresenterWindowManager::LayoutToolBar ( )
private

Layout the tool bar and return its outer bounding box.

Definition at line 743 of file PresenterWindowManager.cxx.

References sdext::presenter::PresenterToolBarView::GetPresenterToolBar().

◆ mouseEntered()

void SAL_CALL sdext::presenter::PresenterWindowManager::mouseEntered ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 270 of file PresenterWindowManager.cxx.

◆ mouseExited()

void SAL_CALL sdext::presenter::PresenterWindowManager::mouseExited ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 275 of file PresenterWindowManager.cxx.

◆ mousePressed()

void SAL_CALL sdext::presenter::PresenterWindowManager::mousePressed ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 255 of file PresenterWindowManager.cxx.

◆ mouseReleased()

void SAL_CALL sdext::presenter::PresenterWindowManager::mouseReleased ( const css::awt::MouseEvent &  rEvent)
overridevirtual

Definition at line 261 of file PresenterWindowManager.cxx.

References mpPresenterController.

◆ NotifyDisposing()

void sdext::presenter::PresenterWindowManager::NotifyDisposing ( )
private

Definition at line 848 of file PresenterWindowManager.cxx.

References aEvent.

◆ NotifyLayoutModeChange()

void sdext::presenter::PresenterWindowManager::NotifyLayoutModeChange ( )
private

Notify changes of the layout mode and of the slide sorter state.

Definition at line 823 of file PresenterWindowManager.cxx.

References aEvent.

◆ NotifyViewCreation()

void sdext::presenter::PresenterWindowManager::NotifyViewCreation ( const css::uno::Reference< css::drawing::framework::XView > &  rxView)

Definition at line 144 of file PresenterWindowManager.cxx.

References Layout, and mpPresenterController.

◆ operator=()

PresenterWindowManager & sdext::presenter::PresenterWindowManager::operator= ( const PresenterWindowManager )
delete

◆ PaintBackground()

void sdext::presenter::PresenterWindowManager::PaintBackground ( const css::awt::Rectangle &  rUpdateBox)
private

Definition at line 887 of file PresenterWindowManager.cxx.

◆ PaintChildren()

void sdext::presenter::PresenterWindowManager::PaintChildren ( const css::awt::PaintEvent &  rEvent) const
private

Definition at line 301 of file PresenterWindowManager.cxx.

References mpPresenterController.

◆ ProvideBackgroundBitmap()

void sdext::presenter::PresenterWindowManager::ProvideBackgroundBitmap ( )
private

Definition at line 957 of file PresenterWindowManager.cxx.

◆ RemoveLayoutListener()

void sdext::presenter::PresenterWindowManager::RemoveLayoutListener ( const css::uno::Reference< css::document::XEventListener > &  rxListener)

Definition at line 525 of file PresenterWindowManager.cxx.

◆ RestoreViewMode()

void sdext::presenter::PresenterWindowManager::RestoreViewMode ( )

Restore the layout mode (or slide sorter state) from the configuration.

Definition at line 460 of file PresenterWindowManager.cxx.

References sdext::presenter::PresenterConfigurationAccess::GetConfigurationNode(), and mxComponentContext.

◆ SetHelpViewState()

void sdext::presenter::PresenterWindowManager::SetHelpViewState ( bool  bIsActive)

Definition at line 390 of file PresenterWindowManager.cxx.

References Layout, and mpPresenterController.

◆ SetLayoutMode()

void sdext::presenter::PresenterWindowManager::SetLayoutMode ( const LayoutMode  eMode)
private

Definition at line 351 of file PresenterWindowManager.cxx.

References eMode, Layout, and mpPresenterController.

◆ SetPaneBorderPainter()

void sdext::presenter::PresenterWindowManager::SetPaneBorderPainter ( const ::rtl::Reference< PresenterPaneBorderPainter > &  rPainter)

Definition at line 181 of file PresenterWindowManager.cxx.

◆ SetPanePosSizeAbsolute()

void sdext::presenter::PresenterWindowManager::SetPanePosSizeAbsolute ( const OUString &  rsPaneURL,
const double  nX,
const double  nY,
const double  nWidth,
const double  nHeight 
)

Definition at line 160 of file PresenterWindowManager.cxx.

◆ SetParentPane()

void sdext::presenter::PresenterWindowManager::SetParentPane ( const css::uno::Reference< css::drawing::framework::XPane > &  rxPane)

Definition at line 95 of file PresenterWindowManager.cxx.

◆ SetPauseState()

void sdext::presenter::PresenterWindowManager::SetPauseState ( bool  bIsPaused)

Definition at line 408 of file PresenterWindowManager.cxx.

◆ SetSlideSorterState()

void sdext::presenter::PresenterWindowManager::SetSlideSorterState ( bool  bIsActive)

Definition at line 372 of file PresenterWindowManager.cxx.

References Layout, and mpPresenterController.

◆ SetTheme()

void sdext::presenter::PresenterWindowManager::SetTheme ( const std::shared_ptr< PresenterTheme > &  rpTheme)

Definition at line 132 of file PresenterWindowManager.cxx.

◆ SetViewMode()

void sdext::presenter::PresenterWindowManager::SetViewMode ( const ViewMode  eMode)

The high-level method to switch the view mode.

Use this instead of SetLayoutMode and Set(Help|SlideSorter)State when possible.

Definition at line 418 of file PresenterWindowManager.cxx.

References eMode.

◆ StoreViewMode()

void sdext::presenter::PresenterWindowManager::StoreViewMode ( const ViewMode  eViewMode)
private

◆ ThrowIfDisposed()

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

Definition at line 1032 of file PresenterWindowManager.cxx.

◆ Update()

void sdext::presenter::PresenterWindowManager::Update ( )

Definition at line 1024 of file PresenterWindowManager.cxx.

References mpPresenterController.

◆ UpdateWindowSize()

void sdext::presenter::PresenterWindowManager::UpdateWindowSize ( const css::uno::Reference< css::awt::XWindow > &  rxBorderWindow)
private

Definition at line 873 of file PresenterWindowManager.cxx.

◆ windowHidden()

void SAL_CALL sdext::presenter::PresenterWindowManager::windowHidden ( const css::lang::EventObject &  rEvent)
overridevirtual

Definition at line 224 of file PresenterWindowManager.cxx.

◆ windowMoved()

void SAL_CALL sdext::presenter::PresenterWindowManager::windowMoved ( const css::awt::WindowEvent &  rEvent)
overridevirtual

Definition at line 209 of file PresenterWindowManager.cxx.

References mpPresenterController.

◆ windowPaint()

void SAL_CALL sdext::presenter::PresenterWindowManager::windowPaint ( const css::awt::PaintEvent &  rEvent)
overridevirtual

Definition at line 228 of file PresenterWindowManager.cxx.

References Layout, and PaintChildren.

◆ windowResized()

void SAL_CALL sdext::presenter::PresenterWindowManager::windowResized ( const css::awt::WindowEvent &  rEvent)
overridevirtual

Definition at line 189 of file PresenterWindowManager.cxx.

References Layout, and mpPresenterController.

◆ windowShown()

void SAL_CALL sdext::presenter::PresenterWindowManager::windowShown ( const css::lang::EventObject &  rEvent)
overridevirtual

Definition at line 222 of file PresenterWindowManager.cxx.

Member Data Documentation

◆ maLayoutListeners

LayoutListenerContainer sdext::presenter::PresenterWindowManager::maLayoutListeners
private

Definition at line 170 of file PresenterWindowManager.hxx.

◆ mbIsHelpViewActive

bool sdext::presenter::PresenterWindowManager::mbIsHelpViewActive
private

Definition at line 166 of file PresenterWindowManager.hxx.

◆ mbIsLayouting

bool sdext::presenter::PresenterWindowManager::mbIsLayouting
private

This flag is set to <TRUE> while the Layout() method is being executed.

Prevents windowMoved() and windowResized() from changing the window sizes.

Definition at line 159 of file PresenterWindowManager.hxx.

◆ mbIsLayoutPending

bool sdext::presenter::PresenterWindowManager::mbIsLayoutPending
private

Definition at line 154 of file PresenterWindowManager.hxx.

◆ mbIsMouseClickPending

bool sdext::presenter::PresenterWindowManager::mbIsMouseClickPending
private

Definition at line 171 of file PresenterWindowManager.hxx.

◆ mbisPaused

bool sdext::presenter::PresenterWindowManager::mbisPaused
private

Definition at line 167 of file PresenterWindowManager.hxx.

◆ mbIsSlideSorterActive

bool sdext::presenter::PresenterWindowManager::mbIsSlideSorterActive
private

Definition at line 165 of file PresenterWindowManager.hxx.

◆ meLayoutMode

LayoutMode sdext::presenter::PresenterWindowManager::meLayoutMode
private

Definition at line 164 of file PresenterWindowManager.hxx.

◆ mpBackgroundBitmap

SharedBitmapDescriptor sdext::presenter::PresenterWindowManager::mpBackgroundBitmap
private

Definition at line 161 of file PresenterWindowManager.hxx.

◆ mpPaneBorderPainter

::rtl::Reference<PresenterPaneBorderPainter> sdext::presenter::PresenterWindowManager::mpPaneBorderPainter
private

Definition at line 152 of file PresenterWindowManager.hxx.

◆ mpPaneContainer

::rtl::Reference<PresenterPaneContainer> sdext::presenter::PresenterWindowManager::mpPaneContainer
private

Definition at line 153 of file PresenterWindowManager.hxx.

◆ mpPresenterController

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

Definition at line 148 of file PresenterWindowManager.hxx.

◆ mpTheme

std::shared_ptr<PresenterTheme> sdext::presenter::PresenterWindowManager::mpTheme
private

Definition at line 160 of file PresenterWindowManager.hxx.

◆ mxClipPolygon

css::uno::Reference<css::rendering::XPolyPolygon2D> sdext::presenter::PresenterWindowManager::mxClipPolygon
private

Definition at line 163 of file PresenterWindowManager.hxx.

◆ mxComponentContext

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

Definition at line 147 of file PresenterWindowManager.hxx.

◆ mxPaneBorderManager

css::uno::Reference<css::uno::XInterface> sdext::presenter::PresenterWindowManager::mxPaneBorderManager
private

Definition at line 151 of file PresenterWindowManager.hxx.

◆ mxParentCanvas

css::uno::Reference<css::rendering::XCanvas> sdext::presenter::PresenterWindowManager::mxParentCanvas
private

Definition at line 150 of file PresenterWindowManager.hxx.

◆ mxParentWindow

css::uno::Reference<css::awt::XWindow> sdext::presenter::PresenterWindowManager::mxParentWindow
private

Definition at line 149 of file PresenterWindowManager.hxx.

◆ mxScaledBackgroundBitmap

css::uno::Reference<css::rendering::XBitmap> sdext::presenter::PresenterWindowManager::mxScaledBackgroundBitmap
private

Definition at line 162 of file PresenterWindowManager.hxx.


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