1 // SuperTux 2 // Copyright (C) 2015 Hume2 <teratux.mail@gmail.com> 3 // 4 // This program is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program. If not, see <http://www.gnu.org/licenses/>. 16 17 #include "supertux/menu/editor_tilegroup_menu.hpp" 18 19 #include "editor/editor.hpp" 20 #include "gui/menu_item.hpp" 21 #include "gui/menu_manager.hpp" 22 #include "util/gettext.hpp" 23 EditorTilegroupMenu()24EditorTilegroupMenu::EditorTilegroupMenu() 25 { 26 add_label(_("Tiles")); 27 add_hl(); 28 29 int id = 0; 30 for (auto& tg : Editor::current()->get_tilegroups()) { 31 add_entry(id, _(tg.name)); 32 id++; 33 } 34 35 add_hl(); 36 add_entry(-1,_("Cancel")); 37 } 38 ~EditorTilegroupMenu()39EditorTilegroupMenu::~EditorTilegroupMenu() 40 { 41 auto editor = Editor::current(); 42 if (editor == nullptr) { 43 return; 44 } 45 editor->m_reactivate_request = true; 46 } 47 48 void menu_action(MenuItem & item)49EditorTilegroupMenu::menu_action(MenuItem& item) 50 { 51 if (item.get_id() >= 0) 52 { 53 Editor::current()->select_tilegroup(item.get_id()); 54 } 55 MenuManager::instance().clear_menu_stack(); 56 } 57 58 /* EOF */ 59