summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Seynaeve <github@nosperse.com>2013-04-10 00:15:43 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-04-13 02:34:29 +0200
commitedc3bfd558f3065a5444ad3f5c456da9546d16c4 (patch)
tree88650faf5a290db3959b07857ffc2716ebc634fe
parent426ab2eb7ea4e744947ef9d2ec5c72cca2d81da6 (diff)
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
-rw-r--r--chart2/UIConfig_chart2.mk1
-rw-r--r--chart2/source/controller/dialogs/Bitmaps.hrc17
-rw-r--r--chart2/source/controller/dialogs/Bitmaps.src57
-rw-r--r--chart2/source/controller/dialogs/ChartTypeDialogController.cxx125
-rw-r--r--chart2/source/controller/dialogs/Strings.src5
-rw-r--r--chart2/source/controller/dialogs/Strings_AdditionalControls.src15
-rw-r--r--chart2/source/controller/dialogs/tp_ChartType.cxx211
-rw-r--r--chart2/source/controller/dialogs/tp_ChartType.hrc2
-rw-r--r--chart2/source/controller/dialogs/tp_ChartType.src19
-rw-r--r--chart2/source/inc/Strings.hrc5
-rw-r--r--chart2/uiconfig/ui/steppedlinesdlg.ui227
-rw-r--r--icon-themes/galaxy/chart2/res/nostackstepped3d_52x60.pngbin0 -> 643 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/nostacksteppedboth_52x60.pngbin0 -> 440 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/nostacksteppedlines_52x60.pngbin0 -> 383 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/nostacksteppedpoints_52x60.pngbin0 -> 343 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/stackstepped3d_52x60.pngbin0 -> 530 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/stacksteppedboth_52x60.pngbin0 -> 640 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/stacksteppedlines_52x60.pngbin0 -> 333 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/stacksteppedpoints_52x60.pngbin0 -> 336 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/step_center_x_30.pngbin0 -> 436 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/step_center_y_30.pngbin0 -> 433 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/step_end_30.pngbin0 -> 429 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/step_start_30.pngbin0 -> 427 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/valueaxisstepped3d_52x60.pngbin0 -> 613 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/valueaxissteppedboth_52x60.pngbin0 -> 519 bytes
-rw-r--r--icon-themes/galaxy/chart2/res/valueaxissteppedlines_52x60.pngbin0 -> 410 bytes
26 files changed, 609 insertions, 75 deletions
diff --git a/chart2/UIConfig_chart2.mk b/chart2/UIConfig_chart2.mk
index da90c1946189..48d1561e7b9a 100644
--- a/chart2/UIConfig_chart2.mk
+++ b/chart2/UIConfig_chart2.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_UIConfig_add_toolbarfiles,modules/schart,\
$(eval $(call gb_UIConfig_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 e1f5710a0e83..ced4537dd396 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 b4b3360973c1..e566ec4f3540 100644
--- a/chart2/source/controller/dialogs/Bitmaps.src
+++ b/chart2/source/controller/dialogs/Bitmaps.src
@@ -68,6 +68,26 @@ Image IMG_TYPE_BUBBLE
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 @@ Bitmap BMP_LINE3D_STACKED_SMOOTH
File = "stacksmooth3d_52x60.png" ;
};
//---------------------
+Bitmap BMP_LINE_P_XVALUES_STEPPED
+{
+ File = "valueaxissteppedboth_52x60.png" ;
+};
+Bitmap BMP_LINE_O_XVALUES_STEPPED
+{
+ File = "valueaxissteppedlines_52x60.png" ;
+};
+Bitmap BMP_LINE3D_XVALUES_STEPPED
+{
+ File = "valueaxisstepped3d_52x60.png" ;
+};
+Bitmap BMP_LINE_P_XCATEGORY_STEPPED
+{
+ File = "nostacksteppedboth_52x60.png" ;
+};
+Bitmap BMP_LINE_O_XCATEGORY_STEPPED
+{
+ File = "nostacksteppedlines_52x60.png" ;
+};
+Bitmap BMP_LINE3D_XCATEGORY_STEPPED
+{
+ File = "nostackstepped3d_52x60.png" ;
+};
+Bitmap BMP_LINE_P_STACKED_STEPPED
+{
+ File = "stacksteppedboth_52x60.png" ;
+};
+Bitmap BMP_LINE_O_STACKED_STEPPED
+{
+ File = "stacksteppedlines_52x60.png" ;
+};
+Bitmap BMP_LINE3D_STACKED_STEPPED
+{
+ File = "stackstepped3d_52x60.png" ;
+};
+//---------------------
Bitmap BMP_NET
{
File = "net_52x60.png" ;
diff --git a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
index 0b6092d1c8d4..12a01eb4cc18 100644
--- a/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
+++ b/chart2/source/controller/dialogs/ChartTypeDialogController.cxx
@@ -678,40 +678,60 @@ void LineChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const C
{
rSubTypeList.Clear();
- if( CurveStyle_LINES==rParameter.eCurveStyle )
+ switch( rParameter.eCurveStyle )
{
- //direct lines
- if( GlobalStackMode_NONE == rParameter.eStackMode || GlobalStackMode_STACK_Z == rParameter.eStackMode )
- {
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XCATEGORY )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XCATEGORY )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XCATEGORY )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XCATEGORY )));
- }
- else
- {
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_STACKED )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_STACKED )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_STACKED )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_STACKED )));
- }
- }
- else //CurveStyle_LINES
- {
- if( GlobalStackMode_NONE == rParameter.eStackMode || GlobalStackMode_STACK_Z == rParameter.eStackMode )
- {
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XCATEGORY )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XCATEGORY_SMOOTH )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XCATEGORY_SMOOTH )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XCATEGORY_SMOOTH )));
- }
- else
- {
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_STACKED )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_STACKED_SMOOTH )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_STACKED_SMOOTH )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_STACKED_SMOOTH )));
- }
+ case CurveStyle_CUBIC_SPLINES:
+ case CurveStyle_B_SPLINES:
+ if( GlobalStackMode_NONE == rParameter.eStackMode || GlobalStackMode_STACK_Z == rParameter.eStackMode )
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XCATEGORY )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XCATEGORY_SMOOTH )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XCATEGORY_SMOOTH )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XCATEGORY_SMOOTH )));
+ }
+ else
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_STACKED )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_STACKED_SMOOTH )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_STACKED_SMOOTH )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_STACKED_SMOOTH )));
+ }
+ break;
+ case CurveStyle_STEP_START:
+ case CurveStyle_STEP_END:
+ case CurveStyle_STEP_CENTER_X:
+ case CurveStyle_STEP_CENTER_Y:
+ if( GlobalStackMode_NONE == rParameter.eStackMode || GlobalStackMode_STACK_Z == rParameter.eStackMode )
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XCATEGORY )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XCATEGORY_STEPPED )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XCATEGORY_STEPPED )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XCATEGORY_STEPPED )));
+ }
+ else
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_STACKED )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_STACKED_STEPPED )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_STACKED_STEPPED )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_STACKED_STEPPED )));
+ }
+ break;
+ default: // includes CurveStyle_LINES
+ //direct lines
+ if( GlobalStackMode_NONE == rParameter.eStackMode || GlobalStackMode_STACK_Z == rParameter.eStackMode )
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XCATEGORY )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XCATEGORY )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XCATEGORY )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XCATEGORY )));
+ }
+ else
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_STACKED )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_STACKED )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_STACKED )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_STACKED )));
+ }
}
rSubTypeList.SetItemText( 1, String( SchResId( STR_POINTS_ONLY )) );
@@ -800,20 +820,33 @@ void XYChartDialogController::fillSubTypeList( ValueSet& rSubTypeList, const Cha
{
rSubTypeList.Clear();
- if( CurveStyle_LINES==rParameter.eCurveStyle )
- {
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XVALUES )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XVALUES )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XVALUES )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XVALUES )));
- }
- else //CurveStyle_LINES
+ switch (rParameter.eCurveStyle)
{
- //smooth lines
- rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XVALUES )));
- rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XVALUES_SMOOTH )));
- rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XVALUES_SMOOTH )));
- rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XVALUES_SMOOTH )));
+ case CurveStyle_CUBIC_SPLINES:
+ case CurveStyle_B_SPLINES:
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XVALUES )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XVALUES_SMOOTH )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XVALUES_SMOOTH )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XVALUES_SMOOTH )));
+ break;
+ }
+ case CurveStyle_STEP_START:
+ case CurveStyle_STEP_END:
+ case CurveStyle_STEP_CENTER_X:
+ case CurveStyle_STEP_CENTER_Y:
+ {
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XVALUES )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XVALUES_STEPPED )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XVALUES_STEPPED )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XVALUES_STEPPED )));
+ break;
+ }
+ default: // includes CurveStyle_LINES
+ rSubTypeList.InsertItem( 1, Bitmap( SchResId( BMP_POINTS_XVALUES )));
+ rSubTypeList.InsertItem( 2, Bitmap( SchResId( BMP_LINE_P_XVALUES )));
+ rSubTypeList.InsertItem( 3, Bitmap( SchResId( BMP_LINE_O_XVALUES )));
+ rSubTypeList.InsertItem( 4, Bitmap( SchResId( BMP_LINE3D_XVALUES )));
}
rSubTypeList.SetItemText( 1, String( SchResId( STR_POINTS_ONLY )) );
diff --git a/chart2/source/controller/dialogs/Strings.src b/chart2/source/controller/dialogs/Strings.src
index 4e6af82d940c..f971eae43eed 100644
--- a/chart2/source/controller/dialogs/Strings.src
+++ b/chart2/source/controller/dialogs/Strings.src
@@ -28,6 +28,11 @@ String STR_DLG_SMOOTH_LINE_PROPERTIES
Text [ en-US ] = "Smooth Lines" ;
};
+String STR_DLG_STEPPED_LINE_PROPERTIES
+{
+ Text [ en-US ] = "Stepped Lines" ;
+};
+
String STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE
{
Text [ en-US ] = "Number Format for Percentage Value" ;
diff --git a/chart2/source/controller/dialogs/Strings_AdditionalControls.src b/chart2/source/controller/dialogs/Strings_AdditionalControls.src
index 9d4758de1864..1f6f7a17a665 100644
--- a/chart2/source/controller/dialogs/Strings_AdditionalControls.src
+++ b/chart2/source/controller/dialogs/Strings_AdditionalControls.src
@@ -46,6 +46,21 @@ String STR_TEXT_SEPARATOR
Text [ en-US ] = "Separator";
};
+String STR_LINETYPE_STRAIGHT
+{
+ Text [ en-US ] = "Straight";
+};
+
+String STR_LINETYPE_SMOOTH
+{
+ Text [ en-US ] = "Smooth";
+};
+
+String STR_LINETYPE_STEPPED
+{
+ Text [ en-US ] = "Stepped";
+};
+
//-----------------------------------
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx
index 5601789a82cd..420aa333cba1 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.cxx
+++ b/chart2/source/controller/dialogs/tp_ChartType.cxx
@@ -440,9 +440,6 @@ public:
private:
DECL_LINK( SplineTypeListBoxHdl, void* );
- void adjustControlPositions();
- void adjustSize();
-
private:
ListBox* m_pLB_Spline_Type;
@@ -517,6 +514,83 @@ IMPL_LINK_NOARG(SplinePropertiesDialog, SplineTypeListBoxHdl)
}
//--------------------------------------------------------------------------
+class SteppedPropertiesDialog : public ModalDialog
+{
+public:
+ SteppedPropertiesDialog( Window* pParent );
+ virtual ~SteppedPropertiesDialog();
+
+ void fillControls( const ChartTypeParameter& rParameter );
+ void fillParameter( ChartTypeParameter& rParameter, bool bSteppedLines );
+
+ virtual void StateChanged( StateChangedType nType );
+
+private:
+
+private:
+ RadioButton* m_pRB_Start;
+ RadioButton* m_pRB_End;
+ RadioButton* m_pRB_CenterX;
+ RadioButton* m_pRB_CenterY;
+};
+
+SteppedPropertiesDialog::SteppedPropertiesDialog( Window* pParent )
+ : ModalDialog( pParent, "SteppedLinesDialog", "modules/schart/ui/steppedlinesdlg.ui")
+{
+ get(m_pRB_Start, "step_start_rb");
+ get(m_pRB_End, "step_end_rb");
+ get(m_pRB_CenterX, "step_center_x_rb");
+ get(m_pRB_CenterY, "step_center_y_rb");
+
+ this->SetText( String( SchResId( STR_DLG_STEPPED_LINE_PROPERTIES ) ) );
+}
+
+SteppedPropertiesDialog::~SteppedPropertiesDialog()
+{
+}
+
+void SteppedPropertiesDialog::StateChanged( StateChangedType nType )
+{
+ Dialog::StateChanged( nType );
+}
+
+void SteppedPropertiesDialog::fillControls( const ChartTypeParameter& rParameter )
+{
+ switch(rParameter.eCurveStyle)
+ {
+ case CurveStyle_STEP_END:
+ m_pRB_End->Check();
+ break;
+ case CurveStyle_STEP_CENTER_X:
+ m_pRB_CenterX->Check();
+ break;
+ case CurveStyle_STEP_CENTER_Y:
+ m_pRB_CenterY->Check();
+ break;
+ default: // includes CurveStyle_STEP_START
+ m_pRB_Start->Check();
+ break;
+ }
+}
+void SteppedPropertiesDialog::fillParameter( ChartTypeParameter& rParameter, bool bSteppedLines )
+{
+ if (!bSteppedLines)
+ rParameter.eCurveStyle=CurveStyle_LINES;
+ else if(m_pRB_CenterY->IsChecked())
+ rParameter.eCurveStyle=CurveStyle_STEP_CENTER_Y;
+ else if(m_pRB_Start->IsChecked())
+ rParameter.eCurveStyle=CurveStyle_STEP_START;
+ else if(m_pRB_End->IsChecked())
+ rParameter.eCurveStyle=CurveStyle_STEP_END;
+ else if(m_pRB_CenterX->IsChecked())
+ rParameter.eCurveStyle=CurveStyle_STEP_CENTER_X;
+}
+
+//--------------------------------------------------------------------------
+
+#define POS_LINETYPE_STRAIGHT 0
+#define POS_LINETYPE_SMOOTH 1
+#define POS_LINETYPE_STEPPED 2
class SplineResourceGroup : public ChangingResource
{
@@ -533,24 +607,33 @@ public:
void fillParameter( ChartTypeParameter& rParameter );
private:
- DECL_LINK( SplineChangeHdl, void* );
+ DECL_LINK( LineTypeChangeHdl, void* );
DECL_LINK( SplineDetailsDialogHdl, void* );
+ DECL_LINK( SteppedDetailsDialogHdl, void* );
SplinePropertiesDialog& getSplinePropertiesDialog();
+ SteppedPropertiesDialog& getSteppedPropertiesDialog();
private:
- CheckBox m_aCB_Splines;
+ FixedText m_aFT_LineType;
+ ListBox m_aLB_LineType;
PushButton m_aPB_DetailsDialog;
::std::auto_ptr< SplinePropertiesDialog > m_pSplinePropertiesDialog;
+ ::std::auto_ptr< SteppedPropertiesDialog > m_pSteppedPropertiesDialog;
};
SplineResourceGroup::SplineResourceGroup( Window* pWindow )
: ChangingResource()
- , m_aCB_Splines( pWindow, SchResId( CB_SPLINES ) )
+ , m_aFT_LineType( pWindow, SchResId( FT_LINETYPE ) )
+ , m_aLB_LineType( pWindow, SchResId( LB_LINETYPE ) )
, m_aPB_DetailsDialog( pWindow, SchResId( PB_SPLINE_DIALOG ) )
, m_pSplinePropertiesDialog()
{
- m_aCB_Splines.SetToggleHdl( LINK( this, SplineResourceGroup, SplineChangeHdl ) );
- m_aPB_DetailsDialog.SetClickHdl( LINK( this, SplineResourceGroup, SplineDetailsDialogHdl ) );
- m_aPB_DetailsDialog.SetQuickHelpText( String( SchResId(STR_DLG_SMOOTH_LINE_PROPERTIES) ) );
+ m_aLB_LineType.InsertEntry(String(SchResId(STR_LINETYPE_STRAIGHT)));
+ m_aLB_LineType.InsertEntry(String(SchResId(STR_LINETYPE_SMOOTH)));
+ m_aLB_LineType.InsertEntry(String(SchResId(STR_LINETYPE_STEPPED)));
+ m_aLB_LineType.SetDropDownLineCount(3);
+ m_aLB_LineType.SetSelectHdl( LINK( this, SplineResourceGroup, LineTypeChangeHdl ) );
+ m_aLB_LineType.SetAccessibleName(m_aFT_LineType.GetText());
+ m_aLB_LineType.SetAccessibleRelationLabeledBy(&m_aFT_LineType);
Size aButtonSize( m_aPB_DetailsDialog.GetSizePixel() );
Size aMinSize( m_aPB_DetailsDialog.CalcMinimumSize() );
@@ -572,61 +655,114 @@ SplinePropertiesDialog& SplineResourceGroup::getSplinePropertiesDialog()
m_pSplinePropertiesDialog = ::std::auto_ptr< SplinePropertiesDialog >( new SplinePropertiesDialog( m_aPB_DetailsDialog.GetParent() ) );
return *m_pSplinePropertiesDialog;
}
+SteppedPropertiesDialog& SplineResourceGroup::getSteppedPropertiesDialog()
+{
+ if( !m_pSteppedPropertiesDialog.get() )
+ {
+ m_pSteppedPropertiesDialog = ::std::auto_ptr< SteppedPropertiesDialog >( new SteppedPropertiesDialog( m_aPB_DetailsDialog.GetParent() ) );
+ }
+ return *m_pSteppedPropertiesDialog;
+}
void SplineResourceGroup::showControls( bool bShow )
{
- m_aCB_Splines.Show(bShow);
+ m_aFT_LineType.Show(bShow);
+ m_aLB_LineType.Show(bShow);
m_aPB_DetailsDialog.Show(bShow);
}
Point SplineResourceGroup::getPosition()
{
- return m_aCB_Splines.GetPosPixel();
+ return m_aLB_LineType.GetPosPixel();
}
long SplineResourceGroup::getHeight()
{
- return m_aCB_Splines.GetSizePixel().Height() + m_aPB_DetailsDialog.LogicToPixel( Size(0,2), MapMode(MAP_APPFONT) ).Height();
+ return m_aLB_LineType.GetSizePixel().Height() + m_aPB_DetailsDialog.LogicToPixel( Size(0,2), MapMode(MAP_APPFONT) ).Height();
}
void SplineResourceGroup::setPosition( const Point& rPoint )
{
- Size aSize( m_aCB_Splines.CalcMinimumSize() );
- Size aDistanceSize( m_aCB_Splines.LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,1), MapMode(MAP_APPFONT) ) );
- m_aCB_Splines.SetSizePixel( aSize );
+ Size aSizeFT( m_aFT_LineType.CalcMinimumSize() );
+ Size aDistanceSizeFT( m_aFT_LineType.LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,1), MapMode(MAP_APPFONT) ) );
+ m_aFT_LineType.SetSizePixel( aSizeFT );
+
+ Size aSizeLB( m_aLB_LineType.CalcMinimumSize() );
+ Size aDistanceSizeLB( m_aLB_LineType.LogicToPixel( Size(RSC_SP_CTRL_GROUP_X,1), MapMode(MAP_APPFONT) ) );
+ m_aLB_LineType.SetSizePixel( aSizeLB );
Point aOld = this->getPosition();
long nDiffY = rPoint.Y() - aOld.Y();
long nDiffX = rPoint.X() - aOld.X();
Point aNew( aOld.X()+nDiffX, aOld.Y()+nDiffY );
- m_aCB_Splines.SetPosPixel( aNew );
+ m_aFT_LineType.SetPosPixel( aNew );
+
+ aNew.X() += ( aSizeFT.Width() + aDistanceSizeFT.Width() );
+ aNew.Y() -= 3*aDistanceSizeFT.Height();
+ m_aLB_LineType.SetPosPixel( aNew );
- aNew.X() += ( aSize.Width() + aDistanceSize.Width() );
- aNew.Y() -= 3*aDistanceSize.Height();
+ aNew.X() += ( aSizeLB.Width() + aDistanceSizeLB.Width() );
+ aNew.Y() -= 3*aDistanceSizeLB.Height();
m_aPB_DetailsDialog.SetPosPixel( aNew );
}
void SplineResourceGroup::fillControls( const ChartTypeParameter& rParameter )
{
- m_aCB_Splines.Check( rParameter.eCurveStyle!=CurveStyle_LINES );
- getSplinePropertiesDialog().fillControls( rParameter );
+ switch (rParameter.eCurveStyle)
+ {
+ case CurveStyle_LINES:
+ m_aLB_LineType.SelectEntryPos(POS_LINETYPE_STRAIGHT);
+ m_aPB_DetailsDialog.Enable(false);
+ break;
+ case CurveStyle_CUBIC_SPLINES:
+ case CurveStyle_B_SPLINES:
+ m_aLB_LineType.SelectEntryPos(POS_LINETYPE_SMOOTH);
+ m_aPB_DetailsDialog.Enable(true);
+ m_aPB_DetailsDialog.SetClickHdl( LINK( this, SplineResourceGroup, SplineDetailsDialogHdl ) );
+ m_aPB_DetailsDialog.SetQuickHelpText( String( SchResId(STR_DLG_SMOOTH_LINE_PROPERTIES) ) );
+ getSplinePropertiesDialog().fillControls( rParameter );
+ break;
+ case CurveStyle_STEP_START:
+ case CurveStyle_STEP_END:
+ case CurveStyle_STEP_CENTER_X:
+ case CurveStyle_STEP_CENTER_Y:
+ m_aLB_LineType.SelectEntryPos(POS_LINETYPE_STEPPED);
+ m_aPB_DetailsDialog.Enable(true);
+ m_aPB_DetailsDialog.SetClickHdl( LINK( this, SplineResourceGroup, SteppedDetailsDialogHdl ) );
+ m_aPB_DetailsDialog.SetQuickHelpText( String( SchResId(STR_DLG_STEPPED_LINE_PROPERTIES) ) );
+ getSteppedPropertiesDialog().fillControls( rParameter );
+ break;
+ default:
+ m_aLB_LineType.SetNoSelection();
+ m_aPB_DetailsDialog.Enable(false);
+ }
}
void SplineResourceGroup::fillParameter( ChartTypeParameter& rParameter )
{
- getSplinePropertiesDialog().fillParameter( rParameter, m_aCB_Splines.IsChecked() );
+ switch (m_aLB_LineType.GetSelectEntryPos())
+ {
+ case POS_LINETYPE_SMOOTH:
+ getSplinePropertiesDialog().fillParameter( rParameter, true );
+ break;
+ case POS_LINETYPE_STEPPED:
+ getSteppedPropertiesDialog().fillParameter( rParameter, true );
+ break;
+ default: // includes POS_LINETYPE_STRAIGHT
+ rParameter.eCurveStyle = CurveStyle_LINES;
+ break;
+ }
}
-IMPL_LINK_NOARG(SplineResourceGroup, SplineChangeHdl)
+IMPL_LINK_NOARG(SplineResourceGroup, LineTypeChangeHdl)
{
if( m_pChangeListener )
m_pChangeListener->stateChanged(this);
return 0;
}
-
IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl)
{
ChartTypeParameter aOldParameter;
- getSplinePropertiesDialog().fillParameter( aOldParameter, m_aCB_Splines.IsChecked() );
+ getSplinePropertiesDialog().fillParameter( aOldParameter, POS_LINETYPE_SMOOTH == m_aLB_LineType.GetSelectEntryPos() );
- sal_Bool bOldSmoothLines = m_aCB_Splines.IsChecked();
- m_aCB_Splines.Check();
+ sal_uInt16 iOldLineTypePos = m_aLB_LineType.GetSelectEntryPos();
+ m_aLB_LineType.SelectEntryPos(POS_LINETYPE_SMOOTH);
if( RET_OK == getSplinePropertiesDialog().Execute() )
{
if( m_pChangeListener )
@@ -635,11 +771,32 @@ IMPL_LINK_NOARG(SplineResourceGroup, SplineDetailsDialogHdl)
else
{
//restore old state:
- m_aCB_Splines.Check( bOldSmoothLines );
+ m_aLB_LineType.SelectEntryPos( iOldLineTypePos );
getSplinePropertiesDialog().fillControls( aOldParameter );
}
return 0;
}
+IMPL_LINK_NOARG(SplineResourceGroup, SteppedDetailsDialogHdl)
+{
+
+ ChartTypeParameter aOldParameter;
+ getSteppedPropertiesDialog().fillParameter( aOldParameter, POS_LINETYPE_STEPPED == m_aLB_LineType.GetSelectEntryPos() );
+
+ sal_uInt16 iOldLineTypePos = m_aLB_LineType.GetSelectEntryPos();
+ m_aLB_LineType.SelectEntryPos(POS_LINETYPE_STEPPED);
+ if( RET_OK == getSteppedPropertiesDialog().Execute() )
+ {
+ if( m_pChangeListener )
+ m_pChangeListener->stateChanged(this);
+ }
+ else
+ {
+ //restore old state:
+ m_aLB_LineType.SelectEntryPos( iOldLineTypePos );
+ getSteppedPropertiesDialog().fillControls( aOldParameter );
+ }
+ return 0;
+}
//--------------------------------------------------------------------------
diff --git a/chart2/source/controller/dialogs/tp_ChartType.hrc b/chart2/source/controller/dialogs/tp_ChartType.hrc
index 2c1aacc5736d..3a356a8a49c6 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.hrc
+++ b/chart2/source/controller/dialogs/tp_ChartType.hrc
@@ -26,8 +26,10 @@
#define LB_3D_SCHEME 1
#define LB_CHARTTYPE 2
#define CT_CHARTVARIANT 3
+#define LB_LINETYPE 4
#define FT_CHARTTYPE 1
+#define FT_LINETYPE 2
#define CB_X_AXIS_CATEGORIES 1
#define CB_3D_LOOK 2
diff --git a/chart2/source/controller/dialogs/tp_ChartType.src b/chart2/source/controller/dialogs/tp_ChartType.src
index 1782e6bb9375..1a70c45f4e70 100644
--- a/chart2/source/controller/dialogs/tp_ChartType.src
+++ b/chart2/source/controller/dialogs/tp_ChartType.src
@@ -145,6 +145,22 @@ TabPage TP_CHARTTYPE
Text [ en-US ] = "Deep";
};
+ FixedText FT_LINETYPE
+ {
+ Pos = MAP_APPFONT ( POS_X_IMAGELIST , POS_Y_SPLINES ) ;
+ Size = MAP_APPFONT ( 150 , 10 ) ;
+ TabStop = TRUE ;
+ Text [ en-US ] = "~Line type";
+ };
+ ListBox LB_LINETYPE
+ {
+ HelpID = "chart2:ListBox:TP_CHARTTYPE:LB_LINETYPE";
+ Border = TRUE;
+ TabStop = TRUE;
+ DropDown = TRUE;
+ Pos = MAP_APPFONT ( POS_X_IMAGELIST, POS_Y_SPLINES ) ;
+ Size = MAP_APPFONT ( 150 , 10 ) ;
+ };
CheckBox CB_SPLINES
{
HelpID = "chart2:CheckBox:TP_CHARTTYPE:CB_SPLINES";
@@ -152,12 +168,11 @@ TabPage TP_CHARTTYPE
Size = MAP_APPFONT ( 150 , 10 ) ;
Text [ en-US ] = "S~mooth lines" ;
};
-
PushButton PB_SPLINE_DIALOG
{
HelpID = "chart2:PushButton:TP_CHARTTYPE:PB_SPLINE_DIALOG";
TabStop = TRUE ;
- Pos = MAP_APPFONT ( POS_X_IMAGELIST , POS_Y_SPLINES-6 ) ;
+ Pos = MAP_APPFONT ( POS_X_IMAGELIST , POS_Y_SPLINES ) ;
Size = MAP_APPFONT ( 12 , 14 ) ;
Text [ en-US ] = "Properties..." ;
};
diff --git a/chart2/source/inc/Strings.hrc b/chart2/source/inc/Strings.hrc
index 1d27f1bb66a7..aecf40112265 100644
--- a/chart2/source/inc/Strings.hrc
+++ b/chart2/source/inc/Strings.hrc
@@ -77,6 +77,10 @@
#define STR_3DSCHEME_REALISTIC (RID_APP_START + 232)
#define STR_3DSCHEME_CUSTOM (RID_APP_START + 259)
+#define STR_LINETYPE_STRAIGHT (RID_APP_START + 297)
+#define STR_LINETYPE_SMOOTH (RID_APP_START + 298)
+#define STR_LINETYPE_STEPPED (RID_APP_START + 299)
+
//additional strings
#define STR_TEXT_SEPARATOR (RID_APP_START + 20)
@@ -236,6 +240,7 @@
#define STR_PAGE_CHART_LOCATION (RID_APP_START + 230)
#define STR_DLG_SMOOTH_LINE_PROPERTIES (RID_APP_START + 239)
+#define STR_DLG_STEPPED_LINE_PROPERTIES (RID_APP_START + 270)
#define STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE (RID_APP_START + 266)
#define STR_PAGE_POSITIONING (RID_APP_START + 277)
diff --git a/chart2/uiconfig/ui/steppedlinesdlg.ui b/chart2/uiconfig/ui/steppedlinesdlg.ui
new file mode 100644
index 000000000000..4cc351f3669c
--- /dev/null
+++ b/chart2/uiconfig/ui/steppedlinesdlg.ui
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <!-- interface-local-resource-path /home/eric/Documents/computers/libreoffice/core/icon-themes/galaxy/chart2 -->
+ <object class="GtkDialog" id="SteppedLinesDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</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="box4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Choose the type of stepping:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkImage" id="step_center_x_img">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">chart2/res/step_center_x_30.png</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="GtkImage" id="step_end_img">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">chart2/res/step_end_30.png</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="step_center_y_img">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">chart2/res/step_center_y_30.png</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="step_start_rb">
+ <property name="label" translatable="yes">_Start with horizontal line</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">step_center_x_rb</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="GtkRadioButton" id="step_center_x_rb">
+ <property name="label" translatable="yes">Step at the _horizontal mean</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">step_start_rb</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>
+ <child>
+ <object class="GtkRadioButton" id="step_end_rb">
+ <property name="label" translatable="yes">_End with horizontal line</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">step_start_rb</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="step_center_y_rb">
+ <property name="label" translatable="yes">Step to the _vertical mean</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">step_start_rb</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="step_start_img">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">chart2/res/step_start_30.png</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>
+ </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 internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="ok">
+ <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="cancel">
+ <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>
+ </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">ok</action-widget>
+ <action-widget response="0">cancel</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/icon-themes/galaxy/chart2/res/nostackstepped3d_52x60.png b/icon-themes/galaxy/chart2/res/nostackstepped3d_52x60.png
new file mode 100644
index 000000000000..7356c25da089
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/nostackstepped3d_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/nostacksteppedboth_52x60.png b/icon-themes/galaxy/chart2/res/nostacksteppedboth_52x60.png
new file mode 100644
index 000000000000..572ce0e0d924
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/nostacksteppedboth_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/nostacksteppedlines_52x60.png b/icon-themes/galaxy/chart2/res/nostacksteppedlines_52x60.png
new file mode 100644
index 000000000000..1f312c6a8b56
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/nostacksteppedlines_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/nostacksteppedpoints_52x60.png b/icon-themes/galaxy/chart2/res/nostacksteppedpoints_52x60.png
new file mode 100644
index 000000000000..04210d555ed6
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/nostacksteppedpoints_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/stackstepped3d_52x60.png b/icon-themes/galaxy/chart2/res/stackstepped3d_52x60.png
new file mode 100644
index 000000000000..942fccafb3e9
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/stackstepped3d_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/stacksteppedboth_52x60.png b/icon-themes/galaxy/chart2/res/stacksteppedboth_52x60.png
new file mode 100644
index 000000000000..6a80a745af96
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/stacksteppedboth_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/stacksteppedlines_52x60.png b/icon-themes/galaxy/chart2/res/stacksteppedlines_52x60.png
new file mode 100644
index 000000000000..c1dc250a4c3c
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/stacksteppedlines_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/stacksteppedpoints_52x60.png b/icon-themes/galaxy/chart2/res/stacksteppedpoints_52x60.png
new file mode 100644
index 000000000000..b9128b0e3210
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/stacksteppedpoints_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/step_center_x_30.png b/icon-themes/galaxy/chart2/res/step_center_x_30.png
new file mode 100644
index 000000000000..68af1d73061d
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/step_center_x_30.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/step_center_y_30.png b/icon-themes/galaxy/chart2/res/step_center_y_30.png
new file mode 100644
index 000000000000..f64e30cf2622
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/step_center_y_30.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/step_end_30.png b/icon-themes/galaxy/chart2/res/step_end_30.png
new file mode 100644
index 000000000000..c4ccd93c9875
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/step_end_30.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/step_start_30.png b/icon-themes/galaxy/chart2/res/step_start_30.png
new file mode 100644
index 000000000000..48713badf31f
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/step_start_30.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/valueaxisstepped3d_52x60.png b/icon-themes/galaxy/chart2/res/valueaxisstepped3d_52x60.png
new file mode 100644
index 000000000000..2a7e90e6f139
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/valueaxisstepped3d_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/valueaxissteppedboth_52x60.png b/icon-themes/galaxy/chart2/res/valueaxissteppedboth_52x60.png
new file mode 100644
index 000000000000..6f19623f4395
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/valueaxissteppedboth_52x60.png
Binary files differ
diff --git a/icon-themes/galaxy/chart2/res/valueaxissteppedlines_52x60.png b/icon-themes/galaxy/chart2/res/valueaxissteppedlines_52x60.png
new file mode 100644
index 000000000000..bb76d06796f3
--- /dev/null
+++ b/icon-themes/galaxy/chart2/res/valueaxissteppedlines_52x60.png
Binary files differ