/* client/graphicssettingsmenu.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_GRAPHICSSETTINGSMENU_H__ #define __INCLUDED_CLIENT_GRAPHICSSETTINGSMENU_H__ #include "ui/window.h" namespace ui { class Button; class Checkbox; class IconButton; class Label; class Slider; } namespace client { /** * @brief the audio settings menu * */ class GraphicsSettingsMenu : public ui::Window { public: /** * @brief default constructor * */ GraphicsSettingsMenu(ui::Widget *parent = 0, const char *label = 0); /** * @brief default destructor * */ virtual ~GraphicsSettingsMenu(); /** * @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 *_optionslabel; ui::Checkbox *_optionfullscreencheckbox; ui::Checkbox *_optiongridcheckbox; ui::Checkbox *_optionskycheckbox; ui::Checkbox *_optionparticlescheckbox; ui::Checkbox *_optionindicatorscheckbox; ui::Label *_debuglabel; ui::Checkbox *_debugstatscheckbox; ui::Checkbox *_debugwireframecheckbox; ui::Checkbox *_debugkeypresscheckbox; ui::Checkbox *_debugphysicscheckbox; ui::Button *_applybutton; ui::Button *_resetbutton; }; } #endif // __INCLUDED_CLIENT_GRAPHICSSETTINGSMENU_H__