diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-05-15 08:59:28 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-05-15 12:53:00 +0200 |
commit | a09888adcd1de54dcf90968ed447d196ebf0429a (patch) | |
tree | 085c66bb87e7f42e53b5a1861693202af652f64d /sc/source | |
parent | f7048e9b792c0123318f1133bafa030d688e10d7 (diff) |
weld ScSolverIntegerDialog
Change-Id: I4d7196ead0dd60fe4b40af72a1c7ec64c5a2315a
Reviewed-on: https://gerrit.libreoffice.org/54352
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/ui/inc/solveroptions.hxx | 10 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/solveroptions.cxx | 38 |
2 files changed, 17 insertions, 31 deletions
diff --git a/sc/source/ui/inc/solveroptions.hxx b/sc/source/ui/inc/solveroptions.hxx index 4d999ad76b95..9ad1fb0f6c17 100644 --- a/sc/source/ui/inc/solveroptions.hxx +++ b/sc/source/ui/inc/solveroptions.hxx @@ -26,6 +26,7 @@ #include <vcl/fixed.hxx> #include <vcl/layout.hxx> #include <vcl/lstbox.hxx> +#include <vcl/weld.hxx> #include <svx/checklbx.hxx> #include <com/sun/star/uno/Sequence.hxx> @@ -68,15 +69,14 @@ public: const css::uno::Sequence<css::beans::PropertyValue>& GetProperties(); }; -class ScSolverIntegerDialog : public ModalDialog +class ScSolverIntegerDialog : public weld::GenericDialogController { - VclPtr<VclFrame> m_pFrame; - VclPtr<NumericField> m_pNfValue; + std::unique_ptr<weld::Frame> m_xFrame; + std::unique_ptr<weld::SpinButton> m_xNfValue; public: - ScSolverIntegerDialog( vcl::Window * pParent ); + ScSolverIntegerDialog(weld::Window* pParent); virtual ~ScSolverIntegerDialog() override; - virtual void dispose() override; void SetOptionName( const OUString& rName ); void SetValue( sal_Int32 nValue ); diff --git a/sc/source/ui/miscdlgs/solveroptions.cxx b/sc/source/ui/miscdlgs/solveroptions.cxx index 9d0e8b043a73..18fea8c6a470 100644 --- a/sc/source/ui/miscdlgs/solveroptions.cxx +++ b/sc/source/ui/miscdlgs/solveroptions.cxx @@ -333,12 +333,12 @@ void ScSolverOptionsDialog::EditOption() } else { - ScopedVclPtrInstance< ScSolverIntegerDialog > aIntDialog( this ); - aIntDialog->SetOptionName( pStringItem->GetText() ); - aIntDialog->SetValue( pStringItem->GetIntValue() ); - if ( aIntDialog->Execute() == RET_OK ) + ScSolverIntegerDialog aIntDialog(GetFrameWeld()); + aIntDialog.SetOptionName( pStringItem->GetText() ); + aIntDialog.SetValue( pStringItem->GetIntValue() ); + if (aIntDialog.run() == RET_OK) { - pStringItem->SetIntValue( aIntDialog->GetValue() ); + pStringItem->SetIntValue(aIntDialog.GetValue()); m_pLbSettings->InvalidateEntry( pEntry ); } } @@ -389,44 +389,30 @@ IMPL_LINK_NOARG(ScSolverOptionsDialog, SettingsSelHdl, SvTreeListBox*, void) m_pBtnEdit->Enable( !bCheckbox ); } -ScSolverIntegerDialog::ScSolverIntegerDialog(vcl::Window * pParent) - : ModalDialog( pParent, "IntegerDialog", - "modules/scalc/ui/integerdialog.ui" ) +ScSolverIntegerDialog::ScSolverIntegerDialog(weld::Window * pParent) + : GenericDialogController(pParent, "modules/scalc/ui/integerdialog.ui", "IntegerDialog") + , m_xFrame(m_xBuilder->weld_frame("frame")) + , m_xNfValue(m_xBuilder->weld_spin_button("value")) { - get(m_pFrame, "frame"); - get(m_pNfValue, "value"); } ScSolverIntegerDialog::~ScSolverIntegerDialog() { - disposeOnce(); -} - -void ScSolverIntegerDialog::dispose() -{ - m_pFrame.clear(); - m_pNfValue.clear(); - ModalDialog::dispose(); } void ScSolverIntegerDialog::SetOptionName( const OUString& rName ) { - m_pFrame->set_label(rName); + m_xFrame->set_label(rName); } void ScSolverIntegerDialog::SetValue( sal_Int32 nValue ) { - m_pNfValue->SetValue( nValue ); + m_xNfValue->set_value( nValue ); } sal_Int32 ScSolverIntegerDialog::GetValue() const { - sal_Int64 nValue = m_pNfValue->GetValue(); - if ( nValue < SAL_MIN_INT32 ) - return SAL_MIN_INT32; - if ( nValue > SAL_MAX_INT32 ) - return SAL_MAX_INT32; - return static_cast<sal_Int32>(nValue); + return m_xNfValue->get_value(); } ScSolverValueDialog::ScSolverValueDialog(weld::Window* pParent) |