KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PARAM< ValueType > Class Template Reference

#include <parameters.h>

Inheritance diagram for PARAM< ValueType >:
PARAM_BASE

Public Member Functions

 PARAM (const std::string &aJsonPath, ValueType *aPtr, ValueType aDefault, bool aReadOnly=false)
 
 PARAM (const std::string &aJsonPath, ValueType *aPtr, ValueType aDefault, ValueType aMin, ValueType aMax, 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
 
void SetDefault () override
 
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
 
bool ClearUnknownKeys () const
 

Protected Attributes

ValueType * m_ptr
 
ValueType m_default
 
std::string m_path
 Address of the param in the json files. More...
 
bool m_readOnly
 Indicates param pointer should never be overwritten. More...
 
bool m_clearUnknownKeys
 Keys should be cleared from source rather than merged. More...
 

Private Attributes

ValueType m_min
 
ValueType m_max
 
bool m_use_minmax
 

Detailed Description

template<typename ValueType>
class PARAM< ValueType >

Definition at line 91 of file parameters.h.

Constructor & Destructor Documentation

◆ PARAM() [1/2]

template<typename ValueType >
PARAM< ValueType >::PARAM ( const std::string &  aJsonPath,
ValueType *  aPtr,
ValueType  aDefault,
bool  aReadOnly = false 
)
inline

Definition at line 94 of file parameters.h.

◆ PARAM() [2/2]

template<typename ValueType >
PARAM< ValueType >::PARAM ( const std::string &  aJsonPath,
ValueType *  aPtr,
ValueType  aDefault,
ValueType  aMin,
ValueType  aMax,
bool  aReadOnly = false 
)
inline

Definition at line 104 of file parameters.h.

Member Function Documentation

◆ ClearUnknownKeys()

bool PARAM_BASE::ClearUnknownKeys ( ) const
inlineinherited
Returns
true if keys should be cleared from source file rather than merged. Useful for things such as text variables that are semantically an array but stored as a map.

Definition at line 79 of file parameters.h.

◆ GetDefault()

template<typename ValueType >
ValueType PARAM< ValueType >::GetDefault ( ) const
inline

Definition at line 142 of file parameters.h.

References PARAM< ValueType >::m_default.

◆ GetJsonPath()

const std::string & PARAM_BASE::GetJsonPath ( ) const
inlineinherited
Returns
the path name of the parameter used to store it in the json file mainly useful in error messages

Definition at line 73 of file parameters.h.

◆ Load()

template<typename ValueType >
void PARAM< ValueType >::Load ( JSON_SETTINGS aSettings,
bool  aResetIfMissing = true 
) const
inlineoverridevirtual

Loads the value of this parameter from JSON to the underlying storage.

Parameters
aSettingsis the JSON_SETTINGS object to load from.
aResetIfMissingif true will set the parameter to its default value if load fails

Implements PARAM_BASE.

Definition at line 114 of file parameters.h.

References JSON_SETTINGS::Get(), PARAM< ValueType >::m_default, PARAM< ValueType >::m_max, PARAM< ValueType >::m_min, PARAM_BASE::m_path, PARAM< ValueType >::m_ptr, PARAM_BASE::m_readOnly, and PARAM< ValueType >::m_use_minmax.

◆ MatchesFile()

template<typename ValueType >
bool PARAM< ValueType >::MatchesFile ( JSON_SETTINGS aSettings) const
inlineoverridevirtual

Checks whether the parameter in memory matches the one in a given JSON file.

Parameters
aSettingsis a JSON_SETTINGS to check the JSON file contents of
Returns
true if the parameter in memory matches its value in the file

Implements PARAM_BASE.

Definition at line 152 of file parameters.h.

References JSON_SETTINGS::Get(), PARAM_BASE::m_path, and PARAM< ValueType >::m_ptr.

◆ SetDefault()

template<typename ValueType >
void PARAM< ValueType >::SetDefault ( )
inlineoverridevirtual

Implements PARAM_BASE.

Definition at line 147 of file parameters.h.

References PARAM< ValueType >::m_default, and PARAM< ValueType >::m_ptr.

◆ Store()

template<typename ValueType >
void PARAM< ValueType >::Store ( JSON_SETTINGS aSettings) const
inlineoverridevirtual

Stores the value of this parameter to the given JSON_SETTINGS object.

Parameters
aSettingsis the JSON_SETTINGS object to store into.

Implements PARAM_BASE.

Definition at line 137 of file parameters.h.

References PARAM_BASE::m_path, PARAM< ValueType >::m_ptr, and JSON_SETTINGS::Set().

Member Data Documentation

◆ m_clearUnknownKeys

bool PARAM_BASE::m_clearUnknownKeys
protectedinherited

Keys should be cleared from source rather than merged.

This is useful for things that are semantically an array but stored as a map, such as textVars.

Definition at line 84 of file parameters.h.

◆ m_default

template<typename ValueType >
ValueType PARAM< ValueType >::m_default
protected

◆ m_max

template<typename ValueType >
ValueType PARAM< ValueType >::m_max
private

Definition at line 162 of file parameters.h.

Referenced by PARAM< ValueType >::Load().

◆ m_min

template<typename ValueType >
ValueType PARAM< ValueType >::m_min
private

Definition at line 161 of file parameters.h.

Referenced by PARAM< ValueType >::Load().

◆ m_path

◆ m_ptr

template<typename ValueType >
ValueType* PARAM< ValueType >::m_ptr
protected

◆ m_readOnly

bool PARAM_BASE::m_readOnly
protectedinherited

◆ m_use_minmax

template<typename ValueType >
bool PARAM< ValueType >::m_use_minmax
private

Definition at line 163 of file parameters.h.

Referenced by PARAM< ValueType >::Load().


The documentation for this class was generated from the following file: