[PATCH] Converting spline dialog box to glade.
Eric Seynaeve (via Code Review)
gerrit at gerrit.libreoffice.org
Wed Mar 27 23:14:33 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3102
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/02/3102/1
Converting spline dialog box to glade.
Change-Id: I945445ab703b146b048cd45768d256d8b6a833d5
---
M chart2/source/controller/dialogs/tp_ChartType.cxx
M sc/UI_scalc.mk
A sc/uiconfig/scalc/ui/smoothlinesdlg.ui
3 files changed, 292 insertions(+), 78 deletions(-)
diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx
index 7ab0e54..bf24f38 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -444,42 +444,27 @@
void adjustSize();
private:
- RadioButton m_aRB_Splines_Cubic;
- RadioButton m_aRB_Splines_B;
+ RadioButton* m_pRB_Splines_Cubic;
+ RadioButton* m_pRB_Splines_B;
- FixedLine m_aFL_SplineSeparator;
-
- FixedText m_aFT_SplineResolution;
- MetricField m_aMF_SplineResolution;
- FixedText m_aFT_SplineOrder;
- MetricField m_aMF_SplineOrder;
-
- FixedLine m_aFL_DialogButtons;
- HelpButton m_aBP_Help;
- OKButton m_aBP_OK;
- CancelButton m_aBP_Cancel;
+ NumericField* m_pMF_SplineResolution;
+ FixedText* m_pFT_SplineOrder;
+ NumericField* m_pMF_SplineOrder;
};
SplinePropertiesDialog::SplinePropertiesDialog( Window* pParent )
- : ModalDialog( pParent, SchResId( DLG_SPLINE_PROPERTIES ) )
- , m_aRB_Splines_Cubic( this, SchResId( RB_SPLINES_CUBIC ) )
- , m_aRB_Splines_B( this, SchResId( RB_SPLINES_B ) )
- , m_aFL_SplineSeparator( this, SchResId( FL_SPLINE_SEPARATOR ) )
- , m_aFT_SplineResolution( this, SchResId( FT_SPLINE_RESOLUTION ) )
- , m_aMF_SplineResolution( this, SchResId( MF_SPLINE_RESOLUTION ) )
- , m_aFT_SplineOrder( this, SchResId( FT_SPLINE_ORDER ) )
- , m_aMF_SplineOrder( this, SchResId( MF_SPLINE_ORDER ) )
- , m_aFL_DialogButtons( this, SchResId( FL_SPLINE_DIALOGBUTTONS ) )
- , m_aBP_Help( this, SchResId(BTN_HELP) )
- , m_aBP_OK( this, SchResId(BTN_OK) )
- , m_aBP_Cancel( this, SchResId(BTN_CANCEL) )
+ : ModalDialog( pParent, "SmoothLinesDialog", "modules/scalc/ui/smoothlinesdlg.ui")
{
- FreeResource();
+ get(m_pRB_Splines_Cubic, "CubicSplineRadioButton");
+ get(m_pRB_Splines_B, "BSplineRadioButton");
+ get(m_pMF_SplineResolution, "ResolutionSpinbutton");
+ get(m_pFT_SplineOrder, "PolynomialsLabel");
+ get(m_pMF_SplineOrder, "PolynomialsSpinButton");
this->SetText( String( SchResId( STR_DLG_SMOOTH_LINE_PROPERTIES ) ) );
- m_aRB_Splines_Cubic.SetToggleHdl( LINK( this, SplinePropertiesDialog, SplineModeRadioHdl ) );
- m_aRB_Splines_B.SetToggleHdl( LINK( this, SplinePropertiesDialog, SplineModeRadioHdl ) );
+ m_pRB_Splines_Cubic->SetToggleHdl( LINK( this, SplinePropertiesDialog, SplineModeRadioHdl ) );
+ m_pRB_Splines_B->SetToggleHdl( LINK( this, SplinePropertiesDialog, SplineModeRadioHdl ) );
}
SplinePropertiesDialog::~SplinePropertiesDialog()
@@ -499,85 +484,85 @@
void SplinePropertiesDialog::adjustControlPositions()
{
- //position of controls:
- //----------------
- //fixed line and Fixed texts as near as possible to radio controls
- long nRBWidth = ::std::max( m_aRB_Splines_Cubic.CalcMinimumSize().Width(), m_aRB_Splines_B.CalcMinimumSize().Width());
- long nFLXPos = m_aRB_Splines_Cubic.GetPosPixel().X()+nRBWidth+m_aFT_SplineOrder.LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,0), MapMode(MAP_APPFONT) ).Width();
- long nFTXPos = nFLXPos + m_aFL_SplineSeparator.GetSizePixel().Width() + m_aFT_SplineOrder.LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,0), MapMode(MAP_APPFONT) ).Width();
-
- m_aRB_Splines_Cubic.SetSizePixel( Size( nRBWidth, m_aRB_Splines_Cubic.GetSizePixel().Height() ) );
- m_aRB_Splines_B.SetSizePixel( Size( nRBWidth, m_aRB_Splines_B.GetSizePixel().Height() ) );
-
- m_aFL_SplineSeparator.SetPosPixel( Point( nFLXPos, m_aFL_SplineSeparator.GetPosPixel().Y() ) );
-
- m_aFT_SplineOrder.SetPosPixel( Point( nFTXPos, m_aFT_SplineOrder.GetPosPixel().Y() ) );
- m_aFT_SplineResolution.SetPosPixel( Point( nFTXPos, m_aFT_SplineResolution.GetPosPixel().Y() ) );
-
- //----------------
- //move metric controls as near to text as possible
- long nFTWidth = ::std::max( m_aFT_SplineOrder.CalcMinimumSize().Width(), m_aFT_SplineResolution.CalcMinimumSize().Width());
- long nMFXPos = m_aFT_SplineOrder.GetPosPixel().X()+nFTWidth+m_aFT_SplineOrder.LogicToPixel( Size(RSC_SP_CTRL_DESC_X,0), MapMode(MAP_APPFONT) ).Width();
-
- m_aFT_SplineOrder.SetSizePixel( Size( nFTWidth, m_aFT_SplineOrder.GetSizePixel().Height() ) );
- m_aFT_SplineResolution.SetSizePixel( Size( nFTWidth, m_aFT_SplineResolution.GetSizePixel().Height() ) );
-
- m_aMF_SplineOrder.SetPosPixel( Point( nMFXPos, m_aMF_SplineOrder.GetPosPixel().Y() ) );
- m_aMF_SplineResolution.SetPosPixel( Point( nMFXPos, m_aMF_SplineResolution.GetPosPixel().Y() ) );
+/// //position of controls:
+/// //----------------
+/// //fixed line and Fixed texts as near as possible to radio controls
+/// long nRBWidth = ::std::max( m_pRB_Splines_Cubic->CalcMinimumSize().Width(), m_pRB_Splines_B->CalcMinimumSize().Width());
+/// long nFLXPos = m_pRB_Splines_Cubic->GetPosPixel().X()+nRBWidth+m_pFT_SplineOrder->LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,0), MapMode(MAP_APPFONT) ).Width();
+/// long nFTXPos = nFLXPos + m_pFL_SplineSeparator->GetSizePixel().Width() + m_pFT_SplineOrder->LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,0), MapMode(MAP_APPFONT) ).Width();
+///
+/// m_pRB_Splines_Cubic->SetSizePixel( Size( nRBWidth, m_pRB_Splines_Cubic->GetSizePixel().Height() ) );
+/// m_pRB_Splines_B->SetSizePixel( Size( nRBWidth, m_pRB_Splines_B->GetSizePixel().Height() ) );
+///
+/// m_pFL_SplineSeparator->SetPosPixel( Point( nFLXPos, m_pFL_SplineSeparator->GetPosPixel().Y() ) );
+///
+/// m_pFT_SplineOrder->SetPosPixel( Point( nFTXPos, m_pFT_SplineOrder->GetPosPixel().Y() ) );
+/// m_aFT_SplineResolution.SetPosPixel( Point( nFTXPos, m_aFT_SplineResolution.GetPosPixel().Y() ) );
+///
+/// //----------------
+/// //move metric controls as near to text as possible
+/// long nFTWidth = ::std::max( m_pFT_SplineOrder->CalcMinimumSize().Width(), m_aFT_SplineResolution.CalcMinimumSize().Width());
+/// long nMFXPos = m_pFT_SplineOrder->GetPosPixel().X()+nFTWidth+m_pFT_SplineOrder->LogicToPixel( Size(RSC_SP_CTRL_DESC_X,0), MapMode(MAP_APPFONT) ).Width();
+///
+/// m_pFT_SplineOrder->SetSizePixel( Size( nFTWidth, m_pFT_SplineOrder->GetSizePixel().Height() ) );
+/// m_aFT_SplineResolution.SetSizePixel( Size( nFTWidth, m_aFT_SplineResolution.GetSizePixel().Height() ) );
+///
+/// m_pMF_SplineOrder->SetPosPixel( Point( nMFXPos, m_pMF_SplineOrder->GetPosPixel().Y() ) );
+/// m_pMF_SplineResolution->SetPosPixel( Point( nMFXPos, m_pMF_SplineResolution->GetPosPixel().Y() ) );
}
void SplinePropertiesDialog::adjustSize()
{
- Size aDlgSize( this->GetSizePixel() );
- long nBorder = m_aRB_Splines_Cubic.GetPosPixel().X();
- long nX = m_aMF_SplineOrder.GetPosPixel().X() + m_aMF_SplineOrder.GetSizePixel().Width();
- if(aDlgSize.Width()< (nX+nBorder) )
- {
- aDlgSize.Width() = (nX+nBorder);
- this->SetSizePixel(aDlgSize);
-
- Size aLineSize( m_aFL_DialogButtons.GetSizePixel() );
- aLineSize.Width() = aDlgSize.Width();
- m_aFL_DialogButtons.SetSizePixel(aLineSize);
- }
+/// Size aDlgSize( this->GetSizePixel() );
+/// long nBorder = m_pRB_Splines_Cubic->GetPosPixel().X();
+/// long nX = m_pMF_SplineOrder->GetPosPixel().X() + m_pMF_SplineOrder->GetSizePixel().Width();
+/// if(aDlgSize.Width()< (nX+nBorder) )
+/// {
+/// aDlgSize.Width() = (nX+nBorder);
+/// this->SetSizePixel(aDlgSize);
+///
+/// Size aLineSize( m_aFL_DialogButtons.GetSizePixel() );
+/// aLineSize.Width() = aDlgSize.Width();
+/// m_aFL_DialogButtons.SetSizePixel(aLineSize);
+/// }
}
void SplinePropertiesDialog::fillControls( const ChartTypeParameter& rParameter )
{
switch(rParameter.eCurveStyle)
{
case CurveStyle_CUBIC_SPLINES:
- m_aRB_Splines_Cubic.Check();
+ m_pRB_Splines_Cubic->Check();
break;
case CurveStyle_B_SPLINES:
- m_aRB_Splines_B.Check();
+ m_pRB_Splines_B->Check();
break;
default:
- m_aRB_Splines_Cubic.Check();
+ m_pRB_Splines_Cubic->Check();
break;
}
- m_aMF_SplineOrder.SetValue( rParameter.nSplineOrder );
- m_aMF_SplineResolution.SetValue( rParameter.nCurveResolution );
+ m_pMF_SplineOrder->SetValue( rParameter.nSplineOrder );
+ m_pMF_SplineResolution->SetValue( rParameter.nCurveResolution );
//dis/enabling
- m_aFT_SplineOrder.Enable(m_aRB_Splines_B.IsChecked());
- m_aMF_SplineOrder.Enable(m_aRB_Splines_B.IsChecked());
+ m_pFT_SplineOrder->Enable(m_pRB_Splines_B->IsChecked());
+ m_pMF_SplineOrder->Enable(m_pRB_Splines_B->IsChecked());
}
void SplinePropertiesDialog::fillParameter( ChartTypeParameter& rParameter, bool bSmoothLines )
{
if(!bSmoothLines)
rParameter.eCurveStyle=CurveStyle_LINES;
- else if(m_aRB_Splines_Cubic.IsChecked())
+ else if(m_pRB_Splines_Cubic->IsChecked())
rParameter.eCurveStyle=CurveStyle_CUBIC_SPLINES;
- else if(m_aRB_Splines_B.IsChecked())
+ else if(m_pRB_Splines_B->IsChecked())
rParameter.eCurveStyle=CurveStyle_B_SPLINES;
- rParameter.nCurveResolution = static_cast< sal_Int32 >( m_aMF_SplineResolution.GetValue());
- rParameter.nSplineOrder = static_cast< sal_Int32 >( m_aMF_SplineOrder.GetValue());
+ rParameter.nCurveResolution = static_cast< sal_Int32 >( m_pMF_SplineResolution->GetValue());
+ rParameter.nSplineOrder = static_cast< sal_Int32 >( m_pMF_SplineOrder->GetValue());
}
IMPL_LINK_NOARG(SplinePropertiesDialog, SplineModeRadioHdl)
{
- m_aFT_SplineOrder.Enable(m_aRB_Splines_B.IsChecked());
- m_aMF_SplineOrder.Enable(m_aRB_Splines_B.IsChecked());
+ m_pFT_SplineOrder->Enable(m_pRB_Splines_B->IsChecked());
+ m_pMF_SplineOrder->Enable(m_pRB_Splines_B->IsChecked());
return 0;
}
diff --git a/sc/UI_scalc.mk b/sc/UI_scalc.mk
index 46afc89..34cdee4 100644
--- a/sc/UI_scalc.mk
+++ b/sc/UI_scalc.mk
@@ -20,6 +20,7 @@
sc/uiconfig/scalc/ui/sortoptionspage \
sc/uiconfig/scalc/ui/textimportoptions \
sc/uiconfig/scalc/ui/textimportcsv \
+ sc/uiconfig/scalc/ui/smoothlinesdlg \
))
# vim: set noet sw=4 ts=4:
diff --git a/sc/uiconfig/scalc/ui/smoothlinesdlg.ui b/sc/uiconfig/scalc/ui/smoothlinesdlg.ui
new file mode 100644
index 0000000..26fe81d
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/smoothlinesdlg.ui
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkAdjustment" id="PolynomialsAdjustment">
+ <property name="lower">1</property>
+ <property name="upper">15</property>
+ <property name="value">3</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="ResolutionAdjustment">
+ <property name="lower">1</property>
+ <property name="upper">100</property>
+ <property name="value">20</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkDialog" id="SmoothLinesDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Smooth Lines</property>
+ <property name="modal">True</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkRadioButton" id="CubicSplineRadioButton">
+ <property name="label" translatable="yes">Cubic _spline</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">BSplineRadioButton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="BSplineRadioButton">
+ <property name="label" translatable="yes">_B-Spline</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">CubicSplineRadioButton</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="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="ResolutionLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">_Resolution</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">ResolutionSpinbutton</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="PolynomialsLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">_Degree of polynomials</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">PolynomialsSpinButton</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="ResolutionSpinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="halign">start</property>
+ <property name="invisible_char">●</property>
+ <property name="adjustment">ResolutionAdjustment</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="PolynomialsSpinButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="halign">start</property>
+ <property name="invisible_char">●</property>
+ <property name="adjustment">PolynomialsAdjustment</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <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="homogeneous">True</property>
+ <property name="layout_style">spread</property>
+ <child>
+ <object class="GtkButton" id="OKButton">
+ <property name="label">gtk-ok</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_stock">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="CancelButton">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="HelpButton">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">OKButton</action-widget>
+ <action-widget response="0">CancelButton</action-widget>
+ <action-widget response="0">HelpButton</action-widget>
+ </action-widgets>
+ </object>
+</interface>
--
To view, visit https://gerrit.libreoffice.org/3102
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I945445ab703b146b048cd45768d256d8b6a833d5
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Eric Seynaeve <github at nosperse.com>
More information about the LibreOffice
mailing list