SuperTuxKart
Loading...
Searching...
No Matches
edit_track_screen.hpp
1// SuperTuxKart - a fun racing game with go-kart
2// Copyright (C) 2014-2015 Marc Coll
3//
4// This program is free software; you can redistribute it and/or
5// modify it under the terms of the GNU General Public License
6// as published by the Free Software Foundation; either version 3
7// of the License, or (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, write to the Free Software
16// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18#ifndef HEADER_EDIT_TRACK_SCREEN_HPP
19#define HEADER_EDIT_TRACK_SCREEN_HPP
20
21#include "guiengine/screen.hpp"
22#include "guiengine/widgets.hpp"
23
24namespace GUIEngine { class Widget; }
25
26namespace irr { namespace gui { class STKModifiedSpriteBank; } }
27
28class Track;
29
35 public GUIEngine::Screen,
36 public GUIEngine::ScreenSingleton<EditTrackScreen>
37{
39
40 static const char* ALL_TRACKS_GROUP_ID;
41
43
44 void loadTrackList();
45 void selectTrack(const std::string& id);
46
47 std::string m_track_group;
48
49 Track* m_track;
50 unsigned int m_laps;
51 bool m_reverse;
52 bool m_result;
53
54 GUIEngine::IconButtonWidget* m_screenshot;
55
56public:
57
59
60 void setSelection(Track* track, unsigned int laps, bool reverse);
61 Track* getTrack() const;
62 unsigned int getLaps() const;
63 bool getReverse() const;
64 bool getResult() const;
65
67 virtual void beforeAddingWidget() OVERRIDE;
68
70 virtual void loadedFromFile() OVERRIDE;
71
73 virtual void eventCallback(GUIEngine::Widget* widget, const std::string& name,
74 const int playerID) OVERRIDE;
75
77 virtual void init() OVERRIDE;
78};
79
80#endif
screen where the user can edit the details of a track inside a grand prix
Definition: edit_track_screen.hpp:37
virtual void init() OVERRIDE
implement callback from parent class GUIEngine::Screen
Definition: edit_track_screen.cpp:118
virtual void loadedFromFile() OVERRIDE
implement callback from parent class GUIEngine::Screen
Definition: edit_track_screen.cpp:87
virtual void eventCallback(GUIEngine::Widget *widget, const std::string &name, const int playerID) OVERRIDE
implement callback from parent class GUIEngine::Screen
Definition: edit_track_screen.cpp:142
virtual void beforeAddingWidget() OVERRIDE
implement callback from parent class GUIEngine::Screen
Definition: edit_track_screen.cpp:101
A button widget with an icon and optionnaly a label beneath.
Definition: icon_button_widget.hpp:44
Declares a class to be a singleton.
Definition: screen.hpp:59
Represents a single GUI screen.
Definition: screen.hpp:97
The nearly-abstract base of all widgets (not fully abstract since a bare Widget can be created for th...
Definition: widget.hpp:143
Definition: track.hpp:114
Contains all GUI engine related classes and functions.
Definition: abstract_state_manager.hpp:33