Remove print game functionality
[sloppygui.git] / projects / gui / src / mainwindow.h
blobac1cddc98694c627319a645a395e93316e692cc5
1 /*
2 This file is part of Cute Chess.
4 Cute Chess is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 Cute Chess is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef MAINWINDOW_H
19 #define MAINWINDOW_H
21 #include <QMainWindow>
23 class QMenu;
24 class QAction;
25 class QTextEdit;
26 class ChessboardView;
27 class ChessboardModel;
28 class MoveListModel;
29 class EngineConfigurationModel;
30 class ChessClock;
31 class PlainTextLog;
33 /**
34 * MainWindow
36 class MainWindow : public QMainWindow
38 Q_OBJECT
40 public:
41 MainWindow();
43 private slots:
44 void newGame();
45 void manageEngines();
46 void saveLogToFile();
48 private:
49 void createActions();
50 void createMenus();
51 void createToolBars();
52 void createDockWindows();
53 void readSettings();
55 QMenu* m_gameMenu;
56 QMenu* m_viewMenu;
57 QMenu* m_enginesMenu;
58 QMenu* m_helpMenu;
60 ChessboardView* m_chessboardView;
61 ChessboardModel* m_boardModel;
62 MoveListModel* m_moveListModel;
63 ChessClock* m_chessClock[2];
65 EngineConfigurationModel* m_engineConfigurations;
67 QAction* m_quitGameAct;
68 QAction* m_newGameAct;
69 QAction* m_manageEnginesAct;
71 PlainTextLog* m_engineDebugLog;
75 #endif // MAINWINDOW_H