Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2011-08-28 09:49:23 +0000
committerStijn Buys <ingar@osirion.org>2011-08-28 09:49:23 +0000
commit14b2372f1a74198ec4f485f9665ef0acc27ae5e3 (patch)
tree0d03c4c08f5b1134b9be05875a2a27148d64dedc /src/client/mainmenu.h
parent8b9b47e71cfd3ca1a9c3b8f9574ab460c9a8f437 (diff)
New base classes for cient menus.
Diffstat (limited to 'src/client/mainmenu.h')
-rw-r--r--src/client/mainmenu.h56
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__
+