| 
    KiCad PCB EDA Suite
    
   | 
 
Toolbar configuration for the page layout editor frame. More...
#include <toolbars_pl_editor.h>
  
Public Member Functions | |
| PL_EDITOR_TOOLBAR_SETTINGS () | |
| ~PL_EDITOR_TOOLBAR_SETTINGS () | |
| std::optional< TOOLBAR_CONFIGURATION > | DefaultToolbarConfig (TOOLBAR_LOC aToolbar) override | 
| Get the default tools to show on the specified canvas toolbar.   | |
| std::optional< TOOLBAR_CONFIGURATION > | GetToolbarConfig (TOOLBAR_LOC aToolbar, bool aAllowCustom=true) | 
| Get the tools to show on the specified canvas toolbar.   | |
| std::optional< TOOLBAR_CONFIGURATION > | GetStoredToolbarConfig (TOOLBAR_LOC aToolbar) | 
| Get the stored configuration for the given toolbar.   | |
| void | SetStoredToolbarConfig (TOOLBAR_LOC aToolbar, const TOOLBAR_CONFIGURATION &aConfig) | 
| Set the stored configuration for the given toolbar.   | |
| wxString | GetFilename () const | 
| wxString | GetFullFilename () const | 
| void | SetFilename (const wxString &aFilename) | 
| void | SetLocation (SETTINGS_LOC aLocation) | 
| SETTINGS_LOC | GetLocation () const | 
| void | SetLegacyFilename (const wxString &aFilename) | 
| bool | IsReadOnly () const | 
| void | SetReadOnly (bool aReadOnly) | 
| nlohmann::json & | At (const std::string &aPath) | 
| Wrappers for the underlying JSON API so that most consumers don't need json.hpp All of these functions take a string that is passed to PointerFromString internally.   | |
| bool | Contains (const std::string &aPath) const | 
| JSON_SETTINGS_INTERNALS * | Internals () | 
| virtual void | Load () | 
| Updates the parameters of this object based on the current JSON document contents.   | |
| virtual bool | Store () | 
| Stores the current parameters into the JSON document represented by this object Note: this doesn't do any writing to disk; that's handled by SETTINGS_MANAGER.   | |
| virtual bool | LoadFromFile (const wxString &aDirectory="") | 
| Loads the backing file from disk and then calls Load()   | |
| virtual bool | SaveToFile (const wxString &aDirectory="", bool aForce=false) | 
| Calls Store() and then writes the contents of the JSON document to a file.   | |
| void | ResetToDefaults () | 
| Resets all parameters to default values.   | |
| std::optional< nlohmann::json > | GetJson (const std::string &aPath) const | 
| Fetches a JSON object that is a subset of this JSON_SETTINGS object, using a path of the form "key1.key2.key3" to refer to nested objects.   | |
| template<typename ValueType> | |
| std::optional< ValueType > | Get (const std::string &aPath) const | 
| Fetches a value from within the JSON document.   | |
| template<> | |
| std::optional< wxString > | Get (const std::string &aPath) const | 
| template<> | |
| KICOMMON_API std::optional< wxString > | Get (const std::string &aPath) const | 
| template<typename ValueType> | |
| void | Set (const std::string &aPath, ValueType aVal) | 
| Stores a value into the JSON document Will throw an exception if ValueType isn't something that the library can handle.   | |
| template<> | |
| void | Set (const std::string &aPath, wxString aVal) | 
| template<> | |
| KICOMMON_API void | Set (const std::string &aPath, wxString aVal) | 
| virtual std::map< std::string, nlohmann::json > | GetFileHistories () | 
| bool | Migrate () | 
| Migrates the schema of this settings from the version in the file to the latest version.   | |
| virtual bool | MigrateFromLegacy (wxConfigBase *aLegacyConfig) | 
| Migrates from wxConfig to JSON-based configuration.   | |
| void | AddNestedSettings (NESTED_SETTINGS *aSettings) | 
| Transfers ownership of a given NESTED_SETTINGS to this object.   | |
| void | ReleaseNestedSettings (NESTED_SETTINGS *aSettings) | 
| Saves and frees a nested settings object, if it exists within this one.   | |
| void | SetManager (SETTINGS_MANAGER *aManager) | 
| const std::string | FormatAsString () | 
| bool | LoadFromRawFile (const wxString &aPath) | 
Static Public Member Functions | |
| static bool | SetIfPresent (const nlohmann::json &aObj, const std::string &aPath, wxString &aTarget) | 
| Sets the given string if the given key/path is present.   | |
| static bool | SetIfPresent (const nlohmann::json &aObj, const std::string &aPath, bool &aTarget) | 
| Sets the given bool if the given key/path is present.   | |
| static bool | SetIfPresent (const nlohmann::json &aObj, const std::string &aPath, int &aTarget) | 
| Sets the given int if the given key/path is present.   | |
| static bool | SetIfPresent (const nlohmann::json &aObj, const std::string &aPath, unsigned int &aTarget) | 
| Sets the given unsigned int if the given key/path is present.   | |
Protected Member Functions | |
| void | registerMigration (int aOldSchemaVersion, int aNewSchemaVersion, std::function< bool(void)> aMigrator) | 
| Registers a migration from one schema version to another.   | |
| template<typename ValueType> | |
| bool | fromLegacy (wxConfigBase *aConfig, const std::string &aKey, const std::string &aDest) | 
| Translates a legacy wxConfig value to a given JSON pointer value.   | |
| bool | fromLegacyString (wxConfigBase *aConfig, const std::string &aKey, const std::string &aDest) | 
| Translates a legacy wxConfig string value to a given JSON pointer value.   | |
| bool | fromLegacyColor (wxConfigBase *aConfig, const std::string &aKey, const std::string &aDest) | 
| Translates a legacy COLOR4D stored in a wxConfig string to a given JSON pointer value.   | |
| virtual wxString | getFileExt () const | 
| virtual wxString | getLegacyFileExt () const | 
Static Protected Member Functions | |
| template<typename ResultType> | |
| static ResultType | fetchOrDefault (const nlohmann::json &aJson, const std::string &aKey, ResultType aDefault=ResultType()) | 
| Helper to retrieve a value from a JSON object (dictionary) as a certain result type.   | |
Protected Attributes | |
| std::map< TOOLBAR_LOC, TOOLBAR_CONFIGURATION > | m_toolbars | 
| wxString | m_filename | 
| The filename (not including path) of this settings file (inicode)   | |
| wxString | m_legacy_filename | 
| The filename of the wxConfig legacy file (if different from m_filename)   | |
| SETTINGS_LOC | m_location | 
| The location of this settings file (.   | |
| std::vector< PARAM_BASE * > | m_params | 
| The list of parameters (owned by this object)   | |
| std::vector< NESTED_SETTINGS * > | m_nested_settings | 
| Nested settings files that live inside this one, if any.   | |
| bool | m_createIfMissing | 
| Whether or not the backing store file should be created it if doesn't exist.   | |
| bool | m_createIfDefault | 
| Whether or not the backing store file should be created if all parameters are still at their default values.   | |
| bool | m_writeFile | 
| Whether or not the backing store file should be written.   | |
| bool | m_modified | 
| True if the JSON data store has been written to since the last file write.   | |
| bool | m_deleteLegacyAfterMigration | 
| Whether or not to delete legacy file after migration.   | |
| bool | m_resetParamsIfMissing | 
| Whether or not to set parameters to their default value if missing from JSON on Load()   | |
| int | m_schemaVersion | 
| Version of this settings schema.   | |
| bool | m_isFutureFormat | 
| Set to true if this settings is loaded from a file with a newer schema version than is known.   | |
| SETTINGS_MANAGER * | m_manager | 
| A pointer to the settings manager managing this file (may be null)   | |
| std::map< int, std::pair< int, std::function< bool()> > > | m_migrators | 
| A map of starting schema version to a pair of <ending version, migrator function>   | |
| std::unique_ptr< JSON_SETTINGS_INTERNALS > | m_internals | 
Toolbar configuration for the page layout editor frame.
Definition at line 36 of file toolbars_pl_editor.h.
      
  | 
  inline | 
Definition at line 39 of file toolbars_pl_editor.h.
References TOOLBAR_SETTINGS::TOOLBAR_SETTINGS().
      
  | 
  inline | 
Definition at line 42 of file toolbars_pl_editor.h.
      
  | 
  inherited | 
Transfers ownership of a given NESTED_SETTINGS to this object.
Can be used to construct a NESTED_SETTINGS without the parent object needing to know about the implementation of the nested object;
| aSettings | is the settings object to take ownership of | 
| aTarget | is a pointer to update to the passed in settings | 
Definition at line 907 of file json_settings.cpp.
References GetFilename(), m_nested_settings, NESTED_SETTINGS, and traceSettings.
      
  | 
  inherited | 
Wrappers for the underlying JSON API so that most consumers don't need json.hpp All of these functions take a string that is passed to PointerFromString internally.
Definition at line 119 of file json_settings.cpp.
References m_internals.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::migrateBomSettings(), GERBVIEW_SETTINGS::MigrateFromLegacy(), APP_SETTINGS_BASE::migrateLibTreeWidth(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), and FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1().
      
  | 
  inherited | 
Definition at line 125 of file json_settings.cpp.
References m_internals, and JSON_SETTINGS_INTERNALS::PointerFromString().
Referenced by EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), GERBVIEW_SETTINGS::GetFileHistories(), GetFileHistories(), BOARD_DESIGN_SETTINGS::LoadFromFile(), EESCHEMA_SETTINGS::migrateBomSettings(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), and SETTINGS_MANAGER::SaveColorSettings().
      
  | 
  overridevirtual | 
Get the default tools to show on the specified canvas toolbar.
Reimplemented from TOOLBAR_SETTINGS.
Definition at line 34 of file toolbars_pl_editor.cpp.
References _, PL_ACTIONS::appendImportedDrawingSheet, config, ACTIONS::deleteTool, ACTIONS::doNew, PL_ACTIONS::drawLine, PL_ACTIONS::drawRectangle, ACTIONS::inchesUnits, PL_ACTIONS::layoutEditMode, PL_ACTIONS::layoutNormalMode, LEFT, ACTIONS::millimetersUnits, ACTIONS::milsUnits, ACTIONS::open, PL_EDITOR_ACTION_TOOLBAR_CONTROLS::originSelector, PL_EDITOR_ACTION_TOOLBAR_CONTROLS::pageSelect, PL_ACTIONS::placeImage, PL_ACTIONS::placeText, PL_ACTIONS::previewSettings, ACTIONS::print, ACTIONS::redo, RIGHT, ACTIONS::save, ACTIONS::selectionTool, PL_ACTIONS::showInspector, ACTIONS::toggleGrid, TOP_AUX, TOP_MAIN, ACTIONS::undo, ACTIONS::zoomFitScreen, ACTIONS::zoomInCenter, ACTIONS::zoomOutCenter, ACTIONS::zoomRedraw, and ACTIONS::zoomTool.
      
  | 
  staticprotectedinherited | 
Helper to retrieve a value from a JSON object (dictionary) as a certain result type.
| ResultType | is the type of the retrieved value. | 
| aJson | is the object to act on . | 
| aKey | is the object key to retrieve the value for. | 
Definition at line 955 of file json_settings.cpp.
      
  | 
  inherited | 
Definition at line 538 of file json_settings.cpp.
References dummy, m_internals, and Store().
      
  | 
  protectedinherited | 
Translates a legacy wxConfig value to a given JSON pointer value.
| ValueType | is the basic type of the value | 
| aConfig | is the legacy config to read from | 
| aKey | is the key (within the current path) to read | 
| aDest | is a string that will form a JSON pointer (key1.key2.key3) to write to | 
Definition at line 816 of file json_settings.cpp.
Referenced by APP_SETTINGS_BASE::MigrateFromLegacy(), BITMAP2CMP_SETTINGS::MigrateFromLegacy(), COMMON_SETTINGS::MigrateFromLegacy(), CVPCB_SETTINGS::MigrateFromLegacy(), EDA_3D_VIEWER_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), KICAD_SETTINGS::MigrateFromLegacy(), PCB_CALCULATOR_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), PL_EDITOR_SETTINGS::MigrateFromLegacy(), PROJECT_FILE::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), and APP_SETTINGS_BASE::migrateWindowConfig().
      
  | 
  protectedinherited | 
Translates a legacy COLOR4D stored in a wxConfig string to a given JSON pointer value.
| aConfig | is the legacy config to read from | 
| aKey | is the key (within the current path) to read | 
| aDest | is a string that will form a JSON pointer (key1.key2.key3) to write to | 
Definition at line 879 of file json_settings.cpp.
References color.
Referenced by APP_SETTINGS_BASE::migrateWindowConfig().
      
  | 
  protectedinherited | 
Translates a legacy wxConfig string value to a given JSON pointer value.
| aConfig | is the legacy config to read from | 
| aKey | is the key (within the current path) to read | 
| aDest | is a string that will form a JSON pointer (key1.key2.key3) to write to | 
Definition at line 855 of file json_settings.cpp.
Referenced by APP_SETTINGS_BASE::MigrateFromLegacy(), BITMAP2CMP_SETTINGS::MigrateFromLegacy(), COMMON_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), PCB_CALCULATOR_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), PROJECT_FILE::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), and APP_SETTINGS_BASE::migrateWindowConfig().
      
  | 
  inherited | 
Definition at line 938 of file json_settings.cpp.
References GetJson().
      
  | 
  inherited | 
Fetches a value from within the JSON document.
Will return an empty optional if the value is not found or a mismatching type.
| ValueType | is the type to cast to | 
| aPath | is the path within the document to retrieve | 
Definition at line 603 of file json_settings.cpp.
References GetJson().
Referenced by BITMAP2CMP_SETTINGS::BITMAP2CMP_SETTINGS(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), COLOR_SETTINGS::COLOR_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), JSON_SETTINGS::Get< KIGFX::COLOR4D >(), JSON_SETTINGS::Get< KIGFX::CROSS_HAIR_MODE >(), JSON_SETTINGS::Get< nlohmann::json >(), JSON_SETTINGS::Get< std::string >(), COLOR_MAP_PARAM::Load(), PARAM< ValueType >::Load(), PARAM_ENUM< EnumType >::Load(), PARAM_LAMBDA< ValueType >::Load(), PARAM_SCALED< ValueType >::Load(), COLOR_MAP_PARAM::MatchesFile(), PARAM< ValueType >::MatchesFile(), PARAM_ENUM< EnumType >::MatchesFile(), PARAM_LAMBDA< ValueType >::MatchesFile(), PARAM_PATH::MatchesFile(), PARAM_SCALED< ValueType >::MatchesFile(), EESCHEMA_SETTINGS::migrateBomSettings(), COMMON_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), APP_SETTINGS_BASE::migrateLibTreeWidth(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), PROJECT_FILE::SaveAs(), and SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS().
      
  | 
  inherited | 
References KICOMMON_API.
      
  | 
  inlineprotectedvirtualinherited | 
Reimplemented in DATABASE_LIB_SETTINGS, HTTP_LIB_SETTINGS, JOBSET, PROJECT_FILE, and PROJECT_LOCAL_SETTINGS.
Definition at line 291 of file json_settings.h.
Referenced by GetFullFilename(), LoadFromFile(), and SaveToFile().
      
  | 
  virtualinherited | 
Reimplemented in GERBVIEW_SETTINGS.
Definition at line 400 of file json_settings.cpp.
References Contains(), and GetJson().
Referenced by GERBVIEW_SETTINGS::GetFileHistories().
      
  | 
  inlineinherited | 
Definition at line 87 of file json_settings.h.
References m_filename.
Referenced by AddNestedSettings(), SETTINGS_MANAGER::loadColorSettingsByName(), NESTED_SETTINGS::LoadFromFile(), EESCHEMA_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), COLOR_SETTINGS::migrateSchema0to1(), PANEL_COLOR_SETTINGS::OnThemeChanged(), PANEL_EESCHEMA_COLOR_SETTINGS::PANEL_EESCHEMA_COLOR_SETTINGS(), PANEL_GERBVIEW_COLOR_SETTINGS::PANEL_GERBVIEW_COLOR_SETTINGS(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), PCB_PLOTTER::PlotJobToPlotOpts(), DIALOG_PLOT_SCHEMATIC::plotSchematic(), PROJECT_FILE::SaveAs(), SETTINGS_MANAGER::SaveColorSettings(), DIALOG_PRINT::SavePrintOptions(), DIALOG_PRINT_PCBNEW::saveSettings(), NESTED_SETTINGS::SaveToFile(), PANEL_PL_EDITOR_COLOR_SETTINGS::TransferDataFromWindow(), and PANEL_SYM_COLOR_SETTINGS::TransferDataFromWindow().
      
  | 
  inherited | 
Definition at line 110 of file json_settings.cpp.
References getFileExt(), and m_filename.
Referenced by JSON_SETTINGS(), LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), and SaveToFile().
      
  | 
  inherited | 
Fetches a JSON object that is a subset of this JSON_SETTINGS object, using a path of the form "key1.key2.key3" to refer to nested objects.
| aPath | is a string containing one or more keys separated by '.' | 
Definition at line 583 of file json_settings.cpp.
References m_internals.
Referenced by Get(), GERBVIEW_SETTINGS::GetFileHistories(), GetFileHistories(), PARAM_LAMBDA< ValueType >::Load(), PARAM_LIST< Type >::Load(), PARAM_MAP< Value >::Load(), PARAM_SET< Type >::Load(), PARAM_WXSTRING_MAP::Load(), PARAM_LAMBDA< ValueType >::MatchesFile(), PARAM_LIST< Type >::MatchesFile(), PARAM_MAP< Value >::MatchesFile(), PARAM_PATH_LIST::MatchesFile(), PARAM_SET< Type >::MatchesFile(), PARAM_WXSTRING_MAP::MatchesFile(), and SETTINGS_MANAGER::SaveColorSettings().
      
  | 
  inlineprotectedvirtualinherited | 
Reimplemented in PROJECT_FILE, and PROJECT_LOCAL_SETTINGS.
Definition at line 296 of file json_settings.h.
Referenced by LoadFromFile().
      
  | 
  inlineinherited | 
Definition at line 94 of file json_settings.h.
References m_location.
Referenced by SETTINGS_MANAGER::GetPathForSettingsFile(), and COLOR_SETTINGS::migrateSchema0to1().
      
  | 
  inherited | 
Get the stored configuration for the given toolbar.
Definition at line 207 of file toolbar_configuration.cpp.
References m_toolbars.
      
  | 
  inherited | 
Get the tools to show on the specified canvas toolbar.
Returns the user-configured tools, and if not customized, the default tools.
Definition at line 192 of file toolbar_configuration.cpp.
References DefaultToolbarConfig(), and m_toolbars.
      
  | 
  inherited | 
Definition at line 131 of file json_settings.cpp.
References m_internals.
Referenced by COLOR_SETTINGS::migrateSchema0to1(), and SETTINGS_MANAGER::SaveColorSettings().
      
  | 
  inlineinherited | 
Definition at line 98 of file json_settings.h.
References m_writeFile.
Referenced by PANEL_COLOR_SETTINGS::GetSettingsDropdownName(), PANEL_COLOR_SETTINGS::OnThemeChanged(), APPEARANCE_CONTROLS::rebuildLayers(), SETTINGS_MANAGER::SaveColorSettings(), and APPEARANCE_CONTROLS::syncColorsAndVisibility().
      
  | 
  virtualinherited | 
Updates the parameters of this object based on the current JSON document contents.
Definition at line 137 of file json_settings.cpp.
References m_params, m_resetParamsIfMissing, and traceSettings.
Referenced by COLOR_SETTINGS::CreateBuiltinColorSettings(), BOARD_DESIGN_SETTINGS::LoadFromFile(), LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), LoadFromRawFile(), PCB_TEST_FRAME_BASE::LoadSettings(), PCBNEW_SETTINGS::MigrateFromLegacy(), COLOR_SETTINGS::migrateSchema0to1(), PANEL_3D_DISPLAY_OPTIONS::ResetPanel(), PANEL_3D_OPENGL_OPTIONS::ResetPanel(), PANEL_3D_RAYTRACING_OPTIONS::ResetPanel(), PANEL_DISPLAY_OPTIONS::ResetPanel(), PANEL_EDIT_OPTIONS::ResetPanel(), PANEL_EESCHEMA_DISPLAY_OPTIONS::ResetPanel(), PANEL_EESCHEMA_EDITING_OPTIONS::ResetPanel(), PANEL_FP_EDITOR_FIELD_DEFAULTS::ResetPanel(), PANEL_FP_EDITOR_GRAPHICS_DEFAULTS::ResetPanel(), PANEL_GERBVIEW_DISPLAY_OPTIONS::ResetPanel(), PANEL_PCBNEW_DISPLAY_ORIGIN::ResetPanel(), PANEL_PL_EDITOR_DISPLAY_OPTIONS::ResetPanel(), PANEL_SYM_DISPLAY_OPTIONS::ResetPanel(), PANEL_SYM_EDITING_OPTIONS::ResetPanel(), and SETTINGS_MANAGER::SaveColorSettings().
      
  | 
  virtualinherited | 
Loads the backing file from disk and then calls Load()
| aDirectory | is the path to the file | 
Reimplemented in BOARD_DESIGN_SETTINGS, NESTED_SETTINGS, and PROJECT_FILE.
Definition at line 154 of file json_settings.cpp.
References getFileExt(), GetFullFilename(), getLegacyFileExt(), Load(), m_deleteLegacyAfterMigration, m_filename, m_internals, m_isFutureFormat, m_legacy_filename, m_modified, m_nested_settings, m_schemaVersion, m_writeFile, Migrate(), MigrateFromLegacy(), NESTED_SETTINGS, path, SaveToFile(), and traceSettings.
Referenced by CLI::JOBSET_RUN_COMMAND::doPerform(), PROJECT_FILE::LoadFromFile(), SETTINGS_MANAGER::LoadProject(), SETTINGS_MANAGER::MigrateFromPreviousVersion(), PROJECT_TREE_TRAVERSER::OnFile(), and SETTINGS_MANAGER::SaveColorSettings().
      
  | 
  inherited | 
Definition at line 551 of file json_settings.cpp.
References Load(), m_internals, and traceSettings.
      
  | 
  inherited | 
Migrates the schema of this settings from the version in the file to the latest version.
Schema migration doesn't need to be used every time a setting is added! This is intended to be more of an "escape hatch" in the event that we decide to move settings around or make other changes to a settings file format that can't simply be handled by loading a new default
Definition at line 706 of file json_settings.cpp.
References m_internals, m_migrators, m_schemaVersion, and traceSettings.
Referenced by LoadFromFile(), and NESTED_SETTINGS::LoadFromFile().
      
  | 
  virtualinherited | 
Migrates from wxConfig to JSON-based configuration.
Should be implemented by any subclasses of JSON_SETTINGS that map to a legacy (wxConfig-based) config file.
| aLegacyConfig | is a wxConfigBase holding a loaded configuration to migrate | 
Reimplemented in APP_SETTINGS_BASE, BITMAP2CMP_SETTINGS, COLOR_SETTINGS, COMMON_SETTINGS, CVPCB_SETTINGS, EDA_3D_VIEWER_SETTINGS, EESCHEMA_SETTINGS, FOOTPRINT_EDITOR_SETTINGS, GERBVIEW_SETTINGS, KICAD_SETTINGS, PCB_CALCULATOR_SETTINGS, PCBNEW_SETTINGS, PL_EDITOR_SETTINGS, PROJECT_FILE, PROJECT_LOCAL_SETTINGS, and SYMBOL_EDITOR_SETTINGS.
Definition at line 747 of file json_settings.cpp.
References traceSettings.
Referenced by LoadFromFile().
      
  | 
  protectedinherited | 
Registers a migration from one schema version to another.
If the schema version in the file loaded from disk is less than the schema version of the JSON_SETTINGS class, migration functions will be called one after the other until the data is up-to-date.
| aOldSchemaVersion | is the starting schema version for this migration | 
| aNewSchemaVersion | is the ending schema version for this migration | 
| aMigrator | is a function that performs the migration and returns true if successful | 
Definition at line 697 of file json_settings.cpp.
References m_migrators, and m_schemaVersion.
Referenced by BITMAP2CMP_SETTINGS::BITMAP2CMP_SETTINGS(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), COLOR_SETTINGS::COLOR_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), NET_SETTINGS::NET_SETTINGS(), PROJECT_FILE::PROJECT_FILE(), SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS(), and SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS().
      
  | 
  inherited | 
Saves and frees a nested settings object, if it exists within this one.
| aSettings | is a pointer to a NESTED_SETTINGS that has already been added to this one | 
Definition at line 914 of file json_settings.cpp.
References JSON_SETTINGS(), m_manager, m_modified, m_nested_settings, NESTED_SETTINGS, NESTED_SETTINGS::SetParent(), and traceSettings.
Referenced by SCHEMATIC_SETTINGS::~SCHEMATIC_SETTINGS().
      
  | 
  inherited | 
Resets all parameters to default values.
Does NOT write to file or update underlying JSON.
Definition at line 393 of file json_settings.cpp.
References m_params.
Referenced by PANEL_COMMON_SETTINGS::ResetPanel(), PANEL_MAINTENANCE::ResetPanel(), PANEL_MOUSE_SETTINGS::ResetPanel(), and PANEL_SPACEMOUSE::ResetPanel().
      
  | 
  virtualinherited | 
Calls Store() and then writes the contents of the JSON document to a file.
| aDirectory | is the directory to save to, including trailing separator | 
Reimplemented in JOBSET, NESTED_SETTINGS, PROJECT_FILE, and PROJECT_LOCAL_SETTINGS.
Definition at line 414 of file json_settings.cpp.
References dummy, getFileExt(), GetFullFilename(), m_createIfDefault, m_createIfMissing, m_filename, m_internals, m_modified, m_nested_settings, m_params, m_writeFile, NESTED_SETTINGS, path, JSON_SETTINGS_INTERNALS::PointerFromString(), Store(), and traceSettings.
Referenced by STARTWIZARD_PROVIDER_SETTINGS::ApplyDefaults(), KICAD_MANAGER_FRAME::CreateNewProject(), STARTWIZARD_PROVIDER_SETTINGS::Finish(), LoadFromFile(), KICAD_MANAGER_FRAME::LoadProject(), SETTINGS_MANAGER::MigrateFromPreviousVersion(), PANEL_COLOR_SETTINGS::OnThemeChanged(), PROJECT::PinLibrary(), PROJECT_FILE::SaveAs(), PROJECT_LOCAL_SETTINGS::SaveAs(), SETTINGS_MANAGER::SaveColorSettings(), JOBSET::SaveToFile(), PROJECT_FILE::SaveToFile(), PROJECT_LOCAL_SETTINGS::SaveToFile(), PGM_BASE::SetLanguage(), and PROJECT::UnpinLibrary().
      
  | 
  inherited | 
Stores a value into the JSON document Will throw an exception if ValueType isn't something that the library can handle.
| ValueType | is the type to store | 
| aPath | is a path to store in the form "key1.key2.key3" | 
| aVal | is the value to store | 
Definition at line 658 of file json_settings.cpp.
References m_internals.
Referenced by BITMAP2CMP_SETTINGS::BITMAP2CMP_SETTINGS(), COLOR_SETTINGS::COLOR_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), JSON_SETTINGS::Set< KIGFX::COLOR4D >(), JSON_SETTINGS::Set< KIGFX::CROSS_HAIR_MODE >(), JSON_SETTINGS::Set< nlohmann::json >(), JSON_SETTINGS::Set< std::string >(), BOARD_DESIGN_SETTINGS::LoadFromFile(), APP_SETTINGS_BASE::migrateFindReplace(), APP_SETTINGS_BASE::MigrateFromLegacy(), COMMON_SETTINGS::MigrateFromLegacy(), EDA_3D_VIEWER_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), KICAD_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), PROJECT_FILE::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), PROJECT_FILE::SaveAs(), PROJECT_LOCAL_SETTINGS::SaveAs(), PROJECT_FILE::SaveToFile(), PROJECT_LOCAL_SETTINGS::SaveToFile(), SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS(), COLOR_MAP_PARAM::Store(), PARAM< ValueType >::Store(), PARAM_ENUM< EnumType >::Store(), PARAM_LAMBDA< ValueType >::Store(), PARAM_LIST< Type >::Store(), PARAM_MAP< Value >::Store(), PARAM_PATH::Store(), PARAM_PATH_LIST::Store(), PARAM_SCALED< ValueType >::Store(), PARAM_SET< Type >::Store(), and PARAM_WXSTRING_MAP::Store().
      
  | 
  inherited | 
Definition at line 948 of file json_settings.cpp.
      
  | 
  inherited | 
References KICOMMON_API.
      
  | 
  inlineinherited | 
Definition at line 91 of file json_settings.h.
References m_filename.
Referenced by SETTINGS_MANAGER::GetColorSettings(), PROJECT_FILE::SaveAs(), PROJECT_LOCAL_SETTINGS::SaveAs(), SETTINGS_MANAGER::SaveProjectAs(), and SETTINGS_MANAGER::SaveProjectCopy().
      
  | 
  staticinherited | 
Sets the given bool if the given key/path is present.
| aObj | is the source object | 
| aTarget | is the storage destination | 
Definition at line 770 of file json_settings.cpp.
References JSON_SETTINGS_INTERNALS::PointerFromString().
      
  | 
  staticinherited | 
Sets the given int if the given key/path is present.
| aObj | is the source object | 
| aTarget | is the storage destination | 
Definition at line 785 of file json_settings.cpp.
References JSON_SETTINGS_INTERNALS::PointerFromString().
      
  | 
  staticinherited | 
Sets the given unsigned int if the given key/path is present.
| aObj | is the source object | 
| aTarget | is the storage destination | 
Definition at line 800 of file json_settings.cpp.
References JSON_SETTINGS_INTERNALS::PointerFromString().
      
  | 
  staticinherited | 
Sets the given string if the given key/path is present.
| aObj | is the source object | 
| aTarget | is the storage destination | 
Definition at line 755 of file json_settings.cpp.
References JSON_SETTINGS_INTERNALS::PointerFromString().
Referenced by PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS(), and SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS().
      
  | 
  inlineinherited | 
Definition at line 96 of file json_settings.h.
References m_legacy_filename.
Referenced by SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS().
      
  | 
  inlineinherited | 
Definition at line 93 of file json_settings.h.
References m_location.
Referenced by COLOR_SETTINGS::COLOR_SETTINGS(), and COLOR_SETTINGS::migrateSchema0to1().
      
  | 
  inlineinherited | 
Definition at line 207 of file json_settings.h.
References m_manager.
      
  | 
  inlineinherited | 
Definition at line 99 of file json_settings.h.
References m_writeFile.
Referenced by SETTINGS_MANAGER::GetColorSettings(), SETTINGS_MANAGER::loadAllColorSettings(), PANEL_COLOR_SETTINGS::OnThemeChanged(), PROJECT_FILE::SaveAs(), and SETTINGS_MANAGER::SaveProjectAs().
      
  | 
  inlineinherited | 
Set the stored configuration for the given toolbar.
Definition at line 238 of file toolbar_configuration.h.
References m_toolbars.
      
  | 
  virtualinherited | 
Stores the current parameters into the JSON document represented by this object Note: this doesn't do any writing to disk; that's handled by SETTINGS_MANAGER.
Definition at line 381 of file json_settings.cpp.
References m_modified, and m_params.
Referenced by FormatAsString(), PANEL_FP_EDITOR_COLOR_SETTINGS::PANEL_FP_EDITOR_COLOR_SETTINGS(), SETTINGS_MANAGER::SaveColorSettings(), SaveToFile(), and NESTED_SETTINGS::SaveToFile().
      
  | 
  protectedinherited | 
Whether or not the backing store file should be created if all parameters are still at their default values.
Ignored if m_createIfMissing is false or m_writeFile is false.
Definition at line 334 of file json_settings.h.
Referenced by JSON_SETTINGS(), and SaveToFile().
      
  | 
  protectedinherited | 
Whether or not the backing store file should be created it if doesn't exist.
Definition at line 328 of file json_settings.h.
Referenced by JSON_SETTINGS(), and SaveToFile().
      
  | 
  protectedinherited | 
Whether or not to delete legacy file after migration.
Definition at line 343 of file json_settings.h.
Referenced by JSON_SETTINGS(), LoadFromFile(), PROJECT_FILE::PROJECT_FILE(), and PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS().
      
  | 
  protectedinherited | 
The filename (not including path) of this settings file (inicode)
Definition at line 313 of file json_settings.h.
Referenced by APP_SETTINGS_BASE::addParamsForWindow(), COLOR_SETTINGS::COLOR_SETTINGS(), APP_SETTINGS_BASE::DefaultGridSizeList(), APP_SETTINGS_BASE::DefaultZoomList(), GetFilename(), GetFullFilename(), JSON_SETTINGS(), LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), COLOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::operator=(), SaveToFile(), NESTED_SETTINGS::SaveToFile(), and SetFilename().
      
  | 
  protectedinherited | 
Definition at line 360 of file json_settings.h.
Referenced by At(), Contains(), FormatAsString(), GetJson(), Internals(), JSON_SETTINGS(), LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), LoadFromRawFile(), Migrate(), COMMON_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), COLOR_SETTINGS::migrateSchema0to1(), COMMON_SETTINGS::migrateSchema0to1(), EDA_3D_VIEWER_SETTINGS::migrateSchema0to1(), NET_SETTINGS::migrateSchema0to1(), PROJECT_FILE::migrateSchema1To2(), COMMON_SETTINGS::migrateSchema1to2(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema2To3(), PROJECT_FILE::migrateSchema2To3(), NET_SETTINGS::migrateSchema2to3(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema3To4(), COMMON_SETTINGS::migrateSchema3to4(), NET_SETTINGS::migrateSchema3to4(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema4To5(), NET_SETTINGS::migrateSchema4to5(), SaveToFile(), NESTED_SETTINGS::SaveToFile(), and Set().
      
  | 
  protectedinherited | 
Set to true if this settings is loaded from a file with a newer schema version than is known.
Definition at line 352 of file json_settings.h.
Referenced by JSON_SETTINGS(), LoadFromFile(), PROJECT_FILE::ShouldAutoSave(), and PROJECT_LOCAL_SETTINGS::ShouldAutoSave().
      
  | 
  protectedinherited | 
The filename of the wxConfig legacy file (if different from m_filename)
Definition at line 316 of file json_settings.h.
Referenced by JSON_SETTINGS(), LoadFromFile(), and SetLegacyFilename().
      
  | 
  protectedinherited | 
The location of this settings file (.
Definition at line 319 of file json_settings.h.
Referenced by GetLocation(), JSON_SETTINGS(), and SetLocation().
      
  | 
  protectedinherited | 
A pointer to the settings manager managing this file (may be null)
Definition at line 355 of file json_settings.h.
Referenced by JSON_SETTINGS(), COLOR_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), ReleaseNestedSettings(), and SetManager().
      
  | 
  protectedinherited | 
A map of starting schema version to a pair of <ending version, migrator function>
Definition at line 358 of file json_settings.h.
Referenced by Migrate(), and registerMigration().
      
  | 
  protectedinherited | 
True if the JSON data store has been written to since the last file write.
Definition at line 340 of file json_settings.h.
Referenced by JSON_SETTINGS(), LoadFromFile(), ReleaseNestedSettings(), SaveToFile(), and Store().
      
  | 
  protectedinherited | 
Nested settings files that live inside this one, if any.
Definition at line 325 of file json_settings.h.
Referenced by AddNestedSettings(), LoadFromFile(), ReleaseNestedSettings(), and SaveToFile().
      
  | 
  protectedinherited | 
The list of parameters (owned by this object)
Definition at line 322 of file json_settings.h.
Referenced by APP_SETTINGS_BASE::addParamsForWindow(), APP_SETTINGS_BASE::APP_SETTINGS_BASE(), BITMAP2CMP_SETTINGS::BITMAP2CMP_SETTINGS(), BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), COLOR_SETTINGS::COLOR_SETTINGS(), COMMON_SETTINGS::COMMON_SETTINGS(), COMPONENT_CLASS_SETTINGS::COMPONENT_CLASS_SETTINGS(), COLOR_SETTINGS::CreateBuiltinColorSettings(), CVPCB_SETTINGS::CVPCB_SETTINGS(), DATABASE_LIB_SETTINGS::DATABASE_LIB_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), ERC_SETTINGS::ERC_SETTINGS(), FOOTPRINT_EDITOR_SETTINGS::FOOTPRINT_EDITOR_SETTINGS(), GERBVIEW_SETTINGS::GERBVIEW_SETTINGS(), COLOR_SETTINGS::GetDefaultColor(), HTTP_LIB_SETTINGS::HTTP_LIB_SETTINGS(), COLOR_SETTINGS::initFromOther(), JOBSET::JOBSET(), JSON_SETTINGS(), KICAD_SETTINGS::KICAD_SETTINGS(), Load(), NET_SETTINGS::NET_SETTINGS(), NGSPICE_SETTINGS::NGSPICE_SETTINGS(), PCB_CALCULATOR_SETTINGS::PCB_CALCULATOR_SETTINGS(), PCBNEW_SETTINGS::PCBNEW_SETTINGS(), PL_EDITOR_SETTINGS::PL_EDITOR_SETTINGS(), PROJECT_FILE::PROJECT_FILE(), PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS(), ResetToDefaults(), PNS::ROUTING_SETTINGS::ROUTING_SETTINGS(), SaveToFile(), SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS(), SPICE_SETTINGS::SPICE_SETTINGS(), Store(), SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS(), TOOLBAR_SETTINGS::TOOLBAR_SETTINGS(), TUNING_PROFILES::TUNING_PROFILES(), and ~JSON_SETTINGS().
      
  | 
  protectedinherited | 
Whether or not to set parameters to their default value if missing from JSON on Load()
Definition at line 346 of file json_settings.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), JSON_SETTINGS(), and Load().
      
  | 
  protectedinherited | 
Version of this settings schema.
Definition at line 349 of file json_settings.h.
Referenced by JSON_SETTINGS(), LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), Migrate(), registerMigration(), and NESTED_SETTINGS::SaveToFile().
      
  | 
  protectedinherited | 
Definition at line 245 of file toolbar_configuration.h.
Referenced by GetStoredToolbarConfig(), GetToolbarConfig(), SetStoredToolbarConfig(), and TOOLBAR_SETTINGS().
      
  | 
  protectedinherited | 
Whether or not the backing store file should be written.
Definition at line 337 of file json_settings.h.
Referenced by COLOR_SETTINGS::CreateBuiltinColorSettings(), COLOR_SETTINGS::initFromOther(), IsReadOnly(), JSON_SETTINGS(), LoadFromFile(), SaveToFile(), and SetReadOnly().