summaryrefslogtreecommitdiff
path: root/noncore/games/fifteen/fifteen.h
Unidiff
Diffstat (limited to 'noncore/games/fifteen/fifteen.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/fifteen/fifteen.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/noncore/games/fifteen/fifteen.h b/noncore/games/fifteen/fifteen.h
new file mode 100644
index 0000000..703a8a7
--- a/dev/null
+++ b/noncore/games/fifteen/fifteen.h
@@ -0,0 +1,83 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#ifndef __fifteenapplet_h__
22#define __fifteenapplet_h__
23
24#include <qmainwindow.h>
25#include <qtableview.h>
26#include <qarray.h>
27
28class QPopupMenu;
29
30class PiecesTable : public QTableView
31{
32 Q_OBJECT
33
34 public:
35 PiecesTable(QWidget* parent = 0, const char* name = 0);
36 ~PiecesTable();
37
38 protected slots:
39 void slotRandomize();
40 void slotReset();
41
42 protected:
43 void resizeEvent(QResizeEvent*);
44 void mousePressEvent(QMouseEvent*);
45
46 void paintCell(QPainter *, int row, int col);
47
48 void initMap();
49 void initColors();
50 void randomizeMap();
51 void checkwin();
52 void readConfig();
53 void writeConfig();
54
55 private:
56 QArray<int> _map;
57 QArray<QColor> _colors;
58 QPopupMenu *_menu;
59 bool _randomized;
60
61 enum MenuOp { mRandomize = 1, mReset = 2 };
62};
63
64class FifteenWidget : public QWidget
65{
66 Q_OBJECT
67
68public:
69 FifteenWidget(QWidget *parent = 0, const char *name = 0);
70
71private:
72 PiecesTable *_table;
73};
74
75class FifteenMainWindow : public QMainWindow
76{
77 Q_OBJECT
78
79public:
80 FifteenMainWindow(QWidget *parent=0, const char* name=0);
81};
82
83#endif