/* ui/ui.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_UI_H__ #define __INCLUDED_UI_H__ #include "ui/palette.h" #include "ui/widget.h" #include "ui/window.h" namespace ui { class UI : public Window { public: /// constructor UI(); /// destructor ~UI(); /// list widgets void list(); /// make a window the active window void show_window(char const *label); /// hide the active window void hide_window(); /// return the active window Window *active() { return ui_active_window; } protected: virtual void add_window(Window *window); virtual void remove_window(Window *window); private: Window *ui_active_window; }; /// initialize the user interface void init(); /// shutdown the user interface void shutdown(); void frame(); /// the global root window UI *root(); } #endif // __INCLUDED_UI_H__