Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2016-07-23 19:18:30 +0200
committerStijn Buys <ingar@osirion.org>2016-07-23 19:18:30 +0200
commit56d7e7deadef65feed1d8531580593e85ed69ff3 (patch)
tree43d95f7d16a5edc61fb9a7c0feb1cc1e47d85523 /src/client/playersettingsmenu.h
parentb6e20e04b519e50909331f537df2ea6114a137ee (diff)
Added player settings menu.
Diffstat (limited to 'src/client/playersettingsmenu.h')
-rw-r--r--src/client/playersettingsmenu.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/client/playersettingsmenu.h b/src/client/playersettingsmenu.h
new file mode 100644
index 0000000..25267c2
--- /dev/null
+++ b/src/client/playersettingsmenu.h
@@ -0,0 +1,87 @@
+/*
+ client/playersettingsmenu.h
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_CLIENT_PLAYERSETTINGSMENU_H__
+#define __INCLUDED_CLIENT_PLAYERSETTINGSMENU_H__
+
+#include "ui/window.h"
+
+namespace ui
+{
+ class Button;
+ class ColorPicker;
+ class IconButton;
+ class InputBox;
+ class Label;
+
+}
+
+namespace client
+{
+
+/**
+ * @brief the player settings menu
+ * */
+class PlayerSettingsMenu : public ui::Window
+{
+public:
+ /**
+ * @brief default constructor
+ * */
+ PlayerSettingsMenu(ui::Widget *parent = 0, const char *label = 0);
+
+ /**
+ * @brief default destructor
+ * */
+ virtual ~PlayerSettingsMenu();
+
+ /**
+ * @brief show window
+ * */
+ virtual void show();
+
+protected:
+ /**
+ * @brief emit event handler
+ * */
+ virtual bool on_emit(ui::Widget *sender, const ui::Widget::Event event, void *data);
+
+ /**
+ * @brief resize event handler
+ * */
+ virtual void resize();
+
+private:
+ /**
+ * @brief refresh widget content
+ * */
+ void refresh();
+
+ /**
+ * @brief apply changes
+ * */
+ void apply();
+
+ ui::Label *_titlelabel;
+ ui::IconButton *_closebutton;
+
+ ui::Widget *_frame;
+
+ ui::Label *_playernamelabel;
+ ui::InputBox *_playernameinput;
+
+ ui::Label *_primarycolorlabel;
+ ui::ColorPicker *_primarycolorpicker;
+ ui::Label *_secondarycolorlabel;
+ ui::ColorPicker *_secondarycolorpicker;
+
+ ui::Button *_applybutton;
+ ui::Button *_resetbutton;
+};
+
+}
+
+#endif // __INCLUDED_CLIENT_PLAYERSETTINGSMENU_H__