|
OpenTTD Source
13.2.1
|
One of many setting. More...
#include <settings_internal.h>
Public Types | |
| typedef size_t | OnConvert(const char *value) |
| callback prototype for conversion error | |
Public Types inherited from IntSettingDesc | |
| typedef bool | PreChangeCheck(int32 &value) |
| A check to be performed before the setting gets changed. More... | |
| typedef void | PostChangeCallback(int32 value) |
| A callback to denote that a setting has been changed. More... | |
Public Member Functions | |
| OneOfManySettingDesc (SaveLoad save, SettingFlag flags, bool startup, int32 def, int32 max, StringID str, StringID str_help, StringID str_val, SettingCategory cat, PreChangeCheck pre_check, PostChangeCallback post_callback, std::initializer_list< const char * > many, OnConvert *many_cnvt) | |
| char * | FormatSingleValue (char *buf, const char *last, uint id) const |
| size_t | ParseValue (const char *str) const override |
| Convert a string representation (external) of an integer-like setting to an integer. More... | |
| void | FormatValue (char *buf, const char *last, const void *object) const override |
| Format the value of the setting associated with this object. More... | |
Public Member Functions inherited from IntSettingDesc | |
| IntSettingDesc (SaveLoad save, SettingFlag flags, bool startup, int32 def, int32 min, uint32 max, int32 interval, StringID str, StringID str_help, StringID str_val, SettingCategory cat, PreChangeCheck pre_check, PostChangeCallback post_callback) | |
| virtual bool | IsBoolSetting () const |
| Check whether this setting is a boolean type setting. More... | |
| bool | IsIntSetting () const override |
| Check whether this setting is an integer type setting. More... | |
| void | ChangeValue (const void *object, int32 newvalue) const |
| Handle changing a value. More... | |
| void | MakeValueValidAndWrite (const void *object, int32 value) const |
| Make the value valid and then write it to the setting. More... | |
| void | ParseValue (const IniItem *item, void *object) const override |
| Parse/read the value from the Ini item into the setting associated with this object. More... | |
| bool | IsSameValue (const IniItem *item, void *object) const override |
| Check whether the value in the Ini item is the same as is saved in this setting in the object. More... | |
| int32 | Read (const void *object) const |
| Read the integer from the the actual setting. More... | |
Public Member Functions inherited from SettingDesc | |
| SettingDesc (SaveLoad save, SettingFlag flags, bool startup) | |
| bool | IsEditable (bool do_command=false) const |
| Check whether the setting is editable in the current gamemode. More... | |
| SettingType | GetType () const |
| Return the type of the setting. More... | |
| constexpr const std::string & | GetName () const |
| Get the name of this setting. More... | |
| virtual bool | IsStringSetting () const |
| Check whether this setting is an string type setting. More... | |
| const struct IntSettingDesc * | AsIntSetting () const |
| Get the setting description of this setting as an integer setting. More... | |
| const struct StringSettingDesc * | AsStringSetting () const |
| Get the setting description of this setting as a string setting. More... | |
Static Public Member Functions | |
| static size_t | ParseSingleValue (const char *str, size_t len, const std::vector< std::string > &many) |
| Find the index value of a ONEofMANY type in a string separated by |. More... | |
Data Fields | |
| std::vector< std::string > | many |
| possible values for this type | |
| OnConvert * | many_cnvt |
| callback procedure when loading value mechanism fails | |
Data Fields inherited from IntSettingDesc | |
| int32 | def |
| default value given when none is present | |
| int32 | min |
| minimum values | |
| uint32 | max |
| maximum values | |
| int32 | interval |
| the interval to use between settings in the 'settings' window. If interval is '0' the interval is dynamically determined | |
| StringID | str |
| (translated) string with descriptive text; gui and console | |
| StringID | str_help |
| (Translated) string with help text; gui only. | |
| StringID | str_val |
| (Translated) first string describing the value. | |
| SettingCategory | cat |
| assigned categories of the setting | |
| PreChangeCheck * | pre_check |
| Callback to check for the validity of the setting. | |
| PostChangeCallback * | post_callback |
| Callback when the setting has been changed. | |
Data Fields inherited from SettingDesc | |
| SettingFlag | flags |
| Handles how a setting would show up in the GUI (text/currency, etc.). | |
| bool | startup |
| Setting has to be loaded directly at startup?. | |
| SaveLoad | save |
| Internal structure (going to savegame, parts to config). | |
One of many setting.
Definition at line 207 of file settings_internal.h.
|
overridevirtual |
Format the value of the setting associated with this object.
| buf | The before of the buffer to format into. |
| last | The end of the buffer to format into. |
| object | The object the setting is in. |
Reimplemented from IntSettingDesc.
Reimplemented in ManyOfManySettingDesc.
Definition at line 351 of file settings.cpp.
|
static |
Find the index value of a ONEofMANY type in a string separated by |.
| str | the current value of the setting for which a value needs found |
| len | length of the string |
| many | full domain of values the ONEofMANY setting can have |
Definition at line 174 of file settings.cpp.
References many, and IntSettingDesc::str.
Referenced by ConvertLandscape(), LookupManyOfMany(), and ParseValue().
|
overridevirtual |
Convert a string representation (external) of an integer-like setting to an integer.
| str | Input string that will be parsed based on the type of desc. |
Reimplemented from IntSettingDesc.
Reimplemented in ManyOfManySettingDesc.
Definition at line 396 of file settings.cpp.
References _settings_error_list, IntSettingDesc::def, SettingDesc::GetName(), many, many_cnvt, ParseSingleValue(), ErrorMessageData::SetDParamStr(), and IntSettingDesc::str.