diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-05-21 10:41:03 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-05-21 16:31:44 +0200 |
commit | 8a5d6f832d675f0c02c0946e44a2ea7e6a7b1618 (patch) | |
tree | 8553955d00ca0c33f74e3d49485d21c51e8bff99 | |
parent | 40f28cbaaaaed07362d54533e4bbfe8f870b64e4 (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>
-rw-r--r-- | chart2/source/controller/dialogs/tp_ChartType.cxx | 87 | ||||
-rw-r--r-- | chart2/uiconfig/ui/smoothlinesdlg.ui | 29 |
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> |