79 m_cliSchematic( nullptr )
83 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
90 wxCHECK( bomJob && editFrame,
false );
97 [](
JOB* job, wxWindow* aParent ) ->
bool
103 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
110 wxCHECK( netJob && editFrame,
false );
117 [aKiway](
JOB* job, wxWindow* aParent ) ->
bool
124 wxCHECK( plotJob && editFrame,
false );
131 [](
JOB* job, wxWindow* aParent ) ->
bool
137 [](
JOB* job, wxWindow* aParent ) ->
bool
142 [](
JOB* job, wxWindow* aParent ) ->
bool
146 wxCHECK( ercJob,
false );
162 wxString schPath = aPath;
163 if( schPath.IsEmpty() )
168 schPath =
path.GetFullPath();
184 else if( !aPath.IsEmpty() )
197 const wxString& aDrawingSheetOverride )
217 [&](
const wxString&
path ) ->
bool
232 + wxS(
"\n" ) + msg + wxS(
"\n" ),
241 if( !aDrawingSheetOverride.IsEmpty() && loadSheet( aDrawingSheetOverride ) )
264 std::unique_ptr<SCH_RENDER_SETTINGS> renderSettings = std::make_unique<SCH_RENDER_SETTINGS>();
268 std::unique_ptr<SCH_PLOTTER> schPlotter = std::make_unique<SCH_PLOTTER>( sch );
273 case SCH_PLOT_FORMAT::DXF: format = PLOT_FORMAT::DXF;
break;
274 case SCH_PLOT_FORMAT::PDF: format = PLOT_FORMAT::PDF;
break;
275 case SCH_PLOT_FORMAT::SVG: format = PLOT_FORMAT::SVG;
break;
276 case SCH_PLOT_FORMAT::POST: format = PLOT_FORMAT::POST;
break;
277 case SCH_PLOT_FORMAT::HPGL: format = PLOT_FORMAT::HPGL;
break;
283 case JOB_HPGL_PAGE_SIZE::DEFAULT: hpglPageSize = HPGL_PAGE_SIZE::DEFAULT;
break;
284 case JOB_HPGL_PAGE_SIZE::SIZE_A: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A;
break;
285 case JOB_HPGL_PAGE_SIZE::SIZE_A0: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A0;
break;
286 case JOB_HPGL_PAGE_SIZE::SIZE_A1: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A1;
break;
287 case JOB_HPGL_PAGE_SIZE::SIZE_A2: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A2;
break;
288 case JOB_HPGL_PAGE_SIZE::SIZE_A3: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A3;
break;
289 case JOB_HPGL_PAGE_SIZE::SIZE_A4: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A4;
break;
290 case JOB_HPGL_PAGE_SIZE::SIZE_A5: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A5;
break;
291 case JOB_HPGL_PAGE_SIZE::SIZE_B: hpglPageSize = HPGL_PAGE_SIZE::SIZE_B;
break;
292 case JOB_HPGL_PAGE_SIZE::SIZE_C: hpglPageSize = HPGL_PAGE_SIZE::SIZE_C;
break;
293 case JOB_HPGL_PAGE_SIZE::SIZE_D: hpglPageSize = HPGL_PAGE_SIZE::SIZE_D;
break;
294 case JOB_HPGL_PAGE_SIZE::SIZE_E: hpglPageSize = HPGL_PAGE_SIZE::SIZE_E;
break;
300 case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT:
301 hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT;
303 case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER:
304 hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER;
306 case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_CONTENT:
307 hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_CONTENT;
309 case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE:
310 hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE;
314 int pageSizeSelect = PageFormatReq::PAGE_SIZE_AUTO;
318 case JOB_PAGE_SIZE::PAGE_SIZE_A: pageSizeSelect = PageFormatReq::PAGE_SIZE_A;
break;
319 case JOB_PAGE_SIZE::PAGE_SIZE_A4: pageSizeSelect = PageFormatReq::PAGE_SIZE_A4;
break;
320 case JOB_PAGE_SIZE::PAGE_SIZE_AUTO: pageSizeSelect = PageFormatReq::PAGE_SIZE_AUTO;
break;
356 schPlotter->Plot( format, plotOpts, renderSettings.get(),
m_reporter );
390 m_reporter->
Report(
_(
"Warning: schematic has annotation errors, please use the "
391 "schematic editor to fix them\n" ),
399 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
402 std::unique_ptr<NETLIST_EXPORTER_BASE> helper;
403 unsigned netlistOption = 0;
411 helper = std::make_unique<NETLIST_EXPORTER_KICAD>( sch );
416 helper = std::make_unique<NETLIST_EXPORTER_ORCADPCB2>( sch );
421 helper = std::make_unique<NETLIST_EXPORTER_CADSTAR>( sch );
427 helper = std::make_unique<NETLIST_EXPORTER_SPICE>( sch );
432 helper = std::make_unique<NETLIST_EXPORTER_SPICE_MODEL>( sch );
436 fileExt = wxS(
"xml" );
437 helper = std::make_unique<NETLIST_EXPORTER_XML>( sch );
441 fileExt = wxS(
"asc" );
442 helper = std::make_unique<NETLIST_EXPORTER_PADS>( sch );
446 fileExt = wxS(
"txt" );
447 helper = std::make_unique<NETLIST_EXPORTER_ALLEGRO>( sch );
458 fn.SetName( fn.GetName() );
459 fn.SetExt( fileExt );
472 bool res = helper->WriteNetlist( outPath, netlistOption, *
m_reporter );
505 if(
copy.CheckAnnotation(
513 _(
"Warning: schematic has annotation errors, please use the schematic "
514 "editor to fix them\n" ),
522 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
536 std::set<wxString> userFieldNames;
538 for(
size_t i = 0; i < referenceList.
GetCount(); ++i )
540 SCH_SYMBOL* symbol = referenceList[i].GetSymbol();
543 userFieldNames.insert( symbol->
GetFields()[j].GetName() );
546 for(
const wxString& fieldName : userFieldNames )
553 if( userFieldNames.count( templateFieldname.m_Name ) == 0 )
583 m_reporter->
Report( wxString::Format(
_(
"BOM preset '%s' not found" ) + wxS(
"\n" ),
600 if( fieldName == wxS(
"*" ) )
606 field.
name = modelField.name;
611 bool fieldAlreadyPresent =
false;
615 if( presetField.
name == field.
name )
617 fieldAlreadyPresent =
true;
622 bool fieldLaterInList =
false;
626 if( fieldInList == field.
name )
628 fieldLaterInList =
true;
633 if( !fieldAlreadyPresent && !fieldLaterInList )
642 field.
name = fieldName;
672 fn.SetName( fn.GetName() );
688 if( !f.Open( outPath, wxFile::write ) )
690 m_reporter->
Report( wxString::Format(
_(
"Unable to open destination '%s'" ), outPath ),
739 bool res = f.Write( dataModel.
Export( fmt ) );
744 m_reporter->
Report( wxString::Format(
_(
"Wrote bill of materials to '%s'." ), outPath ),
780 _(
"Warning: schematic has annotation errors, please use the schematic "
781 "editor to fix them\n" ),
789 if(
erc.TestDuplicateSheetNames(
false ) > 0 )
792 std::unique_ptr<NETLIST_EXPORTER_XML> xmlNetlist =
793 std::make_unique<NETLIST_EXPORTER_XML>( sch );
798 fn.SetName( fn.GetName() +
"-bom" );
817 m_reporter->
Report( wxString::Format(
_(
"Wrote bill of materials to '%s'." ), outPath ),
828 wxASSERT( symbol !=
nullptr );
830 if( symbol ==
nullptr )
840 symbolToPlot = parent.get();
849 for(
int unit = 1; unit < symbol->
GetUnitCount() + 1; unit++ )
855 size_t forbidden_char;
862 while( wxString::npos
863 != ( forbidden_char = filename.find_first_of(
864 wxFileName::GetForbiddenChars( wxPATH_DOS ) ) ) )
866 filename = filename.replace( forbidden_char, 1, wxS(
'_' ) );
872 filename += wxString::Format(
"_unit%d", unit );
875 filename += wxS(
"_demorgan" );
877 fn.SetName( filename );
878 m_reporter->
Report( wxString::Format(
_(
"Plotting symbol '%s' unit %d to '%s'\n" ),
879 symbol->
GetName(), unit, fn.GetFullPath() ),
894 const double scale = 1.0;
901 if( !plotter->
OpenFile( fn.GetFullPath() ) )
917 bool background =
true;
922 symbolToPlot->
Plot( plotter, background, plotOpts, unit, bodyStyle, offset,
false );
923 symbol->
PlotFields( plotter, background, plotOpts, unit, bodyStyle, offset,
false );
925 symbolToPlot->
Plot( plotter, !background, plotOpts, unit, bodyStyle, offset,
false );
926 symbol->
PlotFields( plotter, !background, plotOpts, unit, bodyStyle, offset,
false );
997 for(
const std::pair<const wxString, LIB_SYMBOL*>& entry : libSymMap )
999 exitCode =
doSymExportSvg( svgJob, &renderSettings, entry.second );
1032 else if(
fileType != SCH_IO_MGR::SCH_KICAD )
1034 m_reporter->
Report(
_(
"Output path must be specified to convert legacy and non-KiCad "
1041 if(
fileType == SCH_IO_MGR::SCH_KICAD )
1117 fn.SetName( fn.GetName() + wxS(
"-erc" ) );
1142 default: units = EDA_UNITS::MILLIMETRES;
break;
1145 std::shared_ptr<SHEETLIST_ERC_ITEMS_PROVIDER> markersProvider =
1146 std::make_shared<SHEETLIST_ERC_ITEMS_PROVIDER>( sch );
1154 markersProvider->SetSeverities( ercJob->
m_severity );
1157 markersProvider->GetCount() ),
1162 bool wroteReport =
false;
1171 m_reporter->
Report( wxString::Format(
_(
"Unable to save ERC report to %s\n" ), outPath ),
1176 m_reporter->
Report( wxString::Format(
_(
"Saved ERC Report to %s\n" ), outPath ),
1181 if( markersProvider->GetCount() > 0 )
1206 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...
bool LoadDrawingSheet(const wxString &aFullFileName, wxString *aMsg, bool aAppend=false)
Populate the list with a custom layout or the default layout if no custom layout is available.
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 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)
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 JobSymExportSvg(JOB *aJob)
SCHEMATIC * getSchematic(const wxString &aPath)
DS_PROXY_VIEW_ITEM * getDrawingSheetProxyView(SCHEMATIC *aSch)
int JobExportPythonBom(JOB *aJob)
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.
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)
void ApplyBomPreset(const BOM_PRESET &preset)
wxString Export(const BOM_FMT_PRESET &settings)
void AddColumn(const wxString &aFieldName, const wxString &aLabel, bool aAddedByUser)
const std::vector< BOM_FIELD > GetFieldsOrdered()
Provide an extensible class to resolve 3D model paths.
bool SetProject(PROJECT *aProject, bool *flgChanged=nullptr)
Set the current KiCad project directory as the first entry in the model path list.
void SetProgramBase(PGM_BASE *aBase)
Set a pointer to the application's PGM_BASE instance used to extract the local env vars.
wxString ResolvePath(const wxString &aFileName, const wxString &aWorkingPath, const EMBEDDED_FILES *aFiles)
Determine the full path of the given file name.
void Register(const std::string &aJobTypeName, std::function< int(JOB *job)> aHandler, std::function< bool(JOB *job, wxWindow *aParent)> aConfigHandler)
PROGRESS_REPORTER * m_progressReporter
bool m_includeExcludedFromBOM
std::vector< wxString > m_fieldsLabels
std::vector< wxString > m_fieldsOrdered
wxString m_refRangeDelimiter
std::vector< wxString > m_fieldsGroupBy
wxString m_stringDelimiter
wxString m_fieldDelimiter
wxString m_bomFmtPresetName
JOB_PAGE_SIZE m_pageSizeSelect
SCH_PLOT_FORMAT m_plotFormat
bool m_useBackgroundColor
bool m_PDFHierarchicalLinks
JOB_HPGL_PLOT_ORIGIN_AND_UNITS m_HPGLPlotOrigin
std::vector< wxString > m_plotPages
JOB_HPGL_PAGE_SIZE m_HPGLPaperSizeSelect
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.
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)
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.
virtual KIFACE * KiFACE(FACE_T aFaceId, bool doLoad=true)
Return the KIFACE* given a FACE_T.
Define a library symbol object.
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.
bool HasAlternateBodyStyle() const override
Test if symbol has more than one body conversion type (DeMorgan).
void PlotFields(PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed)
Plot symbol fields.
wxString GetName() const override
int GetUnitCount() const override
std::unique_ptr< LIB_SYMBOL > Flatten() const
Return a flattened symbol inheritance to the caller.
LIB_SYMBOL_SPTR GetRootSymbol() const
Get the parent symbol that does not have another parent.
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.
static const wxChar Custom[]
"User" defined page type
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.
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.
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)=0
Report a string with a given severity.
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.
wxString GetFileName() const override
Helper to retrieve the filename from the root sheet screen.
SCHEMATIC_SETTINGS & Settings() const
SCH_SHEET_LIST Hierarchy() const override
Return the full schematic flattened hierarchical sheet list.
EMBEDDED_FILES * GetEmbeddedFiles() override
SCH_SCREEN * RootScreen() const
Helper to retrieve the screen of the root sheet.
const std::map< wxString, wxString > * GetProperties()
PROJECT & Prj() const override
Return a reference to the project this schematic is part of.
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.
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
const PAGE_INFO & GetPageSettings() const
const wxString & GetFileName() const
const TITLE_BLOCK & GetTitleBlock() const
void GetSymbols(SCH_REFERENCE_LIST &aReferences, bool aIncludePowerSymbols=true, bool aForceIncludeOrphanSymbols=false) const
Add a SCH_REFERENCE object to aReferences for each symbol in the list of sheets.
int GetFieldCount() const
Return the number of fields in this symbol.
void GetFields(std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly) override
Populate a std::vector with SCH_FIELDs.
COLOR_SETTINGS * GetColorSettings(const wxString &aName="user")
Retrieve a color settings object that applications can read colors from.
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
const TEMPLATE_FIELDNAMES & GetTemplateFieldNames()
Return a template field name list for read only access.
bool IsTextVar(const wxString &aSource)
Returns true if the string is a text var, e.g starts with ${.
wxString GetTextVars(const wxString &aSource)
Returns any variables unexpanded, e.g.
#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
@ LAYER_SCHEMATIC_DRAWINGSHEET
@ LAYER_SCHEMATIC_PAGE_LIMITS
std::shared_ptr< LIB_SYMBOL > LIB_SYMBOL_SPTR
shared pointer to LIB_SYMBOL
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
SETTINGS_MANAGER * GetSettingsManager()
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...
HPGL_PLOT_ORIGIN_AND_UNITS
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
bool includeExcludedFromBOM
static std::vector< BOM_PRESET > BuiltInPresets()
constexpr int IUToMils(int iu) const
std::vector< wxString > m_plotPages
wxString m_outputDirectory
HPGL_PLOT_ORIGIN_AND_UNITS m_HPGLPlotOrigin
HPGL_PAGE_SIZE m_HPGLPaperSizeSelect
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(int aFieldNdx, bool aTranslateForHI)
Return a default symbol field name for field aFieldNdx for all components.
wxString GetCanonicalFieldName(int idx)
@ MANDATORY_FIELDS
The first 5 are mandatory, and must be instantiated in SCH_COMPONENT, LIB_PART, and FOOTPRINT constru...
Definition of file extensions used in Kicad.