diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-05-13 10:31:33 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-05-14 13:01:06 +0200 |
commit | 7e7d7e5f1ec0aa678009b2d0993a9ccc05bb1ea8 (patch) | |
tree | 037c23f1e3042c578021edcb2433352afa5fbf64 | |
parent | 976abc2be4ff03a34936e94ff2cbf3292e7ba9b4 (diff) |
Move SalInstanceCheckButton to header file
Change-Id: Id6597cd259abefe69a61f0ab414c6bd2114c9749
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94100
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r-- | vcl/inc/salvtables.hxx | 21 | ||||
-rw-r--r-- | vcl/source/app/salvtables.cxx | 67 |
2 files changed, 48 insertions, 40 deletions
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 779067586c29..628b4b707c34 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1082,4 +1082,25 @@ public: virtual weld::Container* weld_message_area() override; }; +class SalInstanceCheckButton : public SalInstanceButton, public virtual weld::CheckButton +{ +private: + VclPtr<CheckBox> m_xCheckButton; + + DECL_LINK(ToggleHdl, CheckBox&, void); + +public: + SalInstanceCheckButton(CheckBox* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership); + + virtual void set_active(bool active) override; + + virtual bool get_active() const override; + + virtual void set_inconsistent(bool inconsistent) override; + + virtual bool get_inconsistent() const override; + + virtual ~SalInstanceCheckButton() override; +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 453404f31d13..fef4615ab96f 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -2731,52 +2731,39 @@ IMPL_LINK(SalInstanceToggleButton, ToggleListener, VclWindowEvent&, rEvent, void signal_toggled(); } -namespace -{ -class SalInstanceCheckButton : public SalInstanceButton, public virtual weld::CheckButton +SalInstanceCheckButton::SalInstanceCheckButton(CheckBox* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership) + : SalInstanceButton(pButton, pBuilder, bTakeOwnership) + , m_xCheckButton(pButton) { -private: - VclPtr<CheckBox> m_xCheckButton; - - DECL_LINK(ToggleHdl, CheckBox&, void); - -public: - SalInstanceCheckButton(CheckBox* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership) - : SalInstanceButton(pButton, pBuilder, bTakeOwnership) - , m_xCheckButton(pButton) - { - m_xCheckButton->SetToggleHdl(LINK(this, SalInstanceCheckButton, ToggleHdl)); - } - - virtual void set_active(bool active) override - { - disable_notify_events(); - m_xCheckButton->EnableTriState(false); - m_xCheckButton->Check(active); - enable_notify_events(); - } + m_xCheckButton->SetToggleHdl(LINK(this, SalInstanceCheckButton, ToggleHdl)); +} - virtual bool get_active() const override { return m_xCheckButton->IsChecked(); } +void SalInstanceCheckButton::set_active(bool active) +{ + disable_notify_events(); + m_xCheckButton->EnableTriState(false); + m_xCheckButton->Check(active); + enable_notify_events(); +} - virtual void set_inconsistent(bool inconsistent) override - { - disable_notify_events(); - m_xCheckButton->EnableTriState(true); - m_xCheckButton->SetState(inconsistent ? TRISTATE_INDET : TRISTATE_FALSE); - enable_notify_events(); - } +bool SalInstanceCheckButton::get_active() const { return m_xCheckButton->IsChecked(); } - virtual bool get_inconsistent() const override - { - return m_xCheckButton->GetState() == TRISTATE_INDET; - } +void SalInstanceCheckButton::set_inconsistent(bool inconsistent) +{ + disable_notify_events(); + m_xCheckButton->EnableTriState(true); + m_xCheckButton->SetState(inconsistent ? TRISTATE_INDET : TRISTATE_FALSE); + enable_notify_events(); +} - virtual ~SalInstanceCheckButton() override - { - m_xCheckButton->SetToggleHdl(Link<CheckBox&, void>()); - } -}; +bool SalInstanceCheckButton::get_inconsistent() const +{ + return m_xCheckButton->GetState() == TRISTATE_INDET; +} +SalInstanceCheckButton::~SalInstanceCheckButton() +{ + m_xCheckButton->SetToggleHdl(Link<CheckBox&, void>()); } IMPL_LINK_NOARG(SalInstanceCheckButton, ToggleHdl, CheckBox&, void) |