|
|
|
#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
|