/* $Id: gameinfowindow.hpp,v 1.3.4.1 2006/03/26 09:34:01 chfreund Exp $ */ #ifndef _GAMEINFOWINDOW_HPP_ #define _GAMEINFOWINDOW_HPP_ #include #include "widget.h" #include "action.h" #include "textlabel.h" #include "textarea.h" #include "button.h" using namespace SDLwidgets; #include "wopwindow.hpp" #include "playerconfigwindow.hpp" #include "world.hpp" struct ServerEntry; struct InfoMessage; class Video; class WopGUI; class Player; class Bot; class GameInfoWindow : public WopWindow, public ActionWidget, public ActionListener { public: enum Action { CONFIGURE_PRESSED, GO_PRESSED, BACK_PRESSED }; private: TextLabel* m_addressField; TextLabel* m_gamemodeField; // TextArea* m_infoArea; std::vector m_configureButtons; TextButton* m_goButton; TextButton* m_backButton; WidgetComposite* m_content; WidgetComposite* m_generalContent; WidgetComposite* m_allPlayerContent; WidgetComposite* m_playerFrame; WidgetComposite* m_playerContent; WidgetComposite* m_localFrame; WidgetComposite* m_localContent; WidgetComposite* m_teamContent; World m_world; Video* m_video; WopGUI* m_gui; Player* m_player; std::vector m_bots; PlayerConfigWindow* m_playerConfigWindow; Player* m_selectedPlayer; public: GameInfoWindow( WopGUI* gui ); void setInfo( ServerEntry* entry, InfoMessage* infoMessage, Player* player, std::vector bots, Video* video ); void actionPerformed( Uint32 cmd, void* source ); bool handleEvent( SDL_Event* event ); Player* getPlayer() const { return m_player; } std::vector getBots() const { return m_bots; } Player* getSelectedPlayer() { return m_selectedPlayer; } private: void addPlayerToWidget( Player* player, WidgetComposite* widget ); void rebuildLocalContent(); }; #endif // _GAMEINFOWINDOW_HPP_