Updated the web pages
[chessclock] / chessclockwindow.h
1 /**************************************************************************
2
3     Chess Clock
4
5     Copyright (c) Arto Hyvättinen 2010
6
7     This file is part of Chess Clock software.
8
9     Chess Clock is free software: you can redistribute it and/or modify
10     it under the terms of the GNU General Public License as published by
11     the Free Software Foundation, either version 3 of the License, or
12     (at your option) any later version.
13
14     Chess Clock is distributed in the hope that it will be useful,
15     but WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17     GNU General Public License for more details.
18
19
20 **************************************************************************/
21
22 #ifndef CHESSCLOCKWINDOW_H
23 #define CHESSCLOCKWINDOW_H
24
25 #include <QtGui/QMainWindow>
26
27 class ClocksWidget;
28 class StartWidget;
29 class TimeControl;
30 class QStackedWidget;
31 class TurnInformation;
32
33 class ChessClockWindow : public QMainWindow
34 {
35     Q_OBJECT
36
37 public:
38     ChessClockWindow(QWidget *parent = 0);
39     ~ChessClockWindow();
40
41 public slots:
42     void startGame( TimeControl* timecontrol);
43     void pause();
44     void newGame();
45     /*! Visit ChessClock web page */
46     void visitWeb();
47     void about();
48     void aboutQt();
49     /*! Delete turn information to avoid memory leaks
50
51       @todo Save turn log and function to show it.
52     @since 1.1.2 */
53     void dontEatMemory(TurnInformation* turnInformation);
54
55
56 protected:
57     void initTimeControls();
58     /*! Pauses the game if the application main window is not active e.g. the app is minimized*/
59     bool eventFilter(QObject *obj, QEvent *event);
60
61 protected:
62     ClocksWidget*   clocks_;
63     StartWidget* start_;
64     QStackedWidget* stack_;
65 };
66
67 #endif // CHESSCLOCKWINDOW_H