From 45054b224d8f0f8b6d7db4bcd0b0abf6763a60ab Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 31 Jul 2011 18:24:01 +0000 Subject: Improved map window, moved the actual map widget into a seperate class. --- src/client/mapwindow.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/client/mapwindow.h (limited to 'src/client/mapwindow.h') 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__ + -- cgit v1.2.3