diff options
Diffstat (limited to 'sfx2/inc')
-rw-r--r-- | sfx2/inc/sidebar/PanelTitleBar.hxx | 14 | ||||
-rw-r--r-- | sfx2/inc/sidebar/TitleBar.hxx | 28 |
2 files changed, 29 insertions, 13 deletions
diff --git a/sfx2/inc/sidebar/PanelTitleBar.hxx b/sfx2/inc/sidebar/PanelTitleBar.hxx index ff00eb9f9294..64a77833dddd 100644 --- a/sfx2/inc/sidebar/PanelTitleBar.hxx +++ b/sfx2/inc/sidebar/PanelTitleBar.hxx @@ -29,35 +29,39 @@ namespace sfx2::sidebar { class Panel; class PanelTitleBar final - : public TitleBar + : public TitleBarBase { public: - PanelTitleBar(const OUString& rsTitle, vcl::Window* pParentWindow, Panel* pPanel); - virtual void dispose() override; + PanelTitleBar(const OUString& rsTitle, weld::Builder& rBuilder, Panel* pPanel); virtual ~PanelTitleBar() override; virtual void SetTitle (const OUString& rsTitle) override; virtual OUString GetTitle() const override; + virtual bool GetVisible() const override; void SetMoreOptionsCommand(const OUString& rsCommandName, const css::uno::Reference<css::frame::XFrame>& rxFrame, const css::uno::Reference<css::frame::XController>& rxController); void UpdateExpandedState(); + void Show(bool bShow) + { + mxTitlebar->set_visible(bShow); + } weld::Expander& GetExpander() { return *mxExpander; } - virtual void DataChanged(const DataChangedEvent& rEvent) override; - private: virtual void HandleToolBoxItemClick() override; DECL_LINK(ExpandHdl, weld::Expander&, void); + std::unique_ptr<weld::Container> mxTitlebar; std::unique_ptr<weld::Expander> mxExpander; + css::uno::Reference<css::frame::XToolbarController> mxController; VclPtr<Panel> mpPanel; diff --git a/sfx2/inc/sidebar/TitleBar.hxx b/sfx2/inc/sidebar/TitleBar.hxx index 772b349b6a2c..425e859cc690 100644 --- a/sfx2/inc/sidebar/TitleBar.hxx +++ b/sfx2/inc/sidebar/TitleBar.hxx @@ -25,22 +25,19 @@ namespace sfx2::sidebar { -class TitleBar : public InterimItemWindow +class TitleBarBase { public: - TitleBar(vcl::Window* pParentWindow, - const OUString& rUIXMLDescription, const OString& rID, - Theme::ThemeItem eThemeItem); - virtual void dispose() override; - virtual ~TitleBar() override; + TitleBarBase(weld::Builder& rBuilder, Theme::ThemeItem eThemeItem); + void reset(); + virtual ~TitleBarBase(); virtual void SetTitle (const OUString& rsTitle) = 0; virtual OUString GetTitle() const = 0; + virtual bool GetVisible() const = 0; void SetIcon(const css::uno::Reference<css::graphic::XGraphic>& rIcon); - virtual void DataChanged (const DataChangedEvent& rEvent) override; - weld::Toolbar& GetToolBox() { return *mxToolBox; @@ -51,6 +48,7 @@ public: } protected: + weld::Builder& mrBuilder; std::unique_ptr<weld::Image> mxAddonImage; std::unique_ptr<weld::Toolbar> mxToolBox; std::unique_ptr<ToolbarUnoDispatcher> mxToolBoxController; @@ -61,6 +59,20 @@ protected: DECL_LINK(SelectionHandler, const OString&, void); }; +class TitleBar : public InterimItemWindow + , public TitleBarBase +{ +public: + TitleBar(vcl::Window* pParentWindow, + const OUString& rUIXMLDescription, const OString& rID, + Theme::ThemeItem eThemeItem); + virtual void dispose() override; + virtual bool GetVisible() const override { return IsVisible(); } + virtual ~TitleBar() override; + + virtual void DataChanged (const DataChangedEvent& rEvent) override; +}; + } // end of namespace sfx2::sidebar /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |