KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PARAM_SET< Type > Class Template Reference

#include <parameters.h>

Inheritance diagram for PARAM_SET< Type >:
PARAM_BASE

Public Member Functions

 PARAM_SET (const std::string &aJsonPath, std::set< Type > *aPtr, std::initializer_list< Type > aDefault, bool aReadOnly=false)
 
 PARAM_SET (const std::string &aJsonPath, std::set< Type > *aPtr, std::set< Type > aDefault, 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...
 
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

std::set< Type > * m_ptr
 
std::set< Type > 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...
 

Detailed Description

template<typename Type>
class PARAM_SET< Type >

Definition at line 456 of file parameters.h.

Constructor & Destructor Documentation

◆ PARAM_SET() [1/2]

template<typename Type >
PARAM_SET< Type >::PARAM_SET ( const std::string &  aJsonPath,
std::set< Type > *  aPtr,
std::initializer_list< Type >  aDefault,
bool  aReadOnly = false 
)
inline

Definition at line 459 of file parameters.h.

◆ PARAM_SET() [2/2]

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

Definition at line 466 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 76 of file parameters.h.

References PARAM_BASE::m_clearUnknownKeys.

◆ 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 70 of file parameters.h.

References PARAM_BASE::m_path.

◆ Load()

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

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 154 of file parameters.cpp.

References JSON_SETTINGS::GetJson().

◆ MatchesFile()

template<typename ValueType >
bool PARAM_SET< ValueType >::MatchesFile ( JSON_SETTINGS aSettings) const
overridevirtual

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 189 of file parameters.cpp.

References JSON_SETTINGS::GetJson().

◆ SetDefault()

template<typename Type >
void PARAM_SET< Type >::SetDefault ( )
inlineoverridevirtual

Implements PARAM_BASE.

Definition at line 477 of file parameters.h.

References PARAM_SET< Type >::m_default, and PARAM_SET< Type >::m_ptr.

◆ Store()

template<typename ValueType >
void PARAM_SET< ValueType >::Store ( JSON_SETTINGS aSettings) const
overridevirtual

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 177 of file parameters.cpp.

References 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 81 of file parameters.h.

Referenced by PARAM_BASE::ClearUnknownKeys(), and PARAM_WXSTRING_MAP::PARAM_WXSTRING_MAP().

◆ m_default

template<typename Type >
std::set<Type> PARAM_SET< Type >::m_default
protected

Definition at line 486 of file parameters.h.

Referenced by PARAM_SET< Type >::SetDefault().

◆ m_path

◆ m_ptr

template<typename Type >
std::set<Type>* PARAM_SET< Type >::m_ptr
protected

Definition at line 485 of file parameters.h.

Referenced by PARAM_SET< Type >::SetDefault().

◆ m_readOnly

bool PARAM_BASE::m_readOnly
protectedinherited

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