SuperTuxKart
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
GPInfoScreen Class Reference

Dialog that shows information about a specific grand prix. More...

#include <gp_info_screen.hpp>

Inheritance diagram for GPInfoScreen:
Inheritance graph
[legend]

Public Member Functions

 GPInfoScreen ()
 Constructor, initialised some variables which might be used before loadedFromFile is called.
 
virtual ~GPInfoScreen ()
 Places the focus back on the selected GP, in the case that the dialog was cancelled and we're returning to the track selection screen.
 
void onEnterPressedInternal ()
 
virtual void eventCallback (GUIEngine::Widget *, const std::string &name, const int player_id) OVERRIDE
 Handle user input.
 
virtual void loadedFromFile () OVERRIDE
 Called when the stkgui file is read.
 
virtual void init () OVERRIDE
 Called before the screen is shown.
 
virtual void beforeAddingWidget () OVERRIDE
 Optional callback invoked very early, before widgets have been added (contrast with init(), which is invoked afer widgets were added)
 
virtual void onUpdate (float dt) OVERRIDE
 Called every update.
 
void setGP (const std::string &gp_ident)
 Sets the GP to be displayed.
 
virtual void unloaded () OVERRIDE
 Callback invoked when this screen is being unloaded.
 
- Public Member Functions inherited from GUIEngine::Screen
std::function< Screen *()> getNewScreenPointer () const
 Save the function before GUIEngine::clearScreenCache, call it after to get the new screen instance pointer.
 
void setScreenPointerFunction (const std::function< Screen *()> &f)
 
 Screen (bool pause_race=true)
 Creates a dummy incomplete object; only use to override behaviour in sub-class.
 
 Screen (const char *filename, bool pause_race=true)
 Creates a screen populated by the widgets described in a STK GUI file.
 
bool operator== (const char *filename) const
 
void loadFromFile ()
 loads this Screen from the file passed to the constructor
 
bool isLoaded () const
 
void addWidgets ()
 Adds the IrrLicht widgets corresponding to this screen to the IGUIEnvironment.
 
void calculateLayout ()
 Called after all widgets have been added.
 
void manualAddWidget (Widget *w)
 Can be used for custom purposes for which the load-screen-from-XML code won't make it.
 
void manualRemoveWidget (Widget *w)
 Can be used for custom purposes for which the load-screen-from-XML code won't make it.
 
void setUpdateInBackground (bool value)
 When set to true it updates the screen even if modal dialog is opened.
 
bool getUpdateInBackground ()
 
const std::string & getName () const
 
virtual void unload ()
 Next time this menu needs to be shown, don't use cached values, re-calculate everything.
 
bool needs3D ()
 Will be called to determine if the 3D scene must be rendered when at this screen.
 
void setNeeds3D (bool needs3D)
 Invoke this method for screens that use a 3D scene as background.
 
virtual void loadedFromFile ()=0
 Callback invoked when loading this menu.
 
virtual void unloaded ()
 Callback invoked when this screen is being unloaded.
 
virtual void beforeAddingWidget ()
 Optional callback invoked very early, before widgets have been added (contrast with init(), which is invoked afer widgets were added)
 
virtual void init ()
 Callback invoked when entering this menu (after the widgets have been added).
 
void push ()
 Displays this screen bu pushing it onto the stack of screen in the state manager.
 
virtual void tearDown ()
 Callback invoked before leaving this menu.
 
virtual bool onEscapePressed ()
 Called when escape is pressed.
 
virtual void eventCallback (Widget *widget, const std::string &name, const int playerID)=0
 will be called everytime something happens.
 
virtual void onUpdate (float dt)
 optional callback you can override to be notified at every frame.
 
virtual void onDraw (float dt)
 optional callback you can override to be notified at every frame.
 
virtual MusicInformationgetMusic () const
 
virtual MusicInformationgetInGameMenuMusic () const
 
virtual int getWidth ()
 
virtual int getHeight ()
 
virtual bool isResizable () const
 
virtual EventPropagation filterActions (PlayerAction action, int deviceID, const unsigned int value, Input::InputType type, int playerId)
 Override this if you need to be notified of player actions in subclasses.
 
virtual void onDisabledItemClicked (const std::string &item)
 Callback you can use if you want to know when the user pressed on a disabled ribbon item.
 
virtual void filterInput (Input::InputType type, int deviceID, int btnID, int axisDir, int value)
 Override this if you need to be notified of raw input in subclasses.
 
virtual void onDialogClose ()
 Callback that gets called when a dialog is closed.
 
virtual void onFocusChanged (Widget *previous, Widget *focus, int playerID)
 Callback called when focus changes.
 
- Public Member Functions inherited from GUIEngine::AbstractTopLevelContainer
virtual int getWidth ()=0
 
virtual int getHeight ()=0
 
WidgetgetWidget (const char *name)
 This function returns a widget by name if that widget is found.
 
WidgetgetWidget (const int id)
 This function returns a widget by irrlicht ID if that widget is found.
 
template<typename T >
T * getWidget (const char *name)
 This function searches and returns a widget by name, cast as specified type, if that widget is found and the type is correct.
 
WidgetgetFirstWidget (PtrVector< Widget > *within_vector=NULL)
 This function returns the first widget found in within_vector.
 
WidgetgetLastWidget (PtrVector< Widget > *within_vector=NULL)
 This function returns the last widget found in within_vector.
 
void elementsWereDeleted (PtrVector< Widget > *within_vector=NULL)
 This function is called when screen is removed.
 
bool isMyChild (Widget *widget) const
 This function checks if a widget is a child of the container.
 
virtual bool enableScreenPadding () const
 

Protected Member Functions

void addTracks ()
 display all the tracks according to the current gp For a normal gp info dialog, it just creates a label for every track.
 
void addScreenshot ()
 Creates a screenshot widget in the placeholder of the GUI.
 
void updateRandomGP ()
 
GrandPrixData::GPReverseType getReverse () const
 Converts the currently selected reverse status into a value of type GPReverseType .
 
- Protected Member Functions inherited from GUIEngine::AbstractTopLevelContainer
void addWidgetsRecursively (PtrVector< Widget > &widgets, Widget *parent=NULL)
 This function adds a list of widgets recursively, effectively creating the hierarchy of widgets.
 

Protected Attributes

float m_curr_time
 
GrandPrixData m_gp
 The grand prix data.
 
- Protected Attributes inherited from GUIEngine::Screen
bool m_resizable
 True if this screen is resizable.
 
- Protected Attributes inherited from GUIEngine::AbstractTopLevelContainer
PtrVector< Widget, HOLD > m_widgets
 the widgets in this screen
 
Widgetm_first_widget
 AbstractTopLevelContainer is generally able to determine its first widget just fine, but in highly complex screens (e.g.
 
Widgetm_last_widget
 AbstractTopLevelContainer is generally able to determine its last widget just fine, but in highly complex screens (e.g.
 

Private Member Functions

int getMaxNumTracks (std::string group)
 Get number of available tracks for random GPs.
 
void updateHighscores ()
 Load highscores for grandprix.
 

Private Attributes

GUIEngine::SpinnerWidgetm_group_spinner
 Spinner for the different track groups.
 
GUIEngine::SpinnerWidgetm_reverse_spinner
 Spinner for reverse mode.
 
GUIEngine::SpinnerWidgetm_num_tracks_spinner
 Spinner for number of tracks (in case of random GP).
 
GUIEngine::SpinnerWidgetm_ai_kart_spinner
 Spinner for number of AI karts.
 
GUIEngine::SpinnerWidgetm_time_target_spinner
 Spinner for time target in Lap Trial.
 
GUIEngine::ListWidgetm_highscore_list
 List with last 5 highscores.
 
std::string m_group_name
 The currently selected group name.
 
std::vector< std::string > m_group_names
 The untranslated group names, used as internal IDs.
 
int m_max_num_tracks
 Number of available tracks.
 
irr::gui::STKModifiedSpriteBank * m_icon_bank
 
int m_unknown_kart_icon
 Icon for unknown kart in highscore list.
 

Additional Inherited Members

- Static Public Member Functions inherited from GUIEngine::Screen
static void parseScreenFileDiv (irr::io::IXMLReader *xml, PtrVector< Widget > &append_to, irr::gui::IGUIElement *parent=NULL)
 Loads a GUI screen from its XML file.
 
- Static Public Member Functions inherited from GUIEngine::AbstractTopLevelContainer
static WidgetgetWidget (const char *name, PtrVector< Widget > *within_vector)
 This function returns a widget by name if that widget is found in within_vector.
 
static WidgetgetWidget (const int id, PtrVector< Widget > *within_vector)
 This function returns a widget by irrlicht ID if that widget is found.
 
- Static Public Member Functions inherited from GUIEngine::ScreenSingleton< GPInfoScreen >
static GPInfoScreengetInstance ()
 
- Static Protected Attributes inherited from GUIEngine::ScreenSingleton< GPInfoScreen >
static GPInfoScreensingleton
 

Detailed Description

Dialog that shows information about a specific grand prix.

Member Function Documentation

◆ addTracks()

void GPInfoScreen::addTracks ( )
protected

display all the tracks according to the current gp For a normal gp info dialog, it just creates a label for every track.

Updates the list of tracks shown.

But with a random gp info dialog, it tries to reuse as many labels as possible by just changing their text.

◆ beforeAddingWidget()

void GPInfoScreen::beforeAddingWidget ( )
virtual

Optional callback invoked very early, before widgets have been added (contrast with init(), which is invoked afer widgets were added)

Reimplemented from GUIEngine::Screen.

◆ eventCallback()

void GPInfoScreen::eventCallback ( GUIEngine::Widget ,
const std::string &  name,
const int  player_id 
)
virtual

Handle user input.

Implements GUIEngine::Screen.

◆ init()

void GPInfoScreen::init ( )
virtual

Called before the screen is shown.

It adds the screenshot icon, and initialises all widgets depending on GP mode (random or not), if a saved GP is available etc.

Reimplemented from GUIEngine::Screen.

◆ loadedFromFile()

void GPInfoScreen::loadedFromFile ( )
virtual

Called when the stkgui file is read.

It stores the pointer to various widgets and adds the right names for reverse mode.

Implements GUIEngine::Screen.

◆ onUpdate()

void GPInfoScreen::onUpdate ( float  dt)
virtual

Called every update.

Used to cycle the screenshots.

Parameters
dtTime step size.

Reimplemented from GUIEngine::Screen.

◆ setGP()

void GPInfoScreen::setGP ( const std::string &  gp_ident)

Sets the GP to be displayed.

If the identifier is 'random', no gp info will be loaded.

◆ unloaded()

void GPInfoScreen::unloaded ( )
virtual

Callback invoked when this screen is being unloaded.

Override this method in children classes if you need to be notified of this.

Note
A Screen object instance may be unloaded then loaded back at will.
An unloaded Screen object does not have its children widgets anymore, it only retains its members (most importantly the path to its GUI file) so that it can be loaded back later.

Reimplemented from GUIEngine::Screen.


The documentation for this class was generated from the following files: