summaryrefslogtreecommitdiffstats
path: root/kolf/newgame.h
diff options
context:
space:
mode:
Diffstat (limited to 'kolf/newgame.h')
-rw-r--r--kolf/newgame.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/kolf/newgame.h b/kolf/newgame.h
new file mode 100644
index 00000000..b9770a80
--- /dev/null
+++ b/kolf/newgame.h
@@ -0,0 +1,106 @@
+#ifndef NEWGAME_H
+#define NEWGAME_H
+
+#include <kdialogbase.h>
+#include <klineedit.h>
+#include <kcolorbutton.h>
+
+#include <qcheckbox.h>
+#include <qcolor.h>
+#include <qptrlist.h>
+#include <qstring.h>
+#include <kpushbutton.h>
+#include <qstringlist.h>
+#include <qvaluelist.h>
+#include <qwidget.h>
+
+#include "game.h"
+
+class KLineEdit;
+class QFrame;
+class QVBoxLayout;
+class QVBox;
+class QPainter;
+class KListBox;
+class QEvent;
+
+class PlayerEditor : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PlayerEditor(QString name = QString::null, QColor = red, QWidget *parent = 0, const char *_name = 0);
+ QColor color() { return colorButton->color(); }
+ QString name() { return editor->text(); }
+ void setColor(QColor col) { colorButton->setColor(col); }
+ void setName(const QString &newname) { editor->setText(newname); }
+
+signals:
+ void deleteEditor(PlayerEditor *editor);
+
+private slots:
+ void removeMe();
+
+private:
+ KLineEdit *editor;
+ KColorButton *colorButton;
+ QPixmap grass;
+};
+
+class NewGameDialog : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+ NewGameDialog(bool enableCourses, QWidget *parent, const char *_name = 0);
+ QPtrList<PlayerEditor> *players() { return &editors; }
+ bool competition() { return mode->isChecked(); }
+ QString course() { return currentCourse; }
+
+public slots:
+ void deleteEditor(PlayerEditor *);
+
+protected slots:
+ void slotOk();
+
+private slots:
+ void addPlayer();
+ void courseSelected(int);
+ void addCourse();
+ void removeCourse();
+ void selectionChanged();
+ void showHighscores();
+
+private:
+ QVBox *layout;
+ KPushButton *addButton;
+ QFrame *playerPage;
+ QScrollView *scroller;
+ QFrame *coursePage;
+ QFrame *optionsPage;
+ QValueList<QColor> startColors;
+ QPtrList<PlayerEditor> editors;
+ KPushButton *remove;
+ QCheckBox *mode;
+
+ QPixmap grass;
+
+ QStringList names;
+ QStringList externCourses;
+ QMap<QString, CourseInfo> info;
+
+ QStringList extraCourses;
+
+ KListBox *courseList;
+ QLabel *name;
+ QLabel *author;
+ QLabel *par;
+ QLabel *holes;
+
+ QString currentCourse;
+
+ void enableButtons();
+ bool enableCourses;
+};
+
+#endif