LibreOffice Module sfx2 (master) 1
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
sfx2::sidebar::SidebarController Class Referencefinal

#include <SidebarController.hxx>

Inheritance diagram for sfx2::sidebar::SidebarController:
[legend]
Collaboration diagram for sfx2::sidebar::SidebarController:
[legend]

Public Member Functions

virtual ~SidebarController () override
 
 SidebarController (const SidebarController &)=delete
 
SidebarControlleroperator= (const SidebarController &)=delete
 
void registerSidebarForFrame (const css::uno::Reference< css::frame::XController > &xFrame)
 
void unregisterSidebarForFrame (const css::uno::Reference< css::frame::XController > &xFrame)
 
virtual void SAL_CALL notifyContextChangeEvent (const css::ui::ContextChangeEventObject &rEvent) override
 
virtual void SAL_CALL disposing (const css::lang::EventObject &rEventObject) override
 
virtual void SAL_CALL propertyChange (const css::beans::PropertyChangeEvent &rEvent) override
 
virtual void SAL_CALL statusChanged (const css::frame::FeatureStateEvent &rEvent) override
 
virtual void SAL_CALL frameAction (const css::frame::FrameActionEvent &rEvent) override
 
virtual void SAL_CALL requestLayout () override
 
void NotifyResize ()
 
void OpenThenSwitchToDeck (std::u16string_view rsDeckId)
 
void OpenThenToggleDeck (const OUString &rsDeckId)
 
void RequestCloseDeck ()
 Show only the tab bar, not the deck. More...
 
void RequestOpenDeck ()
 Open the deck area and restore the parent window to its old width. More...
 
bool IsDeckVisible (std::u16string_view rsDeckId)
 Returns true when the given deck is the currently visible deck. More...
 
bool IsDeckOpen (const sal_Int32 nIndex=-1)
 
FocusManagerGetFocusManager ()
 
ResourceManagerGetResourceManager ()
 
const ContextGetCurrentContext () const
 
bool IsDocumentReadOnly (void) const
 
void SwitchToDeck (std::u16string_view rsDeckId)
 
void SwitchToDefaultDeck ()
 
bool WasFloatingDeckClosed () const
 
void SetFloatingDeckClosed (bool bWasClosed)
 
void CreateDeck (std::u16string_view rDeckId)
 
void CreateDeck (std::u16string_view rDeckId, const Context &rContext, bool bForceCreate=false)
 
ResourceManager::DeckContextDescriptorContainer GetMatchingDecks ()
 
ResourceManager::PanelContextDescriptorContainer GetMatchingPanels (std::u16string_view rDeckId)
 
void notifyDeckTitle (std::u16string_view targetDeckId)
 
void updateModel (const css::uno::Reference< css::frame::XModel > &xModel)
 
void disposeDecks ()
 
void FadeIn ()
 
void FadeOut ()
 
tools::Rectangle GetDeckDragArea () const
 
css::uno::Reference< css::frame::XFrame > const & getXFrame () const
 
sal_Int32 getMaximumWidth () const
 
void setMaximumWidth (sal_Int32 nMaximumWidth)
 
void saveDeckState ()
 
void SyncUpdate ()
 
bool hasChartOrMathContextCurrently () const
 
- Public Member Functions inherited from comphelper::WeakComponentImplHelper< typename... Ifc >
virtual void SAL_CALL acquire () noexcept override
 
virtual void SAL_CALL release () noexcept override
 
virtual void SAL_CALL dispose () noexcept final override
 
virtual void SAL_CALL addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override
 
virtual void SAL_CALL removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) override
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () override
 
- Public Member Functions inherited from comphelper::WeakComponentImplHelperBase
virtual ~WeakComponentImplHelperBase () override
 
virtual void SAL_CALL dispose () override
 
virtual void SAL_CALL addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override
 
virtual void SAL_CALL removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) override
 
virtual void disposing (std::unique_lock< std::mutex > &)
 
- Public Member Functions inherited from comphelper::UnoImplBase
virtual ~UnoImplBase ()
 

Static Public Member Functions

static rtl::Reference< SidebarControllercreate (SidebarDockingWindow *pParentWindow, const SfxViewFrame *pViewFrame)
 
static SidebarControllerGetSidebarControllerForFrame (const css::uno::Reference< css::frame::XFrame > &rxFrame)
 Return the SidebarController object that is associated with the given XFrame. More...
 
static SidebarControllerGetSidebarControllerForView (const SfxViewShell *pViewShell)
 

Static Public Attributes

static const sal_Int32 SwitchFlag_NoForce = 0x00
 In some situations it is necessary to force an update of the current deck and its panels. More...
 
static const sal_Int32 SwitchFlag_ForceSwitch = 0x01
 
static const sal_Int32 SwitchFlag_ForceNewDeck = 0x02
 
static const sal_Int32 SwitchFlag_ForceNewPanels = 0x02
 

Private Member Functions

 SidebarController (SidebarDockingWindow *pParentWindow, const SfxViewFrame *pViewFrame)
 
 DECL_DLLPRIVATE_LINK (WindowEventHandler, VclWindowEvent &, void)
 
void UpdateConfigurations ()
 Make maRequestedContext the current context. More...
 
css::uno::Reference< css::ui::XUIElement > CreateUIElement (const css::uno::Reference< css::awt::XWindow > &rxWindow, const OUString &rsImplementationURL, const bool bWantsCanvas, const Context &rContext)
 
void CreatePanels (std::u16string_view rDeckId, const Context &rContext)
 
std::shared_ptr< PanelCreatePanel (std::u16string_view rsPanelId, weld::Widget *pParentWindow, const bool bIsInitiallyExpanded, const Context &rContext, const VclPtr< Deck > &pDeck)
 
void SwitchToDeck (const DeckDescriptor &rDeckDescriptor, const Context &rContext)
 
void ShowPopupMenu (weld::Menu &rMainMenu, weld::Menu &rSubMenu, const ::std::vector< TabBar::DeckMenuData > &rMenuData) const
 
void PopulatePopupMenus (weld::Menu &rMainButton, weld::Menu &rSubMenu, const ::std::vector< TabBar::DeckMenuData > &rMenuData) const
 
 DECL_DLLPRIVATE_LINK (OnMenuItemSelected, const OUString &, void)
 
 DECL_DLLPRIVATE_LINK (OnSubMenuItemSelected, const OUString &, void)
 
void BroadcastPropertyChange ()
 
bool CanModifyChildWindowWidth ()
 The close of the deck changes the width of the child window. More...
 
sal_Int32 SetChildWindowWidth (const sal_Int32 nNewWidth)
 Set the child window container to a new width. More...
 
void UpdateTitleBarIcons ()
 Update the icons displayed in the title bars of the deck and the panels. More...
 
void UpdateDeckOpenState ()
 
void RestrictWidth (sal_Int32 nWidth)
 
SfxSplitWindowGetSplitWindow ()
 
void ProcessNewWidth (const sal_Int32 nNewWidth)
 
void UpdateCloseIndicator (const bool bIsIndicatorVisible)
 
void ShowPanel (const Panel &rPanel)
 Typically called when a panel is focused via keyboard. More...
 
virtual void disposing (std::unique_lock< std::mutex > &) override
 

Private Attributes

VclPtr< DeckmpCurrentDeck
 
VclPtr< SidebarDockingWindowmpParentWindow
 
const SfxViewFramempViewFrame
 
css::uno::Reference< css::frame::XFrame > mxFrame
 
VclPtr< TabBarmpTabBar
 
Context maCurrentContext
 
Context maRequestedContext
 
css::uno::Reference< css::frame::XController > mxCurrentController
 
sal_Int32 mnRequestedForceFlags
 Use a combination of SwitchFlag_* as value. More...
 
sal_Int32 mnMaximumSidebarWidth
 
bool mbMinimumSidebarWidth
 
OUString msCurrentDeckId
 
AsynchronousCall maPropertyChangeForwarder
 
AsynchronousCall maContextChangeUpdate
 
css::uno::Reference< css::beans::XPropertySetmxThemePropertySet
 
::std::optional< bool > mbIsDeckRequestedOpen
 Two flags control whether the deck is displayed or if only the tab bar remains visible. More...
 
::std::optional< bool > mbIsDeckOpen
 
bool mbFloatingDeckClosed
 
sal_Int32 mnSavedSidebarWidth
 Before the deck is closed the sidebar width is saved into this variable, so that it can be restored when the deck is reopened. More...
 
FocusManager maFocusManager
 
css::uno::Reference< css::frame::XDispatch > mxReadOnlyModeDispatch
 
bool mbIsDocumentReadOnly
 
VclPtr< SfxSplitWindowmpSplitWindow
 
sal_Int32 mnWidthOnSplitterButtonDown
 When the user moves the splitter then we remember the width at that time. More...
 
VclPtr< vcl::WindowmpCloseIndicator
 Control that is temporarily used as replacement for the deck to indicate that when the current mouse drag operation ends, the sidebar will only show the tab bar. More...
 
std::unique_ptr< ResourceManagermpResourceManager
 

Additional Inherited Members

- Protected Member Functions inherited from comphelper::WeakComponentImplHelperBase
void throwIfDisposed (std::unique_lock< std::mutex > &)
 
- Protected Attributes inherited from comphelper::WeakComponentImplHelperBase
comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > maEventListeners
 
- Protected Attributes inherited from comphelper::UnoImplBase
std::mutex m_aMutex
 
bool m_bDisposed
 

Detailed Description

Definition at line 62 of file SidebarController.hxx.

Constructor & Destructor Documentation

◆ ~SidebarController()

sfx2::sidebar::SidebarController::~SidebarController ( )
overridevirtual

Definition at line 171 of file SidebarController.cxx.

◆ SidebarController() [1/2]

sfx2::sidebar::SidebarController::SidebarController ( const SidebarController )
delete

Referenced by create().

◆ SidebarController() [2/2]

sfx2::sidebar::SidebarController::SidebarController ( SidebarDockingWindow pParentWindow,
const SfxViewFrame pViewFrame 
)
private

Definition at line 110 of file SidebarController.cxx.

References Create(), and OpenThenToggleDeck().

Member Function Documentation

◆ BroadcastPropertyChange()

void sfx2::sidebar::SidebarController::BroadcastPropertyChange ( )
private

Definition at line 409 of file SidebarController.cxx.

References mpParentWindow.

◆ CanModifyChildWindowWidth()

bool sfx2::sidebar::SidebarController::CanModifyChildWindowWidth ( )
private

The close of the deck changes the width of the child window.

That is only possible if there is no other docking window docked above or below the sidebar. Return whether the width of the child window can be modified.

Definition at line 1377 of file SidebarController.cxx.

References GetSplitWindow(), SfxSplitWindow::GetWindowCount(), SfxSplitWindow::GetWindowPos(), and mpParentWindow.

Referenced by NotifyResize().

◆ create()

rtl::Reference< SidebarController > sfx2::sidebar::SidebarController::create ( SidebarDockingWindow pParentWindow,
const SfxViewFrame pViewFrame 
)
static

◆ CreateDeck() [1/2]

void sfx2::sidebar::SidebarController::CreateDeck ( std::u16string_view  rDeckId)

Definition at line 696 of file SidebarController.cxx.

References CreateDeck(), and maCurrentContext.

Referenced by CreateDeck(), and SwitchToDeck().

◆ CreateDeck() [2/2]

void sfx2::sidebar::SidebarController::CreateDeck ( std::u16string_view  rDeckId,
const Context rContext,
bool  bForceCreate = false 
)

◆ CreatePanel()

std::shared_ptr< Panel > sfx2::sidebar::SidebarController::CreatePanel ( std::u16string_view  rsPanelId,
weld::Widget pParentWindow,
const bool  bIsInitiallyExpanded,
const Context rContext,
const VclPtr< Deck > &  pDeck 
)
private

Definition at line 930 of file SidebarController.cxx.

References CreateUIElement(), GetCurrentContext(), mpResourceManager, and mxFrame.

Referenced by CreatePanels().

◆ CreatePanels()

void sfx2::sidebar::SidebarController::CreatePanels ( std::u16string_view  rDeckId,
const Context rContext 
)
private

◆ CreateUIElement()

Reference< ui::XUIElement > sfx2::sidebar::SidebarController::CreateUIElement ( const css::uno::Reference< css::awt::XWindow > &  rxWindow,
const OUString &  rsImplementationURL,
const bool  bWantsCanvas,
const Context rContext 
)
private

◆ DECL_DLLPRIVATE_LINK() [1/3]

sfx2::sidebar::SidebarController::DECL_DLLPRIVATE_LINK ( OnMenuItemSelected  ,
const OUString &  ,
void   
)
private

◆ DECL_DLLPRIVATE_LINK() [2/3]

sfx2::sidebar::SidebarController::DECL_DLLPRIVATE_LINK ( OnSubMenuItemSelected  ,
const OUString &  ,
void   
)
private

◆ DECL_DLLPRIVATE_LINK() [3/3]

sfx2::sidebar::SidebarController::DECL_DLLPRIVATE_LINK ( WindowEventHandler  ,
VclWindowEvent ,
void   
)
private

◆ disposeDecks()

void sfx2::sidebar::SidebarController::disposeDecks ( )

◆ disposing() [1/2]

void SAL_CALL sfx2::sidebar::SidebarController::disposing ( const css::lang::EventObject &  rEventObject)
overridevirtual

◆ disposing() [2/2]

void sfx2::sidebar::SidebarController::disposing ( std::unique_lock< std::mutex > &  )
overrideprivatevirtual

◆ FadeIn()

void sfx2::sidebar::SidebarController::FadeIn ( )

Definition at line 1564 of file SidebarController.cxx.

References mpSplitWindow.

Referenced by SfxApplication::MiscExec_Impl().

◆ FadeOut()

void sfx2::sidebar::SidebarController::FadeOut ( )

Definition at line 1558 of file SidebarController.cxx.

References mpSplitWindow.

Referenced by SfxApplication::MiscExec_Impl().

◆ frameAction()

void sfx2::sidebar::SidebarController::frameAction ( const css::frame::FrameActionEvent &  rEvent)
overridevirtual

◆ GetCurrentContext()

const Context & sfx2::sidebar::SidebarController::GetCurrentContext ( ) const
inline

◆ GetDeckDragArea()

tools::Rectangle sfx2::sidebar::SidebarController::GetDeckDragArea ( ) const

Definition at line 1570 of file SidebarController.cxx.

References mpCurrentDeck.

◆ GetFocusManager()

FocusManager & sfx2::sidebar::SidebarController::GetFocusManager ( )
inline

◆ GetMatchingDecks()

ResourceManager::DeckContextDescriptorContainer sfx2::sidebar::SidebarController::GetMatchingDecks ( )

◆ GetMatchingPanels()

ResourceManager::PanelContextDescriptorContainer sfx2::sidebar::SidebarController::GetMatchingPanels ( std::u16string_view  rDeckId)

Definition at line 1542 of file SidebarController.cxx.

References GetCurrentContext(), mpResourceManager, and mxFrame.

◆ getMaximumWidth()

sal_Int32 sfx2::sidebar::SidebarController::getMaximumWidth ( ) const
inline

Definition at line 166 of file SidebarController.hxx.

Referenced by RestrictWidth().

◆ GetResourceManager()

ResourceManager * sfx2::sidebar::SidebarController::GetResourceManager ( )
inline

◆ GetSidebarControllerForFrame()

SidebarController * sfx2::sidebar::SidebarController::GetSidebarControllerForFrame ( const css::uno::Reference< css::frame::XFrame > &  rxFrame)
static

Return the SidebarController object that is associated with the given XFrame.

Returns
When there is no SidebarController object for the given XFrame then <NULL> is returned.

Definition at line 175 of file SidebarController.cxx.

References framework::GetFirstListenerWith(), SAL_WARN, and xController.

Referenced by sfx2::sidebar::Sidebar::IsPanelVisible(), SfxApplication::MiscExec_Impl(), sfx2::sidebar::Panel::SetExpanded(), sfx2::sidebar::Sidebar::ShowDeck(), sfx2::sidebar::Sidebar::ShowPanel(), and sfx2::sidebar::Sidebar::TogglePanel().

◆ GetSidebarControllerForView()

sfx2::sidebar::SidebarController * sfx2::sidebar::SidebarController::GetSidebarControllerForView ( const SfxViewShell pViewShell)
static

Definition at line 1620 of file SidebarController.cxx.

References SfxViewShell::GetController(), and xController.

◆ GetSplitWindow()

SfxSplitWindow * sfx2::sidebar::SidebarController::GetSplitWindow ( )
private

◆ getXFrame()

css::uno::Reference< css::frame::XFrame > const & sfx2::sidebar::SidebarController::getXFrame ( ) const
inline

Definition at line 164 of file SidebarController.hxx.

◆ hasChartOrMathContextCurrently()

bool sfx2::sidebar::SidebarController::hasChartOrMathContextCurrently ( ) const

◆ IsDeckOpen()

bool sfx2::sidebar::SidebarController::IsDeckOpen ( const sal_Int32  nIndex = -1)

Definition at line 1268 of file SidebarController.cxx.

References IsDeckVisible(), mbIsDeckOpen, mpTabBar, and nIndex.

Referenced by ShowPanel().

◆ IsDeckVisible()

bool sfx2::sidebar::SidebarController::IsDeckVisible ( std::u16string_view  rsDeckId)

Returns true when the given deck is the currently visible deck.

Definition at line 1278 of file SidebarController.cxx.

References mbIsDeckOpen, and msCurrentDeckId.

Referenced by IsDeckOpen(), sfx2::sidebar::Sidebar::IsPanelVisible(), OpenThenToggleDeck(), and sfx2::sidebar::Sidebar::ShowDeck().

◆ IsDocumentReadOnly()

bool sfx2::sidebar::SidebarController::IsDocumentReadOnly ( void  ) const
inline

Definition at line 140 of file SidebarController.hxx.

Referenced by disposing(), and GetMatchingDecks().

◆ notifyContextChangeEvent()

void SAL_CALL sfx2::sidebar::SidebarController::notifyContextChangeEvent ( const css::ui::ContextChangeEventObject &  rEvent)
overridevirtual

◆ notifyDeckTitle()

void sfx2::sidebar::SidebarController::notifyDeckTitle ( std::u16string_view  targetDeckId)

◆ NotifyResize()

void sfx2::sidebar::SidebarController::NotifyResize ( )

◆ OpenThenSwitchToDeck()

void sfx2::sidebar::SidebarController::OpenThenSwitchToDeck ( std::u16string_view  rsDeckId)

◆ OpenThenToggleDeck()

void sfx2::sidebar::SidebarController::OpenThenToggleDeck ( const OUString &  rsDeckId)

◆ operator=()

SidebarController & sfx2::sidebar::SidebarController::operator= ( const SidebarController )
delete

◆ PopulatePopupMenus()

void sfx2::sidebar::SidebarController::PopulatePopupMenus ( weld::Menu rMainButton,
weld::Menu rSubMenu,
const ::std::vector< TabBar::DeckMenuData > &  rMenuData 
) const
private

◆ ProcessNewWidth()

void sfx2::sidebar::SidebarController::ProcessNewWidth ( const sal_Int32  nNewWidth)
private

◆ propertyChange()

void SAL_CALL sfx2::sidebar::SidebarController::propertyChange ( const css::beans::PropertyChangeEvent &  rEvent)
overridevirtual

◆ registerSidebarForFrame()

void sfx2::sidebar::SidebarController::registerSidebarForFrame ( const css::uno::Reference< css::frame::XController > &  xFrame)

Definition at line 195 of file SidebarController.cxx.

References xController.

Referenced by frameAction().

◆ RequestCloseDeck()

void sfx2::sidebar::SidebarController::RequestCloseDeck ( )

◆ requestLayout()

void SAL_CALL sfx2::sidebar::SidebarController::requestLayout ( )
overridevirtual

Definition at line 396 of file SidebarController.cxx.

References mbMinimumSidebarWidth, mpCurrentDeck, and RestrictWidth().

◆ RequestOpenDeck()

void sfx2::sidebar::SidebarController::RequestOpenDeck ( )

◆ RestrictWidth()

void sfx2::sidebar::SidebarController::RestrictWidth ( sal_Int32  nWidth)
private

◆ saveDeckState()

void sfx2::sidebar::SidebarController::saveDeckState ( )

◆ SetChildWindowWidth()

sal_Int32 sfx2::sidebar::SidebarController::SetChildWindowWidth ( const sal_Int32  nNewWidth)
private

Set the child window container to a new width.

Return the old width.

Definition at line 1394 of file SidebarController.cxx.

References SfxSplitWindow::GetLineSize(), vcl::Window::GetSizePixel(), GetSplitWindow(), SfxSplitWindow::GetWindowPos(), Size::Height(), SfxSplitWindow::MoveWindow(), mpParentWindow, and Split.

Referenced by OpenThenToggleDeck(), and UpdateDeckOpenState().

◆ SetFloatingDeckClosed()

void sfx2::sidebar::SidebarController::SetFloatingDeckClosed ( bool  bWasClosed)
inline

Definition at line 145 of file SidebarController.hxx.

◆ setMaximumWidth()

void sfx2::sidebar::SidebarController::setMaximumWidth ( sal_Int32  nMaximumWidth)
inline

Definition at line 167 of file SidebarController.hxx.

◆ ShowPanel()

void sfx2::sidebar::SidebarController::ShowPanel ( const Panel rPanel)
private

Typically called when a panel is focused via keyboard.

Tries to scroll the deck up or down to make the given panel completely visible.

Definition at line 1522 of file SidebarController.cxx.

References IsDeckOpen(), mpCurrentDeck, and RequestOpenDeck().

◆ ShowPopupMenu()

void sfx2::sidebar::SidebarController::ShowPopupMenu ( weld::Menu rMainMenu,
weld::Menu rSubMenu,
const ::std::vector< TabBar::DeckMenuData > &  rMenuData 
) const
private

◆ statusChanged()

void SAL_CALL sfx2::sidebar::SidebarController::statusChanged ( const css::frame::FeatureStateEvent &  rEvent)
overridevirtual

◆ SwitchToDeck() [1/2]

void sfx2::sidebar::SidebarController::SwitchToDeck ( const DeckDescriptor rDeckDescriptor,
const Context rContext 
)
private

◆ SwitchToDeck() [2/2]

void sfx2::sidebar::SidebarController::SwitchToDeck ( std::u16string_view  rsDeckId)

◆ SwitchToDefaultDeck()

void sfx2::sidebar::SidebarController::SwitchToDefaultDeck ( )

Definition at line 674 of file SidebarController.cxx.

References SwitchToDeck().

Referenced by statusChanged().

◆ SyncUpdate()

void sfx2::sidebar::SidebarController::SyncUpdate ( )

◆ unregisterSidebarForFrame()

void sfx2::sidebar::SidebarController::unregisterSidebarForFrame ( const css::uno::Reference< css::frame::XController > &  xFrame)

Definition at line 206 of file SidebarController.cxx.

References disposeDecks(), saveDeckState(), and xController.

Referenced by disposing(), and frameAction().

◆ UpdateCloseIndicator()

void sfx2::sidebar::SidebarController::UpdateCloseIndicator ( const bool  bIsIndicatorVisible)
private

◆ UpdateConfigurations()

void sfx2::sidebar::SidebarController::UpdateConfigurations ( )
private

◆ UpdateDeckOpenState()

void sfx2::sidebar::SidebarController::UpdateDeckOpenState ( )
private

◆ updateModel()

void sfx2::sidebar::SidebarController::updateModel ( const css::uno::Reference< css::frame::XModel > &  xModel)

Definition at line 1553 of file SidebarController.cxx.

References mpResourceManager, and xModel.

◆ UpdateTitleBarIcons()

void sfx2::sidebar::SidebarController::UpdateTitleBarIcons ( )
private

Update the icons displayed in the title bars of the deck and the panels.

This is called once when a deck is created and every time when a data change event is processed.

Definition at line 1483 of file SidebarController.cxx.

References sfx2::sidebar::ResourceManager::GetDeckDescriptor(), sfx2::sidebar::Tools::GetImage(), sfx2::sidebar::ResourceManager::GetPanelDescriptor(), sfx2::sidebar::Theme::IsHighContrastMode(), mpCurrentDeck, mpResourceManager, and mxFrame.

Referenced by notifyDeckTitle(), and SwitchToDeck().

◆ WasFloatingDeckClosed()

bool sfx2::sidebar::SidebarController::WasFloatingDeckClosed ( ) const
inline

Definition at line 144 of file SidebarController.hxx.

Referenced by OpenThenToggleDeck().

Member Data Documentation

◆ maContextChangeUpdate

AsynchronousCall sfx2::sidebar::SidebarController::maContextChangeUpdate
private

◆ maCurrentContext

Context sfx2::sidebar::SidebarController::maCurrentContext
private

◆ maFocusManager

FocusManager sfx2::sidebar::SidebarController::maFocusManager
private

◆ maPropertyChangeForwarder

AsynchronousCall sfx2::sidebar::SidebarController::maPropertyChangeForwarder
private

Definition at line 194 of file SidebarController.hxx.

Referenced by propertyChange(), and SyncUpdate().

◆ maRequestedContext

Context sfx2::sidebar::SidebarController::maRequestedContext
private

◆ mbFloatingDeckClosed

bool sfx2::sidebar::SidebarController::mbFloatingDeckClosed
private

Definition at line 209 of file SidebarController.hxx.

◆ mbIsDeckOpen

::std::optional<bool> sfx2::sidebar::SidebarController::mbIsDeckOpen
private

◆ mbIsDeckRequestedOpen

::std::optional<bool> sfx2::sidebar::SidebarController::mbIsDeckRequestedOpen
private

Two flags control whether the deck is displayed or if only the tab bar remains visible.

The mbIsDeckOpen flag stores the current state while mbIsDeckRequestedOpen stores how this state should be. User actions like clicking on the deck closer affect the mbIsDeckRequestedOpen. Normally both flags have the same value. A document being read-only can prevent the deck from opening.

Definition at line 206 of file SidebarController.hxx.

Referenced by NotifyResize(), ProcessNewWidth(), RequestCloseDeck(), RequestOpenDeck(), and UpdateDeckOpenState().

◆ mbIsDocumentReadOnly

bool sfx2::sidebar::SidebarController::mbIsDocumentReadOnly
private

Definition at line 217 of file SidebarController.hxx.

Referenced by CreatePanels(), statusChanged(), and UpdateConfigurations().

◆ mbMinimumSidebarWidth

bool sfx2::sidebar::SidebarController::mbMinimumSidebarWidth
private

Definition at line 192 of file SidebarController.hxx.

Referenced by NotifyResize(), and requestLayout().

◆ mnMaximumSidebarWidth

sal_Int32 sfx2::sidebar::SidebarController::mnMaximumSidebarWidth
private

Definition at line 191 of file SidebarController.hxx.

◆ mnRequestedForceFlags

sal_Int32 sfx2::sidebar::SidebarController::mnRequestedForceFlags
private

Use a combination of SwitchFlag_* as value.

Definition at line 190 of file SidebarController.hxx.

Referenced by statusChanged(), SwitchToDeck(), and UpdateConfigurations().

◆ mnSavedSidebarWidth

sal_Int32 sfx2::sidebar::SidebarController::mnSavedSidebarWidth
private

Before the deck is closed the sidebar width is saved into this variable, so that it can be restored when the deck is reopened.

Definition at line 214 of file SidebarController.hxx.

Referenced by NotifyResize(), ProcessNewWidth(), and UpdateDeckOpenState().

◆ mnWidthOnSplitterButtonDown

sal_Int32 sfx2::sidebar::SidebarController::mnWidthOnSplitterButtonDown
private

When the user moves the splitter then we remember the width at that time.

Definition at line 222 of file SidebarController.hxx.

Referenced by NotifyResize(), OpenThenToggleDeck(), ProcessNewWidth(), and UpdateDeckOpenState().

◆ mpCloseIndicator

VclPtr<vcl::Window> sfx2::sidebar::SidebarController::mpCloseIndicator
private

Control that is temporarily used as replacement for the deck to indicate that when the current mouse drag operation ends, the sidebar will only show the tab bar.

Definition at line 227 of file SidebarController.hxx.

Referenced by disposing(), and UpdateCloseIndicator().

◆ mpCurrentDeck

VclPtr<Deck> sfx2::sidebar::SidebarController::mpCurrentDeck
private

◆ mpParentWindow

VclPtr<SidebarDockingWindow> sfx2::sidebar::SidebarController::mpParentWindow
private

◆ mpResourceManager

std::unique_ptr<ResourceManager> sfx2::sidebar::SidebarController::mpResourceManager
private

◆ mpSplitWindow

VclPtr<SfxSplitWindow> sfx2::sidebar::SidebarController::mpSplitWindow
private

Definition at line 218 of file SidebarController.hxx.

Referenced by disposing(), FadeIn(), FadeOut(), and GetSplitWindow().

◆ mpTabBar

VclPtr<TabBar> sfx2::sidebar::SidebarController::mpTabBar
private

◆ mpViewFrame

const SfxViewFrame* sfx2::sidebar::SidebarController::mpViewFrame
private

Definition at line 183 of file SidebarController.hxx.

Referenced by disposeDecks(), SwitchToDeck(), and UpdateDeckOpenState().

◆ msCurrentDeckId

OUString sfx2::sidebar::SidebarController::msCurrentDeckId
private

◆ mxCurrentController

css::uno::Reference<css::frame::XController> sfx2::sidebar::SidebarController::mxCurrentController
private

◆ mxFrame

css::uno::Reference<css::frame::XFrame> sfx2::sidebar::SidebarController::mxFrame
private

◆ mxReadOnlyModeDispatch

css::uno::Reference<css::frame::XDispatch> sfx2::sidebar::SidebarController::mxReadOnlyModeDispatch
private

Definition at line 216 of file SidebarController.hxx.

Referenced by disposing().

◆ mxThemePropertySet

css::uno::Reference<css::beans::XPropertySet> sfx2::sidebar::SidebarController::mxThemePropertySet
private

Definition at line 196 of file SidebarController.hxx.

Referenced by disposing().

◆ SwitchFlag_ForceNewDeck

const sal_Int32 sfx2::sidebar::SidebarController::SwitchFlag_ForceNewDeck = 0x02
static

Definition at line 113 of file SidebarController.hxx.

Referenced by SwitchToDeck().

◆ SwitchFlag_ForceNewPanels

const sal_Int32 sfx2::sidebar::SidebarController::SwitchFlag_ForceNewPanels = 0x02
static

Definition at line 114 of file SidebarController.hxx.

Referenced by SwitchToDeck().

◆ SwitchFlag_ForceSwitch

const sal_Int32 sfx2::sidebar::SidebarController::SwitchFlag_ForceSwitch = 0x01
static

Definition at line 112 of file SidebarController.hxx.

Referenced by statusChanged().

◆ SwitchFlag_NoForce

const sal_Int32 sfx2::sidebar::SidebarController::SwitchFlag_NoForce = 0x00
static

In some situations it is necessary to force an update of the current deck and its panels.

One reason is a change of the view scale. Some panels can handle this only when constructed. In this case we have to a context change and also force that all panels are destroyed and created new.

Definition at line 111 of file SidebarController.hxx.

Referenced by SwitchToDeck(), and UpdateConfigurations().


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