![]() |
KiCad PCB EDA Suite
|
SCH_ALTIUM_PLUGIN is a SCH_PLUGIN derivation for loading Altium .SchDoc schematic files. More...
#include <sch_altium_plugin.h>
Public Member Functions | |
SCH_ALTIUM_PLUGIN () | |
~SCH_ALTIUM_PLUGIN () | |
const wxString | GetName () const override |
Return a brief hard coded name for this SCH_PLUGIN. More... | |
void | SetReporter (REPORTER *aReporter) override |
Set an optional reporter for warnings/errors. More... | |
const wxString | GetFileExtension () const override |
Return the file extension for the SCH_PLUGIN. More... | |
const wxString | GetLibraryFileExtension () const override |
Return the library file extension for the SCH_PLUGIN object. More... | |
int | GetModifyHash () const override |
Return the modification hash from the library cache. More... | |
SCH_SHEET * | Load (const wxString &aFileName, SCHEMATIC *aSchematic, SCH_SHEET *aAppendToMe=nullptr, const PROPERTIES *aProperties=nullptr) override |
Load information from some input file format that this SCH_PLUGIN implementation knows about, into either a new SCH_SHEET or an existing one. More... | |
bool | CheckHeader (const wxString &aFileName) override |
Return true if the first line in aFileName begins with the expected header. More... | |
wxString | getLibName () |
wxFileName | getLibFileName () |
void | ParseAltiumSch (const wxString &aFileName) |
void | ParseStorage (const CFB::CompoundFileReader &aReader) |
void | ParseFileHeader (const CFB::CompoundFileReader &aReader) |
virtual void | SetProgressReporter (PROGRESS_REPORTER *aReporter) |
Set an optional progress reporter. More... | |
virtual void | SaveLibrary (const wxString &aFileName, const PROPERTIES *aProperties=nullptr) |
virtual void | Save (const wxString &aFileName, SCH_SHEET *aSheet, SCHEMATIC *aSchematic, const PROPERTIES *aProperties=nullptr) |
Write aSchematic to a storage file in a format that this SCH_PLUGIN implementation knows about, or it can be used to write a portion of aSchematic to a special kind of export file. More... | |
virtual void | EnumerateSymbolLib (wxArrayString &aSymbolNameList, const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) |
Populate a list of LIB_SYMBOL alias names contained within the library aLibraryPath. More... | |
virtual void | EnumerateSymbolLib (std::vector< LIB_SYMBOL * > &aSymbolList, const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) |
Populate a list of LIB_SYMBOL aliases contained within the library aLibraryPath. More... | |
virtual LIB_SYMBOL * | LoadSymbol (const wxString &aLibraryPath, const wxString &aPartName, const PROPERTIES *aProperties=nullptr) |
Load a LIB_SYMBOL object having aPartName from the aLibraryPath containing a library format that this SCH_PLUGIN knows about. More... | |
virtual void | SaveSymbol (const wxString &aLibraryPath, const LIB_SYMBOL *aSymbol, const PROPERTIES *aProperties=nullptr) |
Write aSymbol to an existing library located at aLibraryPath. More... | |
virtual void | DeleteSymbol (const wxString &aLibraryPath, const wxString &aSymbolName, const PROPERTIES *aProperties=nullptr) |
Delete the entire LIB_SYMBOL associated with aAliasName from the library aLibraryPath. More... | |
virtual void | CreateSymbolLib (const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) |
Create a new empty symbol library at aLibraryPath. More... | |
virtual bool | DeleteSymbolLib (const wxString &aLibraryPath, const PROPERTIES *aProperties=nullptr) |
Delete an existing symbol library and returns true if successful, or if library does not exist returns false, or throws an exception if library exists but is read only or cannot be deleted for some other reason. More... | |
virtual bool | IsSymbolLibWritable (const wxString &aLibraryPath) |
Return true if the library at aLibraryPath is writable. More... | |
virtual void | SymbolLibOptions (PROPERTIES *aListToAppendTo) const |
Append supported SCH_PLUGIN options to aListToAppenTo along with internationalized descriptions. More... | |
virtual const wxString & | GetError () const |
Return an error string to the caller. More... | |
Private Member Functions | |
bool | IsComponentPartVisible (int aOwnerindex, int aOwnerpartdisplaymode) const |
const ASCH_STORAGE_FILE * | GetFileFromStorage (const wxString &aFilename) const |
void | ParseComponent (int aIndex, const std::map< wxString, wxString > &aProperties) |
void | ParsePin (const std::map< wxString, wxString > &aProperties) |
void | ParseLabel (const std::map< wxString, wxString > &aProperties) |
void | ParseTextFrame (const std::map< wxString, wxString > &aProperties) |
void | ParseNote (const std::map< wxString, wxString > &aProperties) |
void | ParseBezier (const std::map< wxString, wxString > &aProperties) |
void | ParsePolyline (const std::map< wxString, wxString > &aProperties) |
void | ParsePolygon (const std::map< wxString, wxString > &aProperties) |
void | ParseRoundRectangle (const std::map< wxString, wxString > &aProperties) |
void | ParseArc (const std::map< wxString, wxString > &aProperties) |
void | ParseLine (const std::map< wxString, wxString > &aProperties) |
void | ParseRectangle (const std::map< wxString, wxString > &aProperties) |
void | ParseSheetSymbol (int aIndex, const std::map< wxString, wxString > &aProperties) |
void | ParseSheetEntry (const std::map< wxString, wxString > &aProperties) |
void | ParsePowerPort (const std::map< wxString, wxString > &aProperties) |
void | ParsePort (const ASCH_PORT &aElem) |
void | ParseNoERC (const std::map< wxString, wxString > &aProperties) |
void | ParseNetLabel (const std::map< wxString, wxString > &aProperties) |
void | ParseBus (const std::map< wxString, wxString > &aProperties) |
void | ParseWire (const std::map< wxString, wxString > &aProperties) |
void | ParseJunction (const std::map< wxString, wxString > &aProperties) |
void | ParseImage (const std::map< wxString, wxString > &aProperties) |
void | ParseSheet (const std::map< wxString, wxString > &aProperties) |
void | ParseSheetName (const std::map< wxString, wxString > &aProperties) |
void | ParseFileName (const std::map< wxString, wxString > &aProperties) |
void | ParseDesignator (const std::map< wxString, wxString > &aProperties) |
void | ParseBusEntry (const std::map< wxString, wxString > &aProperties) |
void | ParseParameter (const std::map< wxString, wxString > &aProperties) |
void | ParseImplementationList (int aIndex, const std::map< wxString, wxString > &aProperties) |
void | ParseImplementation (const std::map< wxString, wxString > &aProperties) |
Private Attributes | |
REPORTER * | m_reporter |
SCH_SHEET * | m_rootSheet |
SCH_SHEET * | m_currentSheet |
SCHEMATIC * | m_schematic |
wxString | m_libName |
SCH_PLUGIN::SCH_PLUGIN_RELEASER | m_pi |
std::unique_ptr< PROPERTIES > | m_properties |
std::unique_ptr< TITLE_BLOCK > | m_currentTitleBlock |
wxPoint | m_sheetOffset |
std::unique_ptr< ASCH_SHEET > | m_altiumSheet |
std::map< int, SCH_SYMBOL * > | m_symbols |
std::map< int, SCH_SHEET * > | m_sheets |
std::map< int, LIB_SYMBOL * > | m_libSymbols |
std::map< wxString, LIB_SYMBOL * > | m_powerSymbols |
std::vector< ASCH_STORAGE_FILE > | m_altiumStorage |
std::map< int, ASCH_SYMBOL > | m_altiumComponents |
std::map< int, int > | m_altiumImplementationList |
std::vector< ASCH_PORT > | m_altiumPortsCurrentSheet |
SCH_ALTIUM_PLUGIN is a SCH_PLUGIN derivation for loading Altium .SchDoc schematic files.
As with all SCH_PLUGINs there is no UI dependencies i.e. windowing calls allowed.
Definition at line 51 of file sch_altium_plugin.h.
SCH_ALTIUM_PLUGIN::SCH_ALTIUM_PLUGIN | ( | ) |
Definition at line 79 of file sch_altium_plugin.cpp.
References WXLOG_REPORTER::GetInstance(), m_currentSheet, m_reporter, m_rootSheet, and m_schematic.
SCH_ALTIUM_PLUGIN::~SCH_ALTIUM_PLUGIN | ( | ) |
Definition at line 89 of file sch_altium_plugin.cpp.
|
overridevirtual |
Return true if the first line in aFileName begins with the expected header.
aFileName | is the name of the file to use as input |
Reimplemented from SCH_PLUGIN.
Definition at line 118 of file sch_altium_plugin.cpp.
|
virtualinherited |
Create a new empty symbol library at aLibraryPath.
It is an error to attempt to create an existing library or to attempt to create on a "read only" location.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several footprints. |
aProperties | is an associative array that can be used to tell the library create function anything special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem finding the library, or creating it. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 110 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Delete the entire LIB_SYMBOL associated with aAliasName from the library aLibraryPath.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aSymbolName | is the name of a LIB_SYMBOL associated with it's root LIB_SYMBOL object to delete from the specified library. |
aProperties | is an associative array that can be used to tell the library delete function anything special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem finding the alias or the library or deleting it. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 102 of file sch_plugin.cpp.
References not_implemented().
Referenced by SYMBOL_LIBRARY_MANAGER::LIB_BUFFER::SaveBuffer().
|
virtualinherited |
Delete an existing symbol library and returns true if successful, or if library does not exist returns false, or throws an exception if library exists but is read only or cannot be deleted for some other reason.
aLibraryPath | is a locator for the "library", usually a directory or file which will contain symbols. |
aProperties | is an associative array that can be used to tell the library delete implementation function anything special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem deleting an existing library. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 117 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Populate a list of LIB_SYMBOL alias names contained within the library aLibraryPath.
aSymbolNameList | is an array to populate with the LIB_SYMBOL names associated with the library. |
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing one or more LIB_SYMBOL objects. |
aProperties | is an associative array that can be used to tell the plugin anything needed about how to perform with respect to aLibraryPath. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found, the part library cannot be loaded. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 67 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Populate a list of LIB_SYMBOL aliases contained within the library aLibraryPath.
aSymbolList | is an array to populate with the LIB_SYMBOL pointers associated with the library. |
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing one or more LIB_SYMBOL objects. |
aProperties | is an associative array that can be used to tell the plugin anything needed about how to perform with respect to aLibraryPath. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found, the part library cannot be loaded. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 76 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Return an error string to the caller.
This is useful for schematic loaders that can load partial schematics where throwing an exception would be problematic such as the KiCad legacy plugin.
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 177 of file sch_plugin.cpp.
References not_implemented().
Referenced by TEST_SCH_SHEET_LIST_FIXTURE::loadSchematic(), and TEST_NETLISTS_FIXTURE::loadSchematic().
|
overridevirtual |
Return the file extension for the SCH_PLUGIN.
Implements SCH_PLUGIN.
Definition at line 100 of file sch_altium_plugin.cpp.
Referenced by ParseFileName().
|
private |
Definition at line 544 of file sch_altium_plugin.cpp.
References m_altiumStorage.
Referenced by ParseImage().
wxFileName SCH_ALTIUM_PLUGIN::getLibFileName | ( | ) |
Definition at line 150 of file sch_altium_plugin.cpp.
References getLibName(), PROJECT::GetProjectPath(), KiCadSymbolLibFileExtension, m_schematic, and SCHEMATIC::Prj().
Referenced by Load(), ParseFileHeader(), and ParsePowerPort().
wxString SCH_ALTIUM_PLUGIN::getLibName | ( | ) |
Definition at line 126 of file sch_altium_plugin.cpp.
References LIB_ID::FixIllegalChars(), SCH_SHEET::GetFileName(), PROJECT::GetProjectName(), m_libName, m_rootSheet, m_schematic, and SCHEMATIC::Prj().
Referenced by getLibFileName(), Load(), ParseComponent(), and ParsePowerPort().
|
overridevirtual |
Return the library file extension for the SCH_PLUGIN object.
Implements SCH_PLUGIN.
Definition at line 106 of file sch_altium_plugin.cpp.
|
overridevirtual |
Return the modification hash from the library cache.
Implements SCH_PLUGIN.
Definition at line 112 of file sch_altium_plugin.cpp.
|
overridevirtual |
Return a brief hard coded name for this SCH_PLUGIN.
Implements SCH_PLUGIN.
Definition at line 94 of file sch_altium_plugin.cpp.
|
private |
Definition at line 533 of file sch_altium_plugin.cpp.
References m_altiumComponents.
Referenced by ParseArc(), ParseBezier(), ParseLine(), ParsePin(), ParsePolygon(), ParsePolyline(), ParseRectangle(), and ParseRoundRectangle().
|
virtualinherited |
Return true if the library at aLibraryPath is writable.
(Often system libraries are read only because of where they are installed.)
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
IO_ERROR | if no library at aLibraryPath exists. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 125 of file sch_plugin.cpp.
References not_implemented().
|
overridevirtual |
Load information from some input file format that this SCH_PLUGIN implementation knows about, into either a new SCH_SHEET or an existing one.
This may be used to load an entire new SCH_SHEET, or to augment an existing one if aAppendToMe is not NULL.
aFileName | is the name of the file to use as input and may be foreign in nature or native in nature. |
aKiway | is the KIWAY object used to access the symbol libraries loaded by the project. |
aAppendToMe | is an existing SCH_SHEET to append to, but if NULL then this means "do not append, rather load anew". |
aProperties | is an associative array that can be used to tell the loader how to load the file, because it can take any number of additional named arguments that the plugin is known to support. These are tuning parameters for the import or load. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem loading, and its contents should say what went wrong, using line number and character offsets of the input file if possible. |
Reimplemented from SCH_PLUGIN.
Definition at line 158 of file sch_altium_plugin.cpp.
References SCH_SHEET::AddInstance(), SCH_SCREENS::ClearEditFlags(), PROJECT::ELEM_SYMBOL_LIB_TABLE, SYMBOL_LIB_TABLE::Format(), getLibFileName(), getLibName(), PROJECT::GetProjectPath(), SCH_SHEET::GetScreen(), SYMBOL_LIB_TABLE::GetSymbolLibTableFileName(), LIB_TABLE::HasLibrary(), LIB_TABLE::InsertRow(), SCHEMATIC::IsValid(), KiCadSchematicFileExtension, m_currentSheet, m_pi, m_rootSheet, m_schematic, ParseAltiumSch(), SCHEMATIC::Prj(), SCH_SHEET_PATH::push_back(), SCHEMATIC::Root(), SCH_PLUGIN::SCH_PLUGIN_RELEASER::set(), PROJECT::SetElem(), SCH_SCREEN::SetFileName(), SCH_SHEET::SetFileName(), SCH_SHEET::SetPageNumber(), SCHEMATIC::SetRoot(), SCH_SHEET::SetScreen(), and SCH_SCREENS::UpdateSymbolLinks().
|
virtualinherited |
Load a LIB_SYMBOL object having aPartName from the aLibraryPath containing a library format that this SCH_PLUGIN knows about.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aPartName | is the name of the LIB_SYMBOL to load. |
aProperties | is an associative array that can be used to tell the loader implementation to do something special, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if the library cannot be found or read. No exception is thrown in the case where aAliasName cannot be found. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 85 of file sch_plugin.cpp.
References not_implemented().
Referenced by SYMBOL_LIBRARY_MANAGER::LIB_BUFFER::SaveBuffer().
void SCH_ALTIUM_PLUGIN::ParseAltiumSch | ( | const wxString & | aFileName | ) |
Definition at line 243 of file sch_altium_plugin.cpp.
References _, Format(), m_reporter, ParseFileHeader(), ParseStorage(), REPORTER::Report(), RPT_SEVERITY_ERROR, and THROW_IO_ERROR.
Referenced by Load().
|
private |
Definition at line 1318 of file sch_altium_plugin.cpp.
References _, ALTIUM_COMPONENT_NONE, ARC, ASCH_ARC::center, CIRCLE, ASCH_ARC::endAngle, Format(), LIB_SHAPE::GetCenter(), LIB_SHAPE::GetPosition(), GetRelativePosition(), IsComponentPartVisible(), ASCH_ARC::lineWidth, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_ARC::ownerindex, ASCH_ARC::ownerpartdisplaymode, ASCH_ARC::ownerpartid, ASCH_ARC::radius, REPORTER::Report(), RotatePoint(), RPT_SEVERITY_ERROR, EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), LIB_SHAPE::SetPosition(), EDA_SHAPE::SetStart(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), and ASCH_ARC::startAngle.
Referenced by ParseFileHeader().
|
private |
Definition at line 972 of file sch_altium_plugin.cpp.
References _, LIB_SHAPE::AddPoint(), ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), BEZIER, Format(), BEZIER_POLY::GetPoly(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), LAYER_NOTES, ASCH_BEZIER::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_BEZIER::ownerindex, ASCH_BEZIER::ownerpartdisplaymode, ASCH_BEZIER::ownerpartid, ASCH_BEZIER::points, POLY, REPORTER::Report(), RPT_SEVERITY_ERROR, RPT_SEVERITY_WARNING, EDA_SHAPE::SetBezierC1(), EDA_SHAPE::SetBezierC2(), EDA_SHAPE::SetEnd(), SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), EDA_SHAPE::SetStart(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), and SOLID.
Referenced by ParseFileHeader().
|
private |
Definition at line 2077 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), SCH_SHEET::GetScreen(), IS_NEW, LAYER_BUS, ASCH_BUS::lineWidth, m_currentSheet, m_sheetOffset, ASCH_BUS::points, SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), and SCH_LINE::SetLineWidth().
Referenced by ParseFileHeader().
|
private |
Definition at line 2311 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), ASCH_BUS_ENTRY::corner, SCH_SHEET::GetScreen(), IS_NEW, ASCH_BUS_ENTRY::location, m_currentSheet, m_sheetOffset, EDA_ITEM::SetFlags(), and SCH_BUS_ENTRY_BASE::SetSize().
Referenced by ParseFileHeader().
|
private |
Definition at line 561 of file sch_altium_plugin.cpp.
References AltiumToKiCadLibID(), SCH_SCREEN::Append(), ASCH_SYMBOL::componentdescription, ASCH_SYMBOL::currentpartid, Format(), getLibName(), SCH_SHEET::GetScreen(), ASCH_SYMBOL::isMirrored, ASCH_SYMBOL::libreference, ASCH_SYMBOL::location, m_altiumComponents, m_currentSheet, m_libSymbols, m_sheetOffset, m_symbols, name, ASCH_SYMBOL::orientation, LIB_SYMBOL::SetDescription(), LIB_SYMBOL::SetLibId(), SCH_SYMBOL::SetLibId(), LIB_SYMBOL::SetName(), SCH_SYMBOL::SetPosition(), and SCH_SYMBOL::SetUnit().
Referenced by ParseFileHeader().
|
private |
Definition at line 2282 of file sch_altium_plugin.cpp.
References _, Format(), SCH_SYMBOL::GetField(), SCH_SHEET::GetScreen(), ASCH_DESIGNATOR::justification, SCH_SHEET::LocatePathOfScreen(), ASCH_DESIGNATOR::location, m_currentSheet, m_libSymbols, m_reporter, m_rootSheet, m_sheetOffset, m_symbols, ASCH_DESIGNATOR::orientation, ASCH_DESIGNATOR::ownerindex, REFERENCE_FIELD, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_FIELD::SetPosition(), SCH_SYMBOL::SetRef(), SetTextPositioning(), EDA_TEXT::SetVisible(), and ASCH_DESIGNATOR::text.
Referenced by ParseFileHeader().
void SCH_ALTIUM_PLUGIN::ParseFileHeader | ( | const CFB::CompoundFileReader & | aReader | ) |
Definition at line 322 of file sch_altium_plugin.cpp.
References _, ARC, BEZIER, BUS, BUS_ENTRY, COMPILE_MASK, COMPONENT, DESIGNATOR, ELLIPSE, ELLIPTICAL_ARC, FILE_NAME, FindStream(), Format(), getLibFileName(), ALTIUM_PARSER::GetRemainingBytes(), SCH_SHEET::GetScreen(), ALTIUM_PARSER::HasParsingError(), HEADER, IEEE_SYMBOL, IMAGE, IMPLEMENTATION, IMPLEMENTATION_LIST, JUNCTION, LABEL, LINE, m_altiumPortsCurrentSheet, m_currentSheet, m_currentTitleBlock, m_libSymbols, m_pi, m_properties, m_reporter, m_symbols, NET_LABEL, NO_ERC, NOTE, PARAMETER, ParseArc(), ParseBezier(), ParseBus(), ParseBusEntry(), ParseComponent(), ParseDesignator(), ParseFileName(), ParseImage(), ParseImplementation(), ParseImplementationList(), ParseJunction(), ParseLabel(), ParseLine(), ParseNetLabel(), ParseNoERC(), ParseNote(), ParseParameter(), ParsePin(), ParsePolygon(), ParsePolyline(), ParsePort(), ParsePowerPort(), ParseRectangle(), ParseRoundRectangle(), ParseSheet(), ParseSheetEntry(), ParseSheetName(), ParseSheetSymbol(), ParseTextFrame(), ParseWire(), PIECHART, PIN, POLYGON, POLYLINE, PORT, POWER_PORT, ALTIUM_PARSER::ReadInt(), ALTIUM_PARSER::ReadProperties(), RECORD_215, RECORD_216, RECORD_217, RECORD_218, RECORD_226, RECORD_46, RECORD_47, RECORD_48, RECTANGLE, REPORTER::Report(), ROUND_RECTANGLE, RPT_SEVERITY_ERROR, EDA_ITEM::SetModified(), SCH_SCREEN::SetTitleBlock(), SHEET, SHEET_ENTRY, SHEET_NAME, SHEET_SYMBOL, TEMPLATE, TEXT_FRAME, THROW_IO_ERROR, WARNING_SIGN, and WIRE.
Referenced by ParseAltiumSch().
|
private |
Definition at line 2249 of file sch_altium_plugin.cpp.
References _, BOTTOM_LEFT, Format(), GetFileExtension(), ASCH_FILE_NAME::isHidden, KiCadSchematicFileExtension, ASCH_FILE_NAME::location, m_reporter, m_sheetOffset, m_sheets, ASCH_FILE_NAME::orientation, ASCH_FILE_NAME::ownerindex, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_FIELD::SetPosition(), EDA_TEXT::SetText(), SetTextPositioning(), EDA_TEXT::SetVisible(), SHEETFILENAME, and ASCH_FILE_NAME::text.
Referenced by ParseFileHeader().
|
private |
Definition at line 2122 of file sch_altium_plugin.cpp.
References _, SCH_SCREEN::Append(), ASCH_IMAGE::corner, ASCH_STORAGE_FILE::data, ASCH_IMAGE::embedimage, ASCH_IMAGE::filename, Format(), GetFileFromStorage(), SCH_SHEET::GetScreen(), IS_NEW, ASCH_IMAGE::location, m_currentSheet, m_reporter, m_sheetOffset, REPORTER::Report(), and RPT_SEVERITY_ERROR.
Referenced by ParseFileHeader().
|
private |
Definition at line 2415 of file sch_altium_plugin.cpp.
References _, AltiumToKiCadLibID(), LIB_ID::Format(), Format(), ASCH_IMPLEMENTATION::isCurrent, ASCH_IMPLEMENTATION::libname, m_altiumImplementationList, m_libSymbols, m_reporter, m_symbols, ASCH_IMPLEMENTATION::name, ASCH_IMPLEMENTATION::ownerindex, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_SYMBOL::SetFootprint(), and ASCH_IMPLEMENTATION::type.
Referenced by ParseFileHeader().
|
private |
Definition at line 2406 of file sch_altium_plugin.cpp.
References m_altiumImplementationList, and ASCH_IMPLEMENTATION_LIST::ownerindex.
Referenced by ParseFileHeader().
|
private |
Definition at line 2111 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), SCH_SHEET::GetScreen(), IS_NEW, ASCH_JUNCTION::location, m_currentSheet, m_sheetOffset, and EDA_ITEM::SetFlags().
Referenced by ParseFileHeader().
|
private |
Definition at line 817 of file sch_altium_plugin.cpp.
References _, ALTIUM_COMPONENT_NONE, AltiumSpecialStringsToKiCadVariables(), SCH_SCREEN::Append(), ASCH_SHEET_FONT::bold, ASCH_LABEL::fontId, fonts, Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, ASCH_SHEET_FONT::italic, ASCH_LABEL::justification, ASCH_LABEL::location, m_altiumSheet, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_LABEL::orientation, ASCH_LABEL::ownerindex, ASCH_LABEL::ownerpartid, REPORTER::Report(), RPT_SEVERITY_ERROR, EDA_TEXT::SetBold(), EDA_ITEM::SetFlags(), EDA_TEXT::SetItalic(), LIB_ITEM::SetPosition(), EDA_TEXT::SetText(), SetTextPositioning(), EDA_TEXT::SetTextSize(), LIB_ITEM::SetUnit(), ASCH_SHEET_FONT::size, and ASCH_LABEL::text.
Referenced by ParseFileHeader().
|
private |
Definition at line 1380 of file sch_altium_plugin.cpp.
References _, LIB_SHAPE::AddPoint(), ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), LAYER_NOTES, ASCH_LINE::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_LINE::ownerindex, ASCH_LINE::ownerpartdisplaymode, ASCH_LINE::ownerpartid, ASCH_LINE::point1, ASCH_LINE::point2, POLY, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), and SOLID.
Referenced by ParseFileHeader().
|
private |
Definition at line 2048 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), LABEL_SPIN_STYLE::BOTTOM, DOWNWARDS, SCH_SHEET::GetScreen(), IS_NEW, LABEL_SPIN_STYLE::LEFT, LEFTWARDS, ASCH_NET_LABEL::location, m_currentSheet, m_sheetOffset, ASCH_NET_LABEL::orientation, LABEL_SPIN_STYLE::RIGHT, RIGHTWARDS, EDA_ITEM::SetFlags(), SCH_TEXT::SetLabelSpinStyle(), ASCH_NET_LABEL::text, LABEL_SPIN_STYLE::UP, and UPWARDS.
Referenced by ParseFileHeader().
|
private |
Definition at line 2034 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), SCH_SHEET::GetScreen(), IS_NEW, ASCH_NO_ERC::isActive, ASCH_NO_ERC::location, m_currentSheet, m_sheetOffset, and EDA_ITEM::SetFlags().
Referenced by ParseFileHeader().
|
private |
Definition at line 930 of file sch_altium_plugin.cpp.
References ASCH_TEXT_FRAME::alignment, SCH_SCREEN::Append(), ASCH_SHEET_FONT::bold, CENTER, ASCH_TEXT_FRAME::fontId, fonts, SCH_SHEET::GetScreen(), IS_NEW, ASCH_SHEET_FONT::italic, LEFT, ASCH_TEXT_FRAME::location, m_altiumSheet, m_currentSheet, m_sheetOffset, RIGHT, ASCH_SHEET_FONT::size, ASCH_TEXT_FRAME::text, and text.
Referenced by ParseFileHeader().
|
private |
Definition at line 2325 of file sch_altium_plugin.cpp.
References SCH_SYMBOL::AddField(), ALTIUM_COMPONENT_NONE, AltiumSpecialStringsToKiCadVariables(), SCH_SYMBOL::GetField(), SCH_SYMBOL::GetFieldCount(), SCH_SHEET::GetScreen(), PROJECT::GetTextVars(), ASCH_PARAMETER::isHidden, ASCH_PARAMETER::justification, SCH_SHEET::LocatePathOfScreen(), ASCH_PARAMETER::location, m_currentSheet, m_currentTitleBlock, m_libSymbols, m_rootSheet, m_schematic, m_sheetOffset, m_symbols, ASCH_PARAMETER::name, ASCH_PARAMETER::orientation, ASCH_PARAMETER::ownerindex, ASCH_PARAMETER::ownerpartid, SCHEMATIC::Prj(), SCH_SHEET::SetPageNumber(), SCH_FIELD::SetPosition(), EDA_TEXT::SetText(), SetTextPositioning(), EDA_TEXT::SetVisible(), ASCH_PARAMETER::text, and VALUE_FIELD.
Referenced by ParseFileHeader().
|
private |
Definition at line 597 of file sch_altium_plugin.cpp.
References _, BIDI, CLOCK, CLOCK_LOW, ASCH_PIN::designator, DOWNWARDS, ASCH_PIN::electrical, Format(), GetRelativePosition(), INPUT, INPUT_LOW, INVERTED, INVERTED_CLOCK, IsComponentPartVisible(), LEFTWARDS, LINE, ASCH_PIN::location, LOW_INPUT, LOW_OUTPUT, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_PIN::name, NEGATED, OPEN_COLLECTOR, OPEN_EMITTER, ASCH_PIN::orientation, OUTPUT, OUTPUT_LOW, ASCH_PIN::ownerindex, ASCH_PIN::ownerpartdisplaymode, ASCH_PIN::ownerpartid, PASSIVE, pin, PIN_DOWN, PIN_LEFT, PIN_RIGHT, PIN_UP, ASCH_PIN::pinlength, POWER, PT_BIDI, PT_INPUT, PT_OPENCOLLECTOR, PT_OPENEMITTER, PT_OUTPUT, PT_PASSIVE, PT_POWER_IN, PT_TRISTATE, PT_UNSPECIFIED, REPORTER::Report(), RIGHTWARDS, RPT_SEVERITY_ERROR, RPT_SEVERITY_WARNING, ASCH_PIN::showDesignator, ASCH_PIN::showPinName, ASCH_PIN::symbolInnerEdge, ASCH_PIN::symbolOuterEdge, TRISTATE, UNKNOWN, and UPWARDS.
Referenced by ParseFileHeader().
|
private |
Definition at line 1171 of file sch_altium_plugin.cpp.
References _, LIB_SHAPE::AddPoint(), ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), ASCH_POLYGON::areacolor, ASCH_POLYGON::color, FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), ASCH_POLYGON::isSolid, LAYER_NOTES, ASCH_POLYGON::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, NO_FILL, ASCH_POLYGON::ownerindex, ASCH_POLYGON::ownerpartdisplaymode, ASCH_POLYGON::ownerpartid, ASCH_POLYGON::points, POLY, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_LINE::SetEndPoint(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), and SOLID.
Referenced by ParseFileHeader().
|
private |
Definition at line 1112 of file sch_altium_plugin.cpp.
References _, LIB_SHAPE::AddPoint(), ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), DASH, DASH_DOTTED, DASHDOT, DASHED, DEFAULT, DOT, DOTTED, Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), LAYER_NOTES, ASCH_POLYLINE::linestyle, ASCH_POLYLINE::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, ASCH_POLYLINE::ownerindex, ASCH_POLYLINE::ownerpartdisplaymode, ASCH_POLYLINE::ownerpartid, ASCH_POLYLINE::points, POLY, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), and SOLID.
Referenced by ParseFileHeader().
|
private |
Definition at line 1903 of file sch_altium_plugin.cpp.
References _, SCH_SCREEN::Append(), BIDI, LABEL_SPIN_STYLE::BOTTOM, BOTTOM, Format(), SCH_SHEET::GetScreen(), ASCH_PORT::harnessType, INPUT, ASCH_PORT::iotype, IS_NEW, SCH_SCREEN::IsTerminalPoint(), LAYER_BUS, LAYER_WIRE, LABEL_SPIN_STYLE::LEFT, LEFT, LEFT_RIGHT, ASCH_PORT::location, m_currentSheet, m_reporter, m_sheetOffset, name, ASCH_PORT::name, NONE_HORIZONTAL, NONE_VERTICAL, OUTPUT, PS_BIDI, PS_INPUT, PS_OUTPUT, PS_UNSPECIFIED, REPORTER::Report(), LABEL_SPIN_STYLE::RIGHT, RIGHT, RPT_SEVERITY_WARNING, SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_TEXT::SetLabelSpinStyle(), SCH_LINE::SetLineWidth(), SCH_TEXT::SetShape(), ASCH_PORT::style, TOP, TOP_BOTTOM, UNSPECIFIED, LABEL_SPIN_STYLE::UP, and ASCH_PORT::width.
Referenced by ParseFileHeader().
|
private |
Definition at line 1808 of file sch_altium_plugin.cpp.
References _, LIB_SYMBOL::AddDrawItem(), AltiumToKiCadLibID(), SCH_SCREEN::Append(), DOWNWARDS, Format(), SCH_SYMBOL::GetField(), getLibFileName(), getLibName(), LIB_FIELD::GetPosition(), LIB_SYMBOL::GetReferenceField(), SCH_SHEET::GetScreen(), LIB_SYMBOL::GetValueField(), GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_HJUSTIFY_RIGHT, HelperGeneratePowerPortGraphics(), LEFTWARDS, SCH_SHEET::LocatePathOfScreen(), ASCH_POWER_PORT::location, m_currentSheet, m_pi, m_powerSymbols, m_properties, m_reporter, m_rootSheet, m_sheetOffset, ASCH_POWER_PORT::orientation, pin, PT_POWER_IN, REPORTER::Report(), RIGHTWARDS, RPT_SEVERITY_WARNING, LIB_SYMBOL::SetDescription(), EDA_TEXT::SetHorizJustify(), LIB_SYMBOL::SetKeyWords(), LIB_SYMBOL::SetLibId(), SCH_SYMBOL::SetLibId(), SCH_SYMBOL::SetLibSymbol(), LIB_SYMBOL::SetName(), SCH_SYMBOL::SetOrientation(), SCH_FIELD::SetPosition(), LIB_ITEM::SetPosition(), SCH_SYMBOL::SetPosition(), LIB_SYMBOL::SetPower(), SCH_SYMBOL::SetRef(), EDA_TEXT::SetText(), EDA_TEXT::SetTextAngle(), SCH_SYMBOL::SetValue(), EDA_TEXT::SetVisible(), ASCH_POWER_PORT::showNetName, ASCH_POWER_PORT::style, SYM_ORIENT_0, SYM_ORIENT_180, SYM_ORIENT_270, SYM_ORIENT_90, ASCH_POWER_PORT::text, TEXT_ANGLE_HORIZ, TEXT_ANGLE_VERT, UPWARDS, and VALUE_FIELD.
Referenced by ParseFileHeader().
|
private |
Definition at line 1425 of file sch_altium_plugin.cpp.
References _, ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), ASCH_RECTANGLE::areacolor, ASCH_RECTANGLE::bottomLeft, ASCH_RECTANGLE::color, FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), ASCH_RECTANGLE::isSolid, LAYER_NOTES, ASCH_RECTANGLE::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, NO_FILL, ASCH_RECTANGLE::ownerindex, ASCH_RECTANGLE::ownerpartdisplaymode, ASCH_RECTANGLE::ownerpartid, RECT, REPORTER::Report(), RPT_SEVERITY_ERROR, EDA_SHAPE::SetEnd(), SCH_LINE::SetEndPoint(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), LIB_SHAPE::SetPosition(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), SOLID, and ASCH_RECTANGLE::topRight.
Referenced by ParseFileHeader().
|
private |
Definition at line 1239 of file sch_altium_plugin.cpp.
References _, ALTIUM_COMPONENT_NONE, SCH_SCREEN::Append(), ASCH_ROUND_RECTANGLE::areacolor, ASCH_ROUND_RECTANGLE::bottomLeft, ASCH_ROUND_RECTANGLE::color, FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, Format(), GetRelativePosition(), SCH_SHEET::GetScreen(), IS_NEW, IsComponentPartVisible(), ASCH_ROUND_RECTANGLE::isSolid, LAYER_NOTES, ASCH_ROUND_RECTANGLE::lineWidth, m_currentSheet, m_libSymbols, m_reporter, m_sheetOffset, m_symbols, NO_FILL, ASCH_ROUND_RECTANGLE::ownerindex, ASCH_ROUND_RECTANGLE::ownerpartdisplaymode, ASCH_ROUND_RECTANGLE::ownerpartid, RECT, REPORTER::Report(), RPT_SEVERITY_ERROR, EDA_SHAPE::SetEnd(), SCH_LINE::SetEndPoint(), EDA_SHAPE::SetFillMode(), EDA_ITEM::SetFlags(), SCH_LINE::SetLineStyle(), SCH_LINE::SetLineWidth(), LIB_SHAPE::SetPosition(), LIB_ITEM::SetUnit(), EDA_SHAPE::SetWidth(), SOLID, and ASCH_ROUND_RECTANGLE::topRight.
Referenced by ParseFileHeader().
|
private |
Definition at line 2189 of file sch_altium_plugin.cpp.
References A, A0, A1, A2, A3, A4, B, C, D, E, SCH_SHEET::GetScreen(), LEGAL, LETTER, m_altiumSheet, m_currentSheet, m_sheetOffset, ORCAD_A, ORCAD_B, ORCAD_C, ORCAD_D, ORCAD_E, PORTRAIT, SCH_SCREEN::SetPageSettings(), PAGE_INFO::SetType(), and TABLOID.
Referenced by ParseFileHeader().
|
private |
Definition at line 1533 of file sch_altium_plugin.cpp.
References _, BIDI, LABEL_SPIN_STYLE::BOTTOM, BOTTOM, ASCH_SHEET_ENTRY::distanceFromTop, Format(), INPUT, ASCH_SHEET_ENTRY::iotype, LABEL_SPIN_STYLE::LEFT, LEFT, m_reporter, m_sheets, ASCH_SHEET_ENTRY::name, OUTPUT, ASCH_SHEET_ENTRY::ownerindex, PS_BIDI, PS_INPUT, PS_OUTPUT, PS_UNSPECIFIED, REPORTER::Report(), LABEL_SPIN_STYLE::RIGHT, RIGHT, RPT_SEVERITY_ERROR, SCH_HIERLABEL::SetLabelSpinStyle(), SCH_SHEET_PIN::SetPosition(), SCH_TEXT::SetShape(), SCH_SHEET_PIN::SetSide(), EDA_TEXT::SetText(), ASCH_SHEET_ENTRY::side, TOP, UNSPECIFIED, and LABEL_SPIN_STYLE::UP.
Referenced by ParseFileHeader().
|
private |
Definition at line 2226 of file sch_altium_plugin.cpp.
References _, BOTTOM_LEFT, Format(), ASCH_SHEET_NAME::isHidden, ASCH_SHEET_NAME::location, m_reporter, m_sheetOffset, m_sheets, ASCH_SHEET_NAME::orientation, ASCH_SHEET_NAME::ownerindex, REPORTER::Report(), RPT_SEVERITY_ERROR, SCH_FIELD::SetPosition(), EDA_TEXT::SetText(), SetTextPositioning(), EDA_TEXT::SetVisible(), SHEETNAME, and ASCH_SHEET_NAME::text.
Referenced by ParseFileHeader().
|
private |
Definition at line 1502 of file sch_altium_plugin.cpp.
References SCH_SHEET::AddInstance(), SCH_SCREEN::Append(), ASCH_SHEET_SYMBOL::areacolor, ASCH_SHEET_SYMBOL::color, GetColorFromInt(), SCH_SHEET::GetScreen(), IS_NEW, ASCH_SHEET_SYMBOL::isSolid, SCH_SHEET::LocatePathOfScreen(), ASCH_SHEET_SYMBOL::location, m_currentSheet, m_rootSheet, m_schematic, m_sheetOffset, m_sheets, SCH_SHEET_PATH::push_back(), SCH_SHEET::SetBackgroundColor(), SCH_SHEET::SetBorderColor(), EDA_ITEM::SetFlags(), SCH_SHEET::SetPageNumber(), SCH_SHEET::SetScreen(), SCH_SHEET::SetSize(), and ASCH_SHEET_SYMBOL::size.
Referenced by ParseFileHeader().
void SCH_ALTIUM_PLUGIN::ParseStorage | ( | const CFB::CompoundFileReader & | aReader | ) |
Definition at line 286 of file sch_altium_plugin.cpp.
References _, FindStream(), Format(), ALTIUM_PARSER::GetRemainingBytes(), ALTIUM_PARSER::HasParsingError(), m_altiumStorage, m_reporter, ALTIUM_PARSER::ReadInt(), ALTIUM_PARSER::ReadProperties(), ALTIUM_PARSER::ReadString(), REPORTER::Report(), RPT_SEVERITY_ERROR, and THROW_IO_ERROR.
Referenced by ParseAltiumSch().
|
private |
Definition at line 890 of file sch_altium_plugin.cpp.
References ASCH_TEXT_FRAME::alignment, SCH_SCREEN::Append(), ASCH_SHEET_FONT::bold, CENTER, ASCH_TEXT_FRAME::fontId, fonts, SCH_SHEET::GetScreen(), IS_NEW, ASCH_SHEET_FONT::italic, LEFT, ASCH_TEXT_FRAME::location, m_altiumSheet, m_currentSheet, m_sheetOffset, RIGHT, ASCH_SHEET_FONT::size, ASCH_TEXT_FRAME::text, and text.
Referenced by ParseFileHeader().
|
private |
Definition at line 2094 of file sch_altium_plugin.cpp.
References SCH_SCREEN::Append(), SCH_SHEET::GetScreen(), IS_NEW, LAYER_WIRE, ASCH_WIRE::lineWidth, m_currentSheet, m_sheetOffset, ASCH_WIRE::points, SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), and SCH_LINE::SetLineWidth().
Referenced by ParseFileHeader().
|
virtualinherited |
Write aSchematic to a storage file in a format that this SCH_PLUGIN implementation knows about, or it can be used to write a portion of aSchematic to a special kind of export file.
aFileName | is the name of a file to save to on disk. |
aSheet | is the class SCH_SHEET in memory document tree from which to extract information when writing to aFileName. The caller continues to own the SCHEMATIC, and the plugin should refrain from modifying the SCHEMATIC if possible. |
aSchematic | is the SCHEMATIC object used to access any schematic-wide or project information needed to save the document. |
aProperties | is an associative array that can be used to tell the saver how to save the file, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. Set the #PropSaveCurrentSheetOnly property to only save the current sheet. Otherwise, all hierarchical sheets are saved. |
IO_ERROR | if there is a problem saving or exporting. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 59 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 45 of file sch_plugin.cpp.
References not_implemented().
|
virtualinherited |
Write aSymbol to an existing library located at aLibraryPath.
If a LIB_SYMBOL by the same name already exists or there are any conflicting alias names, the new LIB_SYMBOL will silently overwrite any existing aliases and/or part because libraries cannot have duplicate alias names. It is the responsibility of the caller to check the library for conflicts before saving.
aLibraryPath | is a locator for the "library", usually a directory, file, or URL containing several symbols. |
aSymbol | is what to store in the library. The library is refreshed and the caller must update any LIB_SYMBOL pointers that may have changed. |
aProperties | is an associative array that can be used to tell the saver how to save the symbol, because it can take any number of additional named tuning arguments that the plugin is known to support. The caller continues to own this object (plugin may not delete it), and plugins should expect it to be optionally NULL. |
IO_ERROR | if there is a problem saving. |
Reimplemented in SCH_LEGACY_PLUGIN, and SCH_SEXPR_PLUGIN.
Definition at line 94 of file sch_plugin.cpp.
References not_implemented().
Referenced by SYMBOL_LIBRARY_MANAGER::LIB_BUFFER::SaveBuffer().
|
inlinevirtualinherited |
Set an optional progress reporter.
Reimplemented in SCH_EAGLE_PLUGIN, SCH_LEGACY_PLUGIN, SCH_SEXPR_PLUGIN, and CADSTAR_SCH_ARCHIVE_PLUGIN.
Definition at line 171 of file sch_io_mgr.h.
|
inlineoverridevirtual |
Set an optional reporter for warnings/errors.
Reimplemented from SCH_PLUGIN.
Definition at line 59 of file sch_altium_plugin.h.
References m_reporter.
|
virtualinherited |
Append supported SCH_PLUGIN options to aListToAppenTo along with internationalized descriptions.
Options are typically appended so that a derived SCH_PLUGIN can call its base class function by the same name first, thus inheriting options declared there. (Some base class options could pertain to all Symbol*() functions in all derived SCH_PLUGINs.) Note that since aListToAppendTo is a PROPERTIES object, all options will be unique and last guy wins.
aListToAppendTo | holds a tuple of
In the future perhaps aListToAppendTo evolves to something capable of also holding a wxValidator for the cells in said dialog: http://forums.wxwidgets.org/viewtopic.php?t=23277&p=104180. This would require a 3 column list, and introducing wx GUI knowledge to SCH_PLUGIN, which has been avoided to date. |
Definition at line 133 of file sch_plugin.cpp.
References _.
|
private |
Definition at line 169 of file sch_altium_plugin.h.
Referenced by IsComponentPartVisible(), and ParseComponent().
|
private |
Definition at line 170 of file sch_altium_plugin.h.
Referenced by ParseImplementation(), and ParseImplementationList().
|
private |
Definition at line 171 of file sch_altium_plugin.h.
Referenced by ParseFileHeader().
|
private |
Definition at line 161 of file sch_altium_plugin.h.
Referenced by ParseLabel(), ParseNote(), ParseSheet(), and ParseTextFrame().
|
private |
Definition at line 167 of file sch_altium_plugin.h.
Referenced by GetFileFromStorage(), and ParseStorage().
|
private |
Definition at line 150 of file sch_altium_plugin.h.
Referenced by Load(), ParseBezier(), ParseBus(), ParseBusEntry(), ParseComponent(), ParseDesignator(), ParseFileHeader(), ParseImage(), ParseJunction(), ParseLabel(), ParseLine(), ParseNetLabel(), ParseNoERC(), ParseNote(), ParseParameter(), ParsePolygon(), ParsePolyline(), ParsePort(), ParsePowerPort(), ParseRectangle(), ParseRoundRectangle(), ParseSheet(), ParseSheetSymbol(), ParseTextFrame(), ParseWire(), and SCH_ALTIUM_PLUGIN().
|
private |
Definition at line 157 of file sch_altium_plugin.h.
Referenced by ParseFileHeader(), and ParseParameter().
|
private |
Definition at line 152 of file sch_altium_plugin.h.
Referenced by getLibName().
|
private |
Definition at line 164 of file sch_altium_plugin.h.
Referenced by ParseArc(), ParseBezier(), ParseComponent(), ParseDesignator(), ParseFileHeader(), ParseImplementation(), ParseLabel(), ParseLine(), ParseParameter(), ParsePin(), ParsePolygon(), ParsePolyline(), ParseRectangle(), and ParseRoundRectangle().
|
private |
Definition at line 154 of file sch_altium_plugin.h.
Referenced by Load(), ParseFileHeader(), and ParsePowerPort().
|
private |
Definition at line 166 of file sch_altium_plugin.h.
Referenced by ParsePowerPort().
|
private |
Definition at line 155 of file sch_altium_plugin.h.
Referenced by ParseFileHeader(), and ParsePowerPort().
|
private |
Definition at line 147 of file sch_altium_plugin.h.
Referenced by ParseAltiumSch(), ParseArc(), ParseBezier(), ParseDesignator(), ParseFileHeader(), ParseFileName(), ParseImage(), ParseImplementation(), ParseLabel(), ParseLine(), ParsePin(), ParsePolygon(), ParsePolyline(), ParsePort(), ParsePowerPort(), ParseRectangle(), ParseRoundRectangle(), ParseSheetEntry(), ParseSheetName(), ParseStorage(), SCH_ALTIUM_PLUGIN(), and SetReporter().
|
private |
Definition at line 149 of file sch_altium_plugin.h.
Referenced by getLibName(), Load(), ParseDesignator(), ParseParameter(), ParsePowerPort(), ParseSheetSymbol(), and SCH_ALTIUM_PLUGIN().
|
private |
Definition at line 151 of file sch_altium_plugin.h.
Referenced by getLibFileName(), getLibName(), Load(), ParseParameter(), ParseSheetSymbol(), and SCH_ALTIUM_PLUGIN().
|
private |
Definition at line 160 of file sch_altium_plugin.h.
Referenced by ParseArc(), ParseBezier(), ParseBus(), ParseBusEntry(), ParseComponent(), ParseDesignator(), ParseFileName(), ParseImage(), ParseJunction(), ParseLabel(), ParseLine(), ParseNetLabel(), ParseNoERC(), ParseNote(), ParseParameter(), ParsePin(), ParsePolygon(), ParsePolyline(), ParsePort(), ParsePowerPort(), ParseRectangle(), ParseRoundRectangle(), ParseSheet(), ParseSheetName(), ParseSheetSymbol(), ParseTextFrame(), and ParseWire().
|
private |
Definition at line 163 of file sch_altium_plugin.h.
Referenced by ParseFileName(), ParseSheetEntry(), ParseSheetName(), and ParseSheetSymbol().
|
private |
Definition at line 162 of file sch_altium_plugin.h.
Referenced by ParseArc(), ParseBezier(), ParseComponent(), ParseDesignator(), ParseFileHeader(), ParseImplementation(), ParseLabel(), ParseLine(), ParseParameter(), ParsePin(), ParsePolygon(), ParsePolyline(), ParseRectangle(), and ParseRoundRectangle().