SuperTuxKart
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
RegisterScreen Class Reference

Screen to register an online account. More...

#include <register_screen.hpp>

Inheritance diagram for RegisterScreen:
Inheritance graph
[legend]

Public Member Functions

virtual void loadedFromFile () OVERRIDE
 implement callback from parent class GUIEngine::Screen
 
virtual void onUpdate (float dt) OVERRIDE
 optional callback you can override to be notified at every frame.
 
virtual bool onEscapePressed () OVERRIDE
 Called when escape is pressed. More...
 
virtual void onDialogClose () OVERRIDE
 Will be called first time STK is started, when the 'internet yes/no' dialog is closed. More...
 
virtual void onFocusChanged (GUIEngine::Widget *previous, GUIEngine::Widget *focus, int playerID) OVERRIDE
 Callback called when focus changes.
 
void setRename (PlayerProfile *player)
 
void acceptTerms ()
 Called from the registration info dialog when 'accept' is clicked.
 
virtual void eventCallback (GUIEngine::Widget *widget, const std::string &name, const int playerID) OVERRIDE
 implement callback from parent class GUIEngine::Screen
 
void setParent (BaseUserScreen *us)
 Set the parent screen. More...
 
- Public Member Functions inherited from GUIEngine::Screen
 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. More...
 
bool operator== (const char *filename) const
 
void loadFromFile ()
 loads this Screen from the file passed to the constructor
 
bool isLoaded () const
 
bool throttleFPS () const
 
void addWidgets ()
 Adds the IrrLicht widgets corresponding to this screen to the IGUIEnvironment.
 
void calculateLayout ()
 Called after all widgets have been added. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void unloaded ()
 Callback invoked when this screen is being unloaded. More...
 
virtual void beforeAddingWidget ()
 Optional callback invoked very early, before widgets have been added (contrast with init(), which is invoked afer widgets were added)
 
void push ()
 Displays this screen bu pushing it onto the stack of screen in the state manager. More...
 
virtual void tearDown ()
 Callback invoked before leaving this menu. More...
 
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 ()
 Implementing method from AbstractTopLevelContainer.
 
virtual int getHeight ()
 Implementing method from AbstractTopLevelContainer.
 
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. More...
 
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.
 
- Public Member Functions inherited from GUIEngine::AbstractTopLevelContainer
WidgetgetWidget (const char *name)
 This function returns a widget by name if that widget is found. More...
 
WidgetgetWidget (const int id)
 This function returns a widget by irrlicht ID if that widget is found. More...
 
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. More...
 
WidgetgetFirstWidget (PtrVector< Widget > *within_vector=NULL)
 This function returns the first widget found in within_vector. More...
 
WidgetgetLastWidget (PtrVector< Widget > *within_vector=NULL)
 This function returns the last widget found in within_vector. More...
 
void elementsWereDeleted (PtrVector< Widget > *within_vector=NULL)
 This function is called when screen is removed. More...
 
bool isMyChild (Widget *widget) const
 This function checks if a widget is a child of the container. More...
 

Private Types

enum  { ACCOUNT_NEW_ONLINE, ACCOUNT_EXISTING_ONLINE, ACCOUNT_OFFLINE }
 Which kind of account to create: new online account, new account using an existing online account, offline account. More...
 

Private Member Functions

void makeEntryFieldsVisible ()
 Shows or hides the entry fields for online registration, depending on online mode. More...
 
void handleLocalName (const irr::core::stringw &local_name)
 If necessary creates the local user. More...
 
void doRegister ()
 Handles the actual registration process. More...
 
void init () OVERRIDE
 Callback invoked when entering this menu (after the widgets have been added). More...
 

Private Attributes

GUIEngine::LabelWidgetm_info_widget
 Save the pointer to the info widget, it is widely used. More...
 
GUIEngine::RibbonWidgetm_options_widget
 Save the pointer to the options widget, it is widely used. More...
 
GUIEngine::TextBoxWidgetm_password_widget
 Save the pointer to the options widget, it is widely used. More...
 
std::shared_ptr< Online::XMLRequestm_signup_request
 The XML request to the server. More...
 
PlayerProfilem_existing_player
 Pointer to an existing player if the screen is doing a rename, NULL otherwise. More...
 
bool m_info_message_shown
 True if the info message (email was sent...) is shown. More...
 
enum RegisterScreen:: { ... }  m_account_mode
 Which kind of account to create: new online account, new account using an existing online account, offline account. More...
 
BaseUserScreenm_parent_screen
 A pointer to the parent UserScreen, in order to allow this screen to pass information back. More...
 

Friends

class GUIEngine::ScreenSingleton< RegisterScreen >
 

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. More...
 
- 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. More...
 
static WidgetgetWidget (const int id, PtrVector< Widget > *within_vector)
 This function returns a widget by irrlicht ID if that widget is found. More...
 
- Static Public Member Functions inherited from GUIEngine::ScreenSingleton< RegisterScreen >
static RegisterScreengetInstance ()
 
- 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. More...
 
- Protected Attributes inherited from GUIEngine::Screen
bool m_throttle_FPS
 
- 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. More...
 
Widgetm_last_widget
 AbstractTopLevelContainer is generally able to determine its last widget just fine, but in highly complex screens (e.g. More...
 
- Static Protected Attributes inherited from GUIEngine::ScreenSingleton< RegisterScreen >
static RegisterScreensingleton
 

Detailed Description

Screen to register an online account.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Which kind of account to create: new online account, new account using an existing online account, offline account.

Member Function Documentation

◆ doRegister()

void RegisterScreen::doRegister ( )
private

Handles the actual registration process.

It does some tests on id, password and email address, then submits a corresponding request.

◆ handleLocalName()

void RegisterScreen::handleLocalName ( const irr::core::stringw &  local_name)
private

If necessary creates the local user.

Parameters
local_nameName of the local user.

◆ init()

void RegisterScreen::init ( )
privatevirtual

Callback invoked when entering this menu (after the widgets have been added).

Initialisation before the object is displayed.

Note
The same instance of your object may be entered/left more than once, so make sure that one instance of your object can be used several times if the same screen is visited several times.

If necessary this function will pause the race if it is running (i.e. world exists). While only some of the screen can be shown during the race (via the in-game menu you can get the options screen and the help screens only). This is used by the RaceResultGUI to leave the race running (for the end animation) while the results are being shown.

Reimplemented from GUIEngine::Screen.

◆ makeEntryFieldsVisible()

void RegisterScreen::makeEntryFieldsVisible ( )
private

Shows or hides the entry fields for online registration, depending on online mode.

Parameters
onlineTrue if an online account should be created.

◆ onDialogClose()

void RegisterScreen::onDialogClose ( )
virtual

Will be called first time STK is started, when the 'internet yes/no' dialog is closed.

Adjust the state of the online checkbox depending on that answer.

Reimplemented from GUIEngine::Screen.

◆ onEscapePressed()

bool RegisterScreen::onEscapePressed ( )
virtual

Called when escape is pressed.

Returns
true if the screen should be closed, false if you handled the press another way

Reimplemented from GUIEngine::Screen.

◆ setParent()

void RegisterScreen::setParent ( BaseUserScreen us)
inline

Set the parent screen.

Member Data Documentation

◆ m_account_mode

enum { ... } RegisterScreen::m_account_mode

Which kind of account to create: new online account, new account using an existing online account, offline account.

◆ m_existing_player

PlayerProfile* RegisterScreen::m_existing_player
private

Pointer to an existing player if the screen is doing a rename, NULL otherwise.

◆ m_info_message_shown

bool RegisterScreen::m_info_message_shown
private

True if the info message (email was sent...) is shown.

◆ m_info_widget

GUIEngine::LabelWidget* RegisterScreen::m_info_widget
private

Save the pointer to the info widget, it is widely used.

◆ m_options_widget

GUIEngine::RibbonWidget* RegisterScreen::m_options_widget
private

Save the pointer to the options widget, it is widely used.

◆ m_parent_screen

BaseUserScreen* RegisterScreen::m_parent_screen
private

A pointer to the parent UserScreen, in order to allow this screen to pass information back.

◆ m_password_widget

GUIEngine::TextBoxWidget* RegisterScreen::m_password_widget
private

Save the pointer to the options widget, it is widely used.

◆ m_signup_request

std::shared_ptr<Online::XMLRequest> RegisterScreen::m_signup_request
private

The XML request to the server.


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