| 
    KiCad PCB EDA Suite
    
   | 
 
Represents a map of <std::string, Value>. More...
#include <parameters.h>
  
Public Member Functions | |
| PARAM_MAP (const std::string &aJsonPath, std::map< std::string, Value > *aPtr, std::initializer_list< std::pair< const std::string, Value > > 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.   | |
| virtual void | SetDefault () override | 
| bool | MatchesFile (const JSON_SETTINGS &aSettings) const override | 
| Checks whether the parameter in memory matches the one in a given JSON file.   | |
| const std::string & | GetJsonPath () const | 
| bool | ClearUnknownKeys () const | 
| void | SetClearUnknownKeys (bool aSet=true) | 
Protected Attributes | |
| 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 Attributes | |
| std::map< std::string, Value > * | m_ptr | 
| std::map< std::string, Value > | m_default | 
Represents a map of <std::string, Value>.
The key parameter has to be a string in JSON.
The key must be stored in UTF-8 format, so any translated strings or strings provided by the user as a key must be converted to UTF-8 at the site where they are placed in the underlying map that this PARAM_MAP points to.
Values must also be in UTF-8, but if you use wxString as the value type, this conversion will be done automatically by the to_json and from_json helpers defined in json_settings.cpp
| Value | is the value type of the map | 
Definition at line 734 of file parameters.h.
      
  | 
  inline | 
Definition at line 737 of file parameters.h.
References m_default, m_ptr, PARAM_BASE::PARAM_BASE(), and PARAM_BASE::SetClearUnknownKeys().
      
  | 
  inlineinherited | 
Definition at line 78 of file parameters.h.
References m_clearUnknownKeys.
      
  | 
  inlineinherited | 
Definition at line 72 of file parameters.h.
References m_path.
      
  | 
  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 747 of file parameters.h.
References JSON_SETTINGS::GetJson(), m_default, PARAM_BASE::m_path, m_ptr, and PARAM_BASE::m_readOnly.
      
  | 
  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 781 of file parameters.h.
References JSON_SETTINGS::GetJson(), PARAM_BASE::m_path, and m_ptr.
      
  | 
  inlineinherited | 
Definition at line 80 of file parameters.h.
References m_clearUnknownKeys.
Referenced by PARAM_MAP< Value >::PARAM_MAP().
      
  | 
  inlineoverridevirtual | 
Implements PARAM_BASE.
Definition at line 776 of file parameters.h.
      
  | 
  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 766 of file parameters.h.
References PARAM_BASE::m_path, m_ptr, and JSON_SETTINGS::Set().
      
  | 
  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 85 of file parameters.h.
Referenced by ClearUnknownKeys(), PARAM_BASE(), PARAM_WXSTRING_MAP::PARAM_WXSTRING_MAP(), and SetClearUnknownKeys().
      
  | 
  private | 
Definition at line 804 of file parameters.h.
Referenced by Load(), PARAM_MAP(), and SetDefault().
      
  | 
  protectedinherited | 
Address of the param in the json files.
Definition at line 83 of file parameters.h.
Referenced by GetJsonPath(), COLOR_MAP_PARAM::Load(), PARAM< ValueType >::Load(), PARAM_ENUM< EnumType >::Load(), PARAM_LAMBDA< ValueType >::Load(), PARAM_LIST< Type >::Load(), PARAM_MAP< Value >::Load(), PARAM_SCALED< ValueType >::Load(), PARAM_SET< Type >::Load(), PARAM_WXSTRING_MAP::Load(), COLOR_MAP_PARAM::MatchesFile(), PARAM< ValueType >::MatchesFile(), PARAM_ENUM< EnumType >::MatchesFile(), PARAM_LAMBDA< ValueType >::MatchesFile(), PARAM_LIST< Type >::MatchesFile(), PARAM_MAP< Value >::MatchesFile(), PARAM_SCALED< ValueType >::MatchesFile(), PARAM_SET< Type >::MatchesFile(), PARAM_WXSTRING_MAP::MatchesFile(), PARAM_BASE(), COLOR_MAP_PARAM::Store(), PARAM< ValueType >::Store(), PARAM_ENUM< EnumType >::Store(), PARAM_LAMBDA< ValueType >::Store(), PARAM_LIST< Type >::Store(), PARAM_MAP< Value >::Store(), PARAM_SCALED< ValueType >::Store(), PARAM_SET< Type >::Store(), and PARAM_WXSTRING_MAP::Store().
      
  | 
  private | 
Definition at line 803 of file parameters.h.
Referenced by Load(), MatchesFile(), PARAM_MAP(), SetDefault(), and Store().
      
  | 
  protectedinherited | 
Indicates param pointer should never be overwritten.
Definition at line 84 of file parameters.h.
Referenced by COLOR_MAP_PARAM::Load(), PARAM< ValueType >::Load(), PARAM_ENUM< EnumType >::Load(), PARAM_LAMBDA< ValueType >::Load(), PARAM_LIST< Type >::Load(), PARAM_MAP< Value >::Load(), PARAM_SCALED< ValueType >::Load(), PARAM_SET< Type >::Load(), PARAM_WXSTRING_MAP::Load(), and PARAM_BASE().