32#include <com/sun/star/beans/XPropertySet.hpp>
33#include <com/sun/star/beans/XPropertyChangeListener.hpp>
34#include <com/sun/star/frame/XStatusListener.hpp>
35#include <com/sun/star/frame/XFrameActionListener.hpp>
36#include <com/sun/star/ui/XContextChangeEventListener.hpp>
37#include <com/sun/star/ui/XSidebar.hpp>
47 css::ui::XContextChangeEventListener,
48 css::beans::XPropertyChangeListener,
50 css::frame::XStatusListener,
51 css::frame::XFrameActionListener
60class SidebarDockingWindow;
79 const css::uno::Reference<css::frame::XFrame>& rxFrame);
81 void registerSidebarForFrame(
const css::uno::Reference<css::frame::XController>& xFrame);
83 void unregisterSidebarForFrame(
const css::uno::Reference<css::frame::XController>& xFrame);
86 virtual void SAL_CALL notifyContextChangeEvent (
const css::ui::ContextChangeEventObject& rEvent)
override;
89 virtual void SAL_CALL disposing (
const css::lang::EventObject& rEventObject)
override;
92 virtual void SAL_CALL propertyChange (
const css::beans::PropertyChangeEvent& rEvent)
override;
95 virtual void SAL_CALL statusChanged (
const css::frame::FeatureStateEvent& rEvent)
override;
98 virtual void SAL_CALL frameAction (
const css::frame::FrameActionEvent& rEvent)
override;
101 virtual void SAL_CALL requestLayout()
override;
111 const static sal_Int32 SwitchFlag_NoForce = 0x00;
112 const static sal_Int32 SwitchFlag_ForceSwitch = 0x01;
113 const static sal_Int32 SwitchFlag_ForceNewDeck = 0x02;
114 const static sal_Int32 SwitchFlag_ForceNewPanels = 0x02;
116 void OpenThenSwitchToDeck(std::u16string_view rsDeckId);
117 void OpenThenToggleDeck(
const OUString& rsDeckId);
121 void RequestCloseDeck();
125 void RequestOpenDeck();
129 bool IsDeckVisible(std::u16string_view rsDeckId);
131 bool IsDeckOpen(
const sal_Int32 nIndex = -1);
142 void SwitchToDeck(std::u16string_view rsDeckId);
143 void SwitchToDefaultDeck();
147 void CreateDeck(std::u16string_view rDeckId);
148 void CreateDeck(std::u16string_view rDeckId,
const Context& rContext,
bool bForceCreate =
false);
153 void notifyDeckTitle(std::u16string_view targetDeckId);
155 void updateModel(
const css::uno::Reference<css::frame::XModel>& xModel);
164 css::uno::Reference<css::frame::XFrame>
const &
getXFrame()
const {
return mxFrame;}
167 void setMaximumWidth(sal_Int32 nMaximumWidth) { mnMaximumSidebarWidth = nMaximumWidth; }
169 void saveDeckState();
174 bool hasChartOrMathContextCurrently()
const;
184 css::uno::Reference<css::frame::XFrame>
mxFrame;
232 void UpdateConfigurations();
234 css::uno::Reference<css::ui::XUIElement> CreateUIElement (
235 const css::uno::Reference<css::awt::XWindow>& rxWindow,
236 const OUString& rsImplementationURL,
237 const bool bWantsCanvas,
241 std::u16string_view rDeckId,
243 std::shared_ptr<Panel> CreatePanel (
244 std::u16string_view rsPanelId,
246 const bool bIsInitiallyExpanded,
257 const ::std::vector<TabBar::DeckMenuData>& rMenuData)
const;
258 void PopulatePopupMenus(
261 const ::std::vector<TabBar::DeckMenuData>& rMenuData)
const;
264 void BroadcastPropertyChange();
270 bool CanModifyChildWindowWidth();
275 sal_Int32 SetChildWindowWidth (
const sal_Int32 nNewWidth);
281 void UpdateTitleBarIcons();
283 void UpdateDeckOpenState();
284 void RestrictWidth (sal_Int32 nWidth);
286 void ProcessNewWidth (
const sal_Int32 nNewWidth);
287 void UpdateCloseIndicator (
const bool bIsIndicatorVisible);
293 void ShowPanel (
const Panel& rPanel);
295 virtual void disposing(std::unique_lock<std::mutex>&)
override;
One SfxViewShell more or less represents one edit window for a document, there can be multiple ones f...
css::uno::Reference< css::deployment::XPackageRegistry > create(css::uno::Reference< css::deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, css::uno::Reference< css::uno::XComponentContext > const &xComponentContext)