summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-05-21 10:41:03 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-05-21 16:31:44 +0200
commit8a5d6f832d675f0c02c0946e44a2ea7e6a7b1618 (patch)
tree8553955d00ca0c33f74e3d49485d21c51e8bff99 /chart2
parent40f28cbaaaaed07362d54533e4bbfe8f870b64e4 (diff)
weld SplinePropertiesDialog
Change-Id: I1df0f2bce86da698205c5b36217f935e0e971de5 Reviewed-on: https://gerrit.libreoffice.org/54619 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 'chart2')
-rw-r--r--chart2/source/controller/dialogs/tp_ChartType.cxx87
-rw-r--r--chart2/uiconfig/ui/smoothlinesdlg.ui29
2 files changed, 49 insertions, 67 deletions
diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx
index 7005fa80b8cb..ecd644fd8fc1 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -31,6 +31,7 @@
#include <svtools/miscopt.hxx>
#include <vcl/layout.hxx>
+#include <vcl/weld.hxx>
#include <tools/diagnose_ex.h>
namespace chart
@@ -301,50 +302,37 @@ IMPL_LINK_NOARG( GL3DResourceGroup, SettingChangedHdl, CheckBox&, void )
m_pChangeListener->stateChanged(this);
}
-class SplinePropertiesDialog : public ModalDialog
+class SplinePropertiesDialog : public weld::GenericDialogController
{
public:
- explicit SplinePropertiesDialog( vcl::Window* pParent );
- virtual ~SplinePropertiesDialog() override { disposeOnce(); }
- virtual void dispose() override;
+ explicit SplinePropertiesDialog(weld::Window* pParent);
void fillControls( const ChartTypeParameter& rParameter );
void fillParameter( ChartTypeParameter& rParameter, bool bSmoothLines );
private:
- DECL_LINK( SplineTypeListBoxHdl, ListBox&, void );
+ DECL_LINK(SplineTypeListBoxHdl, weld::ComboBoxText&, void);
private:
- VclPtr<ListBox> m_pLB_Spline_Type;
-
- VclPtr<NumericField> m_pMF_SplineResolution;
- VclPtr<FixedText> m_pFT_SplineOrder;
- VclPtr<NumericField> m_pMF_SplineOrder;
+ std::unique_ptr<weld::ComboBoxText> m_xLB_Spline_Type;
+ std::unique_ptr<weld::SpinButton> m_xMF_SplineResolution;
+ std::unique_ptr<weld::Label> m_xFT_SplineOrder;
+ std::unique_ptr<weld::SpinButton> m_xMF_SplineOrder;
};
const sal_uInt16 CUBIC_SPLINE_POS = 0;
const sal_uInt16 B_SPLINE_POS = 1;
-SplinePropertiesDialog::SplinePropertiesDialog( vcl::Window* pParent )
- : ModalDialog( pParent, "SmoothLinesDialog", "modules/schart/ui/smoothlinesdlg.ui")
+SplinePropertiesDialog::SplinePropertiesDialog(weld::Window* pParent)
+ : GenericDialogController(pParent, "modules/schart/ui/smoothlinesdlg.ui", "SmoothLinesDialog")
+ , m_xLB_Spline_Type(m_xBuilder->weld_combo_box_text("SplineTypeComboBox"))
+ , m_xMF_SplineResolution(m_xBuilder->weld_spin_button("ResolutionSpinbutton"))
+ , m_xFT_SplineOrder(m_xBuilder->weld_label("PolynomialsLabel"))
+ , m_xMF_SplineOrder(m_xBuilder->weld_spin_button("PolynomialsSpinButton"))
{
- get(m_pLB_Spline_Type, "SplineTypeComboBox");
- get(m_pMF_SplineResolution, "ResolutionSpinbutton");
- get(m_pFT_SplineOrder, "PolynomialsLabel");
- get(m_pMF_SplineOrder, "PolynomialsSpinButton");
-
- SetText( SchResId( STR_DLG_SMOOTH_LINE_PROPERTIES ) );
+ m_xDialog->set_title(SchResId(STR_DLG_SMOOTH_LINE_PROPERTIES));
- m_pLB_Spline_Type->SetSelectHdl( LINK (this, SplinePropertiesDialog, SplineTypeListBoxHdl ) );
-}
-
-void SplinePropertiesDialog::dispose()
-{
- m_pLB_Spline_Type.clear();
- m_pMF_SplineResolution.clear();
- m_pFT_SplineOrder.clear();
- m_pMF_SplineOrder.clear();
- ModalDialog::dispose();
+ m_xLB_Spline_Type->connect_changed(LINK(this, SplinePropertiesDialog, SplineTypeListBoxHdl));
}
void SplinePropertiesDialog::fillControls( const ChartTypeParameter& rParameter )
@@ -352,38 +340,40 @@ void SplinePropertiesDialog::fillControls( const ChartTypeParameter& rParameter
switch(rParameter.eCurveStyle)
{
case CurveStyle_CUBIC_SPLINES:
- m_pLB_Spline_Type->SelectEntryPos(CUBIC_SPLINE_POS);
+ m_xLB_Spline_Type->set_active(CUBIC_SPLINE_POS);
break;
case CurveStyle_B_SPLINES:
- m_pLB_Spline_Type->SelectEntryPos(B_SPLINE_POS);
+ m_xLB_Spline_Type->set_active(B_SPLINE_POS);
break;
default:
- m_pLB_Spline_Type->SelectEntryPos(CUBIC_SPLINE_POS);
+ m_xLB_Spline_Type->set_active(CUBIC_SPLINE_POS);
break;
}
- m_pMF_SplineOrder->SetValue( rParameter.nSplineOrder );
- m_pMF_SplineResolution->SetValue( rParameter.nCurveResolution );
+ m_xMF_SplineOrder->set_value( rParameter.nSplineOrder );
+ m_xMF_SplineResolution->set_value( rParameter.nCurveResolution );
//dis/enabling
- m_pFT_SplineOrder->Enable(m_pLB_Spline_Type->GetSelectedEntryPos() == B_SPLINE_POS);
- m_pMF_SplineOrder->Enable(m_pLB_Spline_Type->GetSelectedEntryPos() == B_SPLINE_POS);
+ m_xFT_SplineOrder->set_sensitive(m_xLB_Spline_Type->get_active() == B_SPLINE_POS);
+ m_xMF_SplineOrder->set_sensitive(m_xLB_Spline_Type->get_active() == B_SPLINE_POS);
}
+
void SplinePropertiesDialog::fillParameter( ChartTypeParameter& rParameter, bool bSmoothLines )
{
if(!bSmoothLines)
rParameter.eCurveStyle=CurveStyle_LINES;
- else if(m_pLB_Spline_Type->GetSelectedEntryPos() == CUBIC_SPLINE_POS)
+ else if(m_xLB_Spline_Type->get_active() == CUBIC_SPLINE_POS)
rParameter.eCurveStyle=CurveStyle_CUBIC_SPLINES;
- else if(m_pLB_Spline_Type->GetSelectedEntryPos() == B_SPLINE_POS)
+ else if(m_xLB_Spline_Type->get_active() == B_SPLINE_POS)
rParameter.eCurveStyle=CurveStyle_B_SPLINES;
- rParameter.nCurveResolution = static_cast< sal_Int32 >( m_pMF_SplineResolution->GetValue());
- rParameter.nSplineOrder = static_cast< sal_Int32 >( m_pMF_SplineOrder->GetValue());
+ rParameter.nCurveResolution = m_xMF_SplineResolution->get_value();
+ rParameter.nSplineOrder = m_xMF_SplineOrder->get_value();
}
-IMPL_LINK_NOARG(SplinePropertiesDialog, SplineTypeListBoxHdl, ListBox&, void)
+
+IMPL_LINK_NOARG(SplinePropertiesDialog, SplineTypeListBoxHdl, weld::ComboBoxText&, void)
{
- m_pFT_SplineOrder->Enable(m_pLB_Spline_Type->GetSelectedEntryPos() == B_SPLINE_POS);
- m_pMF_SplineOrder->Enable(m_pLB_Spline_Type->GetSelectedEntryPos() == B_SPLINE_POS);
+ m_xFT_SplineOrder->set_sensitive(m_xLB_Spline_Type->get_active() == B_SPLINE_POS);
+ m_xMF_SplineOrder->set_sensitive(m_xLB_Spline_Type->get_active() == B_SPLINE_POS);
}
class SteppedPropertiesDialog : public ModalDialog
@@ -480,7 +470,7 @@ private:
VclPtr<FixedText> m_pFT_LineType;
VclPtr<ListBox> m_pLB_LineType;
VclPtr<PushButton> m_pPB_DetailsDialog;
- VclPtr< SplinePropertiesDialog > m_pSplinePropertiesDialog;
+ std::unique_ptr<SplinePropertiesDialog> m_xSplinePropertiesDialog;
VclPtr< SteppedPropertiesDialog > m_pSteppedPropertiesDialog;
};
@@ -496,9 +486,12 @@ SplineResourceGroup::SplineResourceGroup(VclBuilderContainer* pWindow)
SplinePropertiesDialog& SplineResourceGroup::getSplinePropertiesDialog()
{
- if( !m_pSplinePropertiesDialog.get() )
- m_pSplinePropertiesDialog.reset( VclPtr<SplinePropertiesDialog>::Create( m_pPB_DetailsDialog->GetParentDialog() ) );
- return *m_pSplinePropertiesDialog;
+ if( !m_xSplinePropertiesDialog.get() )
+ {
+ Dialog* pDialog = m_pPB_DetailsDialog->GetParentDialog();
+ m_xSplinePropertiesDialog.reset(new SplinePropertiesDialog(pDialog ? pDialog->GetFrameWeld() : nullptr));
+ }
+ return *m_xSplinePropertiesDialog;
}
SteppedPropertiesDialog& SplineResourceGroup::getSteppedPropertiesDialog()
@@ -576,7 +569,7 @@ IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl, Button*, void)
const sal_Int32 iOldLineTypePos = m_pLB_LineType->GetSelectedEntryPos();
m_pLB_LineType->SelectEntryPos(POS_LINETYPE_SMOOTH);
- if( getSplinePropertiesDialog().Execute() == RET_OK )
+ if (getSplinePropertiesDialog().run() == RET_OK)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
diff --git a/chart2/uiconfig/ui/smoothlinesdlg.ui b/chart2/uiconfig/ui/smoothlinesdlg.ui
index 0fbc92995bd8..63714a4544d5 100644
--- a/chart2/uiconfig/ui/smoothlinesdlg.ui
+++ b/chart2/uiconfig/ui/smoothlinesdlg.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="chart">
<requires lib="gtk+" version="3.18"/>
<object class="GtkAdjustment" id="PolynomialsAdjustment">
@@ -21,7 +21,12 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="smoothlinesdlg|SmoothLinesDialog">Smooth Lines</property>
<property name="modal">True</property>
+ <property name="default_width">-1</property>
+ <property name="default_height">-1</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>
@@ -100,9 +105,9 @@
<object class="GtkLabel" id="TypeLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="smoothlinesdlg|TypeLabel">Line _Type:</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -178,6 +183,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
+ <property name="activates_default">True</property>
<property name="adjustment">ResolutionAdjustment</property>
</object>
<packing>
@@ -190,6 +196,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
+ <property name="activates_default">True</property>
<property name="adjustment">PolynomialsAdjustment</property>
</object>
<packing>
@@ -221,22 +228,4 @@
<action-widget response="-11">help</action-widget>
</action-widgets>
</object>
- <object class="GtkListStore" id="SplineTypeModel">
- <columns>
- <!-- column-name TypeName -->
- <column type="gchararray"/>
- <!-- column-name TypeInt -->
- <column type="gint"/>
- </columns>
- <data>
- <row>
- <col id="0" translatable="yes" context="smoothlinesdlg|SplineTypeModel">Cubic Spline</col>
- <col id="1">0</col>
- </row>
- <row>
- <col id="0" translatable="yes" context="smoothlinesdlg|SplineTypeModel">B-Spline</col>
- <col id="1">1</col>
- </row>
- </data>
- </object>
</interface>