ScoreTableModel *model;
};
-
class SelectDialog: public QDialog
{
Q_OBJECT;
void results(QString &club, QString &course, QString &date);
void init(QList<Club *> &list);
-private slots:
+ private slots:
void next(void);
private:
QLabel *labelCourse;
QPushButton *pushButtonNext;
- // Layouts
+ // Layouts
QVBoxLayout *leftLayout;
QVBoxLayout *rightLayout;
QList<Club *> clubList;
};
+// Base class for multiple score edit dialog
class ScoreDialog: public QDialog
{
- Q_OBJECT
+ Q_OBJECT;
public:
- ScoreDialog(QWidget *parent = 0);
- ~ScoreDialog();
- void init(Course *course, Score *score = 0);
- void results(QVector<QString> &scores);
- bool validate(void);
-
-private slots:
- void up(void);
- void down(void);
- void next(void);
- void finish(void);
+ ScoreDialog(QWidget *parent = 0) : QDialog(parent) {};
+
+ virtual void init(Course *course, Score *score = 0) = 0;
+ virtual void results(QVector<QString> &scores) = 0;
private:
+};
+
+// Class for editing 18 holes in one dialog
+class ScoreDialog18: public ScoreDialog
+{
+ Q_OBJECT;
+
+public:
+ ScoreDialog18(QWidget *parent = 0);
+ ~ScoreDialog18();
+ void init(Course *course, Score *score = 0);
+ void results(QVector<QString> &scores);
+ bool validate(void);
- void createTable(QWidget *parent = 0);
- void createButton(QWidget *parent = 0);
- void createLayout(QWidget *parent = 0);
- void setDefaultScore(QTableWidget *table);
- void moveToNextCell(QTableWidgetItem *item);
- void showNote(QString msg);
+ private slots:
+ void up(void);
+ void down(void);
+ void next(void);
+ void finish(void);
+
+private:
+
+ void createTable(QWidget *parent = 0);
+ void createButton(QWidget *parent = 0);
+ void createLayout(QWidget *parent = 0);
+ void setDefaultScore(QTableWidget *table);
+ void moveToNextCell(QTableWidgetItem *item);
+ void showNote(QString msg);
- enum { ROWS = 8, COLS = 9 };
- enum { ROW_HOLE = 0, ROW_PAR = 1, ROW_HCP = 2, ROW_SCORE = 3,
- ROW_HOLE_2 = 4, ROW_PAR_2 = 5, ROW_HCP_2 = 6, ROW_SCORE_2 = 7};
+ enum { ROWS = 8, COLS = 9 };
+ enum { ROW_HOLE = 0, ROW_PAR = 1, ROW_HCP = 2, ROW_SCORE = 3,
+ ROW_HOLE_2 = 4, ROW_PAR_2 = 5, ROW_HCP_2 = 6, ROW_SCORE_2 = 7};
+
+ void reject(void);
+
+ // Widgets
+ QTableWidget *table;
- void reject(void);
+ QPushButton *pushButtonFinish;
+ QPushButton *pushButtonUp;
+ QPushButton *pushButtonDown;
+ QPushButton *pushButtonNext;
+
+ // Layouts
+ QVBoxLayout *leftLayout;
+ QVBoxLayout *rightLayout;
+};
- // Widgets
- QTableWidget *table;
+// Class for editing single hole in one dialog
+class ScoreDialogSingle: public QDialog
+{
+ Q_OBJECT;
- QPushButton *pushButtonFinish;
- QPushButton *pushButtonUp;
- QPushButton *pushButtonDown;
- QPushButton *pushButtonNext;
+public:
+ ScoreDialogSingle(QWidget *parent = 0);
+ ~ScoreDialogSingle();
- // Layouts
- QVBoxLayout *leftLayout;
- QVBoxLayout *rightLayout;
+ void init(Course *course, Score *score = 0);
+ void results(QVector<QString> &scores);
+
+private:
+
+ void createTable(QWidget *parent = 0);
+ void createButton(QWidget *parent = 0);
+ void createLayout(QWidget *parent = 0);
+
+ // Widgets
+ QTableWidget *table;
+
+ QPushButton *pushButtonFinish;
+ QPushButton *pushButtonUp;
+ QPushButton *pushButtonDown;
+ QPushButton *pushButtonNext;
+
+ // Layouts
+ QVBoxLayout *leftLayout;
+ QVBoxLayout *rightLayout;
};
#endif