fd49cfe141439d9d2d1d632264f70294f7bba2aa
[scorecard] / src / main-window.h
1 #include <QMainWindow>
2 #include <QTableView>
3 #include <QPushButton>
4 #include <QToolBar>
5 #include <QTextEdit>
6 #include <QVBoxLayout>
7 #include <QItemSelectionModel>
8 #include <QList>
9 #include <QLabel>
10 #include <QXmlDefaultHandler>
11
12 #include "data.h"
13 #include "table-model.h"
14
15 class MainWindow : public QMainWindow
16 {
17   Q_OBJECT
18
19 public:
20   MainWindow(QMainWindow *parent = 0);
21   void createLayout(QWidget *parent = 0);
22   void createStatusBar();
23   void createTableView(QList<Score *> &, QList <Club *> &);
24   void updateStatusBar();
25   void loadScoreFile(QString &fileName, QList<Score *> &scoreList);
26   void loadClubFile(QString &fileName, QList<Club *> &clubList);
27   void saveScoreFile(QString &fileName, QList<Score *> &scoreList);
28   void saveClubFile(QString &fileName, QList<Club *> &clubList);
29
30 signals:
31   void dataChanged();
32
33 private slots:
34   void firstButtonClicked();
35   void lastButtonClicked();
36   void nextButtonClicked();
37   void prevButtonClicked();
38
39   void newScore();
40   void editScore();
41   void newCourse();
42   void editCourse();
43   void viewStatistics();
44
45 private:
46
47   void loadSettings(void);
48   Club *findClub(QString &name);
49   void getStat(QTextEdit *);
50
51   QList<Score *> scoreList;
52   QList<Club *> clubList;
53
54   ScoreTableModel *scoreTableModel;
55
56   QAbstractItemModel *tableModel;
57   QItemSelectionModel *selectionModel;
58
59   QTableView *table;
60
61   // Layouts
62   QVBoxLayout *tableLayout;
63   QVBoxLayout *buttonLayout;
64   QWidget *centralWidget;
65
66   // Menus
67   QMenu *menu;
68
69   // Buttons
70   QPushButton *nextButton;
71   QPushButton *prevButton;
72   QPushButton *firstButton;
73   QPushButton *lastButton;
74
75   // Toolbar
76   QToolBar *toolbar;
77
78   // Actions
79   QAction *newScoreAct;
80   QAction *editScoreAct;
81   QAction *newCourseAct;
82   QAction *editCourseAct;
83   QAction *statAct;
84   QAction *firstAct;
85   QAction *lastAct;
86   QAction *nextAct;
87   QAction *prevAct;
88
89   QAction *viewScoreAct;
90   QAction *viewCourseAct;
91
92   void createMenus();
93   void createActions();
94
95
96 };