diff options
author | Rafael Lima <rafael.palma.lima@gmail.com> | 2020-11-17 17:59:50 -0300 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-11-24 07:11:30 +0100 |
commit | e1b05b134e43d3186ddc5b8cfbbacb62ee4af483 (patch) | |
tree | efa42145bcbffdf9f9fa6f4fe397368e23f25d29 /sc | |
parent | 5ca88c4a1a97b95c829f6c7c570c4e5219e80e2e (diff) |
tdf#134528 Add "Reset All" button to Calc Solver dialog
Change-Id: I27a2fb4dddf3da31801bc2283ee58a24a921d7ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106030
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/inc/optsolver.hxx | 1 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/optsolver.cxx | 25 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/solverdlg.ui | 46 |
3 files changed, 56 insertions, 16 deletions
diff --git a/sc/source/ui/inc/optsolver.hxx b/sc/source/ui/inc/optsolver.hxx index ed9860e8b652..410f513375ee 100644 --- a/sc/source/ui/inc/optsolver.hxx +++ b/sc/source/ui/inc/optsolver.hxx @@ -177,6 +177,7 @@ private: std::unique_ptr<weld::Button> m_xBtnOpt; std::unique_ptr<weld::Button> m_xBtnCancel; std::unique_ptr<weld::Button> m_xBtnSolve; + std::unique_ptr<weld::Button> m_xBtnResetAll; std::unique_ptr<weld::Label> m_xResultFT; std::unique_ptr<weld::Widget> m_xContents; diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index e3c6b1d751e9..8fc81893e26c 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -202,6 +202,7 @@ ScOptSolverDlg::ScOptSolverDlg(SfxBindings* pB, SfxChildWindow* pCW, weld::Windo , m_xBtnOpt(m_xBuilder->weld_button("options")) , m_xBtnCancel(m_xBuilder->weld_button("close")) , m_xBtnSolve(m_xBuilder->weld_button("ok")) + , m_xBtnResetAll(m_xBuilder->weld_button("resetall")) , m_xResultFT(m_xBuilder->weld_label("result")) , m_xContents(m_xBuilder->weld_widget("grid")) { @@ -273,6 +274,7 @@ void ScOptSolverDlg::Init(const ScAddress& rCursorPos) m_xBtnOpt->connect_clicked( LINK( this, ScOptSolverDlg, BtnHdl ) ); m_xBtnCancel->connect_clicked( LINK( this, ScOptSolverDlg, BtnHdl ) ); m_xBtnSolve->connect_clicked( LINK( this, ScOptSolverDlg, BtnHdl ) ); + m_xBtnResetAll->connect_clicked( LINK( this, ScOptSolverDlg, BtnHdl ) ); Link<formula::RefEdit&,void> aEditLink = LINK( this, ScOptSolverDlg, GetEditFocusHdl ); Link<formula::RefButton&,void> aButtonLink = LINK( this, ScOptSolverDlg, GetButtonFocusHdl ); @@ -545,6 +547,29 @@ IMPL_LINK(ScOptSolverDlg, BtnHdl, weld::Button&, rBtn, void) m_xOptDlg.reset(); }); } + else if (&rBtn == m_xBtnResetAll.get()) + { + OUString sEmpty; + m_xEdObjectiveCell->SetText(sEmpty); + m_xEdTargetValue->SetText(sEmpty); + m_xEdVariableCells->SetText(sEmpty); + + // Get default property values of solver implementations + maEngine = maImplNames[0]; + maProperties = ScSolverUtil::GetDefaults( maEngine ); + + // Clear all conditions (Constraints) + maConditions.clear(); + std::unique_ptr<ScOptSolverSave> pEmpty( new ScOptSolverSave( + sEmpty, true, false, false, + sEmpty, sEmpty, maConditions, maEngine, maProperties ) ); + mpDocShell->SetSolverSaveData( std::move(pEmpty) ); + ShowConditions(); + + m_xRbMax->set_active(true); + m_xEdObjectiveCell->GrabFocus(); + mpEdActive = m_xEdObjectiveCell.get(); + } } IMPL_LINK( ScOptSolverDlg, GetEditFocusHdl, formula::RefEdit&, rCtrl, void ) diff --git a/sc/uiconfig/scalc/ui/solverdlg.ui b/sc/uiconfig/scalc/ui/solverdlg.ui index a4f63ef2b3e8..ccd87c6f54d1 100644 --- a/sc/uiconfig/scalc/ui/solverdlg.ui +++ b/sc/uiconfig/scalc/ui/solverdlg.ui @@ -20,37 +20,51 @@ <property name="can_focus">False</property> <property name="layout_style">end</property> <child> - <object class="GtkButton" id="options"> - <property name="label" translatable="yes" context="solverdlg|options">O_ptions...</property> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_underline">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="options-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="solverdlg|extended_tip|options">Opens the Solver Options dialog.</property> - </object> - </child> + <property name="use_stock">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> + <property name="secondary">True</property> </packing> </child> <child> - <object class="GtkButton" id="help"> - <property name="label">gtk-help</property> + <object class="GtkButton" id="resetall"> + <property name="label" translatable="yes" context="solverdlg|resetall">_Reset All</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_stock">True</property> + <property name="use_underline">True</property> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> <property name="position">1</property> - <property name="secondary">True</property> + </packing> + </child> + <child> + <object class="GtkButton" id="options"> + <property name="label" translatable="yes" context="solverdlg|options">O_ptions...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="options-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="solverdlg|extended_tip|options">Opens the Solver Options dialog.</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> </packing> </child> <child> @@ -66,7 +80,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> <child> @@ -80,7 +94,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">3</property> + <property name="position">4</property> </packing> </child> </object> @@ -869,8 +883,8 @@ </object> </child> <action-widgets> - <action-widget response="101">options</action-widget> <action-widget response="-11">help</action-widget> + <action-widget response="101">options</action-widget> <action-widget response="-5">ok</action-widget> <action-widget response="-7">close</action-widget> </action-widgets> |