45 m_JunctionSizeChoice( 3 ),
47 m_AnnotateStartNum( 0 ),
48 m_IntersheetRefsShow( false ),
49 m_IntersheetRefsListOwnPage( true ),
50 m_IntersheetRefsFormatShort( false ),
53 m_DashedLineDashRatio( 12.0 ),
54 m_DashedLineGapRatio( 3.0 ),
55 m_SpiceCurSheetAsRoot( false ),
56 m_SpiceSaveAllVoltages( false ),
57 m_SpiceSaveAllCurrents( false ),
58 m_SpiceModelCurSheetAsRoot( true ),
59 m_NgspiceSimulatorSettings( nullptr )
63 int defaultLineThickness =
67 int defaultPinSymbolSize =
69 int defaultJunctionSizeChoice =
71 bool defaultIntersheetsRefShow =
73 bool defaultIntersheetsRefOwnPage =
75 bool defaultIntersheetsRefFormatShort =
77 wxString defaultIntersheetsRefPrefix =
79 wxString defaultIntersheetsRefSuffix =
126 defaultJunctionSizeChoice ) );
137 {
"name", field.m_Name },
138 {
"visible", field.m_Visible },
139 {
"url", field.m_URL }
147 if( !aJson.empty() && aJson.is_array() )
153 if( !entry.contains(
"name" ) || !entry.contains(
"url" )
154 || !entry.contains(
"visible" ) )
160 field.
m_URL = entry[
"url"].get<
bool>();
161 field.
m_Visible = entry[
"visible"].get<
bool>();
169 if( cfg && !cfg->m_Drawing.field_names.IsEmpty() )
208 std::make_shared<NGSPICE_SIMULATOR_SETTINGS>(
this,
"ngspice" );
213 std::optional<double> tor = Get<double>(
"drawing.text_offset_ratio" );
216 Set(
"drawing.label_size_ratio", *tor );
BASE_SCREEN class implementation.
constexpr EDA_IU_SCALE schIUScale
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.
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...
static int * SubpartIdSeparatorPtr()
Return a reference to m_subpartIdSeparator, only for read/save setting functions.
static int * SubpartFirstIdPtr()
Return a reference to m_subpartFirstId, only for read/save setting functions.
NESTED_SETTINGS is a JSON_SETTINGS that lives inside a JSON_SETTINGS.
JSON_SETTINGS * m_parent
A pointer to the parent object to load and store from.
Represents a parameter that has a scaling factor between the value in the file and the value used int...
wxString m_SchDrawingSheetFileName
wxString m_IntersheetRefsPrefix
bool m_SpiceCurSheetAsRoot
bool m_SpiceSaveAllCurrents
SCHEMATIC_SETTINGS(JSON_SETTINGS *aParent, const std::string &aPath)
TEMPLATES m_TemplateFieldNames
wxString m_IntersheetRefsSuffix
bool m_IntersheetRefsFormatShort
bool m_SpiceSaveAllVoltages
bool m_IntersheetRefsShow
double m_DashedLineGapRatio
bool m_IntersheetRefsListOwnPage
double m_DashedLineDashRatio
virtual ~SCHEMATIC_SETTINGS()
wxString m_PlotDirectoryName
std::shared_ptr< NGSPICE_SIMULATOR_SETTINGS > m_NgspiceSimulatorSettings
Ngspice simulator settings.
bool m_SpiceModelCurSheetAsRoot
wxString m_SpiceCommandString
void AddTemplateFieldName(const TEMPLATE_FIELDNAME &aFieldName, bool aGlobal)
Insert or append a wanted symbol field name into the field names template.
void AddTemplateFieldNames(const wxString &aSerializedFieldNames)
Add a serialized list of template field names.
void DeleteAllFieldNameTemplates(bool aGlobal)
Delete the entire contents.
const TEMPLATE_FIELDNAMES & GetTemplateFieldNames()
Return a template field name list for read only access.
#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
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
constexpr int MilsToIU(int mils) const
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.