WrappedChessClocksWidget almost working
[chessclock] / classes / wrappedclockswidget.h
1 /**************************************************************************
2
3    Chess Clock
4
5    This file is part of Chess Clock software.
6
7    (This file) Copyright (c) Heli Hyvättinen 2011
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 WRAPPEDCLOCKSWIDGET_H
23 #define WRAPPEDCLOCKSWIDGET_H
24
25 #include <QGraphicsProxyWidget>
26 #include "clockswidget.h"
27 #include "chessclockwidget.h"
28
29 /*! A proxy for ClocksWidget for using it from QML
30
31     @author Heli Hyvättinen
32     @date 2011-08-11
33
34
35     SOLVE:
36     Needed to create new ClocksWidget to
37     every new game.
38
39   */
40
41 class WrappedClocksWidget : public QGraphicsProxyWidget
42 {
43     Q_OBJECT
44 public:
45     explicit WrappedClocksWidget(QObject *parent = 0);
46     virtual ~WrappedClocksWidget();
47
48     Q_INVOKABLE void startGame(QString timeControl, int whiteInitialTime, int whiteAdditionalTime, int whiteTurnsPerAddition, int blackInitialTime, int blackAdditionalTime, int blackTurnsPerAddition);
49
50     bool isPlayStarted();
51
52 signals:
53
54 public slots:
55
56 private:
57
58     void deleteOldWidgets();
59     ClocksWidget * pClocksWidget_;
60     ChessClock * pWhiteClock_;
61     ChessClock * pBlackClock_;
62
63 };
64
65 #endif // WRAPPEDCLOCKSWIDGET_H