author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/games/fifteen/fifteen.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
Diffstat (limited to 'noncore/games/fifteen/fifteen.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/games/fifteen/fifteen.h | 83 |
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 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef __fifteenapplet_h__ +#define __fifteenapplet_h__ + +#include <qmainwindow.h> +#include <qtableview.h> +#include <qarray.h> + +class QPopupMenu; + +class PiecesTable : public QTableView +{ + Q_OBJECT + + public: + PiecesTable(QWidget* parent = 0, const char* name = 0); + ~PiecesTable(); + + protected slots: + void slotRandomize(); + void slotReset(); + + protected: + void resizeEvent(QResizeEvent*); + void mousePressEvent(QMouseEvent*); + + void paintCell(QPainter *, int row, int col); + + void initMap(); + void initColors(); + void randomizeMap(); + void checkwin(); + void readConfig(); + void writeConfig(); + + private: + QArray<int> _map; + QArray<QColor> _colors; + QPopupMenu *_menu; + bool _randomized; + + enum MenuOp { mRandomize = 1, mReset = 2 }; +}; + +class FifteenWidget : public QWidget +{ + Q_OBJECT + +public: + FifteenWidget(QWidget *parent = 0, const char *name = 0); + +private: + PiecesTable *_table; +}; + +class FifteenMainWindow : public QMainWindow +{ + Q_OBJECT + +public: + FifteenMainWindow(QWidget *parent=0, const char* name=0); +}; + +#endif |