void TracksScreen::beforeAddingWidget() { Screen::init(); RibbonWidget* tabs = getWidget<RibbonWidget>("trackgroups"); tabs->clearAllChildren(); const std::vector<std::string>& groups = track_manager->getAllTrackGroups(); const int group_amount = (int)groups.size(); if (group_amount > 1) { //I18N: name of the tab that will show tracks from all groups tabs->addTextChild( _("All"), ALL_TRACK_GROUPS_ID ); } // Make group names being picked up by gettext #define FOR_GETTEXT_ONLY(x) //I18N: track group name FOR_GETTEXT_ONLY( _("standard") ) //I18N: track group name FOR_GETTEXT_ONLY( _("Add-Ons") ) // add behind the other categories for (int n=0; n<group_amount; n++) tabs->addTextChild( _(groups[n].c_str()), groups[n] ); DynamicRibbonWidget* tracks_widget = getWidget<DynamicRibbonWidget>("tracks"); tracks_widget->setItemCountHint( (int)track_manager->getNumberOfTracks()+1 ); } // beforeAddingWidget
void ArenasScreen::beforeAddingWidget() { // Dynamically add tabs RibbonWidget* tabs = this->getWidget<RibbonWidget>("trackgroups"); assert( tabs != NULL ); tabs->clearAllChildren(); bool soccer_mode = race_manager->getMinorMode() == RaceManager::MINOR_MODE_SOCCER; const std::vector<std::string>& groups = track_manager->getAllArenaGroups(soccer_mode); const int group_amount = (int)groups.size(); if (group_amount > 1) { //I18N: name of the tab that will show arenas from all groups tabs->addTextChild( _("All"), ALL_ARENA_GROUPS_ID ); } // Make group names being picked up by gettext #define FOR_GETTEXT_ONLY(x) //I18N: arena group name FOR_GETTEXT_ONLY( _("standard") ) //I18N: arena group name FOR_GETTEXT_ONLY( _("Add-Ons") ) // add others after for (int n=0; n<group_amount; n++) { // try to translate the group name tabs->addTextChild( _(groups[n].c_str()), groups[n] ); } int num_of_arenas=0; for (unsigned int n=0; n<track_manager->getNumberOfTracks(); n++) //iterate through tracks to find how many are arenas { Track* temp = track_manager->getTrack(n); if (soccer_mode) { if(temp->isSoccer() && (temp->hasNavMesh() || race_manager->getNumLocalPlayers() > 1 || UserConfigParams::m_artist_debug_mode)) num_of_arenas++; } else { if(temp->isArena() && (temp->hasNavMesh() || race_manager->getNumLocalPlayers() > 1 || UserConfigParams::m_artist_debug_mode)) num_of_arenas++; } } DynamicRibbonWidget* tracks_widget = this->getWidget<DynamicRibbonWidget>("tracks"); assert( tracks_widget != NULL ); tracks_widget->setItemCountHint(num_of_arenas+1); //set the item hint to that number to prevent weird formatting }
// ----------------------------------------------------------------------------- void EditTrackScreen::beforeAddingWidget() { RibbonWidget* tabs = getWidget<RibbonWidget>("trackgroups"); assert (tabs != NULL); tabs->clearAllChildren(); const std::vector<std::string>& groups = track_manager->getAllTrackGroups(); if (groups.size() > 1) { tabs->addTextChild(_("All"), ALL_TRACKS_GROUP_ID); for (unsigned int i = 0; i < groups.size(); i++) tabs->addTextChild(_(groups[i].c_str()), groups[i]); } }
void ArenasScreen::beforeAddingWidget() { // Dynamically add tabs RibbonWidget* tabs = this->getWidget<RibbonWidget>("trackgroups"); assert( tabs != NULL ); tabs->clearAllChildren(); const std::vector<std::string>& groups = track_manager->getAllArenaGroups(); const int group_amount = groups.size(); if (group_amount > 1) { //I18N: name of the tab that will show arenas from all groups tabs->addTextChild( _("All"), ALL_ARENA_GROUPS_ID ); } // Make group names being picked up by gettext #define FOR_GETTEXT_ONLY(x) //I18N: arena group name FOR_GETTEXT_ONLY( _("standard") ) //I18N: arena group name FOR_GETTEXT_ONLY( _("Add-Ons") ) // add others after for (int n=0; n<group_amount; n++) { // try to translate the group name tabs->addTextChild( _(groups[n].c_str()), groups[n] ); } int num_of_arenas=0; for (unsigned int n=0; n<track_manager->getNumberOfTracks(); n++) //iterate through tracks to find how many are arenas { Track* temp = track_manager->getTrack(n); if (temp->isArena()){ num_of_arenas++; } } DynamicRibbonWidget* tracks_widget = this->getWidget<DynamicRibbonWidget>("tracks"); assert( tracks_widget != NULL ); tracks_widget->setItemCountHint(num_of_arenas); //set the item hint to that number to prevent weird formatting }
void KartSelectionScreen::beforeAddingWidget() { // Dynamically add tabs RibbonWidget* tabs = getWidget<RibbonWidget>("kartgroups"); assert( tabs != NULL ); m_last_widget = tabs; tabs->clearAllChildren(); const std::vector<std::string>& groups = kart_properties_manager->getAllGroups(); const int group_amount = (int)groups.size(); // add all group first if (group_amount > 1) { //I18N: name of the tab that will show tracks from all groups tabs->addTextChild( _("All") , ALL_KART_GROUPS_ID); } // Make group names being picked up by gettext #define FOR_GETTEXT_ONLY(x) //I18N: kart group name FOR_GETTEXT_ONLY( _("standard") ) //I18N: kart group name FOR_GETTEXT_ONLY( _("Add-Ons") ) // add others after for (int n=0; n<group_amount; n++) { // try to translate group names tabs->addTextChild( _(groups[n].c_str()) , groups[n]); } // for n<group_amount DynamicRibbonWidget* w = getWidget<DynamicRibbonWidget>("karts"); assert( w != NULL ); w->setItemCountHint( kart_properties_manager->getNumberOfKarts() ); } // beforeAddingWidget
// ----------------------------------------------------------------------------- void GrandPrixEditorScreen::beforeAddingWidget() { RibbonWidget* tabs = getWidget<RibbonWidget>("gpgroups"); assert (tabs != NULL); tabs->clearAllChildren(); for (int i = 0; i < GrandPrixData::GP_GROUP_COUNT; i++) { tabs->addTextChild(getGroupName((enum GrandPrixData::GPGroupType)i), StringUtils::toString(i)); } }
void TracksScreen::beforeAddingWidget() { Screen::init(); // Dynamically add tabs RibbonWidget* tabs = this->getWidget<RibbonWidget>("trackgroups"); assert( tabs != NULL ); tabs->clearAllChildren(); const std::vector<std::string>& groups = track_manager->getAllTrackGroups(); const int group_amount = groups.size(); if (group_amount > 1) { //I18N: name of the tab that will show tracks from all groups tabs->addTextChild( _("All"), ALL_TRACK_GROUPS_ID ); } // Make group names being picked up by gettext #define FOR_GETTEXT_ONLY(x) //I18N: track group name FOR_GETTEXT_ONLY( _("standard") ) //I18N: track group name FOR_GETTEXT_ONLY( _("Add-Ons") ) // add others after for (int n=0; n<group_amount; n++) { // try to translate the group name tabs->addTextChild( _(groups[n].c_str()), groups[n] ); } DynamicRibbonWidget* tracks_widget = this->getWidget<DynamicRibbonWidget>("tracks"); assert( tracks_widget != NULL ); tracks_widget->setItemCountHint( track_manager->getNumberOfTracks() ); }
// ----------------------------------------------------------------------------- void TracksScreen::beforeAddingWidget() { Screen::init(); m_selected_track = NULL; m_timer = getWidget<GUIEngine::ProgressBarWidget>("timer"); m_timer->showLabel(false); Widget* rect_box = getWidget("rect-box"); if (m_bottom_box_height == -1) m_bottom_box_height = rect_box->m_h; m_vote_list = getWidget<ListWidget>("vote-list"); m_track_icons->clear(); if (m_network_tracks) { rect_box->setCollapsed(false, m_bottom_box_height); getWidget("lap-text")->setVisible(true); m_laps = getWidget<SpinnerWidget>("lap-spinner"); assert(m_laps != NULL); m_laps->setVisible(true); getWidget("reverse-text")->setVisible(true); m_reversed = getWidget<CheckBoxWidget>("reverse"); assert(m_reversed != NULL); m_reversed->m_properties[GUIEngine::PROP_ALIGN] = "center"; m_reversed->setVisible(true); m_timer->setVisible(true); getWidget("all-track")->m_properties[GUIEngine::PROP_WIDTH] = "60%"; getWidget("vote")->setVisible(true); m_vote_list->setVisible(true); m_vote_list->clearColumns(); auto cl = LobbyProtocol::get<ClientLobby>(); assert(cl); if (race_manager->getMinorMode() == RaceManager::MINOR_MODE_FREE_FOR_ALL) { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "difficulty_medium.png")), 5); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "track_random.png")), 2); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::MODEL, "swap-icon.png")), 1); } else if (race_manager->getMinorMode() == RaceManager::MINOR_MODE_CAPTURE_THE_FLAG) { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "difficulty_medium.png")), 6); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "track_random.png")), 2); } else if (race_manager->getMinorMode() == RaceManager::MINOR_MODE_SOCCER) { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "difficulty_medium.png")), 4); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "track_random.png")), 2); if (cl->getGameSetup()->isSoccerGoalTarget()) { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "soccer_ball_normal.png")), 1); } else { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "loading.png")), 1); } m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::MODEL, "swap-icon.png")), 1); } else { m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "difficulty_medium.png")), 4); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "track_random.png")), 2); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "lap_flag.png")), 1); m_vote_list->addColumn(irr_driver->getTexture (file_manager->getAsset(FileManager::GUI_ICON, "restart.png")), 1); } calculateLayout(); static bool shown_msg = false; if (!shown_msg) { shown_msg = true; //I18N: In track screen for networking, clarify voting phase core::stringw msg = _("If a majority of players all select the" " same track and race settings, voting will end early."); MessageQueue::add(MessageQueue::MT_GENERIC, msg); } } else { m_timer->setVisible(false); rect_box->setCollapsed(true); m_laps = NULL; m_reversed = NULL; getWidget("lap-text")->setVisible(false); getWidget("lap-spinner")->setVisible(false); getWidget("reverse-text")->setVisible(false); getWidget("reverse")->setVisible(false); getWidget("all-track")->m_properties[GUIEngine::PROP_WIDTH] = "98%"; getWidget("vote")->setVisible(false); m_vote_list->setVisible(false); m_vote_list->clearColumns(); calculateLayout(); } RibbonWidget* tabs = getWidget<RibbonWidget>("trackgroups"); tabs->clearAllChildren(); RaceManager::MinorRaceModeType minor_mode = race_manager->getMinorMode(); bool is_soccer = minor_mode == RaceManager::MINOR_MODE_SOCCER; bool is_arena = is_soccer || race_manager->isBattleMode(); const std::vector<std::string>& groups = is_arena ? track_manager->getAllArenaGroups(is_soccer) : track_manager->getAllTrackGroups(); const int group_amount = (int)groups.size(); if (group_amount > 1) { //I18N: name of the tab that will show tracks from all groups tabs->addTextChild( _("All"), ALL_TRACK_GROUPS_ID ); } // add behind the other categories for (int n=0; n<group_amount; n++) tabs->addTextChild( _(groups[n].c_str()), groups[n] ); DynamicRibbonWidget* tracks_widget = getWidget<DynamicRibbonWidget>("tracks"); tracks_widget->setItemCountHint( (int)track_manager->getNumberOfTracks()+1 ); } // beforeAddingWidget