SuperTuxKart
|
A progress bar widget. More...
#include <kart_stats_widget.hpp>
Public Types | |
enum | Stats { SKILL_MASS , SKILL_SPEED , SKILL_ACCELERATION , SKILL_NITRO_EFFICIENCY , SKILL_COUNT } |
Public Member Functions | |
KartStatsWidget (core::recti area, const int player_id, std::string kart_group, bool multiplayer, bool display_icons) | |
virtual void | add () |
Add the widgets to the current screen. | |
virtual void | move (const int x, const int y, const int w, const int h) |
Move the widget and its children. | |
void | onUpdate (float delta) |
Updates the animation (moving/shrinking/etc.) | |
void | setSize (const int x, const int y, const int w, const int h) |
Event callback. | |
void | setValues (const KartProperties *props, HandicapLevel h) |
void | hideAll () |
void | setValue (Stats type, float value) |
Change the value of the widget, it must be a percent. | |
float | getValue (Stats type) |
Get the current values of the widget. | |
void | setDisplayIcons (bool display_icons) |
If the icons should be displayed. | |
Public Member Functions inherited from GUIEngine::Widget | |
Widget (WidgetType type, bool reserve_id=false) | |
virtual void | setEventCallbackActive (Input::InputType type, bool active) |
Allow (or not) an event callback for this widget based on input type. | |
virtual bool | isEventCallbackActive (Input::InputType type) const |
Return if there should be an event callback for this widget based on input type. | |
void | setParent (irr::gui::IGUIElement *parent) |
Set the irrlicht widget to be used as parent of this widget next time Widget::add() is invoked on this widget. | |
virtual void | setVisible (bool visible) |
Sets the widget (and its children, if any) visible or not. | |
virtual void | setCollapsed (bool collapsed, Screen *calling_screen=NULL) |
Sets the widget (and its children, if any) collapsed or not. | |
virtual void | setCollapsed (bool collapsed, int uncollapsed_height, Screen *calling_screen=NULL) |
Sets the widget (and its children, if any) collapsed or not. | |
bool | isVisible () const |
Returns if the element is visible. | |
bool | isCollapsed () const |
Returns whether the element is collapsed (through setCollapsed). | |
bool | isActivated () const |
virtual EventPropagation | onActivationInput (const int playerID) |
virtual void | move (const int x, const int y, const int w, const int h) |
Call to resize/move the widget. | |
bool | isSelected (const int playerID) const |
Get whether this widget is selected (only makes sense in some cases where a widget is part of a bigger widget, e.g. | |
void | setSelected (const int playerID, bool state) |
bool | isBottomBar () const |
bool | isTopBar () const |
bool | ok () const |
virtual EventPropagation | onClick () |
Gets called when the widget is active and got clicked. | |
virtual irr::core::dimension2di | getDimension () const |
virtual void | setActive (bool active=true) |
Sets an widget to be either activated or deactivated (i.e. | |
template<typename T > | |
T * | getIrrlichtElement () |
Get the underlying irrLicht GUI element, casted to the right type. | |
template<typename T > | |
const T * | getIrrlichtElement () const |
Get the underlying irrLicht GUI element, casted to the right type; const version. | |
irr::gui::IGUIElement * | getIrrlichtElement () |
Get the underlying irrLicht GUI element. | |
void | moveIrrlichtElement () |
bool | isSameIrrlichtWidgetAs (const Widget *ref) const |
virtual void | setText (const irr::core::stringw &s) |
Sets the text of a widget from a wchar_t. | |
const irr::core::stringw & | getText () const |
Returns the text of a widget. | |
WidgetType | getType () const |
int | getID () const |
Get the irrlicht widget ID attributed to this widget. | |
bool | isFocusable () const |
Get whether this object is allowed to receive focus. | |
void | setFocusable (bool f) |
void | setFocusForPlayer (const int playerID) |
Focus the widget for the given player. | |
bool | isFocusedForPlayer (const int playerID) |
Find whether this widget is focused by a given player. | |
void | unsetFocusForPlayer (const int playerID) |
Internal method, do not call it. | |
const PtrVector< Widget > & | getChildren () const |
PtrVector< Widget > & | getChildren () |
bool | deleteChild (const char *id) |
removes and deletes the child with the given PROP_ID | |
virtual void | update (float delta) |
Override in children to possibly receive updates (you may need to register to them first) | |
virtual EventPropagation | transmitEvent (Widget *w, const std::string &originator, const int playerID) |
All widgets, including their parents (m_event_handler) will be notified on event through this call. | |
virtual void | elementRemoved () |
Called when irrLicht widgets cleared. | |
bool | searchInsideMe () const |
void | setBadge (BadgeType badge_bit) |
adds a particular badge to this widget. | |
void | unsetBadge (BadgeType badge_bit) |
removes a particular bade from this widget, if it had it. | |
void | resetAllBadges () |
sets this widget to have no badge | |
int | getBadges () const |
Get which badges are currently on this widget. | |
bool | hasTooltip () const |
irr::core::stringw | getTooltipText () const |
Only call if hasTooltip() returned true. | |
void | setTooltip (irr::core::stringw s) |
Private Member Functions | |
virtual int | getWidthNeededAroundLabel () const |
When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough. | |
virtual int | getHeightNeededAroundLabel () const |
When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough. | |
void | setSkillValues (Stats skill_type, float value, const std::string icon_name, const std::string skillbar_propID, const irr::core::stringw icon_tooltip) |
Private Attributes | |
int | m_skill_bar_x |
widget coordinates These are not the actual coordinates of any of the skill bars but only (badly named) intermediate values | |
int | m_skill_bar_y |
int | m_skill_bar_h |
int | m_skill_bar_w |
int | m_player_id |
std::vector< SkillLevelWidget * > | m_skills |
Additional Inherited Members | |
Static Public Member Functions inherited from GUIEngine::Widget | |
static void | resetIDCounters () |
When switching to a new screen, this function will be called to reset ID counters (so we start again from ID 0, and don't grow to big numbers) | |
static int | getNewID () |
Provides a new unique ID on each call, for widgets that can be focused. | |
static int | getNewNoFocusID () |
Provides a new unique ID on each call, for widgets that can not be focused. | |
static bool | isFocusableId (const int id) |
get whether the given ID represents an ID of a widget that can be focused | |
Public Attributes inherited from GUIEngine::Widget | |
Widget * | m_event_handler |
This is set to NULL by default; set to something else in a widget to mean that events happening on this widget should also be passed to m_event_handler->transmitEvent, which is usually the parent analysing events from its children. | |
bool | m_supports_multiplayer |
Whether this widget supports multiplayer interaction (i.e. | |
int | m_tab_down_root |
Instead of searching for widget IDs smaller/greater than that of this object, navigation through widgets will start from these IDs (if they are set). | |
int | m_tab_up_root |
Instead of searching for widget IDs smaller/greater than that of this object, navigation through widgets will start from these IDs (if they are set). | |
int | m_x |
Coordinates of the widget once added (the difference between those x/h and PROP_WIDTH/PROP_HEIGHT is that the props are read in raw form from the XML file; PROP_WIDTH can then be e.g. | |
int | m_y |
int | m_w |
int | m_h |
bool | m_show_bounding_box |
Whether to show a bounding box around this widget (used for sections) | |
bool | m_is_bounding_box_round |
Only used if m_show_bounding_box is true. | |
int | m_reserved_id |
Used in two cases : 1) For 'placeholder' divisions; at the time the layout is created, there is nothing to place there yet, but we know there eventually will. | |
std::map< Property, std::string > | m_properties |
A map that holds values for all specified widget properties (in the XML file) | |
Public Attributes inherited from GUIEngine::SkinWidgetContainer | |
int | m_skin_x |
int | m_skin_y |
int | m_skin_w |
int | m_skin_h |
bool | m_skin_dest_areas_inited |
bool | m_skin_dest_areas_yflip_inited |
int | m_skin_dest_x |
int | m_skin_dest_y |
int | m_skin_dest_x2 |
int | m_skin_dest_y2 |
core::rect< s32 > | m_skin_dest_area_left |
core::rect< s32 > | m_skin_dest_area_center |
core::rect< s32 > | m_skin_dest_area_right |
core::rect< s32 > | m_skin_dest_area_top |
core::rect< s32 > | m_skin_dest_area_bottom |
core::rect< s32 > | m_skin_dest_area_top_left |
core::rect< s32 > | m_skin_dest_area_top_right |
core::rect< s32 > | m_skin_dest_area_bottom_left |
core::rect< s32 > | m_skin_dest_area_bottom_right |
core::rect< s32 > | m_skin_dest_area_left_yflip |
core::rect< s32 > | m_skin_dest_area_center_yflip |
core::rect< s32 > | m_skin_dest_area_right_yflip |
core::rect< s32 > | m_skin_dest_area_top_yflip |
core::rect< s32 > | m_skin_dest_area_bottom_yflip |
core::rect< s32 > | m_skin_dest_area_top_left_yflip |
core::rect< s32 > | m_skin_dest_area_top_right_yflip |
core::rect< s32 > | m_skin_dest_area_bottom_left_yflip |
core::rect< s32 > | m_skin_dest_area_bottom_right_yflip |
short | m_skin_r |
short | m_skin_g |
short | m_skin_b |
Protected Member Functions inherited from GUIEngine::Widget | |
virtual EventPropagation | rightPressed (const int playerID) |
called when right key is pressed and focus is on widget. | |
virtual EventPropagation | leftPressed (const int playerID) |
called when left key is pressed and focus is on widget. | |
virtual EventPropagation | upPressed (const int playerID) |
called when up key is pressed and focus is on widget. | |
virtual EventPropagation | downPressed (const int playerID) |
called when down key is pressed and focus is on widget. | |
virtual EventPropagation | mouseHovered (Widget *child, const int playerID) |
used when you set eventSupervisors - see m_event_handler explainations below called when one of a widget's children is hovered. | |
virtual EventPropagation | focused (const int playerID) |
override in children if you need to know when the widget is focused. | |
virtual void | unfocused (const int playerID, Widget *new_focus) |
override in children if you need to know when the widget is unfocused. | |
Protected Attributes inherited from GUIEngine::Widget | |
unsigned int | m_magic_number |
std::bitset< Input::IT_LAST+1 > | m_active_event_callback |
int | m_absolute_x |
Used during loading, by the layout engine. | |
int | m_absolute_y |
int | m_absolute_w |
int | m_absolute_h |
int | m_absolute_reverse_x |
int | m_absolute_reverse_y |
float | m_relative_x |
float | m_relative_y |
float | m_relative_w |
float | m_relative_h |
irr::core::stringw | m_text |
PROP_TEXT is a special case : since it can be translated it can't go in the map above, which uses narrow strings. | |
bool | m_title_font |
When true, this widget shall use a bigger and more colourful font. | |
bool | m_selected [MAX_PLAYER_COUNT] |
Can be used in children to indicate whether a widget is selected or not. | |
bool | m_check_inside_me |
Whether to descend in the children of this widget when searching a widget from its ID or name. | |
irr::gui::IGUIElement * | m_parent |
An irrlicht parent (most often used to put widgets in dialogs) | |
irr::gui::IGUIElement * | m_element |
IrrLicht widget created to represent this object. | |
int | m_id |
numerical ID used by irrLicht to identify this widget (not the same as the string identificator specified in the XML file) | |
bool | m_player_focus [MAX_PLAYER_COUNT] |
Usually, only one widget at a time can be focused. | |
bool | m_reserve_id |
Whether to reserve an ID in 'm_reserved_id' when widget is added. | |
WidgetType | m_type |
Type of this widget. | |
PtrVector< Widget > | m_children |
If this widget has any children, they go here. | |
int | m_badges |
A bitmask of which badges to show, if any; choices are *_BADGE, defined above. | |
bool | m_deactivated |
A simple flag that can be raised to deactivate this widget. | |
bool | m_is_visible |
A flag to indicate whether this widget should be visible or not. | |
bool | m_focusable |
Set to false if widget is something that should not receive focus. | |
bool | m_bottom_bar |
bool | m_top_bar |
int | m_badge_x_shift |
If a badge wouldn't look too pretty on the very side of the widget. | |
bool | m_has_tooltip |
irr::core::stringw | m_tooltip_text |
int | m_uncollapsed_height |
height of the widget before it was collapsed (only set if widget got collapsed) | |
bool | m_is_collapsed |
A flag to indicate whether this widget got collapsed. | |
A progress bar widget.
|
virtual |
Add the widgets to the current screen.
Reimplemented from GUIEngine::Widget.
|
inlineprivatevirtual |
When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough.
Reimplemented from GUIEngine::Widget.
float KartStatsWidget::getValue | ( | Stats | type | ) |
Get the current values of the widget.
Get value for given type.
|
inlineprivatevirtual |
When inferring widget size from its label length, this method will be called to if/how much space must be added to the raw label's size for the widget to be large enough.
Reimplemented from GUIEngine::Widget.
|
virtual |
Move the widget and its children.
Reimplemented from GUIEngine::Widget.
void KartStatsWidget::setSize | ( | const int | x, |
const int | y, | ||
const int | w, | ||
const int | h | ||
) |
Event callback.
Set size for widgets inside KartStatsWidget.
Sets the size of the widget as a whole, and placed children widgets inside itself
void KartStatsWidget::setValue | ( | Stats | type, |
float | value | ||
) |
Change the value of the widget, it must be a percent.
Set value for given type.