diff options
author | Stijn Buys <ingar@osirion.org> | 2011-07-31 18:24:01 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2011-07-31 18:24:01 +0000 |
commit | 45054b224d8f0f8b6d7db4bcd0b0abf6763a60ab (patch) | |
tree | c23ea79d4564037673312ea1d4cb936272c65a06 /src/client/mapwindow.h | |
parent | f0cbe1d0655013d14dd4f1807ddb88789ae8d27a (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.h | 71 |
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__ + |