RetroShare/plugins/qsolocards_plugin/mainwindow.h
defnax 082d5732b0 added game plugin solocards
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2346 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-02-17 01:14:52 +00:00

118 lines
3.1 KiB
C++

/*
QSoloCards is a collection of Solitaire card games written using Qt
Copyright (C) 2009 Steve Moore
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QMenu>
#include <QtCore/QSettings>
#include <QtGui/QStatusBar>
#include <QtGui/QLabel>
#include <QtCore/QPointer>
#include "GameBoard.h"
#include "Help.h"
#include "About.h"
#include "GameMgr.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
static const unsigned int MaxWidth;
static const unsigned int MaxHeight;
static const QString SizeStr;
static const QString PtStr;
static const QString HelpStr;
static const QString GameIdStr;
static const QString AnimationStr;
MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void slotNewGame();
void slotRestartGame();
void slotSelectGame(QAction *);
void slotAnimation(bool);
void slotCheat(bool);
void slotUndo();
void slotRedo();
void slotHint();
void slotUndoAvail(bool avail);
void slotRedoAvail(bool avail);
void slotScoreChanged(int score,const QString &);
void slotHelp();
void slotAbout();
void slotHelpClosed(int);
void slotShowHelp(const QString & helpFile);
void slotAnimationStarted();
void slotAnimationComplete();
void slotNewGameTimer();
void slotDemoStarted();
void slotDemoStopped();
void slotDemoActionItem(bool);
protected:
void showEvent(QShowEvent * pShowEvent);
private:
void addMenuItems();
void setupGameBoard(GameBoard * pGameBoard);
GameBoard * m_pGameBoard;
QMenuBar * m_pMenuBar;
QMenu * m_pGameSelectMenu;
QMenu * m_pGameOptionsMenu;
QMenu * m_pHelpMenu;
QSettings m_settings;
QAction * m_pNewGameAction;
QAction * m_pRestartAction;
QAction * m_pUndoAction;
QAction * m_pRedoAction;
QAction * m_pHintAction;
QAction * m_pAnimationAction;
QAction * m_pDemoAction;
QAction * m_pCheatAction;
QStatusBar * m_pStatusBar;
QLabel * m_pStatusBarLabel;
QPointer<Help> m_helpWindow; // use a QPointer so we don't have to worry about knowing if
// the help window has been deleted. The Window auto deletes
// when closes.
QPointer<About> m_aboutWindow;
GameMgr m_gameMgr;
bool m_firstShow;
};
#endif // MAINWINDOW_H