KiCad PCB EDA Suite
|
#include <common_settings.h>
Classes | |
struct | API |
struct | APPEARANCE |
struct | AUTO_BACKUP |
struct | DO_NOT_SHOW_AGAIN |
struct | ENVIRONMENT |
struct | GIT |
struct | GIT_REPOSITORY |
struct | GRAPHICS |
struct | INPUT |
struct | LEGACY_3D_SEARCH_PATH |
struct | NETCLASS_PANEL |
struct | PACKAGE_MANAGER |
struct | SESSION |
struct | SYSTEM |
Public Member Functions | |
COMMON_SETTINGS () | |
virtual | ~COMMON_SETTINGS () |
virtual bool | MigrateFromLegacy (wxConfigBase *aLegacyConfig) override |
Migrates from wxConfig to JSON-based configuration. | |
void | InitializeEnvironment () |
Creates the built-in environment variables and sets their default values. | |
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<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) |
bool | Migrate () |
Migrates the schema of this settings from the version in the file to the latest version. | |
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 | |
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. | |
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 |
Private Member Functions | |
bool | migrateSchema0to1 () |
bool | migrateSchema1to2 () |
bool | migrateSchema2to3 () |
bool | readLegacy3DResolverCfg (const wxString &aPath, std::vector< LEGACY_3D_SEARCH_PATH > &aSearchPaths) |
Static Private Member Functions | |
static bool | getLegacy3DHollerith (const std::string &aString, size_t &aIndex, wxString &aResult) |
Definition at line 47 of file common_settings.h.
COMMON_SETTINGS::COMMON_SETTINGS | ( | ) |
Definition at line 45 of file common_settings.cpp.
References COMMON_SETTINGS::APPEARANCE::apply_icon_scale_to_fonts, COMMON_SETTINGS::AUTO_BACKUP::backup_on_autosave, COMMON_SETTINGS::APPEARANCE::canvas_scale, COMMON_SETTINGS::AUTO_BACKUP::enabled, COMMON_SETTINGS::APPEARANCE::grid_striping, COMMON_SETTINGS::APPEARANCE::hicontrast_dimming_factor, COMMON_SETTINGS::APPEARANCE::icon_theme, COMMON_SETTINGS::AUTO_BACKUP::limit_daily_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_size, m_Appearance, m_Backup, m_Env, JSON_SETTINGS::m_params, COMMON_SETTINGS::AUTO_BACKUP::min_interval, COMMON_SETTINGS::APPEARANCE::show_scrollbars, COMMON_SETTINGS::APPEARANCE::text_editor_zoom, COMMON_SETTINGS::APPEARANCE::toolbar_icon_size, traceEnvVars, COMMON_SETTINGS::APPEARANCE::use_icons_in_menus, and COMMON_SETTINGS::ENVIRONMENT::vars.
|
inlinevirtual |
Definition at line 182 of file common_settings.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 870 of file json_settings.cpp.
References JSON_SETTINGS::GetFilename(), JSON_SETTINGS::m_nested_settings, and traceSettings.
Referenced by NESTED_SETTINGS::SetParent().
|
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 118 of file json_settings.cpp.
References JSON_SETTINGS::m_internals.
Referenced by EESCHEMA_SETTINGS::migrateBomSettings(), GERBVIEW_SETTINGS::MigrateFromLegacy(), APP_SETTINGS_BASE::migrateLibTreeWidth(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), and PCBNEW_SETTINGS::PCBNEW_SETTINGS().
|
inherited |
Definition at line 124 of file json_settings.cpp.
References JSON_SETTINGS::m_internals, and JSON_SETTINGS_INTERNALS::PointerFromString().
Referenced by BOARD_DESIGN_SETTINGS::LoadFromFile(), EESCHEMA_SETTINGS::migrateBomSettings(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), and SETTINGS_MANAGER::SaveColorSettings().
|
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 916 of file json_settings.cpp.
|
inherited |
Definition at line 515 of file json_settings.cpp.
References dummy, JSON_SETTINGS::m_internals, and JSON_SETTINGS::Store().
Referenced by ROUTER_TOOL::saveRouterDebugLog().
|
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 782 of file json_settings.cpp.
|
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 842 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 818 of file json_settings.cpp.
Referenced by PROJECT_FILE::MigrateFromLegacy(), APP_SETTINGS_BASE::MigrateFromLegacy(), BITMAP2CMP_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), MigrateFromLegacy(), PCB_CALCULATOR_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), and APP_SETTINGS_BASE::migrateWindowConfig().
|
inherited |
Definition at line 900 of file json_settings.cpp.
References JSON_SETTINGS::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 580 of file json_settings.cpp.
References JSON_SETTINGS::GetJson().
Referenced by 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_PATH::MatchesFile(), PARAM_ENUM< EnumType >::MatchesFile(), PARAM_LAMBDA< ValueType >::MatchesFile(), and PARAM_SCALED< ValueType >::MatchesFile().
|
inlineprotectedvirtualinherited |
Reimplemented in JOBSET, DATABASE_LIB_SETTINGS, HTTP_LIB_SETTINGS, PROJECT_FILE, and PROJECT_LOCAL_SETTINGS.
Definition at line 282 of file json_settings.h.
Referenced by JSON_SETTINGS::GetFullFilename(), JSON_SETTINGS::LoadFromFile(), and JSON_SETTINGS::SaveToFile().
|
inlineinherited |
Definition at line 80 of file json_settings.h.
Referenced by JSON_SETTINGS::AddNestedSettings(), DIALOG_PLOT_SCHEMATIC::getPlotOptions(), SETTINGS_MANAGER::loadColorSettingsByName(), NESTED_SETTINGS::LoadFromFile(), EESCHEMA_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), COLOR_SETTINGS::migrateSchema0to1(), PANEL_COLOR_SETTINGS::OnLeftDownTheme(), PANEL_COLOR_SETTINGS::OnThemeChanged(), DIALOG_PLOT_SCHEMATIC::plotSchematic(), PROJECT_FILE::SaveAs(), SETTINGS_MANAGER::SaveColorSettings(), PANEL_COLOR_SETTINGS::saveCurrentTheme(), DIALOG_PRINT_USING_PRINTER::SavePrintOptions(), DIALOG_PRINT_PCBNEW::saveSettings(), NESTED_SETTINGS::SaveToFile(), PANEL_EESCHEMA_COLOR_SETTINGS::TransferDataFromWindow(), PANEL_SYM_COLOR_SETTINGS::TransferDataFromWindow(), PANEL_GERBVIEW_COLOR_SETTINGS::TransferDataFromWindow(), PANEL_FP_EDITOR_COLOR_SETTINGS::TransferDataFromWindow(), and PANEL_PCBNEW_COLOR_SETTINGS::TransferDataFromWindow().
|
inherited |
Definition at line 109 of file json_settings.cpp.
References JSON_SETTINGS::getFileExt(), and JSON_SETTINGS::m_filename.
Referenced by JSON_SETTINGS::JSON_SETTINGS(), JSON_SETTINGS::LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), JSON_SETTINGS::SaveToFile(), and SETTINGS_MANAGER::SETTINGS_MANAGER().
|
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 560 of file json_settings.cpp.
References JSON_SETTINGS::m_internals.
Referenced by JSON_SETTINGS::Get(), PARAM_LAMBDA< ValueType >::Load(), PARAM_LIST< Type >::Load(), PARAM_SET< Type >::Load(), PARAM_MAP< Value >::Load(), PARAM_WXSTRING_MAP::Load(), PARAM_LAMBDA< ValueType >::MatchesFile(), PARAM_LIST< Type >::MatchesFile(), PARAM_SET< Type >::MatchesFile(), PARAM_PATH_LIST::MatchesFile(), PARAM_MAP< Value >::MatchesFile(), PARAM_WXSTRING_MAP::MatchesFile(), SETTINGS_MANAGER::SaveColorSettings(), and NESTED_SETTINGS::SaveToFile().
|
staticprivate |
Definition at line 784 of file common_settings.cpp.
References traceSettings.
Referenced by readLegacy3DResolverCfg().
|
inlineprotectedvirtualinherited |
Reimplemented in PROJECT_FILE, and PROJECT_LOCAL_SETTINGS.
Definition at line 287 of file json_settings.h.
Referenced by JSON_SETTINGS::LoadFromFile().
|
inlineinherited |
Definition at line 87 of file json_settings.h.
Referenced by SETTINGS_MANAGER::GetPathForSettingsFile(), and COLOR_SETTINGS::migrateSchema0to1().
void COMMON_SETTINGS::InitializeEnvironment | ( | ) |
Creates the built-in environment variables and sets their default values.
Definition at line 630 of file common_settings.cpp.
References PATHS::GetDefault3rdPartyPath(), PATHS::GetStockEDALibraryPath(), PATHS::GetStockTemplatesPath(), PATHS::GetUserTemplatesPath(), ENV_VAR::GetVersionedEnvVarName(), m_Env, path, traceEnvVars, and COMMON_SETTINGS::ENVIRONMENT::vars.
Referenced by PGM_BASE::InitPgm().
|
inherited |
Definition at line 130 of file json_settings.cpp.
References JSON_SETTINGS::m_internals.
Referenced by COLOR_SETTINGS::migrateSchema0to1(), and SETTINGS_MANAGER::SaveColorSettings().
|
inlineinherited |
Definition at line 91 of file json_settings.h.
Referenced by PANEL_COLOR_SETTINGS::GetSettingsDropdownName(), PANEL_COLOR_SETTINGS::OnThemeChanged(), APPEARANCE_CONTROLS::rebuildLayers(), PANEL_COLOR_SETTINGS::ResetPanel(), SETTINGS_MANAGER::SaveColorSettings(), PANEL_COLOR_SETTINGS::saveCurrentTheme(), PANEL_COLOR_SETTINGS::ShowColorContextMenu(), APPEARANCE_CONTROLS::syncColorsAndVisibility(), and PANEL_COLOR_SETTINGS::updateSwatches().
|
virtualinherited |
Updates the parameters of this object based on the current JSON document contents.
Definition at line 136 of file json_settings.cpp.
References JSON_SETTINGS::m_params, JSON_SETTINGS::m_resetParamsIfMissing, and traceSettings.
Referenced by COLOR_SETTINGS::CreateBuiltinColorSettings(), JSON_SETTINGS::LoadFromFile(), BOARD_DESIGN_SETTINGS::LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), JSON_SETTINGS::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_EESCHEMA_ANNOTATION_OPTIONS::ResetPanel(), PANEL_EESCHEMA_DISPLAY_OPTIONS::ResetPanel(), PANEL_EESCHEMA_EDITING_OPTIONS::ResetPanel(), PANEL_SYM_DISPLAY_OPTIONS::ResetPanel(), PANEL_SYM_EDITING_OPTIONS::ResetPanel(), PANEL_GERBVIEW_DISPLAY_OPTIONS::ResetPanel(), PANEL_PL_EDITOR_DISPLAY_OPTIONS::ResetPanel(), PANEL_EDIT_OPTIONS::ResetPanel(), PANEL_FP_EDITOR_DEFAULTS::ResetPanel(), PANEL_PCB_DISPLAY_OPTIONS::ResetPanel(), PANEL_PCBNEW_DISPLAY_ORIGIN::ResetPanel(), SETTINGS_MANAGER::SaveColorSettings(), and SETTINGS_MANAGER::SETTINGS_MANAGER().
|
virtualinherited |
Loads the backing file from disk and then calls Load()
aDirectory | is the path to the file |
Reimplemented in BOARD_DESIGN_SETTINGS, and NESTED_SETTINGS.
Definition at line 153 of file json_settings.cpp.
References JSON_SETTINGS::getFileExt(), JSON_SETTINGS::GetFullFilename(), JSON_SETTINGS::getLegacyFileExt(), JSON_SETTINGS::Load(), JSON_SETTINGS::m_deleteLegacyAfterMigration, JSON_SETTINGS::m_filename, JSON_SETTINGS::m_internals, JSON_SETTINGS::m_legacy_filename, JSON_SETTINGS::m_modified, JSON_SETTINGS::m_nested_settings, JSON_SETTINGS::m_schemaVersion, JSON_SETTINGS::m_writeFile, JSON_SETTINGS::Migrate(), JSON_SETTINGS::MigrateFromLegacy(), path, JSON_SETTINGS::SaveToFile(), and traceSettings.
Referenced by CLI::JOBSET_RUN_COMMAND::doPerform(), SETTINGS_MANAGER::LoadProject(), SETTINGS_MANAGER::loadProjectFile(), SETTINGS_MANAGER::MigrateIfNeeded(), SAVE_AS_TRAVERSER::OnFile(), and SETTINGS_MANAGER::SaveColorSettings().
|
inherited |
Definition at line 528 of file json_settings.cpp.
References JSON_SETTINGS::Load(), JSON_SETTINGS::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 677 of file json_settings.cpp.
References JSON_SETTINGS::m_internals, JSON_SETTINGS::m_migrators, JSON_SETTINGS::m_schemaVersion, and traceSettings.
Referenced by JSON_SETTINGS::LoadFromFile(), and NESTED_SETTINGS::LoadFromFile().
|
overridevirtual |
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 from JSON_SETTINGS.
Definition at line 548 of file common_settings.cpp.
References JSON_SETTINGS::fromLegacyString(), JSON_SETTINGS::m_internals, JSON_SETTINGS::Set(), traceSettings, and versionedEnvVarRegex().
|
private |
Schema version 0 to 1:
mousewheel_pan is replaced by explicit settings for scroll wheel behavior
Definition at line 434 of file common_settings.cpp.
References JSON_SETTINGS::m_internals, and traceSettings.
|
private |
Definition at line 477 of file common_settings.cpp.
References JSON_SETTINGS::m_internals, and traceSettings.
|
private |
Definition at line 502 of file common_settings.cpp.
References PATHS::GetUserSettingsPath(), m_Env, path, readLegacy3DResolverCfg(), traceEnvVars, and COMMON_SETTINGS::ENVIRONMENT::vars.
|
private |
Definition at line 683 of file common_settings.cpp.
References FN_NORMALIZE_FLAGS, getLegacy3DHollerith(), ENV_VAR::GetVersionedEnvVarName(), COMMON_SETTINGS::LEGACY_3D_SEARCH_PATH::m_Alias, COMMON_SETTINGS::LEGACY_3D_SEARCH_PATH::m_Description, COMMON_SETTINGS::LEGACY_3D_SEARCH_PATH::m_Pathvar, path, and traceSettings.
Referenced by migrateSchema2to3().
|
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 668 of file json_settings.cpp.
References JSON_SETTINGS::m_migrators, and JSON_SETTINGS::m_schemaVersion.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), COLOR_SETTINGS::COLOR_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), FOOTPRINT_EDITOR_SETTINGS::FOOTPRINT_EDITOR_SETTINGS(), PCBNEW_SETTINGS::PCBNEW_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 877 of file json_settings.cpp.
References JSON_SETTINGS::m_manager, JSON_SETTINGS::m_modified, JSON_SETTINGS::m_nested_settings, NESTED_SETTINGS::SetParent(), and traceSettings.
Referenced by BOARD_DESIGN_SETTINGS::~BOARD_DESIGN_SETTINGS(), ERC_SETTINGS::~ERC_SETTINGS(), NESTED_SETTINGS::~NESTED_SETTINGS(), NET_SETTINGS::~NET_SETTINGS(), and SCHEMATIC_SETTINGS::~SCHEMATIC_SETTINGS().
|
inherited |
Resets all parameters to default values.
Does NOT write to file or update underlying JSON.
Definition at line 387 of file json_settings.cpp.
References JSON_SETTINGS::m_params.
Referenced by EDA_3D_VIEWER_FRAME::Process_Special_Functions(), PANEL_COMMON_SETTINGS::ResetPanel(), and PANEL_MOUSE_SETTINGS::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, PROJECT_FILE, PROJECT_LOCAL_SETTINGS, and NESTED_SETTINGS.
Definition at line 394 of file json_settings.cpp.
References dummy, JSON_SETTINGS::getFileExt(), JSON_SETTINGS::GetFullFilename(), JSON_SETTINGS::m_createIfDefault, JSON_SETTINGS::m_createIfMissing, JSON_SETTINGS::m_filename, JSON_SETTINGS::m_internals, JSON_SETTINGS::m_modified, JSON_SETTINGS::m_nested_settings, JSON_SETTINGS::m_params, JSON_SETTINGS::m_writeFile, path, JSON_SETTINGS_INTERNALS::PointerFromString(), JSON_SETTINGS::Store(), and traceSettings.
Referenced by KICAD_MANAGER_FRAME::CreateNewProject(), JSON_SETTINGS::LoadFromFile(), KICAD_MANAGER_FRAME::LoadProject(), SETTINGS_MANAGER::MigrateIfNeeded(), 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 631 of file json_settings.cpp.
References JSON_SETTINGS::m_internals.
Referenced by COLOR_SETTINGS::COLOR_SETTINGS(), EDA_3D_VIEWER_SETTINGS::EDA_3D_VIEWER_SETTINGS(), EESCHEMA_SETTINGS::EESCHEMA_SETTINGS(), BOARD_DESIGN_SETTINGS::LoadFromFile(), APP_SETTINGS_BASE::migrateFindReplace(), PROJECT_FILE::MigrateFromLegacy(), APP_SETTINGS_BASE::MigrateFromLegacy(), EDA_3D_VIEWER_SETTINGS::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), SYMBOL_EDITOR_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), MigrateFromLegacy(), KICAD_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), BOARD_DESIGN_SETTINGS::migrateSchema0to1(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), PCBNEW_SETTINGS::PCBNEW_SETTINGS(), 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_PATH::Store(), PARAM_ENUM< EnumType >::Store(), PARAM_LAMBDA< ValueType >::Store(), PARAM_SCALED< ValueType >::Store(), PARAM_LIST< Type >::Store(), PARAM_SET< Type >::Store(), PARAM_PATH_LIST::Store(), PARAM_MAP< Value >::Store(), and PARAM_WXSTRING_MAP::Store().
|
inherited |
Definition at line 909 of file json_settings.cpp.
|
inherited |
|
inlineinherited |
Definition at line 84 of file json_settings.h.
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 736 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 751 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 766 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 721 of file json_settings.cpp.
References JSON_SETTINGS_INTERNALS::PointerFromString().
Referenced by FOOTPRINT_EDITOR_SETTINGS::FOOTPRINT_EDITOR_SETTINGS(), PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS(), and SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS().
|
inlineinherited |
Definition at line 89 of file json_settings.h.
Referenced by SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS().
|
inlineinherited |
Definition at line 86 of file json_settings.h.
Referenced by COLOR_SETTINGS::COLOR_SETTINGS(), and COLOR_SETTINGS::migrateSchema0to1().
|
inlineinherited |
Definition at line 198 of file json_settings.h.
|
inlineinherited |
Definition at line 92 of file json_settings.h.
Referenced by SETTINGS_MANAGER::GetColorSettings(), SETTINGS_MANAGER::loadAllColorSettings(), PANEL_COLOR_SETTINGS::OnThemeChanged(), PROJECT_FILE::SaveAs(), and SETTINGS_MANAGER::SaveProjectAs().
|
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 375 of file json_settings.cpp.
References JSON_SETTINGS::m_modified, and JSON_SETTINGS::m_params.
Referenced by JSON_SETTINGS::FormatAsString(), PANEL_FP_EDITOR_COLOR_SETTINGS::PANEL_FP_EDITOR_COLOR_SETTINGS(), SETTINGS_MANAGER::SaveColorSettings(), JSON_SETTINGS::SaveToFile(), and NESTED_SETTINGS::SaveToFile().
API COMMON_SETTINGS::m_Api |
APPEARANCE COMMON_SETTINGS::m_Appearance |
Definition at line 210 of file common_settings.h.
Referenced by ACTION_TOOLBAR_PALETTE::AddAction(), KIUI::AddBitmapToMenuItem(), PANEL_COMMON_SETTINGS::applySettingsToPanel(), COMMON_SETTINGS(), EDA_DRAW_FRAME::CommonSettingsChanged(), KICAD_MANAGER_FRAME::CommonSettingsChanged(), getKiCadConfiguredScale(), WX_AUI_TOOLBAR_ART::GetToolSize(), KIGFX::PCB_RENDER_SETTINGS::LoadColors(), EDA_DRAW_FRAME::LoadSettings(), BITMAP_BUTTON::OnPaint(), PANEL_SETUP_RULES::PANEL_SETUP_RULES(), DPI_SCALING_COMMON::SetDpiConfig(), BITMAP_STORE::ThemeChanged(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataToWindow(), and PANEL_SETUP_RULES::~PANEL_SETUP_RULES().
AUTO_BACKUP COMMON_SETTINGS::m_Backup |
Definition at line 212 of file common_settings.h.
Referenced by PANEL_COMMON_SETTINGS::applySettingsToPanel(), COMMON_SETTINGS(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), and SETTINGS_MANAGER::TriggerBackupIfNeeded().
|
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 325 of file json_settings.h.
Referenced by JSON_SETTINGS::SaveToFile().
|
protectedinherited |
Whether or not the backing store file should be created it if doesn't exist.
Definition at line 319 of file json_settings.h.
Referenced by JSON_SETTINGS::SaveToFile().
|
protectedinherited |
Whether or not to delete legacy file after migration.
Definition at line 334 of file json_settings.h.
Referenced by JSON_SETTINGS::LoadFromFile(), PROJECT_FILE::PROJECT_FILE(), and PROJECT_LOCAL_SETTINGS::PROJECT_LOCAL_SETTINGS().
DO_NOT_SHOW_AGAIN COMMON_SETTINGS::m_DoNotShowAgain |
Definition at line 224 of file common_settings.h.
Referenced by DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_CONFIGURE_PATHS::OnGridCellChanging(), KICAD_MANAGER_FRAME::OnIdle(), and PCB_CONTROL::unfilledZoneCheck().
ENVIRONMENT COMMON_SETTINGS::m_Env |
Definition at line 214 of file common_settings.h.
Referenced by COMMON_SETTINGS(), PGM_BASE::GetLocalEnvVariables(), InitializeEnvironment(), SETTINGS_MANAGER::MigrateIfNeeded(), and migrateSchema2to3().
|
protectedinherited |
The filename (not including path) of this settings file (inicode)
Definition at line 304 of file json_settings.h.
Referenced by APP_SETTINGS_BASE::addParamsForWindow(), APP_SETTINGS_BASE::APP_SETTINGS_BASE(), APP_SETTINGS_BASE::DefaultGridSizeList(), JSON_SETTINGS::GetFullFilename(), JSON_SETTINGS::LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), COLOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::operator=(), JSON_SETTINGS::SaveToFile(), and NESTED_SETTINGS::SaveToFile().
GIT COMMON_SETTINGS::m_Git |
Definition at line 230 of file common_settings.h.
Referenced by PROJECT_TREE_PANE::onGitCommit(), PANEL_GIT_REPOS::TransferDataFromWindow(), and PANEL_GIT_REPOS::TransferDataToWindow().
GRAPHICS COMMON_SETTINGS::m_Graphics |
Definition at line 218 of file common_settings.h.
Referenced by PANEL_COMMON_SETTINGS::applySettingsToPanel(), GAL_DISPLAY_OPTIONS_IMPL::ReadCommonConfig(), and PANEL_COMMON_SETTINGS::TransferDataFromWindow().
INPUT COMMON_SETTINGS::m_Input |
Definition at line 216 of file common_settings.h.
Referenced by PANEL_COMMON_SETTINGS::applySettingsToPanel(), PANEL_MOUSE_SETTINGS::applySettingsToPanel(), DIALOG_FOOTPRINT_CHOOSER::build3DCanvas(), TOOLS_HOLDER::CommonSettingsChanged(), EDA_DRAW_PANEL_GAL::GetVcSettings(), SCH_DRAWING_TOOLS::ImportSheet(), EDA_3D_VIEWER_FRAME::loadCommonSettings(), PANEL_PREVIEW_3D_MODEL::loadSettings(), KIGFX::WX_VIEW_CONTROLS::LoadSettings(), EESCHEMA_SETTINGS::MigrateFromLegacy(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), PANEL_MOUSE_SETTINGS::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
protectedinherited |
Definition at line 348 of file json_settings.h.
Referenced by JSON_SETTINGS::At(), JSON_SETTINGS::Contains(), JSON_SETTINGS::FormatAsString(), JSON_SETTINGS::GetJson(), JSON_SETTINGS::Internals(), JSON_SETTINGS::JSON_SETTINGS(), JSON_SETTINGS::LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), JSON_SETTINGS::LoadFromRawFile(), JSON_SETTINGS::Migrate(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), MigrateFromLegacy(), EDA_3D_VIEWER_SETTINGS::migrateSchema0to1(), NET_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), migrateSchema0to1(), PROJECT_FILE::migrateSchema1To2(), migrateSchema1to2(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema2To3(), NET_SETTINGS::migrateSchema2to3(), NET_SETTINGS::migrateSchema3to4(), JSON_SETTINGS::SaveToFile(), NESTED_SETTINGS::SaveToFile(), and JSON_SETTINGS::Set().
|
protectedinherited |
The filename of the wxConfig legacy file (if different from m_filename)
Definition at line 307 of file json_settings.h.
Referenced by JSON_SETTINGS::LoadFromFile().
|
protectedinherited |
The location of this settings file (.
Definition at line 310 of file json_settings.h.
|
protectedinherited |
A pointer to the settings manager managing this file (may be null)
Definition at line 343 of file json_settings.h.
Referenced by FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), COLOR_SETTINGS::migrateSchema0to1(), and JSON_SETTINGS::ReleaseNestedSettings().
|
protectedinherited |
A map of starting schema version to a pair of <ending version, migrator function>
Definition at line 346 of file json_settings.h.
Referenced by JSON_SETTINGS::Migrate(), and JSON_SETTINGS::registerMigration().
|
protectedinherited |
True if the JSON data store has been written to since the last file write.
Definition at line 331 of file json_settings.h.
Referenced by JSON_SETTINGS::LoadFromFile(), JSON_SETTINGS::ReleaseNestedSettings(), JSON_SETTINGS::SaveToFile(), and JSON_SETTINGS::Store().
|
protectedinherited |
Nested settings files that live inside this one, if any.
Definition at line 316 of file json_settings.h.
Referenced by JSON_SETTINGS::AddNestedSettings(), JSON_SETTINGS::LoadFromFile(), JSON_SETTINGS::ReleaseNestedSettings(), and JSON_SETTINGS::SaveToFile().
NETCLASS_PANEL COMMON_SETTINGS::m_NetclassPanel |
Definition at line 226 of file common_settings.h.
Referenced by PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), and PANEL_SETUP_NETCLASSES::~PANEL_SETUP_NETCLASSES().
PACKAGE_MANAGER COMMON_SETTINGS::m_PackageManager |
Definition at line 228 of file common_settings.h.
Referenced by PANEL_PACKAGES_VIEW::SetSashOnIdle(), and PANEL_PACKAGES_VIEW::~PANEL_PACKAGES_VIEW().
|
protectedinherited |
The list of parameters (owned by this object)
Definition at line 313 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(), 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::JSON_SETTINGS(), KICAD_SETTINGS::KICAD_SETTINGS(), JSON_SETTINGS::Load(), 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(), JSON_SETTINGS::ResetToDefaults(), PNS::ROUTING_SETTINGS::ROUTING_SETTINGS(), JSON_SETTINGS::SaveToFile(), SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS(), SPICE_SETTINGS::SPICE_SETTINGS(), JSON_SETTINGS::Store(), SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS(), and JSON_SETTINGS::~JSON_SETTINGS().
|
protectedinherited |
Whether or not to set parameters to their default value if missing from JSON on Load()
Definition at line 337 of file json_settings.h.
Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), and JSON_SETTINGS::Load().
|
protectedinherited |
Version of this settings schema.
Definition at line 340 of file json_settings.h.
Referenced by JSON_SETTINGS::JSON_SETTINGS(), JSON_SETTINGS::LoadFromFile(), NESTED_SETTINGS::LoadFromFile(), JSON_SETTINGS::Migrate(), JSON_SETTINGS::registerMigration(), and NESTED_SETTINGS::SaveToFile().
SESSION COMMON_SETTINGS::m_Session |
Definition at line 220 of file common_settings.h.
Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), PANEL_COMMON_SETTINGS::applySettingsToPanel(), CVPCB_MAINFRAME::BuildLibrariesList(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), PROJECT::PinLibrary(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SAVE_AS_DIALOG::SAVE_AS_DIALOG(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), and PROJECT::UnpinLibrary().
SYSTEM COMMON_SETTINGS::m_System |
Definition at line 222 of file common_settings.h.
Referenced by PANEL_COMMON_SETTINGS::applySettingsToPanel(), PROJECT_PCB::Cleanup3DCache(), EDA_BASE_FRAME::CommonSettingsChanged(), GERBVIEW_FRAME::GERBVIEW_FRAME(), EDA_BASE_FRAME::GetAutoSaveInterval(), GetLanguage(), PGM_BASE::loadCommonSettings(), EDA_BASE_FRAME::LoadSettings(), APP_SETTINGS_BASE::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), SYMBOL_EDITOR_CONTROL::OpenDirectory(), FOOTPRINT_EDITOR_CONTROL::OpenDirectory(), PGM_BASE::ReadPdfBrowserInfos(), PANEL_COMMON_SETTINGS::ResetPanel(), PGM_BASE::SaveCommonSettings(), PGM_BASE::SetLanguage(), PGM_BASE::SetTextEditor(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), PANEL_COMMON_SETTINGS::TransferDataToWindow(), and PGM_BASE::WritePdfBrowserInfos().
|
protectedinherited |
Whether or not the backing store file should be written.
Definition at line 328 of file json_settings.h.
Referenced by COLOR_SETTINGS::CreateBuiltinColorSettings(), COLOR_SETTINGS::initFromOther(), JSON_SETTINGS::LoadFromFile(), and JSON_SETTINGS::SaveToFile().