supertux
src
gui
item_action.hpp
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
#ifndef HEADER_SUPERTUX_GUI_ITEM_ACTION_HPP
18
#define HEADER_SUPERTUX_GUI_ITEM_ACTION_HPP
19
20
#include "gui/menu_item.hpp"
21
22
class
ItemAction
final :
public
MenuItem
23
{
24
public
:
25
ItemAction
(
const
std::string& text,
int
id
= -1, std::function<
void
()> callback = {});
26
27
virtual
void
process_action
(
const
MenuAction& action)
override
;
28
29
private
:
30
std::function<void()> m_callback;
31
32
private
:
33
ItemAction
(
const
ItemAction
&) =
delete
;
34
ItemAction
& operator=(
const
ItemAction
&) =
delete
;
35
};
36
37
#endif
38
39
/* EOF */
MenuItem
Definition:
menu_item.hpp:23
ItemAction
Definition:
item_action.hpp:22
ItemAction::process_action
virtual void process_action(const MenuAction &action) override
Processes the menu action.
Definition:
item_action.cpp:26
Generated by
1.8.13