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-07-31 18:24:01 +0000
committerStijn Buys <ingar@osirion.org>2011-07-31 18:24:01 +0000
commit45054b224d8f0f8b6d7db4bcd0b0abf6763a60ab (patch)
treec23ea79d4564037673312ea1d4cb936272c65a06 /src/client/mapwindow.h
parentf0cbe1d0655013d14dd4f1807ddb88789ae8d27a (diff)
Improved map window, moved the actual map widget into a seperate class.
Diffstat (limited to 'src/client/mapwindow.h')
-rw-r--r--src/client/mapwindow.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/client/mapwindow.h b/src/client/mapwindow.h
new file mode 100644
index 0000000..d65e115
--- /dev/null
+++ b/src/client/mapwindow.h
@@ -0,0 +1,71 @@
+/*
+ client/mapwindow.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_CLIENT_MAPWINDOW_H__
+#define __INCLUDED_CLIENT_MAPWINDOW_H__
+
+#include "core/entity.h"
+#include "core/info.h"
+#include "ui/label.h"
+#include "ui/modelview.h"
+#include "ui/scrollpane.h"
+#include "ui/window.h"
+#include "client/mapwidget.h"
+
+namespace client
+{
+
+class MapWindow : public ui::Window
+{
+public:
+ MapWindow(ui::Widget *parent = 0);
+ virtual ~MapWindow();
+
+ /// toggle the map window
+ void toggle();
+
+ /// hide the map window
+ virtual void hide();
+
+ /// show the map window
+ virtual void show();
+
+ /// called when the widget receives a key press
+ virtual bool on_keypress(const int key, const unsigned int modifier);
+
+protected:
+ virtual void resize();
+
+ virtual void draw();
+
+private:
+ /// set the map target
+ void set_target(const core::Entity *entity);
+
+
+ ui::Label *mapwindow_titlelabel;
+
+ MapWidget *mapwindow_mapwidget;
+ ui::Label *mapwindow_maplabel;
+
+ ui::ModelView *mapwindow_modelview;
+ ui::Label *mapwindow_targetlabel;
+ ui::ScrollPane *mapwindow_scrollpane;
+
+
+ const core::Entity *mapwindow_target;
+ const core::Info *mapwindow_inforecord;
+ unsigned long mapwindow_infotimestamp;
+ ui::Text mapwindow_infotext;
+
+}; // class MapWindow
+
+
+} // namespace client
+
+
+#endif // __INCLUDED_CLIENT_MAPWINDOW_H__
+