KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PARAM_PATH Class Reference

Stores a path as a string with directory separators normalized to unix-style. More...

#include <parameters.h>

Inheritance diagram for PARAM_PATH:
PARAM< wxString > PARAM_BASE

Public Member Functions

 PARAM_PATH (const std::string &aJsonPath, wxString *aPtr, const wxString &aDefault, bool aReadOnly=false)
 
void Load (const JSON_SETTINGS &aSettings, bool aResetIfMissing=true) const override
 Loads the value of this parameter from JSON to the underlying storage.
 
void Store (JSON_SETTINGS *aSettings) const override
 Stores the value of this parameter to the given JSON_SETTINGS object.
 
bool MatchesFile (const JSON_SETTINGS &aSettings) const override
 Checks whether persisting the parameter would leave the file unchanged.
 
wxString GetDefault () const
 
void SetDefault () override
 
const std::string & GetJsonPath () const
 
bool ClearUnknownKeys () const
 
void SetClearUnknownKeys (bool aSet=true)
 

Protected Attributes

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

Private Member Functions

wxString toFileFormat (const wxString &aString) const
 
wxString fromFileFormat (const wxString &aString) const
 

Private Attributes

wxString m_min
 
wxString m_max
 
bool m_use_minmax
 

Detailed Description

Stores a path as a string with directory separators normalized to unix-style.

Definition at line 177 of file parameters.h.

Constructor & Destructor Documentation

◆ PARAM_PATH()

PARAM_PATH::PARAM_PATH ( const std::string & aJsonPath,
wxString * aPtr,
const wxString & aDefault,
bool aReadOnly = false )
inline

Definition at line 180 of file parameters.h.

References PARAM< wxString >::PARAM().

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

◆ fromFileFormat()

wxString PARAM_PATH::fromFileFormat ( const wxString & aString) const
inlineprivate

Definition at line 216 of file parameters.h.

Referenced by Load(), and MatchesFile().

◆ GetDefault()

wxString PARAM< wxString >::GetDefault ( ) const
inlineinherited

Definition at line 146 of file parameters.h.

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

◆ Load()

void PARAM_PATH::Load ( const 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

Reimplemented from PARAM< wxString >.

Definition at line 185 of file parameters.h.

References fromFileFormat(), PARAM< ValueType >::Load(), PARAM< wxString >::m_ptr, and PARAM< wxString >::m_readOnly.

◆ MatchesFile()

bool PARAM_PATH::MatchesFile ( const JSON_SETTINGS & aSettings) const
inlineoverridevirtual

Checks whether persisting the parameter would leave the file unchanged.

When the settings reset absent params on load, a parameter the file omits but which still holds its default counts as a match, so unchanged projects are not rewritten with redundant default keys.

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, or is absent and default

Reimplemented from PARAM< wxString >.

Definition at line 200 of file parameters.h.

References fromFileFormat(), JSON_SETTINGS::Get(), PARAM< wxString >::m_default, PARAM< wxString >::m_path, PARAM< wxString >::m_ptr, and JSON_SETTINGS::ResetsParamsIfMissing().

◆ SetClearUnknownKeys()

void PARAM_BASE::SetClearUnknownKeys ( bool aSet = true)
inlineinherited

Definition at line 83 of file parameters.h.

◆ SetDefault()

void PARAM< wxString >::SetDefault ( )
inlineoverridevirtualinherited

Implements PARAM_BASE.

Definition at line 151 of file parameters.h.

◆ Store()

void PARAM_PATH::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.

Reimplemented from PARAM< wxString >.

Definition at line 195 of file parameters.h.

References PARAM< wxString >::m_path, PARAM< wxString >::m_ptr, JSON_SETTINGS::Set(), and toFileFormat().

◆ toFileFormat()

wxString PARAM_PATH::toFileFormat ( const wxString & aString) const
inlineprivate

Definition at line 209 of file parameters.h.

Referenced by Store().

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

◆ m_default

wxString PARAM< wxString >::m_default
protectedinherited

Definition at line 171 of file parameters.h.

Referenced by PARAM_PATH::MatchesFile().

◆ m_max

wxString PARAM< wxString >::m_max
privateinherited

Definition at line 166 of file parameters.h.

◆ m_min

wxString PARAM< wxString >::m_min
privateinherited

Definition at line 165 of file parameters.h.

◆ m_path

std::string PARAM_BASE::m_path
protectedinherited

Address of the param in the json files.

Definition at line 86 of file parameters.h.

Referenced by PARAM_PATH::MatchesFile(), and PARAM_PATH::Store().

◆ m_ptr

wxString* PARAM< wxString >::m_ptr
protectedinherited

Definition at line 170 of file parameters.h.

Referenced by PARAM_PATH::Load(), PARAM_PATH::MatchesFile(), and PARAM_PATH::Store().

◆ m_readOnly

bool PARAM_BASE::m_readOnly
protectedinherited

Indicates param pointer should never be overwritten.

Definition at line 87 of file parameters.h.

Referenced by PARAM_PATH::Load().

◆ m_use_minmax

bool PARAM< wxString >::m_use_minmax
privateinherited

Definition at line 167 of file parameters.h.


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