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