summaryrefslogtreecommitdiffstats
path: root/tdepacman/tdepacman.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdepacman/tdepacman.h')
-rw-r--r--tdepacman/tdepacman.h185
1 files changed, 185 insertions, 0 deletions
diff --git a/tdepacman/tdepacman.h b/tdepacman/tdepacman.h
new file mode 100644
index 0000000..65740ed
--- /dev/null
+++ b/tdepacman/tdepacman.h
@@ -0,0 +1,185 @@
+/***************************************************************************
+ tdepacman.h - description
+ -------------------
+ begin : Sam Jan 19 13:37:57 CET 2002
+ copyright : (C) 1998-2003 by Jörg Thönnissen
+ email : joe@dsite.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef TDEPACMAN_H
+#define TDEPACMAN_H
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+// include files for TQt
+#include <tqptrlist.h>
+#include <tqfileinf.h>
+#include <tqregexp.h>
+
+//include files for TDE
+#include <kapp.h>
+#include <tdemainwindow.h>
+#include <tdepopupmenu.h>
+#include <tdeaction.h>
+#include <tdelocale.h>
+#include <tdemenubar.h>
+
+// application specific includes
+#include "tdepacmanview.h"
+#include "referee.h"
+#include "status.h"
+#include "score.h"
+#include "keys.h"
+
+// forward declaration of the TDEpacman classes
+class TDEpacmanView;
+
+/**
+ * The base class for TDEpacman application.
+ */
+class TDEpacmanApp : public TDEMainWindow
+{
+ Q_OBJECT
+
+ friend class TDEpacmanView;
+
+ public:
+ /** constructor of TDEpacmanApp, calls all init functions to create the application.
+ */
+ TDEpacmanApp(TQWidget *parent = 0, const char *name = 0);
+ virtual ~TDEpacmanApp();
+
+ protected:
+ /** save general Options like all bar positions and status as well as the application specific
+ * Options to the configuration file
+ */
+ void saveOptions();
+ /** read general Options again and initialize all variables
+ */
+ void readOptions();
+ /** read graphic schemes and build menu items for selection
+ */
+ void readSchemes();
+ /** initializes the TDEActions of the application */
+ void initActions();
+ /** sets up the statusbar for the main window by initialzing a statuslabel.
+ */
+ void initStatusBar();
+ /** creates the centerwidget of the KTMainWindow instance and sets it as the view
+ */
+ void initView();
+ /** queryExit is called by KTMainWindow when the last window of the application is going to be closed
+ * during the closeEvent().
+ * Against the default implementation that just returns true, this calls saveOptions() to save the
+ * settings of the window's properties.
+ * @see KTMainWindow#queryExit
+ * @see KTMainWindow#closeEvent
+ */
+ virtual bool queryExit();
+
+
+ public slots:
+ /** play new game
+ */
+ void slotGameNew();
+ /** pause (continue) game
+ */
+ void slotGamePause();
+ /** pause (continue) game triggered by focus events
+ */
+ void slotFocusedGamePause();
+ /** toggle the highscores
+ */
+ void slotGameHighscores();
+ /** toggle the highscores, forced by the referee
+ */
+ void slotForcedGameHighscores();
+ /** save the options, then quits the application.
+ */
+ void slotGameQuit();
+ /** toggles the menubar
+ */
+ void slotShowMenuBar();
+ /** toggles the toolbar
+ */
+ void slotShowToolBar();
+ /** toggles the statusbar
+ */
+ void slotShowStatusBar();
+ /** toggles the mousecursor
+ */
+ void slotShowMouseCursor();
+ /** graphic scheme activated
+ * @param id the id of the activated/selected menuitem
+ */
+ void slotSchemeActivated(int id);
+ /** toggles the focus out pause
+ */
+ void slotFocusOutPause();
+ /** toggles the focus in continue
+ */
+ void slotFocusInContinue();
+ /** changes the statusbar contents for the standard label permanently, used to indicate current actions.
+ * @param text the text that is displayed in the statusbar
+ */
+ void slotStatusMsg(const TQString &text);
+ /** configure keysbindings dialog
+ */
+ void slotKeyBindings();
+ /** game (including highscores displayed) has been finished
+ */
+ void slotGameFinished();
+
+ private:
+ /** the configuration object of the application */
+ TDEConfig *config;
+ /** view is the main widget which represents your working area. The View
+ * class should handle all events of the view widget. It is kept empty so
+ * you can create your view according to your application's needs by
+ * changing the view class.
+ */
+ TDEpacmanView *view;
+
+ // TDEAction pointers to enable/disable actions
+ TDEAction* gameNew;
+ TDEToggleAction* gamePause;
+ TDEAction* gameHighscores;
+ TDEAction* gameQuit;
+ TDEToggleAction* showMenuBar;
+ TDEToggleAction* showToolBar;
+ TDEToggleAction* showStatusBar;
+ TDEToggleAction* showMouseCursor;
+ TDEToggleAction* focusOutPause;
+ TDEToggleAction* focusInContinue;
+ TDEActionMenu* selectGraphicScheme;
+
+ // active scheme/mode
+ int scheme;
+ int mode;
+
+ TDEPopupMenu *modesPopup; // TDEAction main scheme selection menu
+ TQPtrList<TDEPopupMenu> *schemesPopup; // submenus for selecting scheme
+
+ // ID's of the menuitem(s) for finding/selecting scheme by id
+ TQMemArray<int> modeID;
+ TQMemArray<int> schemeID;
+
+ TQMemArray<int> schemeMode; // mode(group) of the schemes, -1 if no group
+
+ bool highscoresChecked; // highscores display active
+ bool focusedPause; // Pause caused by focusEvents
+};
+
+#endif // TDEPACMAN_H