diff options
author | Stijn Buys <ingar@osirion.org> | 2011-08-28 09:49:23 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2011-08-28 09:49:23 +0000 |
commit | 14b2372f1a74198ec4f485f9665ef0acc27ae5e3 (patch) | |
tree | 0d03c4c08f5b1134b9be05875a2a27148d64dedc /src/client/mainmenu.h | |
parent | 8b9b47e71cfd3ca1a9c3b8f9574ab460c9a8f437 (diff) |
New base classes for cient menus.
Diffstat (limited to 'src/client/mainmenu.h')
-rw-r--r-- | src/client/mainmenu.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/client/mainmenu.h b/src/client/mainmenu.h new file mode 100644 index 0000000..cadd019 --- /dev/null +++ b/src/client/mainmenu.h @@ -0,0 +1,56 @@ +/* + client/mainmenu.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_CLIENT_MAINMENU_H__ +#define __INCLUDED_CLIENT_MAINMENU_H__ + +#include "ui/window.h" +#include "ui/bitmap.h" + +namespace client +{ + +/** + * @brief the client's main menu window + * The MainMenu contains a number of child menu windows, + * of which only one at a time will be visible + * */ +class MainMenu : public ui::Window +{ +public: + MainMenu(ui::Widget *parent = 0); + virtual ~MainMenu(); + +protected: + virtual void show(); + + virtual void hide(); + + virtual void draw_background(); + +private: + /// the menu to show if the application is not connected + ui::Window *mainmenu_mainmenu; + /// the menu to show if the application is connected but the player has not joined yet + ui::Window *mainmenu_joinmenu; + /// the menu the show if the application is connected and the player has joined + ui::Window *mainmenu_gamemenu; + /// the options menu + ui::Window *mainmenu_optionsmenu; + /// the load game menu + ui::Window *mainmenu_loadmenu; + /// the save game menu + ui::Window *mainmenu_savemenu; + /// the connect to server menu + ui::Window *mainmenu_connectmenu; + + std::string mainmenu_background; +}; + +} + +#endif // __INCLUDED_CLIENT_MAINMENU_H__ + |