1 #ifndef SPRINGLOBBY_HEADERGUARD_MAINJOINBATTLETAB_H 2 #define SPRINGLOBBY_HEADERGUARD_MAINJOINBATTLETAB_H 3 4 #include <wx/scrolwin.h> 5 #include "battleroommmoptionstab.h" 6 7 class Ui; 8 class BattleListTab; 9 class Battle; 10 class User; 11 class BattleRoomTab; 12 class BattleMapTab; 13 class BattleOptionsTab; 14 class wxBoxSizer; 15 class wxImageList; 16 class SLNotebook; 17 class wxNotebook; 18 19 class MainJoinBattleTab : public wxScrolledWindow 20 { 21 public: 22 MainJoinBattleTab( wxWindow* parent ); 23 ~MainJoinBattleTab(); 24 25 void HostBattle( Battle& battle ); 26 void JoinBattle( Battle& battle ); 27 //void UpdateCurrentBattle(); 28 void UpdateCurrentBattle(); 29 void UpdateCurrentBattle( const wxString& Tag ); 30 void LeaveCurrentBattle( bool called_from_join = false ); 31 Battle* GetCurrentBattle(); 32 ChatPanel* GetActiveChatPanel(); 33 34 void BattleUserUpdated( User& user ); 35 BattleRoomTab& GetBattleRoomTab(); 36 37 void ReloadPresetList(); 38 39 void LoadPerspective( const wxString& perspective_name = wxEmptyString ); 40 void SavePerspective( const wxString& perspective_name = wxEmptyString ); 41 bool UseBattlePerspective(); 42 43 void FocusBattleRoomTab(); 44 45 private: 46 BattleMapTab& GetBattleMapTab(); 47 BattleOptionsTab& GetOptionsTab(); 48 BattleroomMMOptionsTab<Battle>& GetMMOptionsTab(); 49 wxBoxSizer* m_main_sizer; 50 51 wxImageList* m_imagelist; 52 53 SLNotebook* m_tabs; 54 55 BattleRoomTab* m_battle_tab; 56 BattleMapTab* m_map_tab; 57 BattleOptionsTab* m_opts_tab; 58 BattleroomMMOptionsTab<Battle>* m_mm_opts_tab; 59 60 enum { 61 BATTLE_TABS = wxID_HIGHEST 62 }; 63 64 }; 65 66 67 68 #endif // SPRINGLOBBY_HEADERGUARD_MAINJOINBATTLETAB_H 69 70 /** 71 This file is part of SpringLobby, 72 Copyright (C) 2007-2011 73 74 SpringLobby is free software: you can redistribute it and/or modify 75 it under the terms of the GNU General Public License version 2 as published by 76 the Free Software Foundation. 77 78 SpringLobby is distributed in the hope that it will be useful, 79 but WITHOUT ANY WARRANTY; without even the implied warranty of 80 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 81 GNU General Public License for more details. 82 83 You should have received a copy of the GNU General Public License 84 along with SpringLobby. If not, see <http://www.gnu.org/licenses/>. 85 **/ 86 87