[Libreoffice-commits] core.git: chart2/source chart2/uiconfig

Caolán McNamara caolanm at redhat.com
Mon May 21 14:32:06 UTC 2018


 chart2/source/controller/dialogs/tp_ChartType.cxx |   87 ++++++++++------------
 chart2/uiconfig/ui/smoothlinesdlg.ui              |   29 ++-----
 2 files changed, 49 insertions(+), 67 deletions(-)

New commits:
commit 8a5d6f832d675f0c02c0946e44a2ea7e6a7b1618
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon May 21 10:41:03 2018 +0100

    weld SplinePropertiesDialog
    
    Change-Id: I1df0f2bce86da698205c5b36217f935e0e971de5
    Reviewed-on: https://gerrit.libreoffice.org/54619
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

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>


More information about the Libreoffice-commits mailing list