summaryrefslogtreecommitdiffstats
path: root/kchart/kchartWizardSelectDataFormatPage.cc
blob: 38606259577124006848a303aa7b0ae04f053f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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 <kglobal.h>
#include <klocale.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->tqsizeHint() );

    m_colMajor = new TQRadioButton( i18n( "Data in columns" ), gb );
    m_colMajor->resize( m_colMajor->tqsizeHint() );

    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"