|
KiCad PCB EDA Suite
|
Classes | |
| struct | BLOB |
| struct | PCB_ATTR |
| struct | PIN_INFO |
| struct | POURED |
| struct | PRJ_BOARD |
| struct | PRJ_DEVICE |
| struct | PRJ_FOOTPRINT |
| struct | PRJ_SCHEMATIC |
| struct | PRJ_SHEET |
| struct | PRJ_SYMBOL |
| struct | SCH_ATTR |
| struct | SCH_COMPONENT |
| struct | SCH_WIRE |
| struct | SYM_HEAD |
| struct | SYM_INFO |
| struct | SYM_PIN |
| struct | V3_DEVICE_DATA |
| class | V3_DOC_PARSER |
| Parses EasyEDA Pro v3 .epro2 archives. More... | |
| struct | V3_DOC_RAW |
| Raw parsed document from an EasyEDA Pro v3 .epru stream. More... | |
| struct | V3_ROW |
| One parsed row from an EasyEDA Pro v3 .epru document stream. More... | |
| struct | V3_SYMBOL_LIB_ITEM |
| Build the schematic-library name map for a v3 .elibz2. More... | |
Enumerations | |
| enum class | SYMBOL_TYPE { NORMAL = 2 , POWER_PORT = 18 , NETPORT = 19 , SHEET_SYMBOL = 20 , SHORT = 22 } |
| enum class | FOOTPRINT_TYPE { NORMAL = 4 } |
Functions | |
| wxString | ShortenLibName (wxString aProjectName) |
| LIB_ID | ToKiCadLibID (const wxString &aLibName, const wxString &aLibReference) |
| std::vector< IMPORT_PROJECT_DESC > | ProjectToSelectorDialog (const nlohmann::json &aProject, bool aPcbOnly=false, bool aSchOnly=false) |
| nlohmann::json | FindJsonFile (const wxString &aZipFileName, const std::set< wxString > &aFileNames) |
| nlohmann::json | ReadProjectOrDeviceFile (const wxString &aZipFileName) |
| void | IterateZipFiles (const wxString &aFileName, std::function< bool(const wxString &, const wxString &, wxInputStream &)> aCallback) |
| std::vector< nlohmann::json > | ParseJsonLines (wxInputStream &aInput, const wxString &aSource) |
| std::vector< std::vector< nlohmann::json > > | ParseJsonLinesWithSeparation (wxInputStream &aInput, const wxString &aSource) |
| Multiple document types (e.g. | |
| std::map< wxString, wxString > | AnyMapToStringMap (const std::map< wxString, nlohmann::json > &aInput) |
| nlohmann::json | BuildV3ProjectIndexFromRawDocs (const V3_DOC_PARSER &aParser, bool aIncludeLibraryMetadata=true) |
| Build a minimal legacy-style project index from parsed v3 raw documents. | |
| std::map< wxString, BLOB > | BuildV3BlobMap (const V3_DOC_PARSER &aParser) |
| wxString | GetV3LibraryItemTitle (const nlohmann::json &aMetadata, const wxString &aUuid) |
| wxString | KeywordsFromV3Tags (const nlohmann::json &aTags) |
| Build KiCad keywords from a v3 tags object (parent_tag / child_tag name fields). | |
| wxString | ResolveDeviceFieldVariables (const wxString &aInput, const std::map< wxString, wxString > &aDeviceAttributes) |
Resolve EasyEDA ={Var} / ={A}text{B} field expressions against device attributes. | |
| wxString | NormalizeEasyEDAText (wxString aText) |
| Replace EasyEDA temperature glyph (℃) with °C. | |
| wxString | MakeUniqueLibName (std::set< wxString > &aUsedNames, const wxString &aName, const wxString &aFallback) |
| Allocate a unique library item name, recording it in aUsedNames. | |
| std::map< wxString, wxString > | BuildV3DeviceLibNames (nlohmann::json &aProject, const std::map< wxString, PRJ_DEVICE > &aDevices, std::set< wxString > *aUsedNames=nullptr) |
| Stable project-lib item names keyed by Device UUID (one entry per Device). | |
| wxString | LookupV3DeviceLibName (const nlohmann::json &aProject, const wxString &aDeviceUuid) |
| V3_DEVICE_DATA | GetV3DeviceData (const nlohmann::json &aProject, const wxString &aDeviceUuid) |
| wxString | ResolveV3DeviceValueText (const std::map< wxString, wxString > &aDeviceAttributes) |
| Preferred Value text: Value attribute, else Name, with variables resolved. | |
| void | ForEachImportedDeviceField (const std::map< wxString, wxString > &aDeviceAttributes, bool aIncludeValue, const std::function< void(const wxString &aKey, const wxString &aValue)> &aCallback) |
| Invoke aCallback for each non-empty whitelisted Device field (resolved + normalized). | |
| std::map< wxString, V3_SYMBOL_LIB_ITEM > | BuildV3SymbolLibraryMap (const V3_DOC_PARSER &aParser) |
| std::map< wxString, wxString > | BuildV3LibraryItemMap (const V3_DOC_PARSER &aParser, const char *aIndexKey, const wxString &aDocType) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::SCH_ATTR &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PCB_ATTR &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::SCH_COMPONENT &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::SCH_WIRE &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::SYM_PIN &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::SYM_HEAD &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_SHEET &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_SCHEMATIC &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_BOARD &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_SYMBOL &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_FOOTPRINT &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::PRJ_DEVICE &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::BLOB &d) |
| void | from_json (const nlohmann::json &j, EASYEDAPRO::POURED &d) |
| wxString | V3JsonToString (const nlohmann::json &aValue, const wxString &aDefault) |
| wxString | V3GetString (const nlohmann::json &aObj, const char *aKey, const wxString &aDefault) |
| wxString | V3GetString (const nlohmann::json &aObj, const wxString &aKey, const wxString &aDefault) |
| double | V3GetDouble (const nlohmann::json &aObj, const char *aKey, double aDefault) |
| int | V3GetInt (const nlohmann::json &aObj, const char *aKey, int aDefault) |
| bool | V3GetBool (const nlohmann::json &aObj, const char *aKey, bool aDefault) |
| bool | V3IsNullOrMissing (const nlohmann::json &aObj, const char *aKey) |
| nlohmann::json | V3ParseIdArray (const wxString &aId) |
| int | AlignToFontV (const wxString &aAlign) |
| Map an EasyEDA "HORIZ_VERT" alignment token to a KiCad justify code (0 top/left, 1 center, 2 bottom/right). | |
| int | AlignToFontH (const wxString &aAlign) |
Variables | |
| static const bool | IMPORT_POURED = true |
| static const bool | IMPORT_POURED_ECOP = false |
|
strong |
| Enumerator | |
|---|---|
| NORMAL | |
Definition at line 52 of file easyedapro_parser.h.
|
strong |
| Enumerator | |
|---|---|
| NORMAL | |
| POWER_PORT | |
| NETPORT | |
| SHEET_SYMBOL | |
| SHORT | |
Definition at line 43 of file easyedapro_parser.h.
| int EASYEDAPRO::AlignToFontH | ( | const wxString & | aAlign | ) |
Definition at line 97 of file sch_easyedapro_v3_parser.cpp.
Referenced by ApplyV3AttrToField(), SCH_EASYEDAPRO_V3_PARSER::ApplyV3FontStyle(), BOOST_AUTO_TEST_CASE(), and SCH_EASYEDAPRO_V3_PARSER::ParseSymbol().
| int EASYEDAPRO::AlignToFontV | ( | const wxString & | aAlign | ) |
Map an EasyEDA "HORIZ_VERT" alignment token to a KiCad justify code (0 top/left, 1 center, 2 bottom/right).
Definition at line 83 of file sch_easyedapro_v3_parser.cpp.
Referenced by ApplyV3AttrToField(), SCH_EASYEDAPRO_V3_PARSER::ApplyV3FontStyle(), BOOST_AUTO_TEST_CASE(), and SCH_EASYEDAPRO_V3_PARSER::ParseSymbol().
| std::map< wxString, wxString > EASYEDAPRO::AnyMapToStringMap | ( | const std::map< wxString, nlohmann::json > & | aInput | ) |
Definition at line 408 of file easyedapro_import_utils.cpp.
Referenced by from_json(), and SCH_EASYEDAPRO_PARSER::ParseSchematic().
| std::map< wxString, EASYEDAPRO::BLOB > EASYEDAPRO::BuildV3BlobMap | ( | const V3_DOC_PARSER & | aParser | ) |
Definition at line 615 of file easyedapro_import_utils.cpp.
References EASYEDAPRO::V3_DOC_PARSER::GetRawDocs(), EASYEDAPRO::V3_ROW::inner, EASYEDAPRO::BLOB::objectId, EASYEDAPRO::V3_ROW::outer, traceEasyEdaIo, EASYEDAPRO::V3_ROW::type, EASYEDAPRO::BLOB::url, and V3GetString().
Referenced by SCH_IO_EASYEDAPRO_V3::EnumerateSymbolLib(), PCB_IO_EASYEDAPRO_V3::FootprintLoad(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), and SCH_IO_EASYEDAPRO_V3::LoadSymbol().
| std::map< wxString, wxString > EASYEDAPRO::BuildV3DeviceLibNames | ( | nlohmann::json & | aProject, |
| const std::map< wxString, PRJ_DEVICE > & | aDevices, | ||
| std::set< wxString > * | aUsedNames = nullptr ) |
Stable project-lib item names keyed by Device UUID (one entry per Device).
Also writes project["device_lib_names"] for place-time symbol LIB_ID lookup. When aUsedNames is non-null, it receives the allocated names (for orphan uniqueness).
Definition at line 772 of file easyedapro_import_utils.cpp.
References MakeUniqueLibName().
Referenced by SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().
| std::map< wxString, wxString > EASYEDAPRO::BuildV3LibraryItemMap | ( | const V3_DOC_PARSER & | aParser, |
| const char * | aIndexKey, | ||
| const wxString & | aDocType ) |
Definition at line 940 of file easyedapro_import_utils.cpp.
References EASYEDAPRO::V3_DOC_PARSER::GetLibraryIndex(), EASYEDAPRO::V3_DOC_PARSER::GetRawDocs(), GetV3LibraryItemTitle(), index, MakeUniqueV3LibraryName(), name, and V3GetString().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BuildV3SymbolLibraryMap(), PCB_IO_EASYEDAPRO_V3::FootprintEnumerate(), and PCB_IO_EASYEDAPRO_V3::FootprintLoad().
| nlohmann::json EASYEDAPRO::BuildV3ProjectIndexFromRawDocs | ( | const V3_DOC_PARSER & | aParser, |
| bool | aIncludeLibraryMetadata = true ) |
Build a minimal legacy-style project index from parsed v3 raw documents.
The result is compatible with ProjectToSelectorDialog and legacy metadata readers, and contains at least schematics / boards / pcbs. When aIncludeLibraryMetadata is true, symbols / footprints / devices maps are also populated from their META rows.
Definition at line 424 of file easyedapro_import_utils.cpp.
References empty(), EASYEDAPRO::V3_DOC_PARSER::GetRawDocs(), info, name, NORMAL, project, ToStdString(), and V3GetString().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), IMPORT_PROJ_HELPER::EasyEDAProProjectHandler(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), and SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().
| std::map< wxString, EASYEDAPRO::V3_SYMBOL_LIB_ITEM > EASYEDAPRO::BuildV3SymbolLibraryMap | ( | const V3_DOC_PARSER & | aParser | ) |
Definition at line 884 of file easyedapro_import_utils.cpp.
References EASYEDAPRO::PRJ_DEVICE::attributes, BuildV3LibraryItemMap(), EASYEDAPRO::V3_SYMBOL_LIB_ITEM::device, EASYEDAPRO::V3_DOC_PARSER::FindRawDoc(), EASYEDAPRO::V3_DOC_PARSER::GetLibraryIndex(), GetV3LibraryItemTitle(), EASYEDAPRO::V3_SYMBOL_LIB_ITEM::hasDevice, index, MakeUniqueV3LibraryName(), name, EASYEDAPRO::V3_SYMBOL_LIB_ITEM::symbolUuid, EASYEDAPRO::PRJ_DEVICE::title, traceEasyEdaIo, and V3GetString().
Referenced by SCH_IO_EASYEDAPRO_V3::EnumerateSymbolLib(), SCH_IO_EASYEDAPRO_V3::EnumerateSymbolLib(), and SCH_IO_EASYEDAPRO_V3::LoadSymbol().
| nlohmann::json EASYEDAPRO::FindJsonFile | ( | const wxString & | aZipFileName, |
| const std::set< wxString > & | aFileNames ) |
Definition at line 246 of file easyedapro_import_utils.cpp.
References _, name, THROW_IO_ERRORF, and zip.
Referenced by ReadProjectOrDeviceFile().
| void EASYEDAPRO::ForEachImportedDeviceField | ( | const std::map< wxString, wxString > & | aDeviceAttributes, |
| bool | aIncludeValue, | ||
| const std::function< void(const wxString &aKey, const wxString &aValue)> & | aCallback ) |
Invoke aCallback for each non-empty whitelisted Device field (resolved + normalized).
When aIncludeValue is false, skips the Value key (callers often handle it separately).
Definition at line 850 of file easyedapro_import_utils.cpp.
References get_opt(), NormalizeEasyEDAText(), and ResolveDeviceFieldVariables().
Referenced by PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_PARSER::ParseSymbol(), and SCH_EASYEDAPRO_V3_PARSER::ParseSymbol().
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::BLOB & | d ) |
Definition at line 285 of file easyedapro_parser.cpp.
References EASYEDAPRO::BLOB::objectId, and EASYEDAPRO::BLOB::url.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PCB_ATTR & | d ) |
Definition at line 61 of file easyedapro_parser.cpp.
References EASYEDAPRO::PCB_ATTR::fontName, EASYEDAPRO::PCB_ATTR::height, EASYEDAPRO::PCB_ATTR::id, EASYEDAPRO::PCB_ATTR::inverted, EASYEDAPRO::PCB_ATTR::key, EASYEDAPRO::PCB_ATTR::keyVisible, EASYEDAPRO::PCB_ATTR::layer, EASYEDAPRO::PCB_ATTR::parentId, EASYEDAPRO::PCB_ATTR::position, EASYEDAPRO::PCB_ATTR::rotation, EASYEDAPRO::PCB_ATTR::strokeWidth, EASYEDAPRO::PCB_ATTR::textOrigin, EASYEDAPRO::PCB_ATTR::value, and EASYEDAPRO::PCB_ATTR::valVisible.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::POURED & | d ) |
Definition at line 292 of file easyedapro_parser.cpp.
References EASYEDAPRO::POURED::isPoly, EASYEDAPRO::POURED::parentId, EASYEDAPRO::POURED::polyData, EASYEDAPRO::POURED::pouredId, and EASYEDAPRO::POURED::unki.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_BOARD & | d ) |
Definition at line 191 of file easyedapro_parser.cpp.
References EASYEDAPRO::PRJ_BOARD::pcb, and EASYEDAPRO::PRJ_BOARD::schematic.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_DEVICE & | d ) |
Definition at line 256 of file easyedapro_parser.cpp.
References AnyMapToStringMap(), EASYEDAPRO::PRJ_DEVICE::attributes, EASYEDAPRO::PRJ_DEVICE::custom_tags, EASYEDAPRO::PRJ_DEVICE::description, EASYEDAPRO::PRJ_DEVICE::source, EASYEDAPRO::PRJ_DEVICE::tags, EASYEDAPRO::PRJ_DEVICE::title, and EASYEDAPRO::PRJ_DEVICE::version.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_FOOTPRINT & | d ) |
Definition at line 227 of file easyedapro_parser.cpp.
References EASYEDAPRO::PRJ_FOOTPRINT::custom_tags, EASYEDAPRO::PRJ_FOOTPRINT::desc, EASYEDAPRO::PRJ_FOOTPRINT::source, EASYEDAPRO::PRJ_FOOTPRINT::tags, EASYEDAPRO::PRJ_FOOTPRINT::title, EASYEDAPRO::PRJ_FOOTPRINT::type, and EASYEDAPRO::PRJ_FOOTPRINT::version.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_SCHEMATIC & | d ) |
Definition at line 184 of file easyedapro_parser.cpp.
References EASYEDAPRO::PRJ_SCHEMATIC::name, and EASYEDAPRO::PRJ_SCHEMATIC::sheets.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_SHEET & | d ) |
Definition at line 176 of file easyedapro_parser.cpp.
References EASYEDAPRO::PRJ_SHEET::id, EASYEDAPRO::PRJ_SHEET::name, and EASYEDAPRO::PRJ_SHEET::uuid.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::PRJ_SYMBOL & | d ) |
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::SCH_ATTR & | d ) |
Definition at line 31 of file easyedapro_parser.cpp.
References EASYEDAPRO::SCH_ATTR::fontStyle, EASYEDAPRO::SCH_ATTR::id, EASYEDAPRO::SCH_ATTR::key, EASYEDAPRO::SCH_ATTR::keyVisible, EASYEDAPRO::SCH_ATTR::parentId, EASYEDAPRO::SCH_ATTR::position, EASYEDAPRO::SCH_ATTR::rotation, EASYEDAPRO::SCH_ATTR::value, and EASYEDAPRO::SCH_ATTR::valVisible.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::SCH_COMPONENT & | d ) |
Definition at line 107 of file easyedapro_parser.cpp.
References EASYEDAPRO::SCH_COMPONENT::customProps, EASYEDAPRO::SCH_COMPONENT::id, EASYEDAPRO::SCH_COMPONENT::mirror, EASYEDAPRO::SCH_COMPONENT::name, EASYEDAPRO::SCH_COMPONENT::position, EASYEDAPRO::SCH_COMPONENT::rotation, EASYEDAPRO::SCH_COMPONENT::unk1, and EASYEDAPRO::SCH_COMPONENT::unk2.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::SCH_WIRE & | d ) |
Definition at line 132 of file easyedapro_parser.cpp.
References EASYEDAPRO::SCH_WIRE::geometry, EASYEDAPRO::SCH_WIRE::id, and EASYEDAPRO::SCH_WIRE::lineStyle.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::SYM_HEAD & | d ) |
Definition at line 160 of file easyedapro_parser.cpp.
References config, EASYEDAPRO::SYM_HEAD::maxId, NORMAL, EASYEDAPRO::SYM_HEAD::origin, EASYEDAPRO::SYM_HEAD::symbolType, EASYEDAPRO::SYM_HEAD::version, VECTOR2< T >::x, and VECTOR2< T >::y.
| void EASYEDAPRO::from_json | ( | const nlohmann::json & | j, |
| EASYEDAPRO::SYM_PIN & | d ) |
Definition at line 142 of file easyedapro_parser.cpp.
References EASYEDAPRO::SYM_PIN::id, EASYEDAPRO::SYM_PIN::inverted, EASYEDAPRO::SYM_PIN::length, EASYEDAPRO::SYM_PIN::position, and EASYEDAPRO::SYM_PIN::rotation.
| EASYEDAPRO::V3_DEVICE_DATA EASYEDAPRO::GetV3DeviceData | ( | const nlohmann::json & | aProject, |
| const wxString & | aDeviceUuid ) |
Definition at line 811 of file easyedapro_import_utils.cpp.
References EASYEDAPRO::V3_DEVICE_DATA::attributes, EASYEDAPRO::V3_DEVICE_DATA::description, EASYEDAPRO::V3_DEVICE_DATA::found, V3GetString(), and V3JsonToString().
Referenced by PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), and SCH_EASYEDAPRO_V3_PARSER::ParseSchematic().
| wxString EASYEDAPRO::GetV3LibraryItemTitle | ( | const nlohmann::json & | aMetadata, |
| const wxString & | aUuid ) |
Definition at line 645 of file easyedapro_import_utils.cpp.
References V3GetString().
Referenced by BuildV3LibraryItemMap(), BuildV3SymbolLibraryMap(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), and LoadV3LibrarySymbolItem().
| void EASYEDAPRO::IterateZipFiles | ( | const wxString & | aFileName, |
| std::function< bool(const wxString &, const wxString &, wxInputStream &)> | aCallback ) |
Definition at line 299 of file easyedapro_import_utils.cpp.
References _, name, THROW_IO_ERRORF, and zip.
Referenced by PCB_IO_EASYEDAPRO::FootprintLoad(), PCB_IO_EASYEDAPRO::LoadAllDataFromProject(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), PCB_IO_EASYEDAPRO::LoadBoard(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), and loadSymbol().
| wxString EASYEDAPRO::KeywordsFromV3Tags | ( | const nlohmann::json & | aTags | ) |
Build KiCad keywords from a v3 tags object (parent_tag / child_tag name fields).
Definition at line 659 of file easyedapro_import_utils.cpp.
References name, and V3GetString().
Referenced by SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), and LoadV3LibrarySymbolItem().
| wxString EASYEDAPRO::LookupV3DeviceLibName | ( | const nlohmann::json & | aProject, |
| const wxString & | aDeviceUuid ) |
Definition at line 793 of file easyedapro_import_utils.cpp.
Referenced by SCH_EASYEDAPRO_V3_PARSER::ParseSchematic().
| wxString EASYEDAPRO::MakeUniqueLibName | ( | std::set< wxString > & | aUsedNames, |
| const wxString & | aName, | ||
| const wxString & | aFallback ) |
Allocate a unique library item name, recording it in aUsedNames.
Definition at line 757 of file easyedapro_import_utils.cpp.
Referenced by BuildV3DeviceLibNames(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), and SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().
| wxString EASYEDAPRO::NormalizeEasyEDAText | ( | wxString | aText | ) |
Replace EasyEDA temperature glyph (℃) with °C.
Definition at line 749 of file easyedapro_import_utils.cpp.
Referenced by ForEachImportedDeviceField(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), loadSymbol(), LoadV3LibrarySymbolItem(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), and ResolveV3DeviceValueText().
| std::vector< nlohmann::json > EASYEDAPRO::ParseJsonLines | ( | wxInputStream & | aInput, |
| const wxString & | aSource ) |
Definition at line 332 of file easyedapro_import_utils.cpp.
References traceEasyEdaIo.
Referenced by PCB_IO_EASYEDAPRO::FootprintLoad(), PCB_IO_EASYEDAPRO::LoadAllDataFromProject(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), and SCH_IO_EASYEDAPRO::LoadSchematicFile().
| std::vector< std::vector< nlohmann::json > > EASYEDAPRO::ParseJsonLinesWithSeparation | ( | wxInputStream & | aInput, |
| const wxString & | aSource ) |
Multiple document types (e.g.
footprint and PCB) can be put into a single file, separated by empty line.
Definition at line 369 of file easyedapro_import_utils.cpp.
References traceEasyEdaIo.
Referenced by PCB_IO_EASYEDAPRO::LoadBoard().
| std::vector< IMPORT_PROJECT_DESC > EASYEDAPRO::ProjectToSelectorDialog | ( | const nlohmann::json & | aProject, |
| bool | aPcbOnly = false, | ||
| bool | aSchOnly = false ) |
Definition at line 162 of file easyedapro_import_utils.cpp.
References IMPORT_PROJECT_DESC::ComboId, IMPORT_PROJECT_DESC::ComboName, IMPORT_PROJECT_DESC::PCBId, IMPORT_PROJECT_DESC::PCBName, result, IMPORT_PROJECT_DESC::SchematicId, and IMPORT_PROJECT_DESC::SchematicName.
Referenced by IMPORT_PROJ_HELPER::EasyEDAProProjectHandler(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), and SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().
| nlohmann::json EASYEDAPRO::ReadProjectOrDeviceFile | ( | const wxString & | aZipFileName | ) |
Definition at line 284 of file easyedapro_import_utils.cpp.
References _, FindJsonFile(), and THROW_IO_ERRORF.
Referenced by IMPORT_PROJ_HELPER::EasyEDAProProjectHandler(), SCH_IO_EASYEDAPRO::EnumerateSymbolLib(), SCH_IO_EASYEDAPRO::EnumerateSymbolLib(), PCB_IO_EASYEDAPRO::FootprintEnumerate(), PCB_IO_EASYEDAPRO::FootprintLoad(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), PCB_IO_EASYEDAPRO::LoadBoard(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), and SCH_IO_EASYEDAPRO::LoadSymbol().
| wxString EASYEDAPRO::ResolveDeviceFieldVariables | ( | const wxString & | aInput, |
| const std::map< wxString, wxString > & | aDeviceAttributes ) |
Resolve EasyEDA ={Var} / ={A}text{B} field expressions against device attributes.
Definition at line 689 of file easyedapro_import_utils.cpp.
References get_def().
Referenced by SCH_EASYEDAPRO_PARSER::ApplyAttrToField(), ApplyV3AttrToField(), ForEachImportedDeviceField(), SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), and ResolveV3DeviceValueText().
| wxString EASYEDAPRO::ResolveV3DeviceValueText | ( | const std::map< wxString, wxString > & | aDeviceAttributes | ) |
Preferred Value text: Value attribute, else Name, with variables resolved.
Definition at line 839 of file easyedapro_import_utils.cpp.
References get_def(), NormalizeEasyEDAText(), and ResolveDeviceFieldVariables().
Referenced by PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard().
| wxString EASYEDAPRO::ShortenLibName | ( | wxString | aProjectName | ) |
Definition at line 136 of file easyedapro_import_utils.cpp.
References LIB_ID::FixIllegalChars().
Referenced by BOOST_AUTO_TEST_CASE(), IMPORT_PROJ_HELPER::EasyEDAProProjectHandler(), PCB_IO_EASYEDAPRO::LoadAllDataFromProject(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), and SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().
| LIB_ID EASYEDAPRO::ToKiCadLibID | ( | const wxString & | aLibName, |
| const wxString & | aLibReference ) |
Definition at line 147 of file easyedapro_import_utils.cpp.
References CTX_LIBID, EscapeString(), LIB_ID::FixIllegalChars(), and LIB_ID::Parse().
Referenced by PCB_IO_EASYEDAPRO::FootprintLoad(), PCB_IO_EASYEDAPRO_V3::FootprintLoad(), PCB_IO_EASYEDAPRO::LoadAllDataFromProject(), SCH_IO_EASYEDAPRO::LoadAllDataFromProject(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_EASYEDAPRO_V3::LoadBoard(), SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), loadSymbol(), LoadV3LibrarySymbolItem(), PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), and SCH_EASYEDAPRO_V3_PARSER::ParseSchematic().
| bool EASYEDAPRO::V3GetBool | ( | const nlohmann::json & | aObj, |
| const char * | aKey, | ||
| bool | aDefault ) |
Definition at line 155 of file easyedapro_v3_parser.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3Text(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSymbol(), and V3RowToSchAttr().
| double EASYEDAPRO::V3GetDouble | ( | const nlohmann::json & | aObj, |
| const char * | aKey, | ||
| double | aDefault ) |
Definition at line 99 of file easyedapro_v3_parser.cpp.
Referenced by SCH_EASYEDAPRO_V3_PARSER::ApplyV3LineStyle(), ApplyV3TextSizeIfDefined(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3PAD(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3Text(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSymbol(), and V3RowToSchAttr().
| int EASYEDAPRO::V3GetInt | ( | const nlohmann::json & | aObj, |
| const char * | aKey, | ||
| int | aDefault ) |
Definition at line 124 of file easyedapro_v3_parser.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3PAD(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3Text(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), and SCH_EASYEDAPRO_V3_PARSER::ParseSymbol().
| wxString EASYEDAPRO::V3GetString | ( | const nlohmann::json & | aObj, |
| const char * | aKey, | ||
| const wxString & | aDefault ) |
Definition at line 79 of file easyedapro_v3_parser.cpp.
References V3JsonToString().
Referenced by ApplyV3AttrToField(), SCH_EASYEDAPRO_V3_PARSER::ApplyV3FontStyle(), SCH_EASYEDAPRO_V3_PARSER::ApplyV3LineStyle(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BuildV3BlobMap(), BuildV3LibraryItemMap(), BuildV3ProjectIndexFromRawDocs(), BuildV3SymbolLibraryMap(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3PAD(), PCB_IO_EASYEDAPRO_V3_PARSER::createV3Text(), GetV3DeviceData(), GetV3LibraryItemTitle(), KeywordsFromV3Tags(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSymbol(), ResolveV3FootprintText(), V3GetString(), and V3RowToSchAttr().
| wxString EASYEDAPRO::V3GetString | ( | const nlohmann::json & | aObj, |
| const wxString & | aKey, | ||
| const wxString & | aDefault ) |
Definition at line 93 of file easyedapro_v3_parser.cpp.
References ToStdString(), and V3GetString().
| bool EASYEDAPRO::V3IsNullOrMissing | ( | const nlohmann::json & | aObj, |
| const char * | aKey ) |
Definition at line 191 of file easyedapro_v3_parser.cpp.
Referenced by ApplyV3TextSizeIfDefined(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSymbol(), and V3RowToSchAttr().
| wxString EASYEDAPRO::V3JsonToString | ( | const nlohmann::json & | aValue, |
| const wxString & | aDefault ) |
Definition at line 58 of file easyedapro_v3_parser.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), PCB_IO_EASYEDAPRO_V3::FootprintLoad(), GetV3DeviceData(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard(), PCB_IO_EASYEDAPRO_V3_PARSER::ParseFootprint(), SCH_EASYEDAPRO_V3_PARSER::ParseSchematic(), SCH_EASYEDAPRO_V3_PARSER::ParseSymbol(), ResolveV3FootprintText(), V3GetString(), and V3RowToSchAttr().
| nlohmann::json EASYEDAPRO::V3ParseIdArray | ( | const wxString & | aId | ) |
Definition at line 202 of file easyedapro_v3_parser.cpp.
References ToStdString().
Referenced by PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard().
|
static |
Definition at line 40 of file easyedapro_parser.h.
Referenced by PCB_IO_EASYEDAPRO_PARSER::ParseBoard(), and PCB_IO_EASYEDAPRO_V3_PARSER::ParseBoard().
|
static |
Definition at line 41 of file easyedapro_parser.h.
Referenced by PCB_IO_EASYEDAPRO::LoadAllDataFromProject().