summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-05-15 09:22:13 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-05-15 13:25:31 +0200
commit932c96e158517bc1369d78e8180da4c04c214cff (patch)
tree9293bc9a174d73e39582cbe0a49efd81be56b3c2
parent5f170e69728b8741ce3c0af1d140023577cc470b (diff)
weld ScSolverSuccessDialog
Change-Id: I29bf7b59fbac8f969e5a61963d65b626ac03b0fa Reviewed-on: https://gerrit.libreoffice.org/54355 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sc/source/ui/inc/optsolver.hxx13
-rw-r--r--sc/source/ui/miscdlgs/optsolver.cxx39
-rw-r--r--sc/uiconfig/scalc/ui/solversuccessdialog.ui98
3 files changed, 73 insertions, 77 deletions
diff --git a/sc/source/ui/inc/optsolver.hxx b/sc/source/ui/inc/optsolver.hxx
index 4b7aabc6a56d..66b7132440dc 100644
--- a/sc/source/ui/inc/optsolver.hxx
+++ b/sc/source/ui/inc/optsolver.hxx
@@ -224,18 +224,17 @@ public:
virtual void dispose() override;
};
-class ScSolverSuccessDialog : public ModalDialog
+class ScSolverSuccessDialog : public weld::GenericDialogController
{
- VclPtr<FixedText> m_pFtResult;
- VclPtr<PushButton> m_pBtnOk;
- VclPtr<PushButton> m_pBtnCancel;
+ std::unique_ptr<weld::Label> m_xFtResult;
+ std::unique_ptr<weld::Button> m_xBtnOk;
+ std::unique_ptr<weld::Button> m_xBtnCancel;
- DECL_LINK(ClickHdl, Button*, void);
+ DECL_LINK(ClickHdl, weld::Button&, void);
public:
- ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution );
+ ScSolverSuccessDialog(weld::Window* pParent, const OUString& rSolution);
virtual ~ScSolverSuccessDialog() override;
- virtual void dispose() override;
};
#endif
diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx
index 479262509a71..96eaf1fd8ccb 100644
--- a/sc/source/ui/miscdlgs/optsolver.cxx
+++ b/sc/source/ui/miscdlgs/optsolver.cxx
@@ -95,37 +95,28 @@ void ScSolverNoSolutionDialog::dispose()
ModalDialog::dispose();
}
-ScSolverSuccessDialog::ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution )
- : ModalDialog(pParent, "SolverSuccessDialog", "modules/scalc/ui/solversuccessdialog.ui")
+ScSolverSuccessDialog::ScSolverSuccessDialog(weld::Window* pParent, const OUString& rSolution)
+ : GenericDialogController(pParent, "modules/scalc/ui/solversuccessdialog.ui", "SolverSuccessDialog")
+ , m_xFtResult(m_xBuilder->weld_label("result"))
+ , m_xBtnOk(m_xBuilder->weld_button("ok"))
+ , m_xBtnCancel(m_xBuilder->weld_button("cancel"))
{
- get(m_pFtResult, "result");
- get(m_pBtnOk, "ok");
- m_pBtnOk->SetClickHdl(LINK(this, ScSolverSuccessDialog, ClickHdl));
- get(m_pBtnCancel, "cancel");
- m_pBtnCancel->SetClickHdl(LINK(this, ScSolverSuccessDialog, ClickHdl));
- OUString aMessage = m_pFtResult->GetText() + " " + rSolution;
- m_pFtResult->SetText(aMessage);
+ m_xBtnOk->connect_clicked(LINK(this, ScSolverSuccessDialog, ClickHdl));
+ m_xBtnCancel->connect_clicked(LINK(this, ScSolverSuccessDialog, ClickHdl));
+ OUString aMessage = m_xFtResult->get_label() + " " + rSolution;
+ m_xFtResult->set_label(aMessage);
}
ScSolverSuccessDialog::~ScSolverSuccessDialog()
{
- disposeOnce();
-}
-
-void ScSolverSuccessDialog::dispose()
-{
- m_pFtResult.clear();
- m_pBtnOk.clear();
- m_pBtnCancel.clear();
- ModalDialog::dispose();
}
-IMPL_LINK( ScSolverSuccessDialog, ClickHdl, Button*, pBtn, void )
+IMPL_LINK(ScSolverSuccessDialog, ClickHdl, weld::Button&, rBtn, void)
{
- if (pBtn == m_pBtnOk)
- EndDialog(RET_OK);
+ if (&rBtn == m_xBtnOk.get())
+ m_xDialog->response(RET_OK);
else
- EndDialog();
+ m_xDialog->response(RET_CANCEL);
}
ScCursorRefEdit::ScCursorRefEdit( vcl::Window* pParent, vcl::Window *pLabel )
@@ -1054,8 +1045,8 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal
static_cast<SCCOL>(aObjective.Column), static_cast<SCROW>(aObjective.Row),
static_cast<SCTAB>(aObjective.Sheet));
- ScopedVclPtrInstance< ScSolverSuccessDialog > aDialog( this, aResultStr );
- if ( aDialog->Execute() == RET_OK )
+ ScSolverSuccessDialog aDialog(GetFrameWeld(), aResultStr);
+ if (aDialog.run() == RET_OK)
{
// keep results and close dialog
bRestore = false;
diff --git a/sc/uiconfig/scalc/ui/solversuccessdialog.ui b/sc/uiconfig/scalc/ui/solversuccessdialog.ui
index 8939a2924ba5..3ab6093422fe 100644
--- a/sc/uiconfig/scalc/ui/solversuccessdialog.ui
+++ b/sc/uiconfig/scalc/ui/solversuccessdialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sc">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="SolverSuccessDialog">
@@ -7,12 +7,60 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="solversuccessdialog|SolverSuccessDialog">Solving Result</property>
<property name="resizable">False</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
+ <child>
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="ok">
+ <property name="label" translatable="yes" context="solversuccessdialog|ok">Keep Result</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label" translatable="yes" context="solversuccessdialog|cancel">Restore Previous</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
@@ -22,10 +70,10 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="solversuccessdialog|label1">Do you want to keep the result or do you want to restore previous values?</property>
<property name="wrap">True</property>
<property name="max_width_chars">40</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -36,8 +84,8 @@
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="solversuccessdialog|label2">Solving successfully finished.</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -48,8 +96,8 @@
<object class="GtkLabel" id="result">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="solversuccessdialog|result">Result:</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -63,48 +111,6 @@
<property name="position">0</property>
</packing>
</child>
- <child internal-child="action_area">
- <object class="GtkButtonBox" id="dialog-action_area1">
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
- <child>
- <object class="GtkButton" id="ok">
- <property name="label" translatable="yes" context="solversuccessdialog|ok">Keep Result</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="cancel">
- <property name="label" translatable="yes" context="solversuccessdialog|cancel">Restore Previous</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
</child>
<action-widgets>