diff options
author | Stijn Buys <ingar@osirion.org> | 2015-02-08 21:51:53 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2015-02-08 21:51:53 +0000 |
commit | 77d877160d5c3b8a7e9c30e81bd6ca1f4060b5f9 (patch) | |
tree | 7e3c8de8f0aeea2e03b086b5ff1a3c7b60892e25 /src/client/controlsettingsmenu.h | |
parent | 4fdf7de0f1454966754bb22d1828fc2b69c172f4 (diff) |
Added a menu to configure key controls.
Diffstat (limited to 'src/client/controlsettingsmenu.h')
-rw-r--r-- | src/client/controlsettingsmenu.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/client/controlsettingsmenu.h b/src/client/controlsettingsmenu.h new file mode 100644 index 0000000..169e14e --- /dev/null +++ b/src/client/controlsettingsmenu.h @@ -0,0 +1,76 @@ +/* + client/controlsettingsmenu.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_CONTROLSETTINGSMENU_H__ +#define __INCLUDED_CLIENT_CONTROLSETTINGSMENU_H__ + +#include "ui/window.h" + +namespace ui +{ + class Label; + class ListView; + class IconButton; +} + +namespace client +{ + + class ControlKeyWindow; + +/** + * @brief the options menu + * */ +class ControlSettingsMenu : public ui::Window +{ +public: + /** + * @brief default constructor + * */ + ControlSettingsMenu(ui::Widget *parent = 0, const char *label = 0); + + /** + * @brief default destructor + * */ + virtual ~ControlSettingsMenu(); + + /** + * @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::ListView *_controlslistview; + ControlKeyWindow *_controlkeywindow; + +}; + +} + +#endif // __INCLUDED_CLIENT_CONTROLSETTINGSMENU_H__ |