diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-03-10 17:10:38 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-06-23 06:13:12 +0200 |
commit | 65a310ead162a9d881ec95ee9802b8c223930fa0 (patch) | |
tree | 5a45e77ec793da36b8bad9fe170fa99991593828 /vcl/jsdialog | |
parent | aadcd6f90916bd2b9734ae793141d0c77cc5b46c (diff) |
jsdialog: weld SpinButton and CheckButton
Change-Id: I0dfa163b8a52594cde9e3529df8f433dc93bc459
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94432
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96845
Tested-by: Jenkins
Diffstat (limited to 'vcl/jsdialog')
-rw-r--r-- | vcl/jsdialog/jsdialogbuilder.cxx | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index c360eee7b9e6..0443170dee00 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -205,6 +205,36 @@ std::unique_ptr<weld::Notebook> JSInstanceBuilder::weld_notebook(const OString& return pWeldWidget; } +std::unique_ptr<weld::SpinButton> JSInstanceBuilder::weld_spin_button(const OString& id, + bool bTakeOwnership) +{ + FormattedField* pSpinButton = m_xBuilder->get<FormattedField>(id); + auto pWeldWidget = pSpinButton ? std::make_unique<JSSpinButton>( + m_bHasTopLevelDialog ? m_aOwnedToplevel : m_aParentDialog, + pSpinButton, this, bTakeOwnership) + : nullptr; + + if (pWeldWidget) + RememberWidget(id, pWeldWidget.get()); + + return pWeldWidget; +} + +std::unique_ptr<weld::CheckButton> JSInstanceBuilder::weld_check_button(const OString& id, + bool bTakeOwnership) +{ + CheckBox* pCheckButton = m_xBuilder->get<CheckBox>(id); + auto pWeldWidget = pCheckButton ? std::make_unique<JSCheckButton>( + m_bHasTopLevelDialog ? m_aOwnedToplevel : m_aParentDialog, + pCheckButton, this, bTakeOwnership) + : nullptr; + + if (pWeldWidget) + RememberWidget(id, pWeldWidget.get()); + + return pWeldWidget; +} + weld::MessageDialog* JSInstanceBuilder::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, @@ -348,6 +378,19 @@ void JSNotebook::insert_page(const OString& rIdent, const OUString& rLabel, int notifyDialogState(); } +JSSpinButton::JSSpinButton(VclPtr<vcl::Window> aOwnedToplevel, ::FormattedField* pSpin, + SalInstanceBuilder* pBuilder, bool bTakeOwnership) + : JSWidget<SalInstanceSpinButton, ::FormattedField>(aOwnedToplevel, pSpin, pBuilder, + bTakeOwnership) +{ +} + +void JSSpinButton::set_value(int value) +{ + SalInstanceSpinButton::set_value(value); + notifyDialogState(); +} + JSMessageDialog::JSMessageDialog(::MessageDialog* pDialog, SalInstanceBuilder* pBuilder, bool bTakeOwnership) : SalInstanceMessageDialog(pDialog, pBuilder, bTakeOwnership) @@ -366,3 +409,16 @@ void JSMessageDialog::set_secondary_text(const OUString& rText) SalInstanceMessageDialog::set_secondary_text(rText); notifyDialogState(); } + +JSCheckButton::JSCheckButton(VclPtr<vcl::Window> aOwnedToplevel, ::CheckBox* pCheckBox, + SalInstanceBuilder* pBuilder, bool bTakeOwnership) + : JSWidget<SalInstanceCheckButton, ::CheckBox>(aOwnedToplevel, pCheckBox, pBuilder, + bTakeOwnership) +{ +} + +void JSCheckButton::set_active(bool active) +{ + SalInstanceCheckButton::set_active(active); + notifyDialogState(); +} |