4 #include <QInputContext>
5 #include <QtGui/QTableWidget>
7 #include "course-dialog.h"
8 #include "cell-delegate.h"
11 CourseDialog::CourseDialog(QWidget *parent) : QDialog(parent)
16 font.setPointSize(20);
24 setWindowTitle(tr("New Course"));
27 void CourseDialog::createLayout(QWidget *parent)
29 leftLayout = new QVBoxLayout;
30 leftLayout->addWidget(table);
32 rightLayout = new QVBoxLayout;
33 rightLayout->addStretch();
34 rightLayout->addWidget(pushButtonOk);
36 QHBoxLayout *mainLayout = new QHBoxLayout(parent);
37 mainLayout->addLayout(leftLayout);
38 mainLayout->addLayout(rightLayout);
39 setLayout(mainLayout);
42 void CourseDialog::createLabel(QWidget *parent)
44 clubLabel = new QLabel(tr("Club"));
45 courseLabel = new QLabel(tr("Course"));
47 clubEdit = new QLineEdit;
48 courseEdit = new QLineEdit;
50 pushButtonOk = new QPushButton(tr("OK"));
53 void CourseDialog::createTable(QWidget *parent)
55 table = new QTableWidget(rows, cols);
58 headers << "Hole" << "Par" << "HCP" << "Len" << "Hole" << "Par" << "HCP" << "Len";
59 table->setVerticalHeaderLabels(headers);
60 table->horizontalHeader()->hide();
62 //CellDelegate *cellDelegate = new CellDelegate(this);
63 //table->setItemDelegate(cellDelegate);
65 table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
66 table->verticalHeader()->setResizeMode(QHeaderView::Stretch);
68 for (int i=0; i<18; i++) {
69 QTableWidgetItem *par = new QTableWidgetItem("");
70 QTableWidgetItem *hcp = new QTableWidgetItem("");
71 QTableWidgetItem *len = new QTableWidgetItem("");
73 QTableWidgetItem *holeNum = new QTableWidgetItem(QString::number(i+1));
74 QColor bgColor(Qt::gray);
75 holeNum->setBackgroundColor(bgColor);
77 holeNum->setTextAlignment(Qt::AlignCenter);
78 par->setTextAlignment(Qt::AlignCenter);
79 hcp->setTextAlignment(Qt::AlignCenter);
80 len->setTextAlignment(Qt::AlignCenter);
83 table->setItem(0, i, holeNum);
84 table->setItem(1, i, par);
85 table->setItem(2, i, hcp);
86 table->setItem(3, i, len);
89 table->setItem(4, i-9, holeNum);
90 table->setItem(5, i-9, par);
91 table->setItem(6, i-9, hcp);
92 table->setItem(7, i-9, len);
96 //connect(table, SIGNAL(itemChanged(QTableWidgetItem *)), this, SLOT(itemChanged(QTableWidgetItem *)));
100 void CourseDialog::itemChanged(QTableWidgetItem *item)
102 qDebug() << "itemChanged";
104 int row = table->currentRow();
105 int col = table->currentColumn();
111 if (row == separator_row)
114 table->setCurrentCell(row, col);
117 void CourseDialog::nextCell(QObject *obj)
120 int row = table->currentRow();
121 int col = table->currentColumn();
122 QTableWidgetItem *item = table->item(row, col);
124 qDebug() << "next Cell " << obj;
125 qDebug() << "item " << item << "row=" << row << " col=" << col;
127 table->setItem(row, col, item);
130 table->currentIndex();
131 table->setCurrentCell(2,2);