#ifndef HighScore_included #define HighScore_included #include class QLineEdit; class QComboBox; class QLabel; const int numScores = 10; typedef struct HiScoreEntry { TQString name; long board; long score; long elapsed; }; typedef struct TableInstance { TQString name; HiScoreEntry entries[numScores]; TableInstance *next; }; class HighScore : public QDialog { Q_OBJECT public: HighScore ( TQWidget* parent = NULL, const char* name = NULL ); virtual ~HighScore(); int exec(TQString &layout); void checkHighScore(int score, int elapsed, long game, TQString &board); public slots: void selectionChanged(int); protected slots: void nameChanged(const TQString &s); void reset(); private: void addRow(int num); // generate one table row void loadTables(); // initialise from saved void saveTables(); // save to disc. void getBoardName(TQString in, TQString &out); void selectTable(const TQString &name); void setComboTo(const TQString &to); void copyTableToScreen(const TQString &name); QString &highScoreFile(); int selectedLine; TQLineEdit *lineEdit; TQLabel* numbersWidgets[numScores]; TQLabel* boardWidgets[numScores]; TQLabel* namesWidgets[numScores]; TQLabel* scoresWidgets[numScores]; TQLabel* elapsedWidgets[numScores]; TQComboBox* combo; TQString filename; TableInstance *tables; TableInstance *currTable; }; #endif // HighScore_included