summaryrefslogtreecommitdiff
path: root/chart2/source/controller/dialogs/tp_ChartType.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/controller/dialogs/tp_ChartType.cxx')
-rw-r--r--chart2/source/controller/dialogs/tp_ChartType.cxx87
1 files changed, 40 insertions, 47 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);