diff options
Diffstat (limited to 'kchart/kchartWizardSelectDataFormatPage.cpp')
-rw-r--r-- | kchart/kchartWizardSelectDataFormatPage.cpp | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/kchart/kchartWizardSelectDataFormatPage.cpp b/kchart/kchartWizardSelectDataFormatPage.cpp new file mode 100644 index 00000000..d40e95fe --- /dev/null +++ b/kchart/kchartWizardSelectDataFormatPage.cpp @@ -0,0 +1,113 @@ + +#include "kchartWizardSelectDataFormatPage.h" +#include "kchart_view.h" +#include "kchart_part.h" + +#include <tqhbox.h> +#include <tqcheckbox.h> +#include <tqlayout.h> +#include <tqlabel.h> +#include <tqlineedit.h> +#include <tqlistbox.h> +#include <tqbuttongroup.h> +#include <tqvbuttongroup.h> +#include <tqpushbutton.h> +#include <tqradiobutton.h> +#include <tqlineedit.h> +#include <tqpainter.h> + +#include <kdebug.h> +#include <kiconloader.h> +#include <tdeglobal.h> +#include <tdelocale.h> +#include <kdialog.h> + +#include "kchart_params.h" + +namespace KChart +{ + +KChartWizardSelectDataFormatPage::KChartWizardSelectDataFormatPage( TQWidget* parent, + KChartPart* chart ) : + TQWidget( parent ), + m_chart( chart ) +{ + TQGridLayout *grid1 = new TQGridLayout(this, 6, 1, KDialog::marginHint(), + KDialog::spacingHint()); + + // The Data Area + TQButtonGroup *gb1 = new TQVButtonGroup( i18n( "Data Area" ), this ); + + TQHBox *hbox = new TQHBox( gb1 ); + (void) new TQLabel( i18n("Area: "), hbox); + m_dataArea = new TQLineEdit( hbox ); + grid1->addWidget(gb1, 0, 0); + + // The row/column as label checkboxes. + m_firstRowAsLabel = new TQCheckBox( i18n( "First row as label" ), gb1); + m_firstColAsLabel = new TQCheckBox( i18n( "First column as label" ), gb1); + + // The Data Format button group + TQButtonGroup *gb = new TQVButtonGroup( i18n( "Data Format" ), this ); + + m_rowMajor = new TQRadioButton( i18n( "Data in rows" ), gb ); + m_rowMajor->resize( m_rowMajor->sizeHint() ); + + m_colMajor = new TQRadioButton( i18n( "Data in columns" ), gb ); + m_colMajor->resize( m_colMajor->sizeHint() ); + + grid1->addWidget(gb, 3, 0); + + TQLabel *lbl = new TQLabel( i18n( + "\n" + "If the selected data area does not match the data you want,\n" + "select the data now.\n" + "\n" + "Include cells that you want to use as row and column labels,\n" + "if you want them in the chart.\n" + ), this); + grid1->addWidget(lbl, 4, 0); + + grid1->setColStretch(5, 0); + + grid1->activate(); + + // Enter the data into the widgets. + if ( m_chart->params()->dataDirection() == KChartParams::DataColumns) + m_colMajor->setChecked(true); + else + m_rowMajor->setChecked(true); + + m_dataArea->setText( m_chart->params()->dataArea() ); +} + + +TQString KChartWizardSelectDataFormatPage::dataArea() const +{ + return m_dataArea->text(); +} + +void KChartWizardSelectDataFormatPage::setDataArea( const TQString &area ) +{ + m_dataArea->setText( area ); +} + + +void KChartWizardSelectDataFormatPage::apply() +{ + if (m_rowMajor->isChecked()) + m_chart->params()->setDataDirection( KChartParams::DataRows ); + else + m_chart->params()->setDataDirection( KChartParams::DataColumns ); + + m_chart->params()->setFirstRowAsLabel( m_firstRowAsLabel->isChecked() ); + m_chart->params()->setFirstColAsLabel( m_firstColAsLabel->isChecked() ); + + m_chart->params()->setDataArea( m_dataArea->text() ); + // FIXME: Actually take use the new data area. +} + + +} //KChart namespace + +#include "kchartWizardSelectDataFormatPage.moc" |