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

Represents a list of strings holding directory paths. More...

#include <parameters.h>

Inheritance diagram for PARAM_PATH_LIST:
PARAM_LIST< wxString > PARAM_BASE

Public Member Functions

 PARAM_PATH_LIST (const std::string &aJsonPath, std::vector< wxString > *aPtr, std::initializer_list< wxString > aDefault, bool aReadOnly=false)
 
 PARAM_PATH_LIST (const std::string &aJsonPath, std::vector< wxString > *aPtr, std::vector< wxString > 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.
 
void Store (JSON_SETTINGS *aSettings) const override
 Stores the value of this parameter to the given JSON_SETTINGS object.
 
bool MatchesFile (JSON_SETTINGS *aSettings) const override
 Checks whether the parameter in memory matches the one in a given JSON file.
 
void SetDefault () override
 
const std::string & GetJsonPath () const
 
bool ClearUnknownKeys () const
 

Protected Attributes

std::vector< wxString > * m_ptr
 
std::vector< 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
 

Detailed Description

Represents a list of strings holding directory paths.

Normalizes paths to unix directory separator style in the file.

Definition at line 664 of file parameters.h.

Constructor & Destructor Documentation

◆ PARAM_PATH_LIST() [1/2]

PARAM_PATH_LIST::PARAM_PATH_LIST ( const std::string &  aJsonPath,
std::vector< wxString > *  aPtr,
std::initializer_list< wxString >  aDefault,
bool  aReadOnly = false 
)
inline

Definition at line 667 of file parameters.h.

◆ PARAM_PATH_LIST() [2/2]

PARAM_PATH_LIST::PARAM_PATH_LIST ( const std::string &  aJsonPath,
std::vector< wxString > *  aPtr,
std::vector< wxString >  aDefault,
bool  aReadOnly = false 
)
inline

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

◆ fromFileFormat()

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

Definition at line 700 of file parameters.h.

Referenced by MatchesFile().

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

◆ Load()

void PARAM_PATH_LIST::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 677 of file parameters.h.

References PARAM_LIST< Type >::Load().

◆ MatchesFile()

bool PARAM_PATH_LIST::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 39 of file parameters.cpp.

References fromFileFormat(), JSON_SETTINGS::GetJson(), PARAM_BASE::m_path, and PARAM_LIST< wxString >::m_ptr.

◆ SetDefault()

void PARAM_LIST< wxString >::SetDefault ( )
inlineoverridevirtualinherited

Implements PARAM_BASE.

Definition at line 521 of file parameters.h.

◆ Store()

void PARAM_PATH_LIST::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 28 of file parameters.cpp.

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

◆ toFileFormat()

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

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

◆ m_default

std::vector<wxString > PARAM_LIST< wxString >::m_default
protectedinherited

Definition at line 555 of file parameters.h.

◆ m_path

◆ m_ptr

std::vector<wxString >* PARAM_LIST< wxString >::m_ptr
protectedinherited

Definition at line 554 of file parameters.h.

◆ m_readOnly

bool PARAM_BASE::m_readOnly
protectedinherited

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