void BattleListTab::OnResize( wxSizeEvent& event ) { SetSize( event.GetSize() ); Layout(); // window too small, hide additional infos ShowExtendedInfos( ( GetClientSize().GetHeight() > 400 ) ); }
BattleListTab::BattleListTab(wxWindow* parent) : wxScrolledWindow(parent, -1) , m_sel_battle(0) { GetAui().manager->AddPane(this, wxLEFT, _T( "battlelisttab" )); m_main_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* m_filter_sizer; m_filter_sizer = new wxBoxSizer(wxVERTICAL); m_battlelist_sizer = new wxBoxSizer(wxVERTICAL); m_battle_list = new BattleListCtrl(this); m_battle_list->SetHighLightAction(UserActions::ActHighlight); m_battlelist_sizer->Add(m_battle_list, 1, wxEXPAND); m_main_sizer->Add(m_battlelist_sizer, 1, wxEXPAND); m_info_sizer = new wxBoxSizer(wxHORIZONTAL); m_minimap = new MapCtrl(this, 100, 0, true, false, false); m_info_sizer->Add(m_minimap, 0, wxALL, 5); m_data_sizer = new wxFlexGridSizer(4, 2, 0, 0); m_map_lbl = new wxStaticText(this, wxID_ANY, _("Map:"), wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_map_lbl, 0, wxALL, 5); m_map_text = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_map_text, 0, wxALL, 5); m_mod_lbl = new wxStaticText(this, wxID_ANY, _("Game:"), wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_mod_lbl, 0, wxALL, 5); m_mod_text = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_mod_text, 0, wxALL, 5); m_players_lbl = new wxStaticText(this, wxID_ANY, _("Players:"), wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_players_lbl, 0, wxALL, 5); m_players_text = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_players_text, 0, wxALL, 5); m_spec_lbl = new wxStaticText(this, wxID_ANY, _("Spectators:"), wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_spec_lbl, 0, wxALL, 5); m_spec_text = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); m_data_sizer->Add(m_spec_text, 0, wxALL, 5); m_info_sizer->Add(m_data_sizer, 1, wxEXPAND, 5); m_players = new NickListCtrl(this, false, 0, true, _T("battlelist_nicklist")); m_info_sizer->Add(m_players, 1, wxALL | wxEXPAND, 5); m_main_sizer->Add(m_info_sizer, 0, wxEXPAND, 5); m_filter = new BattleListFilter(this, wxID_ANY, this, wxDefaultPosition, wxSize(-1, -1), wxEXPAND); m_filter_sizer->Add(m_filter, 0, wxEXPAND, 5); m_main_sizer->Add(m_filter_sizer, 0, wxEXPAND, 5); m_buttons_sep = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL); m_main_sizer->Add(m_buttons_sep, 0, wxALL | wxEXPAND, 5); wxBoxSizer* m_buttons_sizer; m_buttons_sizer = new wxBoxSizer(wxHORIZONTAL); m_buttons_sizer->Add(0, 0, 1, wxEXPAND, 0); #if wxUSE_TOGGLEBTN m_filter_show = new wxToggleButton(this, BATTLE_LIST_FILTER_BUTTON, _(" Filter "), wxDefaultPosition, wxSize(-1, 28), 0); #else m_filter_show = new wxCheckBox(this, BATTLE_LIST_FILTER_BUTTON, _(" Filter "), wxDefaultPosition, wxSize(-1, 28), 0); #endif m_buttons_sizer->Add(m_filter_show, 0, 0, 5); m_filter_activ = new wxCheckBox(this, BATTLE_LIST_FILTER_ACTIV, _("Activated"), wxDefaultPosition, wxDefaultSize, 0); m_buttons_sizer->Add(m_filter_activ, 0, wxALL, 5); #if wxUSE_TOGGLEBTN m_info_show = new wxToggleButton(this, BATTLE_LIST_INFO_BUTTON, _(" Battle infos "), wxDefaultPosition, wxSize(-1, 28), 0); #else m_info_show = new wxCheckBox(this, BATTLE_LIST_INFO_BUTTON, _(" Battle infos "), wxDefaultPosition, wxSize(-1, 28), 0); #endif m_buttons_sizer->Add(m_info_show, 0, 0, 5); m_battle_num = new wxStaticText(this, wxID_ANY, _("0 battles displayed"), wxDefaultPosition, wxDefaultSize, 0); m_buttons_sizer->Add(m_battle_num, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 4); m_buttons_sizer->Add(0, 0, 1, wxEXPAND, 0); m_host_btn = new wxButton(this, BATTLE_HOST, _("Host new..."), wxDefaultPosition, wxSize(-1, 28), 0); m_buttons_sizer->Add(m_host_btn, 0, wxBOTTOM | wxLEFT | wxRIGHT, 5); m_join_btn = new wxButton(this, BATTLE_JOIN, _("Join"), wxDefaultPosition, wxSize(-1, 28), 0); m_buttons_sizer->Add(m_join_btn, 0, wxBOTTOM | wxRIGHT, 5); m_main_sizer->Add(m_buttons_sizer, 0, wxEXPAND, 5); m_filter->Hide(); SetScrollRate(SCROLL_RATE, SCROLL_RATE); SetSizer(m_main_sizer); Layout(); SelectBattle(0); ShowExtendedInfos(cfg().ReadBool(_T("/BattleListTab/ShowExtendedInfos"))); ConnectGlobalEvent(this, GlobalEvent::OnUnitsyncReloaded, wxObjectEventFunction(&BattleListTab::OnUnitsyncReloaded)); }
void BattleListTab::OnInfoShow(wxCommandEvent& /*unused*/) { ShowExtendedInfos(m_info_show->GetValue()); }