You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdegames/kolf/kolf.h

149 lines
3.0 KiB

#ifndef KOLF_H
#define KOLF_H
#include <tdemainwindow.h>
#include <kurl.h>
#include <tqmap.h>
#include <tqptrlist.h>
#include <tqstring.h>
#include <tqwidget.h>
#include <tqvaluelist.h>
#include <kdemacros.h>
#include "game.h"
class KolfGame;
class TDEToggleAction;
class TDEListAction;
class TDEAction;
class TQGridLayout;
class ScoreBoard;
class TQCloseEvent;
class TQEvent;
class Player;
class TQWidget;
class Editor;
class KDE_EXPORT Kolf : public TDEMainWindow
{
Q_OBJECT
public:
Kolf();
~Kolf();
void openURL(KURL url);
public slots:
void closeGame();
void updateModified(bool);
protected:
virtual bool queryClose();
protected slots:
void startNewGame();
void loadGame();
void tutorial();
void newGame();
void save();
void saveAs();
void saveGame();
void saveGameAs();
void print();
void newPlayersTurn(Player *);
void gameOver();
void editingStarted();
void editingEnded();
void checkEditing();
void setHoleFocus() { game->setFocus(); }
void inPlayStart();
void inPlayEnd();
void maxStrokesReached(const TQString &);
void updateHoleMenu(int);
void titleChanged(const TQString &);
void newStatusText(const TQString &);
void showInfoChanged(bool);
void useMouseChanged(bool);
void useAdvancedPuttingChanged(bool);
void showGuideLineChanged(bool);
void soundChanged(bool);
void initPlugins();
void showPlugins();
void showHighScores();
void enableAllMessages();
void createSpacer();
void emptySlot() {};
void setCurrentHole(int);
private:
TQWidget *dummy;
KolfGame *game;
Editor *editor;
KolfGame *spacer;
void initGUI();
TQString filename;
PlayerList players;
PlayerList spacerPlayers;
TQGridLayout *layout;
ScoreBoard *scoreboard;
TDEToggleAction *editingAction;
TDEAction *newHoleAction;
TDEAction *resetHoleAction;
TDEAction *undoShotAction;
//TDEAction *replayShotAction;
TDEAction *clearHoleAction;
TDEAction *tutorialAction;
TDEAction *newAction;
TDEAction *endAction;
TDEAction *printAction;
TDEAction *saveAction;
TDEAction *saveAsAction;
TDEAction *saveGameAction;
TDEAction *saveGameAsAction;
TDEAction *loadGameAction;
TDEAction *aboutAction;
TDEListAction *holeAction;
TDEAction *highScoreAction;
TDEAction *nextAction;
TDEAction *prevAction;
TDEAction *firstAction;
TDEAction *lastAction;
TDEAction *randAction;
TDEToggleAction *showInfoAction;
TDEToggleAction *useMouseAction;
TDEToggleAction *useAdvancedPuttingAction;
TDEToggleAction *showGuideLineAction;
TDEToggleAction *soundAction;
void setHoleMovementEnabled(bool);
void setHoleOtherEnabled(bool);
inline void setEditingEnabled(bool);
bool competition;
// contains everything
ObjectList *obj;
// contains subset of obj
ObjectList plugins;
TQString loadedGame;
bool isTutorial;
bool courseModified;
TQString title;
TQString tempStatusBarText;
};
struct HighScore
{
HighScore() {}
HighScore(const TQString &name, int score) { this->name = name; this->score = score; }
TQString name;
int score;
};
typedef TQValueList<HighScore> HighScoreList;
#endif