Added toolbar but not in use yet since widget seems to be not ready
[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 #include "tree-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 createTreeView(QList<Score *> &, QObject *parent = 0);
25   void updateStatusBar();
26   void loadScoreFile(QString &fileName, QList<Score *> &scoreList);
27   void loadClubFile(QString &fileName, QList<Club *> &clubList);
28   void saveScoreFile(QString &fileName, QList<Score *> &scoreList);
29   void saveClubFile(QString &fileName, QList<Club *> &clubList);
30
31 signals:
32   void dataChanged();
33
34 private slots:
35   void firstButtonClicked();
36   void lastButtonClicked();
37   void nextButtonClicked();
38   void prevButtonClicked();
39
40   void updateTreeView(const QModelIndex & index);
41   void newScore();
42   void editScore();
43   void newCourse();
44   void editCourse();
45
46 private:
47
48   void loadSettings(void);
49   Club *findClub(QString &name);
50
51   QList<Score *> scoreList;
52   QList<Club *> clubList;
53
54   ScoreTableModel *scoreTableModel;
55   ScoreTreeModel  *scoreTreeModel;
56
57   QAbstractItemModel *tableModel;
58   QItemSelectionModel *selectionModel;
59
60   QTableView *table;
61
62   // Layouts
63   QVBoxLayout *tableLayout;
64   QVBoxLayout *buttonLayout;
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 *firstAct;
84   QAction *lastAct;
85   QAction *nextAct;
86   QAction *prevAct;
87
88   QAction *viewScoreAct;
89   QAction *viewCourseAct;
90   QAction *viewStatisticAct;
91
92   void createMenus();
93   void createActions();
94
95
96 };