3a1311236b31b408294d15c27fa06d7976b7c59f
[scorecard] / src / course-dialog.h
1 #ifndef COURSE_DIALOG_H
2 #define COURSE_DIALOG_H
3
4 #include <QtGui>
5 #include <QDialog>
6 #include <QLabel>
7 #include <QGroupBox>
8 #include <QDialogButtonBox>
9 #include <QLineEdit>
10 #include <QDebug>
11
12 #include "data.h"
13
14 QT_BEGIN_NAMESPACE
15 class QTableWidget;
16 class QTableWidgetItem;
17 QT_END_NAMESPACE
18
19 class CourseSelectDialog: public QDialog
20 {
21   Q_OBJECT
22
23  public:
24   CourseSelectDialog(QWidget *parent = 0);
25
26   void results(QString &club, QString &course);
27
28 private slots:
29   void next(void);
30
31  private:
32
33   void createLayout(QWidget *parent);
34   bool validate(void);
35
36   QLineEdit    *lineEditClub;
37   QLineEdit    *lineEditCourse;
38   QLabel       *labelClub;
39   QLabel       *labelCourse;
40   QPushButton  *pushButtonNext;
41
42   // Layouts
43   QVBoxLayout *leftLayout;
44   QVBoxLayout *rightLayout;
45 };
46
47 class CourseDialog: public QDialog
48 {
49   Q_OBJECT
50
51  public:
52   CourseDialog(QWidget *w);
53   void results(QVector<QString> &, QVector<QString> &, QVector<QString> &);
54   bool validate();
55   void init(Course *course = 0);
56
57  private slots:
58   void up(void);
59   void down(void);
60   void next(void);
61   void finish(void);
62
63  private:
64   enum { ROW_HOLE = 0, ROW_PAR = 1, ROW_HCP = 2, ROW_LEN = 3, 
65          ROW_HOLE_2 = 4, ROW_PAR_2 = 5, ROW_HCP_2 = 6, ROW_LEN_2 = 7};
66   enum { ROWS = 8, COLS = 9, separator_row = 3 };
67
68   void createTable(QWidget *parent = 0);
69   void createButton(QWidget *parent = 0);
70   void createLayout(QWidget *parent = 0);
71   void moveToNextCell(QTableWidgetItem *item);
72
73   // Widgets
74   QTableWidget *table;
75
76   QPushButton *pushButtonUp;
77   QPushButton *pushButtonDown;
78   QPushButton *pushButtonNext;
79   QPushButton *pushButtonFinish;
80
81   // Layouts
82   QVBoxLayout *rightLayout;
83   QVBoxLayout *leftLayout;
84 };
85
86 #endif