diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-02-28 14:40:03 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-05-11 16:14:13 +0200 |
commit | a2eb0fe1cffea70bb653ce93b148b4c3d48f0468 (patch) | |
tree | 1acbdc908a80becbccefe87017619548870a6942 /vcl | |
parent | 1467a33543f56d4e6472d5e05ffdd8e6e41bc607 (diff) |
Move SalInstanceButton to header file
Change-Id: I3f6aa1975ae5859e0c340c82627d95e49313a668
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93483
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/salvtables.hxx | 23 | ||||
-rw-r--r-- | vcl/source/app/salvtables.cxx | 89 |
2 files changed, 63 insertions, 49 deletions
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index e84143832dcf..a4a2fd9f3a45 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -632,4 +632,27 @@ public: virtual ~SalInstanceComboBoxWithEdit() override; }; +class SalInstanceButton : public SalInstanceContainer, public virtual weld::Button +{ +private: + VclPtr<::Button> m_xButton; + Link<::Button*,void> const m_aOldClickHdl; + + DECL_LINK(ClickHdl, ::Button*, void); +public: + SalInstanceButton(::Button* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership); + + virtual void set_label(const OUString& rText) override; + + virtual void set_image(VirtualDevice* pDevice) override; + + virtual void set_from_icon_name(const OUString& rIconName) override; + + virtual void set_label_line_wrap(bool wrap) override; + + virtual OUString get_label() const override; + + virtual ~SalInstanceButton() override; +}; + #endif
\ No newline at end of file diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 02c8a60c4b94..2eb158148349 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -1172,64 +1172,55 @@ IMPL_LINK_NOARG(SalInstanceNotebook, ActivatePageHdl, TabControl*, void) m_aEnterPageHdl.Call(get_current_page_ident()); } -class SalInstanceButton : public SalInstanceContainer, public virtual weld::Button +SalInstanceButton::SalInstanceButton(::Button* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership) + : SalInstanceContainer(pButton, pBuilder, bTakeOwnership) + , m_xButton(pButton) + , m_aOldClickHdl(pButton->GetClickHdl()) { -private: - VclPtr<::Button> m_xButton; - Link<::Button*,void> const m_aOldClickHdl; - - DECL_LINK(ClickHdl, ::Button*, void); -public: - SalInstanceButton(::Button* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership) - : SalInstanceContainer(pButton, pBuilder, bTakeOwnership) - , m_xButton(pButton) - , m_aOldClickHdl(pButton->GetClickHdl()) - { - m_xButton->SetClickHdl(LINK(this, SalInstanceButton, ClickHdl)); - } + m_xButton->SetClickHdl(LINK(this, SalInstanceButton, ClickHdl)); +} - virtual void set_label(const OUString& rText) override - { - m_xButton->SetText(rText); - } +void SalInstanceButton::set_label(const OUString& rText) +{ + m_xButton->SetText(rText); +} - virtual void set_image(VirtualDevice* pDevice) override +void SalInstanceButton::set_image(VirtualDevice* pDevice) +{ + m_xButton->SetImageAlign(ImageAlign::Left); + if (pDevice) { - m_xButton->SetImageAlign(ImageAlign::Left); - if (pDevice) - { - BitmapEx aBitmap(pDevice->GetBitmap(Point(0, 0), pDevice->GetOutputSize())); - m_xButton->SetModeImage(Image(aBitmap)); - } - else - m_xButton->SetModeImage(Image()); + BitmapEx aBitmap(pDevice->GetBitmap(Point(0, 0), pDevice->GetOutputSize())); + m_xButton->SetModeImage(Image(aBitmap)); } + else + m_xButton->SetModeImage(Image()); +} - virtual void set_from_icon_name(const OUString& rIconName) override - { - m_xButton->SetModeImage(::Image(BitmapEx(rIconName))); - } +void SalInstanceButton::set_from_icon_name(const OUString& rIconName) +{ + m_xButton->SetModeImage(::Image(BitmapEx(rIconName))); +} - virtual void set_label_line_wrap(bool wrap) override - { - WinBits nBits = m_xButton->GetStyle(); - nBits &= ~WB_WORDBREAK; - if (wrap) - nBits |= WB_WORDBREAK; - m_xButton->SetStyle(nBits); - m_xButton->queue_resize(); - } +void SalInstanceButton::set_label_line_wrap(bool wrap) +{ + WinBits nBits = m_xButton->GetStyle(); + nBits &= ~WB_WORDBREAK; + if (wrap) + nBits |= WB_WORDBREAK; + m_xButton->SetStyle(nBits); + m_xButton->queue_resize(); +} - virtual OUString get_label() const override - { - return m_xButton->GetText(); - } +OUString SalInstanceButton::get_label() const +{ + return m_xButton->GetText(); +} - virtual ~SalInstanceButton() override - { - m_xButton->SetClickHdl(Link<::Button*,void>()); - } -}; +SalInstanceButton::~SalInstanceButton() +{ + m_xButton->SetClickHdl(Link<::Button*,void>()); +} IMPL_LINK(SalInstanceButton, ClickHdl, ::Button*, pButton, void) { |