You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/kchart/kchartWizardLabelsLegendPag...

341 lines
12 KiB

#include "kchartWizardLabelsLegendPage.h"
#include "kchart_view.h"
#include "kchart_part.h"
#include <tqbuttongroup.h>
#include <tqlineedit.h>
#include <tqradiobutton.h>
#include <tqlabel.h>
#include <klocale.h>
#include <kfontdialog.h>
#include <tqlayout.h>
#include <tqpushbutton.h>
#include <tqcolor.h>
#include "kchart_params.h"
namespace KChart
{
KChartWizardLabelsLegendPage::KChartWizardLabelsLegendPage( TQWidget* tqparent, KChartPart* chart ) :
TQWidget( tqparent ),
_chart( chart )
{
#if 0
ytitle2=true;
#endif
KDChartAxisParams leftparams;
leftparams = _chart->params()->axisParams( KDChartAxisParams::AxisPosLeft );
KDChartAxisParams bottomparams;
bottomparams = _chart->params()->axisParams( KDChartAxisParams::AxisPosBottom );
x_color=bottomparams.axisLineColor();
y_color=leftparams.axisLineColor();
xlabel=bottomparams.axisLabelsFont();
ylabel=leftparams.axisLabelsFont();
TQGridLayout *grid1 = new TQGridLayout(this,2,2,KDialog::marginHint(), KDialog::spacingHint());
TQGroupBox* tmpTQGroupBox;
tmpTQGroupBox = new TQGroupBox( this, "GroupBox_1" );
tmpTQGroupBox->setFrameStyle( 49 );
TQGridLayout *grid2 = new TQGridLayout(tmpTQGroupBox,4,4,KDialog::marginHint(), KDialog::spacingHint());
TQLabel* titleLA = new TQLabel( i18n( "Title:" ),tmpTQGroupBox );
grid2->addWidget(titleLA,0,0);
_titleED = new TQLineEdit( tmpTQGroupBox );
grid2->addWidget(_titleED,0,1);
_titleED->setText( _chart->params()->header1Text() );
titlefont = new TQPushButton( tmpTQGroupBox );
grid2->addWidget(titlefont,0,2);
titlefont->setText(i18n("Font..."));
titlecolor=new KColorButton(tmpTQGroupBox);
grid2->addWidget(titlecolor,0,3);
title_color=_chart->params()->headerFooterColor( KDChartParams::HdFtPosHeader );
titlecolor->setColor( title_color );
TQLabel* xlabelLA = new TQLabel( i18n( "X-title:" ), tmpTQGroupBox );
//xlabelLA->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(xlabelLA,1,0);
_xlabelED = new TQLineEdit( tmpTQGroupBox );
//_xlabelED->setEnabled(false); //Not supported by kdChart yet
_xlabelED->setText(_chart->params()->axisTitle( KDChartAxisParams::AxisPosBottom));
grid2->addWidget(_xlabelED,1,1);
xtitlefont = new TQPushButton( tmpTQGroupBox );
xtitlefont->setText(i18n("Font..."));
//xtitlefont->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(xtitlefont,1,2);
xtitlecolor=new KColorButton(tmpTQGroupBox);
// PENDING(kalle) Put back in
// x_color=_chart->params()->XTitleColor;
xtitlecolor->setColor( x_color );
//xtitlecolor->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(xtitlecolor,1,3);
TQLabel* ylabelLA = new TQLabel( i18n( "Y-title:" ), tmpTQGroupBox );
//ylabelLA->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(ylabelLA,2,0);
_ylabelED = new TQLineEdit( tmpTQGroupBox );
//_ylabelED->setEnabled(false); //Not supported by kdChart yet
_ylabelED->setText(_chart->params()->axisTitle( KDChartAxisParams::AxisPosLeft));
grid2->addWidget(_ylabelED,2,1);
ytitlefont = new TQPushButton( tmpTQGroupBox);
ytitlefont->setText(i18n("Font..."));
//ytitlefont->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(ytitlefont,2,2);
ytitlecolor=new KColorButton(tmpTQGroupBox);
//ytitlecolor->setEnabled(false); //Not supported by kdChart yet
// PENDING(kalle) Put back in
// y_color=_chart->params()->YTitleColor;
ytitlecolor->setColor( y_color );
grid2->addWidget(ytitlecolor,2,3);
#if 0
//ytitle2 doesn't work
TQLabel* ylabelLA2 = new TQLabel( i18n( "Y-title 2:" ), tmpTQGroupBox );
ylabelLA2->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(ylabelLA2,3,0);
_ylabel2ED = new TQLineEdit( tmpTQGroupBox );
_ylabel2ED->setEnabled(false); //Not supported by kdChart yet
// PENDING(kalle) Put back in
// _ylabel2ED->setText(_chart->params()->ytitle2);
grid2->addWidget(_ylabel2ED,3,1);
ytitle2font = new TQPushButton( tmpTQGroupBox);
ytitle2font->setText(i18n("Font..."));
ytitle2font->setEnabled(false); //Not supported by kdChart yet
grid2->addWidget(ytitle2font,3,2);
ytitle2color=new KColorButton(tmpTQGroupBox);
ytitle2color->setEnabled(false); //Not supported by kdChart yet
// PENDING(kalle) Put back in
// y_color2=_chart->params()->YTitle2Color;
ytitle2color->setColor( y_color2 );
grid2->addWidget(ytitle2color,3,3);
#endif
// PENDING(kalle) Put back in
// xlabel=_chart->params()->xTitleFont();
// ylabel=_chart->params()->yTitleFont();
TQLabel* lab = new TQLabel( i18n( "Legend title:" ), tmpTQGroupBox );
grid2->addWidget(lab,3,0);
_legendTitleText = new TQLineEdit( tmpTQGroupBox );
grid2->addWidget(_legendTitleText,3,1);
_legendTitleText->setText( _chart->params()->legendTitleText() );
legendTitleFont = new TQPushButton( tmpTQGroupBox );
legendTitleFont->setText(i18n("Font..."));
_legendTitleFont=_chart->params()->legendTitleFont();
grid2->addWidget(legendTitleFont,3,2);
legendTitleColor=new KColorButton(tmpTQGroupBox);
_legendTitleColor=_chart->params()->legendTitleTextColor();
legendTitleColor->setColor( _legendTitleColor );
grid2->addWidget(legendTitleColor,3,3);
lab = new TQLabel( i18n( "Legend text:" ), tmpTQGroupBox );
grid2->addWidget(lab,4,0);
legendTextFont = new TQPushButton( tmpTQGroupBox );
_legendTextFont=_chart->params()->legendFont();
legendTextFont->setText(i18n("Font..."));
grid2->addWidget(legendTextFont,4,2);
legendTextColor=new KColorButton(tmpTQGroupBox);
_legendTextColor=_chart->params()->legendTextColor();
legendTextColor->setColor( _legendTextColor );
grid2->addWidget(legendTextColor,4,3);
title=_chart->params()->header1Font();
grid1->addWidget(tmpTQGroupBox,0,0);
connect(xtitlefont,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeXLabelFont()));
connect(ytitlefont,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeYLabelFont()));
#if 0
connect(ytitle2font,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeY2LabelFont()));
#endif
connect(titlefont,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeTitleFont()));
connect(legendTitleFont,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeLegendTitleFont()));
connect(legendTextFont,TQT_SIGNAL(clicked()),this,TQT_SLOT(changeLegendTextFont()));
connect(xtitlecolor,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeXLabelColor(const TQColor &)));
connect(ytitlecolor,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeYLabelColor(const TQColor &)));
connect(titlecolor,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeTitleColor(const TQColor &)));
#if 0
connect(ytitle2color,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeYTitle2Color(const TQColor &)));
#endif
connect(legendTitleColor,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeLegendTitleColor(const TQColor &)));
connect(legendTextColor,TQT_SIGNAL(changed( const TQColor & )),
this,TQT_SLOT(changeLegendTextColor(const TQColor &)));
}
KChartWizardLabelsLegendPage::~KChartWizardLabelsLegendPage()
{
// _chart->removeAutoUpdate( preview );
}
void KChartWizardLabelsLegendPage::changeLegendTextFont()
{
if (KFontDialog::getFont( _legendTextFont,false,this ) == TQDialog::Rejected )
return;
}
void KChartWizardLabelsLegendPage::changeLegendTitleFont()
{
if (KFontDialog::getFont( _legendTitleFont,false,this ) == TQDialog::Rejected )
return;
}
void KChartWizardLabelsLegendPage::changeXLabelFont()
{
if (KFontDialog::getFont( xlabel,false,this ) == TQDialog::Rejected )
return;
}
void KChartWizardLabelsLegendPage::changeYLabelFont()
{
if (KFontDialog::getFont( ylabel ,false,this ) == TQDialog::Rejected )
return;
}
#if 0
void KChartWizardLabelsLegendPage::changeY2LabelFont()
{
if (KFontDialog::getFont( ylabel2, false, this ) == TQDialog::Rejected )
return;
}
#endif
void KChartWizardLabelsLegendPage::changeTitleFont()
{
if (KFontDialog::getFont( title ,false,this ) == TQDialog::Rejected )
return;
}
void KChartWizardLabelsLegendPage::changeLegendTextColor(const TQColor &_color)
{
_legendTextColor=_color;
}
void KChartWizardLabelsLegendPage::changeXLabelColor(const TQColor &_color)
{
x_color=_color;
}
void KChartWizardLabelsLegendPage::changeYLabelColor(const TQColor &_color)
{
y_color=_color;
}
void KChartWizardLabelsLegendPage::changeTitleColor(const TQColor &_color)
{
title_color=_color;
}
#if 0
void KChartWizardLabelsLegendPage::changeYTitle2Color(const TQColor &_color)
{
y_color2=_color;
}
#endif
void KChartWizardLabelsLegendPage::changeLegendTitleColor(const TQColor &_color)
{
_legendTitleColor=_color;
}
void KChartWizardLabelsLegendPage::paintEvent( TQPaintEvent * )
{
#if 0
if( ytitle2 ) {
_ylabel2ED->setEnabled(true);
ytitle2color->setEnabled(true);
}
else {
_ylabel2ED->setEnabled(false);
ytitle2color->setEnabled(false);
}
#endif
}
void KChartWizardLabelsLegendPage::apply( )
{
_chart->params()->setHeader1Text( _titleED->text() );
// PENDING(kalle) Put back in
// _chart->params()->setXTitleFont(xlabel);
// _chart->params()->setYTitleFont(ylabel);
// _chart->params()->xtitle= _xlabelED->text();
// _chart->params()->ytitle= _ylabelED->text();
// _chart->params()->XTitleColor=x_color;
// _chart->params()->YTitleColor=y_color;
// _chart->params()->YTitle2Color=y_color2;
// _chart->params()->ytitle2=_ylabel2ED->text();
_chart->params()->setHeaderFooterColor( KDChartParams::HdFtPosHeader, title_color );
_chart->params()->setHeaderFooterFont( KDChartParams::HdFtPosHeader, title, true, title.pointSize()*4 );
_chart->params()->setAxisTitle( KDChartAxisParams::AxisPosBottom, _xlabelED->text() );
_chart->params()->setAxisTitle( KDChartAxisParams::AxisPosLeft, _ylabelED->text() );
_chart->params()->setLegendTitleText(_legendTitleText->text());
_chart->params()->setLegendTitleTextColor(_legendTitleColor);
_chart->params()->setLegendTitleFont( _legendTitleFont,false);
_chart->params()->setLegendTitleFontRelSize( _legendTitleFont.pointSize()*4 );
_chart->params()->setLegendTextColor(_legendTextColor);
_chart->params()->setLegendFont( _legendTextFont,false);
_chart->params()->setLegendFontRelSize( _legendTextFont.pointSize()*4 );
KDChartAxisParams leftparams;
leftparams = _chart->params()->axisParams( KDChartAxisParams::AxisPosLeft );
KDChartAxisParams bottomparams;
bottomparams = _chart->params()->axisParams( KDChartAxisParams::AxisPosBottom );
if( x_color.isValid() )
bottomparams.setAxisLineColor( x_color );
if( y_color.isValid() )
leftparams.setAxisLineColor( y_color );
if(bottomparams.axisLabelsFont()!=xlabel){
bottomparams.setAxisLabelsFont( xlabel,false );
bottomparams.setAxisLabelsFontRelSize( xlabel.pointSize()*4 );
}
if(leftparams.axisLabelsFont()!=ylabel){
leftparams.setAxisLabelsFont( ylabel,false );
leftparams.setAxisLabelsFontRelSize( ylabel.pointSize()*4 );
}
_chart->params()->setAxisParams( KDChartAxisParams::AxisPosBottom, bottomparams );
_chart->params()->setAxisParams( KDChartAxisParams::AxisPosLeft, leftparams );
}
} //KChart namespace
#include "kchartWizardLabelsLegendPage.moc"