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