supertux
src
gui
menu_script.hpp
1
// SuperTux
2
// Copyright (C) 2016 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
#ifndef HEADER_SUPERTUX_GUI_MENU_SCRIPT_HPP
18
#define HEADER_SUPERTUX_GUI_MENU_SCRIPT_HPP
19
20
#include "gui/menu.hpp"
21
22
class
ScriptMenu
final :
public
Menu
23
{
24
public
:
25
ScriptMenu
(std::string* script_);
26
~
ScriptMenu
()
override
;
27
28
void
menu_action(
MenuItem
& item)
override
;
29
30
void
remove_line();
31
ItemScriptLine
* add_line();
32
33
protected
:
34
bool
is_sensitive
()
const override
;
35
36
private
:
37
std::string* base_script;
38
std::vector<std::unique_ptr<std::string> > script_strings;
39
40
void
push_string(
const
std::string& new_line);
41
42
private
:
43
ScriptMenu
(
const
ScriptMenu
&) =
delete
;
44
ScriptMenu
& operator=(
const
ScriptMenu
&) =
delete
;
45
};
46
47
#endif
48
49
/* EOF */
ItemScriptLine
Definition:
item_script_line.hpp:23
ScriptMenu
Definition:
menu_script.hpp:22
MenuItem
Definition:
menu_item.hpp:23
ScriptMenu::is_sensitive
bool is_sensitive() const override
returns true when the text is more important than action
Definition:
menu_script.cpp:95
Menu
Definition:
menu.hpp:55
Generated by
1.8.13