Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/Makefile.am2
-rw-r--r--src/client/mainmenu.cc11
-rw-r--r--src/client/mainmenu.h6
-rw-r--r--src/client/mainwindow.cc5
-rw-r--r--src/client/mainwindow.h7
-rw-r--r--src/client/menuwindow.cc32
-rw-r--r--src/client/menuwindow.h34
7 files changed, 26 insertions, 71 deletions
diff --git a/src/client/Makefile.am b/src/client/Makefile.am
index 71cfc7d..9915d0e 100644
--- a/src/client/Makefile.am
+++ b/src/client/Makefile.am
@@ -28,7 +28,6 @@ noinst_HEADERS = \
mainwindow.h \
mapwidget.h \
mapwindow.h \
- menuwindow.h \
notifications.h \
soundext.h \
targeticonbutton.h \
@@ -57,7 +56,6 @@ libclient_la_SOURCES = \
mainwindow.cc \
mapwidget.cc \
mapwindow.cc \
- menuwindow.h \
notifications.cc \
soundext.cc \
targeticonbutton.cc \
diff --git a/src/client/mainmenu.cc b/src/client/mainmenu.cc
index 5d1706d..6a4f97a 100644
--- a/src/client/mainmenu.cc
+++ b/src/client/mainmenu.cc
@@ -6,6 +6,7 @@
#include "client/mainmenu.h"
#include "ui/paint.h"
+#include "ui/ui.h"
namespace client
{
@@ -41,6 +42,16 @@ void MainMenu::hide()
ui::Widget::hide();
}
+void MainMenu::resize()
+{
+ // resize and reposition all child windows
+ const float smallmargin = ui::UI::elementsize.height();
+ for (ui::Widget::Children::iterator child = children().begin(); child != children().end(); ++child) {
+ (*child)->set_size(width() - smallmargin * 2, height() - smallmargin * 4);
+ (*child)->set_location(smallmargin, smallmargin * 2);
+ }
+}
+
void MainMenu::draw_background()
{
// we override draw_background instead of adding a ui::Bitmap child
diff --git a/src/client/mainmenu.h b/src/client/mainmenu.h
index cadd019..9320668 100644
--- a/src/client/mainmenu.h
+++ b/src/client/mainmenu.h
@@ -24,12 +24,14 @@ public:
MainMenu(ui::Widget *parent = 0);
virtual ~MainMenu();
-protected:
virtual void show();
virtual void hide();
-
+
+protected:
virtual void draw_background();
+
+ virtual void resize();
private:
/// the menu to show if the application is not connected
diff --git a/src/client/mainwindow.cc b/src/client/mainwindow.cc
index 6574303..607e503 100644
--- a/src/client/mainwindow.cc
+++ b/src/client/mainwindow.cc
@@ -37,6 +37,11 @@ MainWindow::MainWindow(ui::Widget *parent) : ui::Widget(parent)
mainwindow_gamewindow = new GameWindow(this);
mainwindow_gamewindow->raise();
mainwindow_gamewindow->hide();
+
+ // main menus
+ mainwindow_mainmenu = new MainMenu(this);
+ mainwindow_mainmenu->raise();
+ mainwindow_mainmenu->hide();
}
MainWindow::~MainWindow()
diff --git a/src/client/mainwindow.h b/src/client/mainwindow.h
index 3497913..78bf92b 100644
--- a/src/client/mainwindow.h
+++ b/src/client/mainwindow.h
@@ -11,6 +11,7 @@
#include "client/gamewindow.h"
#include "client/infowidget.h"
+#include "client/mainmenu.h"
#include "client/notifications.h"
namespace client
@@ -34,6 +35,10 @@ public:
inline Notifications *notificationswidget() {
return mainwindow_notificationswidget;
}
+
+ inline MainMenu *mainmenu() {
+ return mainwindow_mainmenu;
+ }
protected:
@@ -47,7 +52,7 @@ private:
ClockInfoWidget *mainwindow_clockwidget;
Notifications *mainwindow_notificationswidget;
GameWindow *mainwindow_gamewindow;
-
+ MainMenu *mainwindow_mainmenu;
};
}
diff --git a/src/client/menuwindow.cc b/src/client/menuwindow.cc
deleted file mode 100644
index 8ebd0cb..0000000
--- a/src/client/menuwindow.cc
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- client/menuwindow.cc
- This file is part of the Osirion project and is distributed under
- the terms and conditions of the GNU General Public License version 2
-*/
-
-#include "client/menuwindow.h"
-
-namespace client
-{
-
-MenuWindow::MenuWindow(ui::Widget *parent) : ui::Widget(parent)
-{
- set_border(true);
- set_background(true);
-}
-
-MenuWindow::~MenuWindow()
-{
-}
-
-void MenuWindow::resize()
-{
-}
-
-void MainWindow::draw_background()
-{
-
-
-}
-
-}
diff --git a/src/client/menuwindow.h b/src/client/menuwindow.h
deleted file mode 100644
index 82aaf8b..0000000
--- a/src/client/menuwindow.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- client/menuwindow.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_MENUWINDOW_H__
-#define __INCLUDED_CLIENT_MENUWINDOW_H__
-
-#include "ui/window.h"
-
-namespace client
-{
-
-/**
- * @brief generic base class for client windows
- * This class implements the default layout for most client
- * windows
- **/
-class MenuWindow : public ui::Window
-{
-public:
- MenuWindow(ui::Widget *parent = 0);
- virtual ~MenuWindow();
-
-protected:
-
- virtual void resize();
-};
-
-}
-
-#endif // __INCLUDED_CLIENT_MENUWINDOW_H__
-