summaryrefslogtreecommitdiff
path: root/sfx2/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-03-02 16:18:43 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-03-11 14:29:54 +0100
commitd764415977ad65bb4a657ccada7c9b2c19b689e1 (patch)
tree8f2a84b795e9a4cf5036dae0984c9ed2937933a7 /sfx2/inc
parentfeb8164afa67d3e2e5fe27dd01c5101d6d0cb847 (diff)
merge panel and panel title
so one combined InterimItemWindow instead of two separate ones for each panel Change-Id: Ie8e1b6a28f124ef23cf88ec47442ccf15ab51d3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111903 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2/inc')
-rw-r--r--sfx2/inc/sidebar/PanelTitleBar.hxx14
-rw-r--r--sfx2/inc/sidebar/TitleBar.hxx28
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: */