diff options
Diffstat (limited to 'sfx2/source/sidebar/TitleBar.cxx')
-rw-r--r-- | sfx2/source/sidebar/TitleBar.cxx | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/sfx2/source/sidebar/TitleBar.cxx b/sfx2/source/sidebar/TitleBar.cxx index b88b4e92e1db..9dc13d3aa274 100644 --- a/sfx2/source/sidebar/TitleBar.cxx +++ b/sfx2/source/sidebar/TitleBar.cxx @@ -21,61 +21,58 @@ namespace sfx2::sidebar { -TitleBarBase::TitleBarBase(weld::Builder& rBuilder, Theme::ThemeItem eThemeItem) +TitleBar::TitleBar(weld::Builder& rBuilder, Theme::ThemeItem eThemeItem) : mrBuilder(rBuilder) + , mxTitlebar(rBuilder.weld_container("titlebar")) , mxAddonImage(rBuilder.weld_image("addonimage")) , mxToolBox(rBuilder.weld_toolbar("toolbar")) , meThemeItem(eThemeItem) { - mxToolBox->set_background(Theme::GetColor(meThemeItem)); + SetBackground(); - mxToolBox->connect_clicked(LINK(this, TitleBarBase, SelectionHandler)); + mxToolBox->connect_clicked(LINK(this, TitleBar, SelectionHandler)); } -TitleBarBase::~TitleBarBase() +void TitleBar::SetBackground() { + Color aColor(Theme::GetColor(meThemeItem)); + mxTitlebar->set_background(aColor); + mxToolBox->set_background(aColor); } -void TitleBarBase::reset() +void TitleBar::DataChanged() { - mxToolBox.reset(); - mxAddonImage.reset(); + SetBackground(); } -void TitleBarBase::SetIcon(const css::uno::Reference<css::graphic::XGraphic>& rIcon) +TitleBar::~TitleBar() { - mxAddonImage->set_image(rIcon); - mxAddonImage->set_visible(rIcon.is()); } -IMPL_LINK_NOARG(TitleBarBase, SelectionHandler, const OString&, void) +Size TitleBar::get_preferred_size() const { - HandleToolBoxItemClick(); + return mxTitlebar->get_preferred_size(); } -TitleBar::TitleBar(vcl::Window* pParentWindow, - const OUString& rUIXMLDescription, const OString& rID, - Theme::ThemeItem eThemeItem) - : InterimItemWindow(pParentWindow, rUIXMLDescription, rID) - , TitleBarBase(*m_xBuilder, eThemeItem) +void TitleBar::Show(bool bShow) { - m_xContainer->set_background(Theme::GetColor(meThemeItem)); + mxTitlebar->set_visible(bShow); } -TitleBar::~TitleBar() +bool TitleBar::GetVisible() const { - disposeOnce(); + return mxTitlebar->get_visible(); } -void TitleBar::dispose() +void TitleBar::SetIcon(const css::uno::Reference<css::graphic::XGraphic>& rIcon) { - reset(); - InterimItemWindow::dispose(); + mxAddonImage->set_image(rIcon); + mxAddonImage->set_visible(rIcon.is()); } -void TitleBar::DataChanged (const DataChangedEvent& /*rEvent*/) +IMPL_LINK_NOARG(TitleBar, SelectionHandler, const OString&, void) { - m_xContainer->set_background(Theme::GetColor(meThemeItem)); + HandleToolBoxItemClick(); } } // end of namespace sfx2::sidebar |