/* client/playerview.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_PLAYERVIEW_H__ #define __INCLUDED_CLIENT_PLAYERVIEW_H__ #include "client/chat.h" #include "client/buymenu.h" #include "client/entitymenu.h" #include "client/trademenu.h" #include "client/hud.h" #include "client/map.h" #include "client/notifications.h" #include "ui/widget.h" #include "ui/label.h" namespace client { /// the player's view when joined class PlayerView : public ui::Widget { public: PlayerView(ui::Widget *parent = 0); virtual ~PlayerView(); void clear(); void event_text(const std::string & text); /// toggle map window void toggle_map(); /// togge chat window void toggle_chat(); /// toggle chat bar void toggle_chatbar(); /// show entity menus void show_menu(const std::string & label); inline HUD *hud() { return view_hud; } inline Map *map() { return view_map; } inline Chat *chat() { return view_chat; } inline Notifications *notify() { return view_notify; } inline EntityMenu *menu() { return view_entitymenu; } protected: virtual void draw(); virtual void resize(); private: Notifications *view_notify; HUD *view_hud; Chat *view_chat; Map *view_map; EntityMenu *view_entitymenu; BuyMenu *view_buymenu; TradeMenu *view_trademenu; ui::Label *label_viewname; }; } #endif // __INCLUDED_CLIENT_PLAYERVIEW_H__