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
This commit is contained in:
Eric Seynaeve
2013-04-10 00:15:43 +02:00
committed by Markus Mohrhard
parent 426ab2eb7e
commit edc3bfd558
26 changed files with 609 additions and 75 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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" ;

View File

@@ -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 )
switch (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
{
//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 )) );

View File

@@ -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" ;

View File

@@ -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: */

View File

@@ -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() += ( aSize.Width() + aDistanceSize.Width() );
aNew.Y() -= 3*aDistanceSize.Height();
aNew.X() += ( aSizeFT.Width() + aDistanceSizeFT.Width() );
aNew.Y() -= 3*aDistanceSizeFT.Height();
m_aLB_LineType.SetPosPixel( aNew );
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;
}
//--------------------------------------------------------------------------

View File

@@ -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

View File

@@ -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..." ;
};

View File

@@ -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)

View File

@@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B