92 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
99 wxCHECK( bomJob && editFrame,
false );
110 [](
JOB* job, wxWindow* aParent ) ->
bool
116 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
123 wxCHECK( netJob && editFrame,
false );
130 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
137 wxCHECK( plotJob && editFrame,
false );
142 _(
"Plotting to HPGL is no longer supported as of KiCad 10.0." ) );
151 [](
JOB* job, wxWindow* aParent ) ->
bool
157 [](
JOB* job, wxWindow* aParent ) ->
bool
162 [](
JOB* job, wxWindow* aParent ) ->
bool
166 wxCHECK( ercJob,
false );
172 [](
JOB* job, wxWindow* aParent ) ->
bool
190 if( !
Pgm().IsGUI() &&
Pgm().GetSettingsManager().IsProjectOpenNotDummy() )
193 wxString schPath = aPath;
195 if( schPath.IsEmpty() )
200 schPath =
path.GetFullPath();
208 else if(
Pgm().IsGUI() &&
Pgm().GetSettingsManager().IsProjectOpen() )
215 else if( !aPath.IsEmpty() )
228 const wxString& aDrawingSheetOverride )
248 [&](
const wxString&
path ) ->
bool
260 m_reporter->Report( wxString::Format(
_(
"Error loading drawing sheet '%s'." ),
path )
261 + wxS(
"\n" ) + msg + wxS(
"\n" ),
270 if( !aDrawingSheetOverride.IsEmpty() && loadSheet( aDrawingSheetOverride ) )
286 m_reporter->Report(
_(
"Plotting to HPGL is no longer supported as of KiCad 10.0.\n" ),
302 wxString variantName;
309 if( !variantName.IsEmpty() && variantName != wxS(
"all" ) )
312 std::unique_ptr<SCH_RENDER_SETTINGS> renderSettings = std::make_unique<SCH_RENDER_SETTINGS>();
323 renderSettings->SetDefaultFont( font );
333 for(
SCH_ITEM* item : screen->Items() )
336 for(
const auto& [libItemName, libSymbol] : screen->GetLibSymbols() )
337 libSymbol->ClearCaches();
340 std::unique_ptr<SCH_PLOTTER> schPlotter = std::make_unique<SCH_PLOTTER>( sch );
366 fn.SetName( fn.GetName() );
405 if( !variantName.IsEmpty() )
418 schPlotter->Plot( format, plotOpts, renderSettings.get(),
m_reporter );
423 for(
const wxString& outputPath : schPlotter->GetOutputFilePaths() )
450 if( variantName != wxS(
"all" ) )
467 m_reporter->Report(
_(
"Warning: schematic has annotation errors, please use the "
468 "schematic editor to fix them\n" ),
476 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
479 std::unique_ptr<NETLIST_EXPORTER_BASE> helper;
480 unsigned netlistOption = 0;
488 helper = std::make_unique<NETLIST_EXPORTER_KICAD>( sch );
493 helper = std::make_unique<NETLIST_EXPORTER_ORCADPCB2>( sch );
498 helper = std::make_unique<NETLIST_EXPORTER_CADSTAR>( sch );
504 helper = std::make_unique<NETLIST_EXPORTER_SPICE>( sch );
509 helper = std::make_unique<NETLIST_EXPORTER_SPICE_MODEL>( sch );
513 fileExt = wxS(
"xml" );
514 helper = std::make_unique<NETLIST_EXPORTER_XML>( sch );
518 fileExt = wxS(
"asc" );
519 helper = std::make_unique<NETLIST_EXPORTER_PADS>( sch );
523 fileExt = wxS(
"txt" );
524 helper = std::make_unique<NETLIST_EXPORTER_ALLEGRO>( sch );
535 fn.SetName( fn.GetName() );
536 fn.SetExt( fileExt );
549 bool res = helper->WriteNetlist( outPath, netlistOption, *
m_reporter );
574 wxString currentVariant;
580 if( currentVariant != wxS(
"all" ) )
593 if(
copy.CheckAnnotation(
601 _(
"Warning: schematic has annotation errors, please use the schematic "
602 "editor to fix them\n" ),
610 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
626 false, currentVariant );
629 false, currentVariant );
633 false, currentVariant );
635 false, currentVariant );
637 false, currentVariant );
639 false, currentVariant );
642 std::set<wxString> userFieldNames;
644 for(
size_t i = 0; i < referenceList.
GetCount(); ++i )
646 SCH_SYMBOL* symbol = referenceList[i].GetSymbol();
650 if( !field.IsMandatory() && !field.IsPrivate() )
651 userFieldNames.insert( field.GetName() );
655 for(
const wxString& fieldName : userFieldNames )
662 if( userFieldNames.count( templateFieldname.m_Name ) == 0 )
665 false, currentVariant );
697 m_reporter->Report( wxString::Format(
_(
"BOM preset '%s' not found" ) + wxS(
"\n" ),
712 auto normalizeFieldName = [&dataModel](
const wxString& aName ) -> wxString
714 if( aName.IsEmpty() )
715 return wxEmptyString;
720 wxString wrapped = wxS(
"${" ) + aName + wxS(
"}" );
732 wxString fieldName = normalizeFieldName( rawFieldName );
734 if( fieldName.IsEmpty() )
742 if( fieldName == wxS(
"*" ) )
748 field.
name = modelField.name;
753 bool fieldAlreadyPresent =
false;
757 if( presetField.
name == field.
name )
759 fieldAlreadyPresent =
true;
764 bool fieldLaterInList =
false;
768 if( normalizeFieldName( fieldInList ) == field.
name )
770 fieldLaterInList =
true;
775 if( !fieldAlreadyPresent && !fieldLaterInList )
784 field.
name = fieldName;
785 field.
show = !fieldName.StartsWith( wxT(
"__" ), &field.
name );
813 std::optional<BOM_FMT_PRESET> schFmtPreset;
835 m_reporter->Report( wxString::Format(
_(
"BOM format preset '%s' not found" ) + wxS(
"\n" ),
857 fn.SetName( fn.GetName() );
864 bool hasVariantPlaceholder = configuredPath.Contains( wxS(
"${VARIANT}" ) );
867 std::vector<wxString> variantsToProcess;
875 variantsToProcess.push_back( currentVariant );
878 for(
const wxString& variantName : variantsToProcess )
880 std::vector<wxString> singleVariant = { variantName };
887 if( hasVariantPlaceholder )
889 wxString variantPath = configuredPath;
890 variantPath.Replace( wxS(
"${VARIANT}" ), variantName );
908 if( !f.Open( outPath, wxFile::write ) )
910 m_reporter->Report( wxString::Format(
_(
"Unable to open destination '%s'" ), outPath ),
916 bool res = f.Write( dataModel.
Export( fmt ) );
923 m_reporter->Report( wxString::Format(
_(
"Wrote bill of materials to '%s'." ), outPath ),
958 m_reporter->Report(
_(
"Warning: schematic has annotation errors, please use the "
959 "schematic editor to fix them\n" ),
967 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
970 std::unique_ptr<NETLIST_EXPORTER_XML> xmlNetlist =
971 std::make_unique<NETLIST_EXPORTER_XML>( sch );
976 fn.SetName( fn.GetName() +
"-bom" );
997 m_reporter->Report( wxString::Format(
_(
"Wrote bill of materials to '%s'." ), outPath ),
1009 std::shared_ptr<LIB_SYMBOL> parent;
1019 symbolToPlot = parent.get();
1023 for(
int unit = 1; unit < symbol->
GetUnitCount() + 1; unit++ )
1035 for( wxChar c : wxFileName::GetForbiddenChars( wxPATH_DOS ) )
1036 filename.Replace( c,
' ' );
1041 filename += wxString::Format(
"_unit%d", unit );
1045 if( bodyStyle == 2 )
1046 filename += wxS(
"_demorgan" );
1053 fn.SetName( filename );
1054 m_reporter->Report( wxString::Format(
_(
"Plotting symbol '%s' unit %d to '%s'\n" ),
1073 const double scale = 1.0;
1078 plotter->
SetCreator( wxT(
"Eeschema-SVG" ) );
1080 if( !plotter->
OpenFile( fn.GetFullPath() ) )
1082 m_reporter->Report( wxString::Format(
_(
"Unable to open destination '%s'" ) + wxS(
"\n" ),
1095 bool background =
true;
1100 symbolToPlot->
Plot( plotter, background, plotOpts, unit, bodyStyle, offset,
false );
1101 symbol->
PlotFields( plotter, background, plotOpts, unit, bodyStyle, offset,
false );
1103 symbolToPlot->
Plot( plotter, !background, plotOpts, unit, bodyStyle, offset,
false );
1104 symbol->
PlotFields( plotter, !background, plotOpts, unit, bodyStyle, offset,
false );
1151 m_reporter->Report(
_(
"There is no symbol selected to save." ) + wxS(
"\n" ),
1161 m_reporter->Report( wxString::Format(
_(
"Unable to create output directory '%s'." ) + wxS(
"\n" ),
1186 for(
const auto& [
name, libSymbol] : libSymMap )
1220 m_reporter->Report(
_(
"Output path must not conflict with existing path\n" ),
1226 else if(
fileType != SCH_IO_MGR::SCH_KICAD )
1228 m_reporter->Report(
_(
"Output path must be specified to convert legacy and non-KiCad libraries\n" ),
1234 if(
fileType == SCH_IO_MGR::SCH_KICAD )
1308 fn.SetName( fn.GetName() + wxS(
"-erc" ) );
1338 std::shared_ptr<SHEETLIST_ERC_ITEMS_PROVIDER> markersProvider =
1339 std::make_shared<SHEETLIST_ERC_ITEMS_PROVIDER>( sch );
1352 markersProvider->SetSeverities( ercJob->
m_severity );
1354 m_reporter->Report( wxString::Format(
_(
"Found %d violations\n" ), markersProvider->GetCount() ),
1357 ERC_REPORT reportWriter( sch, units, markersProvider );
1359 bool wroteReport =
false;
1368 m_reporter->Report( wxString::Format(
_(
"Unable to save ERC report to %s\n" ), outPath ),
1373 m_reporter->Report( wxString::Format(
_(
"Saved ERC Report to %s\n" ), outPath ),
1378 if( markersProvider->GetCount() > 0 )
1390 if( aUpgradeJob ==
nullptr )
1398 bool shouldSave = aUpgradeJob->
m_force;
1410 wxFileName schPath( aUpgradeJob->
m_filename );
1411 schPath.MakeAbsolute();
1412 const wxString schFullPath = schPath.GetFullPath();
1417 SCH_SHEET* loadedSheet = pi->LoadSchematicFile( schFullPath, sch );
1418 pi->SaveSchematicFile( schFullPath, loadedSheet, sch );
1423 wxString::Format(
_(
"Error saving schematic file '%s'.\n%s" ), schFullPath, ioe.
What().GetData() );
1456 return drawingSheet;
constexpr EDA_IU_SCALE schIUScale
int GetVirtualPageNumber() const
const wxString & GetPageNumber() const
constexpr size_type GetWidth() const
constexpr const Vec GetCenter() const
constexpr size_type GetHeight() const
Color settings are a bit different than most of the settings objects in that there can be more than o...
static DS_DATA_MODEL & GetTheInstance()
Return the instance of DS_DATA_MODEL used in the application.
void SetSheetPath(const std::string &aSheetPath)
Set the sheet path displayed in the title block.
void SetSheetCount(int aSheetCount)
Change the sheet-count number displayed in the title block.
void SetVariantName(const std::string &aVariant)
Set the current variant name and description to be shown on the drawing sheet.
void SetVariantDesc(const std::string &aVariantDesc)
void SetPageNumber(const std::string &aPageNumber)
Change the page number displayed in the title block.
void SetSheetName(const std::string &aSheetName)
Set the sheet name displayed in the title block.
void SetPageBorderColorLayer(int aLayerId)
Override the layer used to pick the color of the page border (normally LAYER_GRID)
void SetIsFirstPage(bool aIsFirstPage)
Change if this is first page.
void SetFileName(const std::string &aFileName)
Set the file name displayed in the title block.
void SetColorLayer(int aLayerId)
Can be used to override which layer ID is used for drawing sheet item colors.
static SCHEMATIC * LoadSchematic(const wxString &aFileName, bool aSetActive, bool aForceDefaultProject, PROJECT *aProject=nullptr, bool aCalculateConnectivity=true)
int JobExportNetlist(JOB *aJob)
void InitRenderSettings(SCH_RENDER_SETTINGS *aRenderSettings, const wxString &aTheme, SCHEMATIC *aSch, const wxString &aDrawingSheetOverride=wxEmptyString)
Configure the SCH_RENDER_SETTINGS object with the correct data to be used with plotting.
int JobSymUpgrade(JOB *aJob)
int JobExportBom(JOB *aJob)
int JobUpgrade(JOB *aJob)
int JobSymExportSvg(JOB *aJob)
SCHEMATIC * getSchematic(const wxString &aPath)
DS_PROXY_VIEW_ITEM * getDrawingSheetProxyView(SCHEMATIC *aSch)
int JobExportPythonBom(JOB *aJob)
void ClearCachedSchematic()
Clear the cached CLI schematic so the next job reloads from the current project.
EESCHEMA_JOBS_HANDLER(KIWAY *aKiway)
int JobExportPlot(JOB *aJob)
SCHEMATIC * m_cliSchematic
int doSymExportSvg(JOB_SYM_EXPORT_SVG *aSvgJob, SCH_RENDER_SETTINGS *aRenderSettings, LIB_SYMBOL *symbol)
bool WriteJsonReport(const wxString &aFullFileName)
Writes a JSON formatted ERC Report to the given file path in the c-locale.
bool WriteTextReport(const wxString &aFullFileName)
Writes the text report also available via GetTextReport directly to a given file path.
void RunTests(DS_PROXY_VIEW_ITEM *aDrawingSheet, SCH_EDIT_FRAME *aEditFrame, KIFACE *aCvPcb, PROJECT *aProject, PROGRESS_REPORTER *aProgressReporter)
int GetFieldNameCol(const wxString &aFieldName) const
void AddColumn(const wxString &aFieldName, const wxString &aLabel, bool aAddedByUser, const wxString &aVariantName)
wxString Export(const BOM_FMT_PRESET &settings)
void ApplyBomPreset(const BOM_PRESET &preset, const wxString &aVariantName)
static const wxString ITEM_NUMBER_VARIABLE
void SetVariantNames(const std::vector< wxString > &aVariantNames)
static const wxString QUANTITY_VARIABLE
std::vector< BOM_FIELD > GetFieldsOrdered()
void SetCurrentVariant(const wxString &aVariantName)
Set the current variant name for highlighting purposes.
Provide an extensible class to resolve 3D model paths.
wxString ResolvePath(const wxString &aFileName, const wxString &aWorkingPath, std::vector< const EMBEDDED_FILES * > aEmbeddedFilesStack)
Determine the full path of the given file name.
void SetProgramBase(PGM_BASE *aBase)
Set a pointer to the application's PGM_BASE instance used to extract the local env vars.
bool SetProject(const PROJECT *aProject, bool *flgChanged=nullptr)
Set the current KiCad project directory as the first entry in the model path list.
Hold an error message and may be used when throwing exceptions containing meaningful error messages.
virtual const wxString What() const
A composite of Problem() and Where()
void Register(const std::string &aJobTypeName, std::function< int(JOB *job)> aHandler, std::function< bool(JOB *job, wxWindow *aParent)> aConfigHandler)
JOB_DISPATCHER(KIWAY *aKiway)
PROGRESS_REPORTER * m_progressReporter
std::vector< wxString > m_fieldsLabels
std::vector< wxString > m_fieldsOrdered
wxString m_refRangeDelimiter
std::vector< wxString > m_fieldsGroupBy
std::vector< wxString > m_variantNames
wxString m_stringDelimiter
wxString m_fieldDelimiter
wxString m_bomFmtPresetName
std::vector< wxString > m_variantNames
JOB_PAGE_SIZE m_pageSizeSelect
SCH_PLOT_FORMAT m_plotFormat
bool m_useBackgroundColor
std::vector< wxString > m_variantNames
bool m_PDFHierarchicalLinks
std::vector< wxString > m_plotPages
bool m_exitCodeViolations
wxString m_outputDirectory
bool m_includeHiddenFields
wxString m_outputLibraryPath
An simple container class that lets us dispatch output jobs to kifaces.
void SetConfiguredOutputPath(const wxString &aPath)
Sets the configured output path for the job, this path is always saved to file.
void AddOutput(wxString aOutputPath)
wxString GetFullOutputPath(PROJECT *aProject) const
Returns the full output path for the job, taking into account the configured output path,...
bool GetOutputPathIsDirectory() const
wxString GetConfiguredOutputPath() const
Returns the configured output path for the job.
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock)
void SetWorkingOutputPath(const wxString &aPath)
Sets a transient output path for the job, it takes priority over the configured output path when GetF...
const std::map< wxString, wxString > & GetVarOverrides() const
void SetDefaultPenWidth(int aWidth)
void SetGapLengthRatio(double aRatio)
void SetDashLengthRatio(double aRatio)
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
virtual KIWAY_PLAYER * Player(FRAME_T aFrameType, bool doCreate=true, wxTopLevelWindow *aParent=nullptr)
Return the KIWAY_PLAYER* given a FRAME_T.
void AsyncLoad()
Loads all available libraries for this adapter type in the background.
Define a library symbol object.
const BOX2I GetUnitBoundingBox(int aUnit, int aBodyStyle, bool aIgnoreHiddenFields=true, bool aIgnoreLabelsOnInvisiblePins=true) const
Get the bounding box for the symbol.
void Plot(PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed) override
Plot the item to aPlotter.
void PlotFields(PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed)
Plot symbol fields.
std::shared_ptr< LIB_SYMBOL > GetRootSymbol() const
Get the parent symbol that does not have another parent.
wxString GetName() const override
const std::vector< wxString > & GetBodyStyleNames() const
bool HasDeMorganBodyStyles() const override
int GetBodyStyleCount() const override
int GetUnitCount() const override
std::unique_ptr< LIB_SYMBOL > Flatten() const
Return a flattened symbol inheritance to the caller.
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
Describe the page size and margins of a paper page on which to eventually print or plot.
int GetHeightIU(double aIUScale) const
Gets the page height in IU.
void SetHeightMils(double aHeightInMils)
int GetWidthIU(double aIUScale) const
Gets the page width in IU.
void SetWidthMils(double aWidthInMils)
static bool EnsurePathExists(const wxString &aPath, bool aPathToFile=false)
Attempts to create a given path if it does not exist.
virtual SETTINGS_MANAGER & GetSettingsManager() const
virtual bool OpenFile(const wxString &aFullFilename)
Open or create the plot file aFullFilename.
virtual void SetPageSettings(const PAGE_INFO &aPageSettings)
void SetRenderSettings(RENDER_SETTINGS *aSettings)
virtual void SetCreator(const wxString &aCreator)
virtual void SetColorMode(bool aColorMode)
Plot in B/W or color.
static SYMBOL_LIBRARY_ADAPTER * SymbolLibAdapter(PROJECT *aProject)
Accessor for project symbol library manager adapter.
Container for project specific data.
virtual void ApplyTextVars(const std::map< wxString, wxString > &aVarsMap)
Applies the given var map, it will create or update existing vars.
wxString m_SchDrawingSheetFileName
TEMPLATES m_TemplateFieldNames
std::vector< BOM_PRESET > m_BomPresets
double m_DashedLineGapRatio
std::vector< BOM_FMT_PRESET > m_BomFmtPresets
double m_DashedLineDashRatio
Holds all the data relating to one schematic.
void SetCurrentVariant(const wxString &aVariantName)
wxString GetVariantDescription(const wxString &aVariantName) const
Return the description for a variant.
wxString GetFileName() const
Helper to retrieve the filename from the root sheet screen.
SCHEMATIC_SETTINGS & Settings() const
SCH_SHEET_LIST Hierarchy() const
Return the full schematic flattened hierarchical sheet list.
PROJECT & Project() const
Return a reference to the project this schematic is part of.
wxString GetCurrentVariant() const
Return the current variant being edited.
EMBEDDED_FILES * GetEmbeddedFiles() override
SCH_SCREEN * RootScreen() const
Helper to retrieve the screen of the root sheet.
const std::map< wxString, wxString > * GetProperties()
Schematic editor (Eeschema) main window.
SCHEMATIC & Schematic() const
A cache assistant for the KiCad s-expression symbol libraries.
int GetFileFormatVersionAtLoad() const
void Save(const std::optional< bool > &aOpt=std::nullopt) override
Save the entire library to file m_libFileName;.
virtual LIB_SYMBOL * GetSymbol(const wxString &aName)
void SetFileName(const wxString &aFileName)
const LIB_SYMBOL_MAP & GetSymbolMap() const
void SetModified(bool aModified=true)
static bool ConvertLibrary(std::map< std::string, UTF8 > *aOldFileProps, const wxString &aOldFilePath, const wxString &aNewFilepath)
Convert a schematic symbol library to the latest KiCad format.
static SCH_FILE_T GuessPluginTypeFromLibPath(const wxString &aLibPath, int aCtl=0)
Return a plugin type given a symbol library using the file extension of aLibPath.
Base class for any item which can be embedded within the SCHEMATIC container class,...
Container to create a flattened list of symbols because in a complex hierarchy, a symbol can be used ...
int CheckAnnotation(ANNOTATION_ERROR_HANDLER aErrorHandler)
Check for annotations errors.
A helper to define a symbol's reference designator in a schematic.
void LoadColors(const COLOR_SETTINGS *aSettings) override
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
const PAGE_INFO & GetPageSettings() const
const wxString & GetFileName() const
int GetFileFormatVersionAtLoad() const
TITLE_BLOCK & GetTitleBlock()
void GetSymbols(SCH_REFERENCE_LIST &aReferences, SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols=false) const
Add a SCH_REFERENCE object to aReferences for each symbol in the list of sheets.
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
void GetFields(std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly) const override
Populate a std::vector with SCH_FIELDs, sorted in ordinal order.
PROJECT & Prj() const
A helper while we are not MDI-capable – return the one and only project.
virtual bool StartPlot(const wxString &aPageNumber) override
Create SVG file header.
virtual void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
Set the plot offset and scaling for the current plot.
virtual bool EndPlot() override
An interface to the global shared library manager that is schematic-specific and linked to one projec...
const std::vector< TEMPLATE_FIELDNAME > & GetTemplateFieldNames()
Return a template field name list for read only access.
wxString GetGeneratedFieldDisplayName(const wxString &aSource)
Returns any variables unexpanded, e.g.
bool IsGeneratedField(const wxString &aSource)
Returns true if the string is generated, e.g contains a single text var reference.
wxString GetDefaultPlotExtension(PLOT_FORMAT aFormat)
Return the default plot extension for a format.
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
This file is part of the common library.
#define DEFAULT_LINE_WIDTH_MILS
The default wire width in mils. (can be changed in preference menu)
static const std::string CadstarNetlistFileExtension
static const std::string NetlistFileExtension
static const std::string ReportFileExtension
static const std::string JsonFileExtension
static const std::string XmlFileExtension
static const std::string KiCadSchematicFileExtension
static const std::string OrCadPcb2NetlistFileExtension
static const std::string CsvFileExtension
static const std::string SpiceFileExtension
static const std::string SVGFileExtension
std::unique_ptr< T > IO_RELEASER
Helper to hold and release an IO_BASE object when exceptions are thrown.
@ LAYER_SCHEMATIC_DRAWINGSHEET
@ LAYER_SCHEMATIC_PAGE_LIMITS
static const int ERR_ARGS
static const int ERR_RC_VIOLATIONS
Rules check violation count was greater than 0.
static const int ERR_INVALID_INPUT_FILE
static const int ERR_INVALID_OUTPUT_CONFLICT
static const int ERR_UNKNOWN
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.
PGM_BASE & Pgm()
The global program "get" accessor.
PLOT_FORMAT
The set of supported output plot formats.
Plotting engines similar to ps (PostScript, Gerber, svg)
#define SEXPR_SYMBOL_LIB_FILE_VERSION
This file contains the file format version information for the s-expression schematic and symbol libr...
#define SEXPR_SCHEMATIC_FILE_VERSION
Schematic file version.
@ SYMBOL_FILTER_NON_POWER
COLOR_SETTINGS * GetColorSettings(const wxString &aName)
T * GetAppSettings(const char *aFilename)
MODEL3D_FORMAT_TYPE fileType(const char *aFileName)
#define TO_UTF8(wxstring)
Convert a wxString to a UTF8 encoded C string for all wxWidgets build modes.
static std::vector< BOM_FMT_PRESET > BuiltInPresets()
wxString refRangeDelimiter
std::vector< BOM_FIELD > fieldsOrdered
static std::vector< BOM_PRESET > BuiltInPresets()
std::vector< wxString > m_plotPages
DXF_UNITS m_DXF_File_Unit
wxString m_outputDirectory
bool m_PDFHierarchicalLinks
bool m_useBackgroundColor
Hold a name of a symbol's field, field value, and default visibility.
std::map< wxString, LIB_SYMBOL *, LibSymbolMapSort > LIB_SYMBOL_MAP
wxString GetDefaultFieldName(FIELD_T aFieldId, bool aTranslateForHI)
Return a default symbol field name for a mandatory field type.
FIELD_T
The set of all field indices assuming an array like sequence that a SCH_COMPONENT or LIB_PART can hol...
wxString GetCanonicalFieldName(FIELD_T aFieldType)
VECTOR2< int32_t > VECTOR2I
Definition of file extensions used in Kicad.