154            [&]() -> nlohmann::json
 
  156                nlohmann::json ret = nlohmann::json::array();
 
  161                    ret.push_back( nlohmann::json( {
 
  162                                { 
"name",    field.m_Name },
 
  163                                { 
"visible", field.m_Visible },
 
  164                                { 
"url",     field.m_URL }
 
  170            [&]( 
const nlohmann::json& aJson )
 
  172                if( !aJson.empty() && aJson.is_array() )
 
  176                    for( 
const nlohmann::json& entry : aJson )
 
  178                        if( !entry.contains( 
"name" ) || !entry.contains( 
"url" )
 
  179                                || !entry.contains( 
"visible" ) )
 
  185                        field.
m_URL     = entry[
"url"].get<
bool>();
 
  186                        field.
m_Visible = entry[
"visible"].get<
bool>();
 
  194                    if( !curr_cfg->m_Drawing.field_names.IsEmpty() )
 
  255                return std::string();
 
  257            [&]( 
const std::string& aData )
 
  268                std::optional<double> tor = 
Get<double>( 
"drawing.text_offset_ratio" );
 
  271                    Set( 
"drawing.label_size_ratio", *tor );
 
 
  285        m_parent->ReleaseNestedSettings( 
this );
 
 
BASE_SCREEN class implementation.
 
constexpr EDA_IU_SCALE schIUScale
 
constexpr double ARC_LOW_DEF_MM
 
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 l...
 
std::optional< ValueType > Get(const std::string &aPath) const
Fetches a value from within the JSON document.
 
std::vector< PARAM_BASE * > m_params
The list of parameters (owned by this object)
 
void registerMigration(int aOldSchemaVersion, int aNewSchemaVersion, std::function< bool(void)> aMigrator)
Registers a migration from one schema version to another.
 
void ReleaseNestedSettings(NESTED_SETTINGS *aSettings)
Saves and frees a nested settings object, if it exists within this one.
 
JSON_SETTINGS(const wxString &aFilename, SETTINGS_LOC aLocation, int aSchemaVersion)
 
static wxString LetterSubReference(int aUnit, wxChar aInitialLetter)
 
JSON_SETTINGS * m_parent
A pointer to the parent object to load and store from.
 
NESTED_SETTINGS(const std::string &aName, int aSchemaVersion, JSON_SETTINGS *aParent, const std::string &aPath, bool aLoadFromFile=true)
 
Like a normal param, but with custom getter and setter functions.
 
Represents a parameter that has a scaling factor between the value in the file and the value used int...
 
wxString m_BomExportFileName
 
wxString m_SchDrawingSheetFileName
 
wxString m_IntersheetRefsPrefix
 
BOM_FMT_PRESET m_BomFmtSettings
List of stored BOM format presets.
 
wxString SubReference(int aUnit, bool aAddSeparator=true) const
 
SCHEMATIC_SETTINGS(JSON_SETTINGS *aParent, const std::string &aPath)
 
std::shared_ptr< REFDES_TRACKER > m_refDesTracker
A list of previously used schematic reference designators.
 
TEMPLATES m_TemplateFieldNames
 
wxString m_IntersheetRefsSuffix
 
bool m_IntersheetRefsFormatShort
 
std::vector< BOM_PRESET > m_BomPresets
 
bool m_IntersheetRefsShow
 
double m_DashedLineGapRatio
 
bool m_IntersheetRefsListOwnPage
 
std::vector< BOM_FMT_PRESET > m_BomFmtPresets
 
KIFONT::METRICS m_FontMetrics
 
double m_DashedLineDashRatio
 
std::shared_ptr< NGSPICE_SETTINGS > m_NgspiceSettings
Ngspice simulator settings.
 
virtual ~SCHEMATIC_SETTINGS()
 
wxString m_PlotDirectoryName
 
BOM_PRESET m_BomSettings
List of stored BOM presets.
 
int m_MaxError
Max deviation allowable when approximating circles and curves (in IU).
 
#define DEFAULT_IREF_PREFIX
The intersheets references suffix string.
 
#define DEFAULT_LABEL_SIZE_RATIO
The offset of the pin name string from the end of the pin in mils.
 
#define DEFAULT_JUNCTION_DIAM
The default bus and wire entry size in mils.
 
#define DEFAULT_LINE_WIDTH_MILS
The default wire width in mils. (can be changed in preference menu)
 
#define DEFAULT_TEXT_OFFSET_RATIO
Ratio of the font height to space around global labels.
 
#define DEFAULT_IREF_SUFFIX
Radius of snap "gravity well".
 
#define DEFAULT_TEXT_SIZE
Ratio of the font height to the baseline of the text above the wire.
 
This file contains miscellaneous commonly used macros and functions.
 
const int schSettingsSchemaVersion
 
#define MIN_CONNECTION_GRID_MILS
 
#define DEFAULT_CONNECTION_GRID_MILS
 
T * GetAppSettings(const char *aFilename)
 
static BOM_FMT_PRESET CSV()
 
static BOM_PRESET DefaultEditing()
 
bool intersheets_ref_show
 
wxString intersheets_ref_suffix
 
bool intersheets_ref_short
 
wxString intersheets_ref_prefix
 
int default_line_thickness
 
bool intersheets_ref_own_page
 
Hold a name of a symbol's field, field value, and default visibility.
 
static constexpr double IU_PER_MM
Mock up a conversion function.