Removed trailing tabs and whitespaces from C++ source

[ci skip]

I ran the same command from 9b7b1751fd.

Excludes:
* lua/
* spirit_po/
* modules/
This commit is contained in:
Charles Dang 2021-02-22 12:12:52 +11:00
parent b2baa10f96
commit 56364cc03c
55 changed files with 207 additions and 207 deletions

View file

@ -151,7 +151,7 @@ typedef std::tuple<bool /*event modified*/, int /*previous village owner side*/,
* @param cost the unit's cost.
* @param is_recall whether the unit was recalled.
* @param facing the desired facing for the unit, map_location::NDIRECTIONS to determine facing automatically.
* @param show
* @param show
* @param fire_event whether to fire events for the unit placement.
* @param full_movement whether the unit starts with full movement points.
* @param wml_triggered whether this was triggered via WML.
@ -183,7 +183,7 @@ void recruit_unit(const unit_type & u_type, int side_num, const map_location & l
* @param loc the location it was recalled onto.
* @param from the location it was recalled from.
* @param facing the desired facing for the unit, map_location::NDIRECTIONS to determine facing automatically.
* @param show
* @param show
* @param use_undo if it's possible to undo the recall.
* @returns false if the recall could not be found in the team's recall list.
*/

View file

@ -736,7 +736,7 @@ protected:
bool dont_show_all_; //const team *viewpoint_;
/**
* Position of the top-left corner of the viewport, in pixels.
*
*
* Dependent on zoom_.. For example, ypos_==72 only means we're one
* hex below the top of the map when zoom_ == 72 (the default value).
*/
@ -984,7 +984,7 @@ public:
* @param x The x coordinate.
* @param y The y coordinate.
* @param surf The surface to use.
* @param clip
* @param clip
*/
void drawing_buffer_add(const drawing_layer layer,
const map_location& loc, int x, int y, const surface& surf,

View file

@ -78,7 +78,7 @@ public:
private :
/** Internal unit pointer. */
internal_ptr unit_;
internal_ptr unit_;
/** Raw pointer to the manager. */
fake_unit_manager * my_manager_;

View file

@ -67,20 +67,20 @@ public:
{
return stream_.str();
}
// Support manipulators
formatter& operator<<(std::ostream&(*fn)(std::ostream&)) &
{
fn(stream_);
return *this;
}
formatter&& operator<<(std::ostream&(*fn)(std::ostream&)) &&
{
fn(stream_);
return std::move(*this);
}
formatter& operator<<(std::ios_base&(*fn)(std::ios_base&)) &
{
fn(stream_);

View file

@ -19,13 +19,13 @@ namespace gui2 {
/**
* @ingroup GUICanvasWML
*
*
* Definition of a line.
* When drawing a line it doesn't get blended on the surface but replaces the pixels instead.
* A blitting flag might be added later if needed.
*
*
* Keys:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------|----------------------------------------|---------|-----------
* x1 | @ref guivartype_f_unsigned "f_unsigned"|0 |The x coordinate of the startpoint.
* y1 | @ref guivartype_f_unsigned "f_unsigned"|0 |The y coordinate of the startpoint.
@ -34,9 +34,9 @@ namespace gui2 {
* color | @ref guivartype_color "color" |"" |The color of the line.
* thickness | @ref guivartype_unsigned "unsigned" |0 |The thickness of the line; if 0 nothing is drawn.
* debug | @ref guivartype_string "string" |"" |Debug message to show upon creation this message is not stored.
*
*
* Variables:
* Key |Type |Description
* Key |Type |Description
* -------------------|----------------------------------------|-----------
* width | @ref guivartype_unsigned "unsigned" |The width of the canvas.
* height | @ref guivartype_unsigned "unsigned" |The height of the canvas.
@ -45,11 +45,11 @@ namespace gui2 {
* text_maximum_height| @ref guivartype_unsigned "unsigned" |The maximum height available for the text on the widget.
* text_wrap_mode | @ref guivartype_int "int" |When the text doesn't fit in the available width there are several ways to fix that. This variable holds the best method. (NOTE this is a 'hidden' variable meant to copy state from a widget to its canvas so there's no reason to use this variable and thus its values are not listed and might change without further notice.)
* text_alignment | @ref guivartype_h_align "h_align" |The way the text is aligned inside the canvas.
*
*
* The size variables are copied to the window and will be determined at runtime.
* This is needed since the main window can be resized and the dialog needs to resize accordingly.
* The following variables are available:
* Key |Type |Description
* Key |Type |Description
* ---------------|------------------------------------|-----------
* screen_width | @ref guivartype_unsigned "unsigned"|The usable width of the Wesnoth main window.
* screen_height | @ref guivartype_unsigned "unsigned"|The usable height of the Wesnoth main window.
@ -60,11 +60,11 @@ namespace gui2 {
* mouse_y | @ref guivartype_unsigned "unsigned"|The y coordinate of the mouse pointer.
* window_width | @ref guivartype_unsigned "unsigned"|The window width. This value has two meanings during the layout phase. This only applies if automatic placement is not enabled. - When set to 0 it should return the wanted maximum width. If no maximum is wanted it should be set to the '"(screen_width)"'. - When not equal to 0 its value is the best width for the window. When the size should remain unchanged it should be set to '"(window_width)"'.
* window_height | @ref guivartype_unsigned "unsigned"|The window height. This value has two meanings during the layout phase. This only applies if automatic placement is not enabled. - When set to 0 it should return the wanted maximum height. If no maximum is wanted it should be set to the '"(screen_height)"'. - When not equal to 0 its value is the best height for the window. When the size should remain unchanged it should be set to '"(window_height)"'.
*
*
* Note when drawing the valid coordinates are:
* * 0 -> width - 1
* * 0 -> height -1
*
*
* Drawing outside this area will result in unpredictable results including crashing. (That should be fixed, when encountered.)
*/
class line_shape : public canvas::shape {
@ -102,13 +102,13 @@ private:
/**
* @ingroup GUICanvasWML
*
*
* Definition of a rectangle.
* When drawing a rectangle it doesn't get blended on the surface but replaces the pixels instead.
* A blitting flag might be added later if needed.
*
*
* Keys:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------------|----------------------------------------|-------|-----------
* x | @ref guivartype_f_unsigned "f_unsigned"|0 |The x coordinate of the top left corner.
* y | @ref guivartype_f_unsigned "f_unsigned"|0 |The y coordinate of the top left corner.
@ -118,7 +118,7 @@ private:
* border_color | @ref guivartype_color "color" |"" |The color of the border if empty it's not drawn.
* fill_color | @ref guivartype_color "color" |"" |The color of the interior if omitted it's not drawn.
* debug | @ref guivartype_string "string" |"" |Debug message to show upon creation this message is not stored.
*
*
* Variables: see line_shape
*/
class rectangle_shape : public canvas::shape {
@ -165,11 +165,11 @@ private:
/**
* @ingroup GUICanvasWML
*
*
* Definition of a rounded rectangle shape.
* When drawing a rounded rectangle it doesn't get blended on the surface but replaces the pixels instead.
* A blitting flag might be added later if needed.
* Key |Type |Default |Description
* Key |Type |Default |Description
* ----------------|----------------------------------------|---------|-----------
* x | @ref guivartype_f_unsigned "f_unsigned"|0 |The x coordinate of the top left corner.
* y | @ref guivartype_f_unsigned "f_unsigned"|0 |The y coordinate of the top left corner.
@ -226,22 +226,22 @@ private:
/**
* @ingroup GUICanvasWML
*
*
* Definition of a circle.
* When drawing a circle it doesn't get blended on the surface but replaces the pixels instead.
* A blitting flag might be added later if needed.
*
*
* Keys:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------------|----------------------------------------|-------|-----------
* x | @ref guivartype_f_unsigned "f_unsigned"|0 |The x coordinate of the center.
* y | @ref guivartype_f_unsigned "f_unsigned"|0 |The y coordinate of the center.
* radius | @ref guivartype_f_unsigned "f_unsigned"|0 |The radius of the circle; if 0 nothing is drawn.
* color | @ref guivartype_color "color" |"" |The color of the circle.
* debug | @ref guivartype_string "string" |"" |Debug message to show upon creation this message is not stored.
*
*
* Variables: see line_shape
*
*
* Drawing outside the area will result in unpredictable results including crashing. (That should be fixed, when encountered.)
*/
class circle_shape : public canvas::shape {
@ -272,9 +272,9 @@ private:
/**
* @ingroup GUICanvasWML
*
*
* Keys:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------------|------------------------------------------|-------|-----------
* x | @ref guivartype_f_unsigned "f_unsigned" |0 |The x coordinate of the top left corner.
* y | @ref guivartype_f_unsigned "f_unsigned" |0 |The y coordinate of the top left corner.
@ -284,15 +284,15 @@ private:
* vertical_mirror | @ref guivartype_f_bool "f_bool" |false |Mirror the image over the vertical axis.
* name | @ref guivartype_string "string" |"" |The name of the image.
* debug | @ref guivartype_string "string" |"" |Debug message to show upon creation this message is not stored.
*
*
* Variables:
* Key |Type |Description
* Key |Type |Description
* ---------------------|--------------------------------------|-----------
* image_width | @ref guivartype_unsigned "unsigned" |The width of the image, either the requested width or the natural width of the image. This value can be used to set the x (or y) value of the image. (This means x and y are evaluated after the width and height.)
* image_height | @ref guivartype_unsigned "unsigned" |The height of the image, either the requested height or the natural height of the image. This value can be used to set the y (or x) value of the image. (This means x and y are evaluated after the width and height.)
* image_original_width | @ref guivartype_unsigned "unsigned" |The width of the image as stored on disk, can be used to set x or w (also y and h can be set).
* image_original_height| @ref guivartype_unsigned "unsigned" |The height of the image as stored on disk, can be used to set y or h (also x and y can be set).
*
*
* Also the general variables are available, see line_shape
*/
class image_shape : public canvas::shape {
@ -361,8 +361,8 @@ private:
/**
* @ingroup GUICanvasWML
*
* Key |Type |Default |Description
*
* Key |Type |Default |Description
* -------------------|------------------------------------------|---------|-----------
* x | @ref guivartype_f_unsigned "f_unsigned" |0 |The x coordinate of the top left corner.
* y | @ref guivartype_f_unsigned "f_unsigned" |0 |The y coordinate of the top left corner.
@ -380,12 +380,12 @@ private:
* maximum_width | @ref guivartype_f_int "f_int" |-1 |The maximum width the text is allowed to be.
* maximum_height | @ref guivartype_f_int "f_int" |-1 |The maximum height the text is allowed to be.
* debug | @ref guivartype_string "string" |"" |Debug message to show upon creation this message is not stored.
*
*
* NOTE alignment could only be done with the formulas, but now with the text_alignment flag as well,
* older widgets might still use the formulas and not all widgets may expose the text alignment yet and when exposed not use it yet.
*
* older widgets might still use the formulas and not all widgets may expose the text alignment yet and when exposed not use it yet.
*
* Variables:
* Key |Type |Description
* Key |Type |Description
* -------------------|------------------------------------------|-----------
* text_width | @ref guivartype_unsigned "unsigned" |The width of the rendered text.
* text_height | @ref guivartype_unsigned "unsigned" |The height of the rendered text.

View file

@ -41,22 +41,22 @@ struct state_definition
/**
* Base class of a resolution, contains the common keys for a resolution.
*
*
* Depending on the resolution a widget can look different. Resolutions are evaluated in order of appearance.
* The window_width and window_height are the upper limit this resolution is valid for.
* When one of the sizes gets above the limit, the next resolution is selected.
* There's one special case where both values are 0. This resolution always matches.
* (Resolution definitions behind that one will never be picked.)
* This resolution can be used as upper limit or if there's only one resolution.
*
*
* The default (and also minimum) size of a button is determined by two items, the wanted default size and the size needed for the text.
* The size of the text differs per used widget so needs to be determined per button.
*
*
* Container widgets like panels and windows have other rules for their sizes.
* Their sizes are based on the size of their children (and the border they need themselves).
* It's wise to set all sizes to 0 for these kind of widgets.
*
* Key |Type |Default |Description
*
* Key |Type |Default |Description
* -----------------|------------------------------------|---------|-------------
* window_width | @ref guivartype_unsigned "unsigned"|0 |Width of the application window.
* window_height | @ref guivartype_unsigned "unsigned"|0 |Height of the application window.

View file

@ -142,7 +142,7 @@ public:
}
/**
* Key |Type |Default |Description
* Key |Type |Default |Description
* --------------------|----------------------------------------|---------|-------------
* window_width | @ref guivartype_unsigned "unsigned" |0 |Width of the application window.
* window_height | @ref guivartype_unsigned "unsigned" |0 |Height of the application window.
@ -163,16 +163,16 @@ public:
* tooltip | @ref guivartype_section "section" |mandatory|Information regarding the tooltip for this window.
* helptip | @ref guivartype_section "section" |mandatory|Information regarding the helptip for this window.
* grid | @ref guivartype_grid "grid" |mandatory|The grid with the widgets to show.
*
*
* A linked_group section has the following fields and needs to have at least one size fixed:
* Key |Type |Default |Description
* Key |Type |Default |Description
* --------------------|----------------------------------------|---------|-------------
* id | @ref guivartype_string "string" |mandatory|The unique id of the group (unique in this window).
* fixed_width | @ref guivartype_bool "bool" |false |Should widget in this group have the same width.
* fixed_height | @ref guivartype_bool "bool" |false |Should widget in this group have the same height.
*
*
* A tooltip and helptip section have the following field; more fields will probably be added later on:
* Key |Type |Default |Description
* Key |Type |Default |Description
* --------------------|----------------------------------------|---------|-------------
* id | @ref guivartype_string "string" |mandatory|The id of the tip to show.
*/

View file

@ -37,10 +37,10 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* Shows the list of addons on the server available for installation.
* This dialog is under construction and only used with --new-widgets.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* addons | @ref listbox |yes |A listbox that will contain the info about all addons on the server.
* name | control |no |The name of the addon.

View file

@ -31,11 +31,11 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* Clock to test the draw events.
*
*
* This shows the dialog for keeping track of the drawing events related to the current time. (This window is used for debug purposes only.)
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|------------------|---------|-----------
* hour_percentage | progress_bar |no |This shows the hours as a percentage, where 24 hours is 100%.
* minute_percentage | progress_bar |no |This shows the minutes as a percentage, where 60 minutes is 100%.

View file

@ -28,9 +28,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the dialog to modify tod schedules.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* current_tod_name | text_box |yes |The name of the time of day(ToD).
* current_tod_id | text_box |yes |The id of the time of day(ToD).

View file

@ -27,9 +27,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* Dialog for editing gamemap sides.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|---------------|---------|-----------
* title | @ref label |yes |Dialog title label.
* label | @ref text_box |yes |Input field for the id.

View file

@ -26,9 +26,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the dialog to resize the current map.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|------------------|---------|-----------
* old_width | @ref label |no |Shows the old width of the map.
* old_height | @ref label |no |Shows the old height of the map.

View file

@ -25,10 +25,10 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* A Preferences subdialog including a report on the location and size of the game's WML cache,
* buttons to copy its path to clipboard or browse to it, and the possibility of clearing stale files from the cache or purging it entirely.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* path | text_box |yes |Cache dir path.
* copy | @ref button |yes |Copies the cache path to clipboard.

View file

@ -31,9 +31,9 @@ namespace dialogs
{
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the dialog to select and load a savegame file.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* txtFilter | text |yes |The filter for the listbox items.
* savegame_list | @ref listbox |yes |List of savegames.

View file

@ -31,12 +31,12 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* Dialog displaying the various paths used by the game to locate resource and configuration files.
*
*
* There are several item types used to build widget ids in this dialog.
* All references to TYPE below refer to the following suffixes: datadir, config, userdata, saves, addons, cache.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* path_TYPE | text_box |yes |Textbox containing the filesystem path for the given item.
* copy_TYPE | @ref button |yes |Copies the given item's path to clipboard.

View file

@ -31,9 +31,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the dialog to the MP server to connect to.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|--------------|---------|-----------
* start_table | text_box |yes |The name of the server to connect to.
* list | @ref button |no |Shows a dialog with a list of predefined servers to connect to.

View file

@ -25,9 +25,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the dialog to log in to the MP server.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|---------------|---------|-----------
* user_name | text_box |yes |The login user name.
* password | text_box |yes |The password.

View file

@ -56,11 +56,11 @@ private:
/**
* Add a row to the Hits table
* @param type
* @param type
* @param more_is_better True for "Inflicted" and false for "Taken". Affects coloring.
* @param by_cth
* @param turn_by_cth
* @param show_this_turn
* @param by_cth
* @param turn_by_cth
* @param show_this_turn
*/
void add_hits_row(
const std::string& type,

View file

@ -35,9 +35,9 @@ namespace dialogs
/**
* @ingroup GUIWindowDefinitionWML
*
*
* This shows the debug-mode dialog to create new units on the map.
* Key |Type |Mandatory|Description
* Key |Type |Mandatory|Description
* ------------------|---------------|---------|-----------
* male_toggle | toggle_button |yes |Option button to select the "male" gender for created units.
* female_toggle | toggle_button |yes |Option button to select the "female" gender for created units.

View file

@ -31,21 +31,21 @@ namespace implementation
/**
* @ingroup GUIWidgetWML
*
*
* A drawing is widget with a fixed size and gives access to the canvas of the widget in the window instance.
* It has a fixed size like the spacer, but allows the user to manually draw items.
* This widget is display only.
*
*
* The widget normally has no event interaction so only one state is defined:
* * state_enabled - the drawing is enabled. The state is a dummy since the things really drawn are placed in the window instance.
*
*
* If either the width or the height is not zero the drawing functions as a fixed size drawing.
* Key |Type |Default |Description
* -------------|----------------------------------------|---------|-----------
* width | @ref guivartype_f_unsigned "f_unsigned"|0 |The width of the drawing.
* height | @ref guivartype_f_unsigned "f_unsigned"|0 |The height of the drawing.
* draw | @ref guivartype_config "config" |mandatory|The config containing the drawing.
*
*
* The variables available are the same as for the window resolution see @ref builder_window::window_resolution for the list of items.
*/
class drawing : public styled_widget

View file

@ -30,12 +30,12 @@ struct builder_horizontal_scrollbar;
/**
* @ingroup GUIWidgetWML
*
*
* A horizontal scrollbar is a widget that shows a horizontal scrollbar.
* This widget is most of the time used in a container to control the scrolling of its contents.
*
*
* The resolution for a horizontal scrollbar also contains the following keys:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------|---------|-------------
* minimum_positioner_length| @ref guivartype_unsigned "unsigned"|mandatory|The minimum size the positioner is allowed to be. The engine needs to know this in order to calculate the best size for the positioner.
* maximum_positioner_length| @ref guivartype_unsigned "unsigned"|0 |The maximum size the positioner is allowed to be. If minimum and maximum are the same value the positioner is fixed size. If the maximum is 0 (and the minimum not) there's no maximum.

View file

@ -30,9 +30,9 @@ namespace implementation
/**
* @ingroup GUIWidgetWML
*
*
* An image shows a static image.
*
*
* The label field of the widget is used as the name of file to show. The widget normally has no event interaction so only one state is defined:
* * state_enabled - the image is enabled.
*/

View file

@ -30,25 +30,25 @@ namespace implementation
/**
* @ingroup GUIWidgetWML
*
*
* A label displays a text, the text can be wrapped but no scrollbars are provided.
*
*
* Although the label itself has no event interaction it still has two states.
* The reason is that labels are often used as visual indication of the state of the widget it labels.
*
*
* Note: The above is outdated, if "link_aware" is enabled then there is interaction.
*
*
* The following states exist:
* * state_enabled - the label is enabled.
* * state_disabled - the label is disabled.
*
* Key |Type |Default |Description
*
* Key |Type |Default |Description
* -------------------|------------------------------------|--------|-------------
* link_aware | @ref guivartype_f_bool "f_bool" |false |Whether the label is link aware. This means it is rendered with links highlighted, and responds to click events on those links.
* link_color | @ref guivartype_string "string" |\#ffff00|The color to render links with. This string will be used verbatim in pango markup for each link.
*
*
* The label specific variables:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------------|------------------------------------|-------|-------------
* wrap | @ref guivartype_bool "bool" |false |Is wrapping enabled for the label.
* characters_per_line| @ref guivartype_unsigned "unsigned"|0 |Sets the maximum number of characters per line. The amount is an approximate since the width of a character differs. E.g. iii is smaller than MMM. When the value is non-zero it also implies can_wrap is true. When having long strings wrapping them can increase readability, often 66 characters per line is considered the optimum for a one column text.

View file

@ -390,8 +390,8 @@ private:
* * negative values reduce height.
* * zero leave height as is.
* * positive values increase height.
* @param width_modification_pos
* @param height_modification_pos
* @param width_modification_pos
* @param height_modification_pos
*/
void resize_content(const int width_modification,
const int height_modification,
@ -444,15 +444,15 @@ namespace implementation
{
/**
* @ingroup GUIWidgetWML
*
*
* A listbox is a control that holds several items of the same type.
* Normally the items in a listbox are ordered in rows, this version might allow more options for ordering the items in the future.
* The definition of a listbox contains the definition of its scrollbar:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------|------------|-------------
* scrollbar | @ref guivartype_section "section" |mandatory |A grid containing the widgets for the scrollbar. The scrollbar has some special widgets so it can make default behavior for certain widgets.
* The resolution for a listbox also contains the following keys:
* ID (return value) |Type |Mandatory |Description
* ID (return value) |Type |Mandatory |Description
* -------------------------|--------------------|------------|-------------
* _begin | clickable |no |Moves the position to the beginning of the list.
* _line_up | clickable |no |Move the position one item up. (NOTE: if too many items to move per item it might be more items.)
@ -470,7 +470,7 @@ namespace implementation
* * state_enabled - the listbox is enabled.
* * state_disabled - the listbox is disabled.
* List with the listbox specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------------------|------------|-------------
* vertical_scrollbar_mode | @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
* horizontal_scrollbar_mode| @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
@ -514,11 +514,11 @@ struct builder_listbox : public builder_styled_widget
/**
* @ingroup GUIWidgetWML
*
*
* A horizontal listbox is a control that holds several items of the same type. Normally the items in a listbox are ordered in rows, this version orders them in columns instead. The definition of a horizontal listbox is the same as for a normal listbox.
*
*
* List with the horizontal listbox specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------------------|------------|-------------
* vertical_scrollbar_mode | @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
* horizontal_scrollbar_mode| @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
@ -526,7 +526,7 @@ struct builder_listbox : public builder_styled_widget
* list_data | @ref guivartype_section "section" |[] |A grid alike section which stores the initial data for the listbox. Every row must have the same number of columns as the 'list_definition'.
* has_minimum | @ref guivartype_bool "bool" |true |If false, less than one row can be selected.
* has_maximum | @ref guivartype_bool "bool" |true |If false, more than one row can be selected.
*
*
* In order to force widgets to be the same size inside a horizontal listbox, the widgets need to be inside a linked_group.
* Inside the list section there are only the following widgets allowed:
* * grid (to nest)
@ -559,12 +559,12 @@ struct builder_horizontal_listbox : public builder_styled_widget
/**
* @ingroup GUIWidgetWML
*
*
* A grid listbox is a styled_widget that holds several items of the same type.
* Normally the items in a listbox are ordered in rows, this version orders them in a grid instead.
*
*
* List with the grid listbox specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------------------|------------|-------------
* vertical_scrollbar_mode | @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
* horizontal_scrollbar_mode| @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
@ -572,7 +572,7 @@ struct builder_horizontal_listbox : public builder_styled_widget
* list_data | @ref guivartype_section "section" |[] |A grid alike section which stores the initial data for the listbox. Every row must have the same number of columns as the 'list_definition'.
* has_minimum | @ref guivartype_bool "bool" |true |If false, less than one row can be selected.
* has_maximum | @ref guivartype_bool "bool" |true |If false, more than one row can be selected.
*
*
* In order to force widgets to be the same size inside a horizontal listbox, the widgets need to be inside a linked_group.
* Inside the list section there are only the following widgets allowed:
* * grid (to nest)

View file

@ -97,9 +97,9 @@ typedef control_NEW<state_default> tbase;
/**
* @ingroup GUIWidgetWML
*
*
* List with the matrix specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------------------|------------|-----------
* vertical_scrollbar_mode | @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
* horizontal_scrollbar_mode| @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.

View file

@ -31,10 +31,10 @@ struct builder_minimap;
/**
* @ingroup GUIWidgetWML
*
*
* The basic minimap class.
* This minimap can only show a minimap, but it can't be interacted with.
*
*
* The following states exist:
* * state_enabled - the minimap is enabled.
* A minimap has no extra fields.

View file

@ -33,7 +33,7 @@ class generator_base;
/**
* @ingroup GUIWidgetWML
*
*
* A multi page is a control that contains several 'pages' of which only one is visible.
* The pages can contain the same widgets containing the same 'kind' of data or look completely different.
* Key |Type |Default |Description

View file

@ -37,25 +37,25 @@ struct builder_multimenu_button;
/**
* @ingroup GUIWidgetWML
*
*
* A multimenu_button is a styled_widget to choose an element from a list of elements.
*
*
* When a multimenu_button has a return value it sets the return value for the window.
* Normally this closes the window and returns this value to the caller.
* The return value can either be defined by the user or determined from the id of the multimenu_button.
* The return value has a higher precedence as the one defined by the id.
* (Of course it's weird to give a multimenu_button an id and then override its return value.)
*
*
* When the multimenu_button doesn't have a standard id, but you still want to use the return value of that id, use return_value_id instead.
* This has a higher precedence as return_value.
*
*
* List with the multimenu_button specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* ---------------|------------------------------------|---------|-----------
* return_value_id| @ref guivartype_string "string" |"" |The return value id.
* return_value | @ref guivartype_int "int" |0 |The return value.
* maximum_shown | @ref guivartype_int "int" |-1 |The maximum number of currently selected values to list on the button.
*
*
* The following states exist:
* * state_enabled - the multimenu_button is enabled.
* * state_disabled - the multimenu_button is disabled.

View file

@ -36,7 +36,7 @@ class grid;
/**
* @ingroup GUIWidgetWML
*
*
* A pane is a container where new members can be added and removed during run-time.
*/
class pane : public widget

View file

@ -30,21 +30,21 @@ struct builder_panel;
/**
* @ingroup GUIWidgetWML
*
*
* A panel is a visible container to hold multiple widgets.
* The difference between a grid and a panel is that it's possible to define how a panel looks.
* A grid in an invisible container to just hold the items.
* A panel is always enabled and can't be disabled.
* Instead it uses the states as layers to draw on and can draw items beyond the widgets it holds and in front of them.
* A panel is always active so some functions return dummy values.
*
*
* The widget instance has the following:
* Key |Type |Default |Description
* -------------|----------------------------|---------|-----------
* grid | @ref guivartype_grid "grid"|mandatory|Defines the grid with the widgets to place on the panel.
*
*
* The resolution for a panel also contains the following keys:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------|------------------------------------|-------|-------------
* top_border | @ref guivartype_unsigned "unsigned"|0 |The size which isn't used for the client area.
* bottom_border| @ref guivartype_unsigned "unsigned"|0 |The size which isn't used for the client area.

View file

@ -37,7 +37,7 @@ namespace implementation
/**
* @ingroup GUIWidgetWML
*
*
* Key |Type |Default |Description
* -------------|------------------------------------|---------|-----------
* label | @ref guivartype_t_string "t_string"|"" |The initial text of the password box.

View file

@ -30,9 +30,9 @@ struct builder_progress_bar;
/**
* @ingroup GUIWidgetWML
*
*
* This object shows the progress of a certain action, or the value state of a certain item.
*
*
* The following states exist:
* * state_enabled - the progress bar is enabled.
*/

View file

@ -31,10 +31,10 @@ struct builder_repeating_button;
/**
* @ingroup GUIWidgetWML
*
*
* A repeating_button is a control that can be pushed down and repeat a certain action.
* Once the button is down every x milliseconds it is down a new down event is triggered.
*
*
* The following states exist:
* * state_enabled - the repeating_button is enabled.
* * state_disabled - the repeating_button is disabled.

View file

@ -34,18 +34,18 @@ struct builder_scroll_label;
/**
* @ingroup GUIWidgetWML
*
*
* Label showing a text.
*
* This version shows a scrollbar if the text gets too long and has some scrolling features.
* In general this widget is slower as the normal label so the normal label should be preferred.
*
*
* Key |Type |Default |Description
* -------------|----------------------------|---------|-----------
* grid | @ref guivartype_grid "grid"|mandatory|A grid containing the widgets for main widget.
*
*
* TODO: we need one definition for a vertical scrollbar since this is the second time we use it.
*
*
* ID (return value)|Type |Default |Description
* -----------------|----------------------------|---------|-----------
* _content_grid | @ref guivartype_grid "grid"|mandatory|A grid which should only contain one label widget.

View file

@ -31,15 +31,15 @@ struct builder_scrollbar_panel;
/**
* @ingroup GUIWidgetWML
*
*
* Visible container to hold multiple widgets.
*
* This widget can draw items beyond the widgets it holds and in front of them.
* A panel is always active so these functions return dummy values.
*
*
* A panel is a container holding other elements in its grid.
* It uses the states as layers to draw on.
*
*
* Key |Type |Default |Description
* -------------|----------------------------|---------|-----------
* grid | @ref guivartype_grid "grid"|mandatory|A grid containing the widgets for main widget.

View file

@ -31,15 +31,15 @@ struct builder_size_lock;
/**
* @ingroup GUIWidgetWML
*
*
* A fixed-size widget that wraps an arbitrary widget and forces it to the given size.
*
*
* A size lock contains one child widget and forces it to have the specified size.
* This can be used, for example, when there are two list boxes in different rows of the same grid
* and it's desired that only one list box changes size when its contents change.
*
*
* A size lock has no states.
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------|----------------------------------------|---------|-----------
* widget | @ref guivartype_section "section" |mandatory|The widget.
* width | @ref guivartype_f_unsigned "f_unsigned"|mandatory|The width of the widget.

View file

@ -31,7 +31,7 @@ struct builder_slider;
/**
* @ingroup GUIWidgetWML
*
*
* A slider is a control that can select a value by moving a grip on a groove.
* Key |Type |Default |Description
* -------------------------|------------------------------------|---------|-----------

View file

@ -31,14 +31,14 @@ struct builder_spacer;
/**
* @ingroup GUIWidgetWML
*
*
* An empty widget to either fill in a widget since no empty items are allowed or to reserve a fixed space.
*
*
* Since every grid cell needs a widget this is a blank widget.
* This widget can also be used to 'force' sizes - if either the width or the height is non-zero the spacer functions as a fixed size spacer.
*
*
* Since we're a kind of dummy class we're always active, our drawing does nothing.
*
*
* Key |Type |Default |Description
* -------------|----------------------------------------|---------|-----------
* width | @ref guivartype_f_unsigned "f_unsigned"|0 |The width of the spacer.

View file

@ -35,11 +35,11 @@ class generator_base;
/**
* @ingroup GUIWidgetWML
*
*
* A stacked widget holds several widgets on top of each other.
* This can be used for various effects; add an optional overlay to an image, stack it with a spacer to force a minimum size of a widget.
* The latter is handy to avoid making a separate definition for a single instance with a fixed size.
*
*
* A stacked widget has no states.
*/
class stacked_widget : public container_base

View file

@ -119,9 +119,9 @@ private:
/**
* @ingroup GUIWidgetWML
*
*
* Class for a single line text area.
*
*
* The resolution for a text box also contains the following keys:
* Key |Type |Default |Description
* -------------|----------------------------------------|---------|-----------

View file

@ -28,12 +28,12 @@ namespace implementation
/**
* @ingroup GUIWidgetWML
*
*
* Class for a toggle button.
*
*
* A toggle button is a button with two states 'up' and 'down' or 'selected' and 'deselected'.
* When the mouse is pressed on it the state changes.
*
*
* The following states exist:
* * state_enabled - the button is enabled and not selected.
* * state_disabled - the button is disabled and not selected.
@ -41,9 +41,9 @@ namespace implementation
* * state_enabled_selected - the button is enabled and selected.
* * state_disabled_selected - the button is disabled and selected.
* * state_focussed_selected - the mouse is over the button and selected.
*
*
* Variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* --------------------|----------------------------------------|---------|-------------
* icon | @ref guivartype_string "string" |"" |The name of the icon file to show.
* return_value_id | @ref guivartype_string "string" |"" |The return value id.

View file

@ -29,20 +29,20 @@ struct builder_toggle_panel;
/**
* @ingroup GUIWidgetWML
*
*
* Class for a toggle button.
*
*
* Quite some code looks like toggle_button maybe we should inherit from that but let's test first.
* the problem is that the toggle_button has an icon we don't want, but maybe look at refactoring later.
* but maybe we should also ditch the icon, not sure however since it's handy for checkboxes...
*
*
* A toggle panel is an item which can hold multiple other items.
* The difference between a grid and a panel is that it's possible to define how a panel looks.
* A grid in an invisible container to just hold the items.
* The toggle panel is a combination of the panel and a toggle button, it allows a toggle button with its own grid.
*
*
* The resolution for a toggle panel also contains the following keys:
* Key |Type |Default|Description
* Key |Type |Default|Description
* -------------|------------------------------------|-------|-------------
* top_border | @ref guivartype_unsigned "unsigned"|0 |The size which isn't used for the client area.
* bottom_border| @ref guivartype_unsigned "unsigned"|0 |The size which isn't used for the client area.

View file

@ -38,16 +38,16 @@ class tree_view_node;
/**
* @ingroup GUIWidgetWML
*
*
* A tree view is a control that holds several items of the same or different types.
* The items shown are called tree view nodes and when a node has children, these can be shown or hidden.
* Nodes that contain children need to provide a clickable button in order to fold or unfold the children.
*
*
* The following states exist:
* * state_enabled - the listbox is enabled.
* * state_disabled - the listbox is disabled.
* List with the tree view specific variables:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------------------|------------|-------------
* vertical_scrollbar_mode | @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
* horizontal_scrollbar_mode| @ref guivartype_scrollbar_mode "scrollbar_mode"|initial_auto|Determines whether or not to show the scrollbar.
@ -172,8 +172,8 @@ private:
* * negative values reduce height.
* * zero leave height as is.
* * positive values increase height.
* @param width_modification_pos
* @param height_modification_pos
* @param width_modification_pos
* @param height_modification_pos
*/
void resize_content(const int width_modification,
const int height_modification,

View file

@ -27,13 +27,13 @@ struct builder_vertical_scrollbar;
/**
* @ingroup GUIWidgetWML
*
*
* The definition of a vertical scrollbar.
* This class is most of the time not used directly.
* Instead it's used to build other items with scrollbars.
*
*
* The resolution for a vertical scrollbar also contains the following keys:
* Key |Type |Default |Description
* Key |Type |Default |Description
* -------------------------|------------------------------------|---------|-------------
* minimum_positioner_length| @ref guivartype_unsigned "unsigned"|mandatory|The minimum size the positioner is allowed to be. The engine needs to know this in order to calculate the best size for the positioner.
* maximum_positioner_length| @ref guivartype_unsigned "unsigned"|0 |The maximum size the positioner is allowed to be. If minimum and maximum are the same value the positioner is fixed size. If the maximum is 0 (and the minimum not) there's no maximum.

View file

@ -31,9 +31,9 @@ class grid;
/**
* @ingroup GUIWidgetWML
*
*
* A viewport is an special widget used to view only a part of the widget it 'holds'.
*
*
* List with the viewport specific variables:
* Key |Type |Default |Description
* ---------------|------------------------------------------------|---------|-----------

View file

@ -57,7 +57,7 @@ class distributor;
/**
* @ingroup GUIWidgetWML
*
*
* base class of top level items, the only item which needs to store the final canvases to draw on.
* A window is a kind of panel see the panel for which fields exist.
*/

View file

@ -54,7 +54,7 @@ namespace settings {
* When out of bounds, it will be set to the nearest bound.
*
* @param value string containing the village gold
* @param classification
* @param classification
*
* @returns the village gold
*/

View file

@ -24,18 +24,18 @@ namespace t_translation { struct terrain_code; }
/**
* The basic "size" of the unit - flying, small land, large land, etc.
* This encompasses terrain costs, defenses, and resistances.
*
*
* This class is used for both [movetype] and [unit] configs, which use the
* same data in their configs for [movement_costs], [defense], etc. However,
* the data for whether the unit flies is historically held in [movetype]'s
* "flies" vs [unit]'s "flying".
*
*
* Existing behavior of 1.14:
* * movetype::movetype(const config & cfg) will read only the "flies" key
* * movetype::merge(const config & cfg, bool overwrite) will read both keys,
* with "flying" taking priority if both are supplied
* * movetype::write() will write only the "flying" key
*
*
* @todo make this more logical. Ideas:
* * for 1.15, support both "flying" and "flies" in [movetype]
* * for 1.17 or later, drop the "flies"
@ -56,7 +56,7 @@ public:
/**
* Returns the value associated with the given terrain.
*
*
* Calculated values are cached for later queries.
*/
virtual int value(const t_translation::terrain_code & terrain) const = 0;
@ -93,7 +93,7 @@ private:
/**
* Stores a set of data based on terrain, in some cases with raw pointers to
* other instances of terrain_info (the fallback_).
*
*
* The data can either be a single instance (in which case it's
* writable and stored in unique_data_) or may have already been shared
* (via make_data_shareable()), in which case it's stored in shared_data_.

View file

@ -48,7 +48,7 @@ public:
* @param parent The parent config
* @param start_line Line in file
* @param file Name of file
* @param addition
* @param addition
*/
virtual void open_tag(const std::string & name,
const config& parent,

View file

@ -38,7 +38,7 @@ class dbconn
public:
/**
* Initializes the synchronous query connection as well as the account object that has the connection settings.
*
*
* @param c The config object to read information from.
*/
dbconn(const config& c);
@ -60,7 +60,7 @@ class dbconn
/**
* This is an asynchronous query that is executed on a separate connection to retrieve the game history for the provided player.
*
*
* @param player_id The forum ID of the player to get the game history for.
* @param offset The offset to provide to the database for where to start returning rows from.
* @return The simple_wml document containing the query results, or simply the @a error attribute if an exception is thrown.
@ -106,7 +106,7 @@ class dbconn
/**
* The provided value is updated if a row exists or a new row inserted otherwise.
*
*
* @param column The column that the value will be put into.
* @param name The player's username.
* @param value The value to be put into the column.
@ -172,7 +172,7 @@ class dbconn
/**
* This is used to write out error text when an SQL-related exception occurs.
*
*
* @param text Some custom text to log.
* @param e The exception that occurred which has information about what went wrong.
*/
@ -186,7 +186,7 @@ class dbconn
/**
* Queries can return data with various types that can't be easily fit into a pre-determined structure.
* Therefore for queries that can return multiple rows with multiple columns, a class that extends @ref rs_base handles reading the results.
*
*
* @param connection The database connecion that will be used to execute the query.
* @param base The class that will handle reading the results.
* @param sql The SQL text to be executed.
@ -226,7 +226,7 @@ class dbconn
/**
* Executes a select statement.
*
*
* @param connection The database connecion that will be used to execute the query.
* @param sql The SQL text to be executed.
* @param args The parameterized values to be inserted into the query.
@ -237,7 +237,7 @@ class dbconn
/**
* Executes non-select statements (ie: insert, update, delete).
*
*
* @param connection The database connecion that will be used to execute the query.
* @param sql The SQL text to be executed.
* @param args The parameterized values to be inserted into the query.
@ -248,7 +248,7 @@ class dbconn
/**
* Begins recursively unpacking of the parameter pack in order to be able to call the correct parameterized setters on the query.
*
*
* @param connection The database connecion that will be used to execute the query.
* @param sql The SQL text to be executed.
* @param args The parameterized values to be inserted into the query.
@ -259,7 +259,7 @@ class dbconn
/**
* The next parameter to be added is split off from the parameter pack.
*
*
* @param stmt The statement that will have parameterized values set on it.
* @param i The index of the current parameterized value.
* @param arg The next parameter to be added.
@ -271,7 +271,7 @@ class dbconn
/**
* Specializations for each type of value to be parameterized.
* There are other parameter setters than those currently implemented, but so far there hasn't been a reason to add them.
*
*
* @param stmt The statement that will have parameterized values set on it.
* @param i The index of the current parameterized value.
* @param arg The next parameter to be added.

View file

@ -208,7 +208,7 @@ std::string fuh::get_tournaments(){
}
void fuh::async_get_and_send_game_history(boost::asio::io_service& io_service, server_base& s_base, socket_ptr player_socket, int player_id, int offset) {
boost::asio::post([this, &s_base, player_socket, player_id, offset, &io_service] {
boost::asio::post([this, &s_base, player_socket, player_id, offset, &io_service] {
boost::asio::post(io_service, [player_socket, &s_base, doc = conn_.get_game_history(player_id, offset)]{
s_base.async_send_doc_queued(player_socket, *doc);
});
@ -236,7 +236,7 @@ void fuh::db_set_oos_flag(const std::string& uuid, int game_id){
}
void fuh::async_test_query(boost::asio::io_service& io_service, int limit) {
boost::asio::post([this, limit, &io_service] {
boost::asio::post([this, limit, &io_service] {
ERR_UH << "async test query starts!" << std::endl;
int i = conn_.async_test_query(limit);
boost::asio::post(io_service, [i]{ ERR_UH << "async test query output: " << i << std::endl; });

View file

@ -34,7 +34,7 @@ public:
/**
* Retrieves the player's hashed password from the phpbb forum database and checks if it matches the hashed password sent by the client.
*
*
* @param name The username used to login.
* @param password The hashed password sent by the client.
* @param seed The nonce created for this login attempt.
@ -53,7 +53,7 @@ public:
/**
* Sets the last login time to the current time.
*
*
* @param name The player's username.
*/
void user_logged_in(const std::string& name);
@ -87,7 +87,7 @@ public:
/**
* Sets or unsets whether the player should be considered a moderator in the extra table.
*
*
* @param name The player's username.
* @param is_moderator The moderator value to set.
*/
@ -123,7 +123,7 @@ public:
/**
* Runs an asynchronous query to fetch the user's game history data.
* The result is then posted back to the main boost::asio thread to be sent to the requesting player.
*
*
* @param io_service The boost io_service to use to post the query results back to the main boost::asio thread.
* @param s_base The server instance the player is connected to.
* @param player_socket The socket use to communicate with the player's client.
@ -134,7 +134,7 @@ public:
/**
* Inserts game related information.
*
*
* @param uuid The value returned by @ref get_uuid().
* @param game_id The game's db_id.
* @param version The version of wesnothd running this game.
@ -148,7 +148,7 @@ public:
/**
* Update the game related information when the game ends.
*
*
* @param uuid The value returned by @ref get_uuid().
* @param game_id The game's db_id.
* @param replay_location The location of the game's publicly available replay.
@ -157,7 +157,7 @@ public:
/**
* Inserts player information per side.
*
*
* @param uuid The value returned by @ref get_uuid().
* @param game_id The game's db_id.
* @param username The username of the player who owns this side.
@ -172,7 +172,7 @@ public:
/**
* Inserts information about the content being played.
*
*
* @param uuid The value returned by @ref get_uuid().
* @param game_id The game's db_id.
* @param type The add-on content's type (ie: era, scenario, etc).
@ -185,7 +185,7 @@ public:
/**
* Sets the OOS flag in the database if wesnothd is told by a client it has detected an OOS error.
*
*
* @param uuid The value returned by @ref get_uuid().
* @param game_id The game's db_id.
*/
@ -194,7 +194,7 @@ public:
/**
* A simple test query for running a query asynchronously.
* The main point is that it takes a meaningful amount of time to complete so that it's easy to see that multiple are running at once and are finishing out of order.
*
*
* @param io_service The boost io_service to use to post the query results back to the main boost::asio thread.
* @param limit How many recursions to make in the query.
*/

View file

@ -46,7 +46,7 @@ class game_history : public rs_base
public:
void read(mariadb::result_set_ref rslt);
std::unique_ptr<simple_wml::document> to_doc();
private:
std::vector<result> results;
};

View file

@ -69,8 +69,8 @@ unit* future_visible_unit(map_location hex, int viewer_side = wb::viewer_side())
* Applies the future unit map and @return a pointer to the unit at hex
* @retval nullptr if none is visible to the specified viewer side
* @param on_side Only search for units of this side.
* @param hex
* @param viewer_side
* @param hex
* @param viewer_side
*/
unit* future_visible_unit(int on_side, map_location hex, int viewer_side = wb::viewer_side());

View file

@ -23,20 +23,20 @@ namespace gui {
/**
* @ingroup GUIWidgetWML
*
*
* A button is a control that can be pushed to start an action or close a dialog.
*
*
* When a button has a return value it sets the return value for the window.
* Normally this closes the window and returns this value to the caller.
* The return value can either be defined by the user or determined from the id of the button.
* The return value has a higher precedence as the one defined by the id.
* (Of course it's weird to give a button an id and then override its return value.)
*
*
* When the button doesn't have a standard id, but you still want to use the return value of that id, use return_value_id instead.
* This has a higher precedence as return_value.
*
*
* List with the button specific variables:
* Key |Type |Default|Description
* Key |Type |Default|Description
* ---------------|--------------------------------|-------|-----------
* return_value_id| @ref guivartype_string "string"|"" |The return value id.
* return_value | @ref guivartype_int "int" |0 |The return value.