[PATCH] fdo#61135: adding help button to stepped lines dialog.

2013-04-17 Thread Eric Seynaeve (via Code Review)
Hi,

I have submitted a patch for review:

https://gerrit.libreoffice.org/3445

To pull it, you can do:

git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/45/3445/1

fdo#61135: adding help button to stepped lines dialog.

Change-Id: I2ab4882e6c1e98ffa5a297a49e6968b629051be0
---
M chart2/uiconfig/ui/steppedlinesdlg.ui
1 file changed, 15 insertions(+), 0 deletions(-)



diff --git a/chart2/uiconfig/ui/steppedlinesdlg.ui 
b/chart2/uiconfig/ui/steppedlinesdlg.ui
index 4cc351f..ff1b5c0 100644
--- a/chart2/uiconfig/ui/steppedlinesdlg.ui
+++ b/chart2/uiconfig/ui/steppedlinesdlg.ui
@@ -209,6 +209,20 @@
 1
   
 
+
+  
+gtk-help
+True
+True
+True
+True
+  
+  
+False
+True
+2
+  
+
   
   
 False
@@ -222,6 +236,7 @@
 
   ok
   cancel
+  help
 
   
 

-- 
To view, visit https://gerrit.libreoffice.org/3445
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2ab4882e6c1e98ffa5a297a49e6968b629051be0
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Eric Seynaeve 

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[PATCH] Adding the dialog for setting stepped lines.

2013-04-11 Thread Eric Seynaeve (via Code Review)
Hi,

I have submitted a patch for review:

https://gerrit.libreoffice.org/3345

To pull it, you can do:

git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/45/3345/1

Adding the dialog for setting stepped lines.

The UI changes still need some more tweaking:
- adjusting the vertical alignment in the splineresourcegroup
- put the images in the radio buttons instead of in front of them

Change-Id: I4bc5ebe5167eca9a5b1341d9328a7d74b62cf819
---
M chart2/UI_chart2.mk
M chart2/source/controller/dialogs/Bitmaps.hrc
M chart2/source/controller/dialogs/Bitmaps.src
M chart2/source/controller/dialogs/ChartTypeDialogController.cxx
M chart2/source/controller/dialogs/Strings.src
M chart2/source/controller/dialogs/Strings_AdditionalControls.src
M chart2/source/controller/dialogs/tp_ChartType.cxx
M chart2/source/controller/dialogs/tp_ChartType.hrc
M chart2/source/controller/dialogs/tp_ChartType.src
M chart2/source/inc/Strings.hrc
A chart2/uiconfig/ui/steppedlinesdlg.ui
A icon-themes/galaxy/chart2/res/.directory
A icon-themes/galaxy/chart2/res/nostackstepped3d_52x60.png
A icon-themes/galaxy/chart2/res/nostacksteppedboth_52x60.png
A icon-themes/galaxy/chart2/res/nostacksteppedlines_52x60.png
A icon-themes/galaxy/chart2/res/nostacksteppedpoints_52x60.png
A icon-themes/galaxy/chart2/res/stackstepped3d_52x60.png
A icon-themes/galaxy/chart2/res/stacksteppedboth_52x60.png
A icon-themes/galaxy/chart2/res/stacksteppedlines_52x60.png
A icon-themes/galaxy/chart2/res/stacksteppedpoints_52x60.png
A icon-themes/galaxy/chart2/res/step_center_x_30.png
A icon-themes/galaxy/chart2/res/step_center_y_30.png
A icon-themes/galaxy/chart2/res/step_end_30.png
A icon-themes/galaxy/chart2/res/step_start_30.png
A icon-themes/galaxy/chart2/res/valueaxisstepped3d_52x60.png
A icon-themes/galaxy/chart2/res/valueaxissteppedboth_52x60.png
A icon-themes/galaxy/chart2/res/valueaxissteppedlines_52x60.png
27 files changed, 614 insertions(+), 75 deletions(-)



diff --git a/chart2/UI_chart2.mk b/chart2/UI_chart2.mk
index e75f209..352c99e 100644
--- a/chart2/UI_chart2.mk
+++ b/chart2/UI_chart2.mk
@@ -11,6 +11,7 @@
 
 $(eval $(call gb_UI_add_uifiles,modules/schart,\
chart2/uiconfig/ui/smoothlinesdlg \
+   chart2/uiconfig/ui/steppedlinesdlg \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/chart2/source/controller/dialogs/Bitmaps.hrc 
b/chart2/source/controller/dialogs/Bitmaps.hrc
index e1f5710..ced4537 100644
--- a/chart2/source/controller/dialogs/Bitmaps.hrc
+++ b/chart2/source/controller/dialogs/Bitmaps.hrc
@@ -39,6 +39,10 @@
 #define IMG_TYPE_NET(RID_APP_START + 8)
 #define IMG_TYPE_STOCK  (RID_APP_START + 9)
 #define IMG_TYPE_COLUMN_LINE  (RID_APP_START + 10)
+#define IMG_STEP_START  (RID_APP_START + 11)
+#define IMG_STEP_END(RID_APP_START + 12)
+#define IMG_STEP_CENTER_X (RID_APP_START + 13)
+#define IMG_STEP_CENTER_Y (RID_APP_START + 14)
 
 //-
 //Chart Subtypes
@@ -115,6 +119,7 @@
 #define BMP_POINTS_XVALUES (RID_APP_START + 47)
 #define BMP_POINTS_XCATEGORY (RID_APP_START + 48)
 #define BMP_POINTS_STACKED (RID_APP_START + 49)
+#define BMP_POINTS_STACKED (RID_APP_START + 49)
 
 
 #define BMP_LINE_P_XVALUES (RID_APP_START + 50)
@@ -141,6 +146,18 @@
 #define BMP_LINE_O_STACKED_SMOOTH (RID_APP_START + 66)
 #define BMP_LINE3D_STACKED_SMOOTH (RID_APP_START + 67)
 
+#define BMP_LINE_P_XVALUES_STEPPED (RID_APP_START + 97)
+#define BMP_LINE_O_XVALUES_STEPPED (RID_APP_START + 98)
+#define BMP_LINE3D_XVALUES_STEPPED (RID_APP_START + 99)
+
+#define BMP_LINE_P_XCATEGORY_STEPPED (RID_APP_START + 100)
+#define BMP_LINE_O_XCATEGORY_STEPPED (RID_APP_START + 101)
+#define BMP_LINE3D_XCATEGORY_STEPPED (RID_APP_START + 102)
+
+#define BMP_LINE_P_STACKED_STEPPED (RID_APP_START + 103)
+#define BMP_LINE_O_STACKED_STEPPED (RID_APP_START + 104)
+#define BMP_LINE3D_STACKED_STEPPED (RID_APP_START + 105)
+
 //--
 // Area Chart Subtypes
 
diff --git a/chart2/source/controller/dialogs/Bitmaps.src 
b/chart2/source/controller/dialogs/Bitmaps.src
index b4b3360..e566ec4 100644
--- a/chart2/source/controller/dialogs/Bitmaps.src
+++ b/chart2/source/controller/dialogs/Bitmaps.src
@@ -68,6 +68,26 @@
 ImageBitmap = Bitmap { File = "typebubble_16.png" ; };
 MaskColor = STD_MASKCOLOR;
 };
+Image IMG_STEP_START
+{
+ImageBitmap = Bitmap { File = "step_start_30.png" ; };
+MaskColor = STD_MASKCOLOR;
+};
+Image IMG_STEP_END
+{
+ImageBitmap = Bitmap { File = "step_end_30.png" ; };
+MaskColor = STD_MASKCOLOR;
+};
+Image IMG_STEP_CENTER_X
+{
+ImageBitmap = Bitmap { File = "step_center_x_30.png" ; };
+MaskColor = STD_MASKCOLOR;
+};
+Image IMG_STEP_CENTER_Y
+{
+ImageBitmap = Bitmap { File = "step_center_y_30.png" ; };
+MaskColor = STD_MASKCOLOR;
+};
 Bitmap BMP_BUBBLE_1
 {
 File = "bubble_52x60.png" ;
@@ -324,6 +344,43 @@
 File = "stacksmooth3d_52x60.png" ;
 };
 //-
+Bitmap BMP_LINE_P_XVALUES_STEPPED
+{
+  

[PATCH] Converting Smooth Lines dialog to glade

2013-03-27 Thread Eric Seynaeve (via Code Review)
Hi,

I have submitted a patch for review:

https://gerrit.libreoffice.org/3103

To pull it, you can do:

git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/03/3103/1

Converting Smooth Lines dialog to glade

Change-Id: I098267a4b11322df84f4a10e83f3c47a69418371
---
M chart2/source/controller/dialogs/tp_ChartType.cxx
M chart2/source/controller/dialogs/tp_ChartType.hrc
M chart2/source/controller/dialogs/tp_ChartType.src
M sc/uiconfig/scalc/ui/smoothlinesdlg.ui
4 files changed, 64 insertions(+), 195 deletions(-)



diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx 
b/chart2/source/controller/dialogs/tp_ChartType.cxx
index bf24f38..d67bb79 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -438,14 +438,16 @@
 virtual void StateChanged( StateChangedType nType );
 
 private:
-DECL_LINK( SplineModeRadioHdl, void* );
+DECL_LINK( SplineTypeListBoxHdl, void* );
 
 void adjustControlPositions();
 void adjustSize();
 
+const sal_uInt16 CUBIC_SPLINE_POS = 0;
+const sal_uInt16 B_SPLINE_POS = 1;
+
 private:
-RadioButton* m_pRB_Splines_Cubic;
-RadioButton* m_pRB_Splines_B;
+ListBox* m_pLB_Spline_Type;
 
 NumericField* m_pMF_SplineResolution;
 FixedText*m_pFT_SplineOrder;
@@ -455,16 +457,14 @@
 SplinePropertiesDialog::SplinePropertiesDialog( Window* pParent )
 : ModalDialog( pParent, "SmoothLinesDialog", 
"modules/scalc/ui/smoothlinesdlg.ui")
 {
-get(m_pRB_Splines_Cubic, "CubicSplineRadioButton");
-get(m_pRB_Splines_B, "BSplineRadioButton");
+get(m_pLB_Spline_Type, "SplineTypeComboBox");
 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_pRB_Splines_Cubic->SetToggleHdl( LINK( this, SplinePropertiesDialog, 
SplineModeRadioHdl ) );
-m_pRB_Splines_B->SetToggleHdl( LINK( this, SplinePropertiesDialog, 
SplineModeRadioHdl ) );
+m_pLB_Spline_Type->SetSelectHdl( LINK (this, SplinePropertiesDialog, 
SplineTypeListBoxHdl ) );
 }
 
 SplinePropertiesDialog::~SplinePropertiesDialog()
@@ -474,95 +474,45 @@
 void SplinePropertiesDialog::StateChanged( StateChangedType nType )
 {
 Dialog::StateChanged( nType );
-
-if( nType == STATE_CHANGE_INITSHOW )
-{
-adjustControlPositions();
-adjustSize();
-}
 }
 
-void SplinePropertiesDialog::adjustControlPositions()
-{
-/////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_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_Dialo

[PATCH] Converting spline dialog box to glade.

2013-03-27 Thread Eric Seynaeve (via Code Review)
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;
-OKButtonm_aBP_OK;
-CancelButtonm_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_S

[PATCH] fdo#61135 stepped lines graph: handle ods files

2013-02-28 Thread Eric Seynaeve (via Code Review)
Hi,

I have submitted a patch for review:

https://gerrit.libreoffice.org/2476

To pull it, you can do:

git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/76/2476/1

fdo#61135 stepped lines graph: handle ods files

The boilerplate code for drawing the 4 types of stepped is in place (as
described in ODF1.3,
https://tools.oasis-open.org/issues/browse/OFFICE-3662).
We can also read the current attribute used in Gnumeric and keep this
during saves from LO.

Change-Id: I0f04a779de4b65326ed7ce6de56191f11b51c596
---
M chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx
M chart2/source/view/charttypes/AreaChart.cxx
M chart2/source/view/charttypes/AreaChart.hxx
M offapi/com/sun/star/chart2/CurveStyle.idl
M xmloff/inc/xmloff/xmltoken.hxx
M xmloff/source/chart/PropertyMap.hxx
M xmloff/source/core/xmltoken.cxx
M xmloff/source/transform/StyleOASISTContext.cxx
8 files changed, 316 insertions(+), 22 deletions(-)



diff --git 
a/chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx 
b/chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx
index d68bdc5..d3db08d 100644
--- a/chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx
+++ b/chart2/source/controller/chartapiwrapper/WrappedSplineProperties.cxx
@@ -231,12 +231,41 @@
 rInnerValue >>= aInnerValue;
 
 sal_Int32 nOuterValue;
-if( chart2::CurveStyle_CUBIC_SPLINES == aInnerValue )
-nOuterValue = 1;
-else if( chart2::CurveStyle_B_SPLINES == aInnerValue )
-nOuterValue = 2;
-else
-nOuterValue = 0;
+switch (aInnerValue)
+{
+case chart2::CurveStyle_CUBIC_SPLINES:
+nOuterValue = 1;
+break;
+case chart2::CurveStyle_B_SPLINES:
+nOuterValue = 2;
+break;
+case chart2::CurveStyle_STEP_START:
+nOuterValue = 3;
+break;
+case chart2::CurveStyle_STEP_END:
+nOuterValue = 4;
+break;
+case chart2::CurveStyle_STEP_CENTER_X:
+nOuterValue = 5;
+break;
+case chart2::CurveStyle_STEP_CENTER_Y:
+nOuterValue = 6;
+break;
+case chart2::CurveStyle_GNM_STEP_START:
+nOuterValue = 7;
+break;
+case chart2::CurveStyle_GNM_STEP_END:
+nOuterValue = 8;
+break;
+case chart2::CurveStyle_GNM_STEP_CENTER_X:
+nOuterValue = 9;
+break;
+case chart2::CurveStyle_GNM_STEP_CENTER_Y:
+nOuterValue = 10;
+break;
+default:
+nOuterValue = 0;
+}
 
 return uno::makeAny(nOuterValue);
 }
@@ -247,12 +276,42 @@
 
 chart2::CurveStyle aInnerValue;
 
-if(1==nOuterValue)
-aInnerValue = chart2::CurveStyle_CUBIC_SPLINES;
-else if(2==nOuterValue)
-aInnerValue = chart2::CurveStyle_B_SPLINES;
-else
-aInnerValue = chart2::CurveStyle_LINES;
+switch (nOuterValue)
+{
+case 1:
+aInnerValue = chart2::CurveStyle_CUBIC_SPLINES;
+break;
+case 2:
+aInnerValue = chart2::CurveStyle_B_SPLINES;
+break;
+case 3:
+aInnerValue = chart2::CurveStyle_STEP_START;
+break;
+case 4:
+aInnerValue = chart2::CurveStyle_STEP_END;
+break;
+case 5:
+aInnerValue = chart2::CurveStyle_STEP_CENTER_X;
+break;
+case 6:
+aInnerValue = chart2::CurveStyle_STEP_CENTER_Y;
+break;
+case 7:
+aInnerValue = chart2::CurveStyle_GNM_STEP_START;
+break;
+case 8:
+aInnerValue = chart2::CurveStyle_GNM_STEP_END;
+break;
+case 9:
+aInnerValue = chart2::CurveStyle_GNM_STEP_CENTER_X;
+break;
+case 10:
+aInnerValue = chart2::CurveStyle_GNM_STEP_CENTER_Y;
+break;
+default:
+// TODO: add an error is nOuterValue != 0 and we're in debugging 
mode
+aInnerValue = chart2::CurveStyle_LINES;
+}
 
 return uno::makeAny(aInnerValue);
 }
diff --git a/chart2/source/view/charttypes/AreaChart.cxx 
b/chart2/source/view/charttypes/AreaChart.cxx
index a9e207c..a1bacc3 100644
--- a/chart2/source/view/charttypes/AreaChart.cxx
+++ b/chart2/source/view/charttypes/AreaChart.cxx
@@ -287,6 +287,140 @@
 rPolyPoly=aTmp;
 }
 
+bool AreaChart::create_stepped_line( drawing::PolyPolygonShape3D aStartPoly, 
chart2::CurveStyle eCurveStyle, PlottingPositionHelper* pPosHelper, 
drawing::PolyPolygonShape3D &aPoly )
+{
+drawing::PolyPolygonShape3D aSteppedPoly;
+
+aSteppedPoly.SequenceX.realloc(0);
+aSteppedPoly.SequenceY.realloc(0);
+aSteppedPoly.SequenceZ.realloc(0);
+
+sal_uInt32 nOuterCount = aStartPoly.SequenceX.getLength();
+if ( !nOuterCount )
+return false;
+
+aSteppedPoly.SequenceX.realloc(nOuterCount);
+