SuperTuxKart
|
#include <server_selection.hpp>
Public Member Functions | |
virtual void | loadedFromFile () OVERRIDE |
implement callback from parent class GUIEngine::Screen More... | |
virtual void | eventCallback (GUIEngine::Widget *widget, const std::string &name, const int playerID) OVERRIDE |
implement callback from parent class GUIEngine::Screen | |
virtual void | beforeAddingWidget () OVERRIDE |
implement callback from parent class GUIEngine::Screen More... | |
virtual void | onColumnClicked (int column_id, bool sort_desc, bool sort_default) OVERRIDE |
Change the sort order if a column was clicked. More... | |
virtual void | init () OVERRIDE |
Triggers a refresh of the server list. | |
virtual void | tearDown () OVERRIDE |
Clean up. | |
virtual void | unloaded () OVERRIDE |
Callback invoked when this screen is being unloaded. More... | |
virtual void | onUpdate (float dt) OVERRIDE |
implement callback from parent class GUIEngine::Screen More... | |
virtual void | onTextUpdated () OVERRIDE |
virtual bool | onEnterPressed (const irr::core::stringw &text) OVERRIDE |
void | copyFromServerList () |
GUIEngine::ListWidget * | getServerList () const |
![]() | |
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. More... | |
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. 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... | |
void | push () |
Displays this screen bu pushing it onto the stack of screen in the state manager. More... | |
virtual bool | onEscapePressed () |
Called when escape is pressed. More... | |
virtual void | onDraw (float dt) |
optional callback you can override to be notified at every frame. | |
virtual MusicInformation * | getMusic () const |
virtual MusicInformation * | getInGameMenuMusic () 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. 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. | |
virtual void | onDialogClose () |
Callback that gets called when a dialog is closed. More... | |
virtual void | onFocusChanged (Widget *previous, Widget *focus, int playerID) |
Callback called when focus changes. | |
![]() | |
Widget * | getWidget (const char *name) |
This function returns a widget by name if that widget is found. More... | |
Widget * | getWidget (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... | |
Widget * | getFirstWidget (PtrVector< Widget > *within_vector=NULL) |
This function returns the first widget found in within_vector. More... | |
Widget * | getLastWidget (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... | |
virtual bool | enableScreenPadding () const |
Private Member Functions | |
ServerSelection () | |
Constructor, which loads the stkgui file. | |
~ServerSelection () | |
Destructor. | |
void | loadList () |
Load the servers into the main list. More... | |
void | updateHeader () |
void | refresh () |
Requests the servers manager to update its list of servers, and disables the 'refresh' button (till the refresh was finished). | |
Private Attributes | |
std::vector< std::shared_ptr< Server > > | m_servers |
GUIEngine::CheckBoxWidget * | m_private_server |
GUIEngine::CheckBoxWidget * | m_ipv6 |
GUIEngine::IconButtonWidget * | m_reload_widget |
GUIEngine::IconButtonWidget * | m_bookmark_widget |
video::ITexture * | m_bookmark_icon |
video::ITexture * | m_global_icon |
GUIEngine::LabelWidget * | m_update_status |
GUIEngine::ListWidget * | m_server_list_widget |
GUIEngine::TextBoxWidget * | m_searcher |
irr::gui::STKModifiedSpriteBank * | m_icon_bank |
bool | m_sort_desc |
To check (and set) if sort order is descending. | |
int | m_current_column |
bool | m_refreshing_server |
float | m_refresh_timer |
bool | m_ipv6_only_without_nat64 |
bool | m_ip_warning_shown |
int64_t | m_last_load_time |
std::shared_ptr< ServerList > | m_server_list |
Friends | |
class | GUIEngine::ScreenSingleton< ServerSelection > |
Additional Inherited Members | |
![]() | |
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 Widget * | getWidget (const char *name, PtrVector< Widget > *within_vector) |
This function returns a widget by name if that widget is found in within_vector. More... | |
static Widget * | getWidget (const int id, PtrVector< Widget > *within_vector) |
This function returns a widget by irrlicht ID if that widget is found. More... | |
![]() | |
static ServerSelection * | getInstance () |
![]() | |
void | addWidgetsRecursively (PtrVector< Widget > &widgets, Widget *parent=NULL) |
This function adds a list of widgets recursively, effectively creating the hierarchy of widgets. More... | |
![]() | |
bool | m_resizable |
True if this screen is resizable. | |
![]() | |
PtrVector< Widget, HOLD > | m_widgets |
the widgets in this screen | |
Widget * | m_first_widget |
AbstractTopLevelContainer is generally able to determine its first widget just fine, but in highly complex screens (e.g. More... | |
Widget * | m_last_widget |
AbstractTopLevelContainer is generally able to determine its last widget just fine, but in highly complex screens (e.g. More... | |
![]() | |
static ServerSelection * | singleton |
|
virtual |
implement callback from parent class GUIEngine::Screen
Clear the server list, which will be reloaded.
Reimplemented from GUIEngine::Screen.
|
virtual |
implement callback from parent class GUIEngine::Screen
Set pointers to the various widgets.
Implements GUIEngine::Screen.
|
private |
Load the servers into the main list.
Loads the list of all servers.
The gui element will be updated.
|
virtual |
Change the sort order if a column was clicked.
column_id | ID of the column that was clicked. |
Implements GUIEngine::IListWidgetHeaderListener.
|
virtual |
implement callback from parent class GUIEngine::Screen
If a refresh of the server list was requested, check if it is finished and if so, update the list of servers.
Reimplemented from GUIEngine::Screen.
|
virtual |
Callback invoked when this screen is being unloaded.
Override this method in children classes if you need to be notified of this.
Reimplemented from GUIEngine::Screen.