diff options
author | Stijn Buys <ingar@osirion.org> | 2008-10-05 19:03:25 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-10-05 19:03:25 +0000 |
commit | da9beb729c58ca2d91f67ab85a6728b628c27cf2 (patch) | |
tree | 96fd5df00a2431f40f515aa9fdf722377a0b6079 /src/ui/ui.h | |
parent | 381c729e777b50771626703e60b422aafc791513 (diff) |
user interface library
Diffstat (limited to 'src/ui/ui.h')
-rw-r--r-- | src/ui/ui.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/ui/ui.h b/src/ui/ui.h new file mode 100644 index 0000000..c516d47 --- /dev/null +++ b/src/ui/ui.h @@ -0,0 +1,57 @@ +/* + 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__ |