21#include "kchartConfigDialog.h"
22#include "kchartConfigDialog.moc"
25#include "kchartBackgroundPixmapConfigPage.h"
26#include "kchartSubTypeChartPage.h"
27#include "kchartHeaderFooterConfigPage.h"
28#include "kchartColorConfigPage.h"
29#include "kchartParameterPieConfigPage.h"
30#include "kchartFontConfigPage.h"
31#include "kchartDataConfigPage.h"
32#include "kchartComboConfigPage.h"
33#include "kchartParameterConfigPage.h"
34#include "kchartPieConfigPage.h"
35#include "kchartParameter3dConfigPage.h"
36#include "kchartLegendConfigPage.h"
37#include "kchartLine3dConfigPage.h"
38#include "kchartParameterPolarConfigPage.h"
40#include <tdeapplication.h>
44#include <tqradiobutton.h>
46#include "kchart_params.h"
51KChartConfigDialog::KChartConfigDialog( KChartParams* params,
52 TQWidget* parent,
int flags,
53 KDChartTableData *dat ) :
54 TQTabDialog( parent,
"Chart config dialog", true ),
65 m_headerfooterpage(0),
70 _parameterfontpage(0),
77 setCaption( i18n(
"Chart Setup" ) );
79 if (flags & KC_DATAFORMAT) {
80 m_dataPage =
new KChartDataConfigPage(m_params,
this, dat);
81 addTab( m_dataPage, i18n(
"&Data" ) );
83 else if (flags & KC_SUBTYPE) {
86 else if (flags & KC_HEADERFOOTER) {
87 m_headerfooterpage=
new KChartHeaderFooterConfigPage(m_params,
this);
88 addTab( m_headerfooterpage,i18n(
"Header/Footer"));
90 else if (flags & KC_COLORS ) {
91 _colorpage =
new KChartColorConfigPage( m_params,
this, dat );
92 addTab( _colorpage, i18n(
"&Colors" ) );
94 else if ( flags & KC_FONT ) {
95 _parameterfontpage =
new KChartFontConfigPage(m_params,
this, dat );
96 addTab( _parameterfontpage, i18n(
"&Font" ) );
98 else if ( flags & KC_BACK ) {
99 _backgroundpixpage =
new KChartBackgroundPixmapConfigPage( m_params,
this );
100 addTab( _backgroundpixpage, i18n(
"&Background" ) );
102 else if ( flags & KC_LEGEND ) {
103 m_legendPage =
new KChartLegendConfigPage(m_params,
this );
104 addTab( m_legendPage,i18n(
"Legend"));
106 else if ( flags & KC_ALL ) {
108 m_dataPage =
new KChartDataConfigPage(m_params,
this, dat);
109 addTab( m_dataPage, i18n(
"&Data" ) );
115 if ( m_params->chartType() == KChartParams::Bar ) {
116 _parameter3dpage =
new KChartParameter3dConfigPage(m_params,
this );
117 addTab( _parameter3dpage,i18n(
"Bar"));
119 else if ( m_params->chartType() == KChartParams::Line) {
120 _linepage3d=
new KChartLine3dConfigPage(m_params,
this);
121 addTab( _linepage3d,i18n(
"Line"));
124 else if ( m_params->chartType() == KChartParams::BarLines) {
125 m_barslinesPage =
new KChartBarslinesConfigPage(m_params,
this);
126 addTab( _linepage3d,i18n(
"Line"));
129 else if ( m_params->chartType() == KChartParams::Pie ) {
131 _parameterpiepage =
new KChartParameterPieConfigPage(m_params,
133 addTab( _parameterpiepage, i18n(
"&Pie" ) );
136 _piepage =
new KChartPieConfigPage(m_params,
this, dat );
137 addTab( _piepage, i18n(
"&Piedata" ) );
140 else if ( m_params->chartType() == KChartParams::Polar) {
141 _polarpage=
new KChartParameterPolarConfigPage(m_params,
this);
142 addTab( _polarpage,i18n(
"&Polar"));
147 m_headerfooterpage=
new KChartHeaderFooterConfigPage(m_params,
this);
148 addTab( m_headerfooterpage, i18n(
"Header/Footer"));
151 m_legendPage =
new KChartLegendConfigPage(m_params,
this );
152 addTab( m_legendPage,i18n(
"Legend"));
155 if ( m_params->chartType() != KChartParams::Pie
156 && m_params->chartType() != KChartParams::Ring ) {
158 m_axespage =
new KChartParameterConfigPage(m_params,
this );
159 addTab( m_axespage, i18n(
"&Axes" ) );
162 _colorpage =
new KChartColorConfigPage( m_params,
this, dat );
163 addTab( _colorpage, i18n(
"&Colors" ) );
165 _parameterfontpage =
new KChartFontConfigPage(m_params,
this, dat );
166 addTab( _parameterfontpage, i18n(
"&Font" ) );
168 _backgroundpixpage =
new KChartBackgroundPixmapConfigPage( m_params,
170 addTab( _backgroundpixpage, i18n(
"&Background" ) );
172 if ( m_params->chartType() == KChartParams::HiLo &&
173 ( m_params->hiLoChartSubType() == KChartParams::HiLoClose ||
174 m_params->hiLoChartSubType() == KChartParams::HiLoOpenClose ) ) {
185 setOKButton( i18n(
"&OK" ) );
186 setApplyButton( i18n(
"&Apply" ) );
188 setDefaultButton( i18n(
"&Defaults" ) );
190 setDefaultButton( TQString() );
192 setCancelButton( i18n(
"&Cancel" ) );
194 connect(
this, TQ_SIGNAL( applyButtonPressed() ),
this, TQ_SLOT( apply() ) );
195 connect(
this, TQ_SIGNAL( defaultButtonPressed() ),
this, TQ_SLOT( defaults() ) );
199void KChartConfigDialog::init()
207 _colorpage->setLineColor( m_params->outlineDataColor() );
209 leftparams = m_params->axisParams( KDChartAxisParams::AxisPosLeft );
211 rightparams = m_params->axisParams( KDChartAxisParams::AxisPosRight );
213 bottomparams = m_params->axisParams( KDChartAxisParams::AxisPosBottom );
215 _colorpage->setXTitleColor( m_params->axisTitleColor( KDChartAxisParams::AxisPosLeft ) );
216 _colorpage->setYTitleColor( m_params->axisTitleColor( KDChartAxisParams::AxisPosBottom ) );
249 if (_parameterpiepage)
250 _parameterpiepage->init();
252 if (_parameter3dpage)
253 _parameter3dpage->init();
255 if ( _linepage3d && m_params->chartType() == KChartParams::Line)
258 if (_parameterfontpage)
259 _parameterfontpage->init();
262 m_subTypePage->init();
272 if (_backgroundpixpage)
273 _backgroundpixpage->init();
276 m_legendPage->init();
280 if (m_headerfooterpage)
281 m_headerfooterpage->init();
287void KChartConfigDialog::apply()
289 kdDebug(35001) <<
"***KChartConfig::apply()\n";
308 leftparams = m_params->axisParams( KDChartAxisParams::AxisPosLeft );
310 m_params->setOutlineDataColor( _colorpage->lineColor() );
313 rightparams = m_params->axisParams( KDChartAxisParams::AxisPosRight );
315 bottomparams = m_params->axisParams( KDChartAxisParams::AxisPosBottom );
316 if( _colorpage->xTitleColor().isValid() )
317 m_params->setAxisTitleColor( KDChartAxisParams::AxisPosBottom, _colorpage->xTitleColor() );
319 m_params->setAxisTitleColor( KDChartAxisParams::AxisPosBottom, TQColor() );
320 if( _colorpage->yTitleColor().isValid() )
321 m_params->setAxisTitleColor( KDChartAxisParams::AxisPosLeft, _colorpage->yTitleColor() );
323 m_params->setAxisTitleColor( KDChartAxisParams::AxisPosLeft, TQColor() );
325 if( _colorpage->yTitle2Color().isValid() )
348 m_params->setAxisParams( KDChartAxisParams::AxisPosBottom, bottomparams );
349 m_params->setAxisParams( KDChartAxisParams::AxisPosLeft, leftparams );
351 m_params->setAxisParams( KDChartAxisParams::AxisPosRight, rightparams );
358 if (_parameterpiepage)
359 _parameterpiepage->apply();
364 if( _parameter3dpage && m_params->chartType() == KChartParams::Bar )
365 _parameter3dpage->apply();
367 if( _linepage3d && m_params->chartType() == KChartParams::Line)
368 _linepage3d->apply();
370 if(_parameterfontpage)
371 _parameterfontpage->apply();
377 m_subTypePage->apply();
379 if ( m_params->chartType() == KChartParams::HiLo &&
380 ( m_params->hiLoChartSubType() == KChartParams::HiLoClose ||
381 m_params->hiLoChartSubType() == KChartParams::HiLoOpenClose ) )
387 if (_backgroundpixpage)
388 _backgroundpixpage->apply();
393 m_legendPage->apply();
395 if (m_headerfooterpage)
396 m_headerfooterpage->apply();
405void KChartConfigDialog::subtypePage()
407 switch( m_params->chartType() ) {
408 case KDChartParams::Bar:
409 m_subTypePage =
new KChartBarSubTypeChartPage( m_params,
this );
411 case KDChartParams::Area:
412 m_subTypePage =
new KChartAreaSubTypeChartPage( m_params,
this );
414 case KDChartParams::Line:
415 m_subTypePage =
new KChartLineSubTypeChartPage( m_params,
this );
417 case KDChartParams::HiLo:
418 m_subTypePage =
new KChartHiloSubTypeChartPage( m_params,
this );
420 case KDChartParams::Polar:
421 m_subTypePage =
new KChartPolarSubTypeChartPage( m_params,
this );
428 addTab( m_subTypePage, i18n(
"Chart &Sub-type" ) );
432void KChartConfigDialog::defaults()
access the chart axis parameters.
TQColor axisLabelsColor() const
Returns the axis labels colour.
TQColor axisGridColor() const
Returns the axis grid color.
void setAxisLineColor(TQColor axisLineColor)
Specifies the axis line colour.
void setAxisZeroLineColor(TQColor axisZeroLineColor)
Specifies the colour of the zero-line that is drawn if zero is not at the lower edge of the chart.
void setAxisGridColor(TQColor axisGridColor)
Specifies the axis grid colour.
TQColor axisLineColor() const
Returns the axis line colour.
void setAxisLabelsColor(TQColor axisLabelsColor)
Specifies the axis labels colour.
TQColor axisZeroLineColor() const
Returns the colour used for the zero-value line that is drawn if zero is not at the lower edge of the...