![]() |
KiCad PCB EDA Suite
|
Represents a parameter that has a scaling factor between the value in the file and the value used internally (i.e. More...
#include <parameters.h>
Public Member Functions | |
PARAM_SCALED (const std::string &aJsonPath, ValueType *aPtr, ValueType aDefault, double aScale=1.0, bool aReadOnly=false) | |
PARAM_SCALED (const std::string &aJsonPath, ValueType *aPtr, ValueType aDefault, ValueType aMin, ValueType aMax, double aScale=1.0, bool aReadOnly=false) | |
void | Load (JSON_SETTINGS *aSettings, bool aResetIfMissing=true) const override |
Loads the value of this parameter from JSON to the underlying storage. More... | |
void | Store (JSON_SETTINGS *aSettings) const override |
Stores the value of this parameter to the given JSON_SETTINGS object. More... | |
ValueType | GetDefault () const |
virtual void | SetDefault () override |
bool | IsDefault () const override |
Checks whether or not this param has been changed from its default value. More... | |
bool | MatchesFile (JSON_SETTINGS *aSettings) const override |
Checks whether the parameter in memory matches the one in a given JSON file. More... | |
const std::string & | GetJsonPath () const |
Protected Attributes | |
std::string | m_path |
the string used to store the param in json files More... | |
bool | m_readOnly |
! True if the parameter pointer should never be overwritten More... | |
Private Attributes | |
ValueType * | m_ptr |
ValueType | m_default |
ValueType | m_min |
ValueType | m_max |
bool | m_use_minmax |
double | m_scale |
Represents a parameter that has a scaling factor between the value in the file and the value used internally (i.e.
the value pointer). This basically only makes sense to use with int or double as ValueType.
ValueType | is the internal type: the file always stores a double. |
Definition at line 388 of file parameters.h.
|
inline |
Definition at line 391 of file parameters.h.
|
inline |
Definition at line 402 of file parameters.h.
|
inline |
|
inlineinherited |
Definition at line 74 of file parameters.h.
References PARAM_BASE::m_path.
|
inlineoverridevirtual |
Checks whether or not this param has been changed from its default value.
Implements PARAM_BASE.
Definition at line 451 of file parameters.h.
References PARAM_SCALED< ValueType >::m_default, and PARAM_SCALED< ValueType >::m_ptr.
|
inlineoverridevirtual |
Loads the value of this parameter from JSON to the underlying storage.
aSettings | is the JSON_SETTINGS object to load from. |
aResetIfMissing | if true will set the parameter to its default value if load fails |
Implements PARAM_BASE.
Definition at line 413 of file parameters.h.
References JSON_SETTINGS::Get(), PARAM_SCALED< ValueType >::m_default, PARAM_SCALED< ValueType >::m_max, PARAM_SCALED< ValueType >::m_min, PARAM_BASE::m_path, PARAM_SCALED< ValueType >::m_ptr, PARAM_BASE::m_readOnly, PARAM_SCALED< ValueType >::m_scale, and PARAM_SCALED< ValueType >::m_use_minmax.
|
inlineoverridevirtual |
Checks whether the parameter in memory matches the one in a given JSON file.
aSettings | is a JSON_SETTINGS to check the JSON file contents of |
Implements PARAM_BASE.
Definition at line 456 of file parameters.h.
References JSON_SETTINGS::Get(), PARAM_BASE::m_path, PARAM_SCALED< ValueType >::m_ptr, and PARAM_SCALED< ValueType >::m_scale.
|
inlineoverridevirtual |
Implements PARAM_BASE.
Definition at line 446 of file parameters.h.
References PARAM_SCALED< ValueType >::m_default, and PARAM_SCALED< ValueType >::m_ptr.
|
inlineoverridevirtual |
Stores the value of this parameter to the given JSON_SETTINGS object.
aSettings | is the JSON_SETTINGS object to store into. |
Implements PARAM_BASE.
Definition at line 436 of file parameters.h.
References PARAM_BASE::m_path, PARAM_SCALED< ValueType >::m_ptr, PARAM_SCALED< ValueType >::m_scale, and JSON_SETTINGS::Set().
|
private |
Definition at line 466 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::GetDefault(), PARAM_SCALED< ValueType >::IsDefault(), PARAM_SCALED< ValueType >::Load(), and PARAM_SCALED< ValueType >::SetDefault().
|
private |
Definition at line 468 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::Load().
|
private |
Definition at line 467 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::Load().
|
protectedinherited |
the string used to store the param in json files
Definition at line 80 of file parameters.h.
Referenced by PARAM_BASE::GetJsonPath(), PARAM< wxString >::Load(), COLOR_MAP_PARAM::Load(), PARAM_ENUM< EnumType >::Load(), PARAM_LAMBDA< nlohmann::json >::Load(), PARAM_SCALED< ValueType >::Load(), PARAM_LIST< wxString >::Load(), PARAM_MAP< Value >::Load(), PARAM_WXSTRING_MAP::Load(), PARAM< wxString >::MatchesFile(), COLOR_MAP_PARAM::MatchesFile(), PARAM_PATH::MatchesFile(), PARAM_ENUM< EnumType >::MatchesFile(), PARAM_LAMBDA< nlohmann::json >::MatchesFile(), PARAM_SCALED< ValueType >::MatchesFile(), PARAM_LIST< wxString >::MatchesFile(), PARAM_PATH_LIST::MatchesFile(), PARAM_MAP< Value >::MatchesFile(), PARAM_WXSTRING_MAP::MatchesFile(), COLOR_MAP_PARAM::Store(), PARAM< wxString >::Store(), PARAM_PATH::Store(), PARAM_ENUM< EnumType >::Store(), PARAM_LAMBDA< nlohmann::json >::Store(), PARAM_SCALED< ValueType >::Store(), PARAM_LIST< wxString >::Store(), PARAM_PATH_LIST::Store(), PARAM_MAP< Value >::Store(), and PARAM_WXSTRING_MAP::Store().
|
private |
Definition at line 465 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::IsDefault(), PARAM_SCALED< ValueType >::Load(), PARAM_SCALED< ValueType >::MatchesFile(), PARAM_SCALED< ValueType >::SetDefault(), and PARAM_SCALED< ValueType >::Store().
|
protectedinherited |
! True if the parameter pointer should never be overwritten
Definition at line 83 of file parameters.h.
Referenced by PARAM< wxString >::Load(), COLOR_MAP_PARAM::Load(), PARAM_PATH::Load(), PARAM_ENUM< EnumType >::Load(), PARAM_LAMBDA< nlohmann::json >::Load(), PARAM_SCALED< ValueType >::Load(), PARAM_LIST< wxString >::Load(), PARAM_PATH_LIST::Load(), PARAM_MAP< Value >::Load(), and PARAM_WXSTRING_MAP::Load().
|
private |
Definition at line 470 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::Load(), PARAM_SCALED< ValueType >::MatchesFile(), and PARAM_SCALED< ValueType >::Store().
|
private |
Definition at line 469 of file parameters.h.
Referenced by PARAM_SCALED< ValueType >::Load().