KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_EASYEDAPRO_V3_PARSER Class Reference

#include <sch_easyedapro_v3_parser.h>

Public Member Functions

 SCH_EASYEDAPRO_V3_PARSER (SCHEMATIC *aSchematic, PROGRESS_REPORTER *aProgressReporter)
 
EASYEDAPRO::SYM_INFO ParseSymbol (const EASYEDAPRO::V3_DOC_RAW &aDoc, const std::map< wxString, wxString > &aDeviceAttributes, const std::map< wxString, EASYEDAPRO::BLOB > &aBlobMap={})
 
void ParseSchematic (SCHEMATIC *aSchematic, SCH_SHEET *aRootSheet, const nlohmann::json &aProject, std::map< wxString, EASYEDAPRO::SYM_INFO > &aSymbolMap, const std::map< wxString, EASYEDAPRO::BLOB > &aBlobMap, const EASYEDAPRO::V3_DOC_RAW &aDoc, const wxString &aLibName)
 

Private Member Functions

template<typename T>
void ApplyV3FontStyle (T &text, const nlohmann::json &aInner, const char *aAlignField="align")
 
template<typename T>
void ApplyV3LineStyle (T &shape, const nlohmann::json &aInner)
 

Private Attributes

SCHEMATICm_schematic
 

Detailed Description

Definition at line 41 of file sch_easyedapro_v3_parser.h.

Constructor & Destructor Documentation

◆ SCH_EASYEDAPRO_V3_PARSER()

SCH_EASYEDAPRO_V3_PARSER::SCH_EASYEDAPRO_V3_PARSER ( SCHEMATIC * aSchematic,
PROGRESS_REPORTER * aProgressReporter )
explicit

Definition at line 175 of file sch_easyedapro_v3_parser.cpp.

References m_schematic.

Member Function Documentation

◆ ApplyV3FontStyle()

template<typename T>
void SCH_EASYEDAPRO_V3_PARSER::ApplyV3FontStyle ( T & text,
const nlohmann::json & aInner,
const char * aAlignField = "align" )
private

◆ ApplyV3LineStyle()

template<typename T>
void SCH_EASYEDAPRO_V3_PARSER::ApplyV3LineStyle ( T & shape,
const nlohmann::json & aInner )
private

◆ ParseSchematic()

void SCH_EASYEDAPRO_V3_PARSER::ParseSchematic ( SCHEMATIC * aSchematic,
SCH_SHEET * aRootSheet,
const nlohmann::json & aProject,
std::map< wxString, EASYEDAPRO::SYM_INFO > & aSymbolMap,
const std::map< wxString, EASYEDAPRO::BLOB > & aBlobMap,
const EASYEDAPRO::V3_DOC_RAW & aDoc,
const wxString & aLibName )

Definition at line 990 of file sch_easyedapro_v3_parser.cpp.

References _, SCH_SCREEN::Append(), ApplyV3AttrToField(), ApplyV3FontStyle(), ApplyV3LineStyle(), ApplyV3TextSizeIfDefined(), ARC, EASYEDAPRO::V3_DEVICE_DATA::attributes, SPIN_STYLE::BOTTOM, CIRCLE, circle(), EDA_ITEM::ClearFlags(), SCHEMATIC::CurrentSheet(), DESCRIPTION, end, ENDPOINT, FlattenPoints(), FOOTPRINT, EASYEDAPRO::ForEachImportedDeviceField(), EASYEDAPRO::V3_DEVICE_DATA::found, get_def(), get_opt(), SCH_SYMBOL::GetBodyAndPinsBoundingBox(), KIFONT::FONT::GetFont(), LIB_SYMBOL::GetFootprint(), BOX2< Vec >::GetHeight(), SVG_IMPORT_PLUGIN::GetImageHeight(), SVG_IMPORT_PLUGIN::GetImageWidth(), GRAPHICS_IMPORTER::GetItems(), BOX2< Vec >::GetLeft(), LIB_SYMBOL::GetLibId(), LIB_ID::GetLibItemName(), SCH_SCREEN::GetPageSettings(), SCH_SHEET::GetScreen(), REFERENCE_IMAGE::GetSize(), SCH_FIELD::GetText(), BOX2< Vec >::GetTop(), EASYEDAPRO::GetV3DeviceData(), LIB_SYMBOL::GetValueField(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_TOP, EASYEDAPRO::SYM_INFO::head, EASYEDAPRO::V3_ROW::id, SVG_IMPORT_PLUGIN::Import(), EASYEDAPRO::V3_ROW::inner, EASYEDAPRO::SCH_ATTR::key, EASYEDAPRO::SCH_ATTR::keyVisible, KiROUND(), L_BIDI, L_INPUT, L_OUTPUT, L_TRISTATE, L_UNSPECIFIED, LAYER_WIRE, SPIN_STYLE::LEFT, EASYEDAPRO::SYM_INFO::libSymbol, SVG_IMPORT_PLUGIN::LoadFromMemory(), EASYEDAPRO::LookupV3DeviceLibName(), BOX2< Vec >::Merge(), SCH_ITEM::MirrorHorizontally(), EASYEDAPRO::NETPORT, EASYEDAPRO::NormalizeEasyEDAText(), EASYEDAPRO::SYM_INFO::partUnits, pin, PIN_DOWN, PIN_LEFT, PIN_RIGHT, PIN_UP, POLY, EASYEDAPRO::POWER_PORT, PT_BIDI, PT_INPUT, PT_OUTPUT, PT_TRISTATE, radius, REFERENCE_IMAGE::ReadImageFile(), RECTANGLE, REFERENCE, EASYEDAPRO::ResolveDeviceFieldVariables(), ResolveV3FootprintText(), SPIN_STYLE::RIGHT, SCH_ITEM::Rotate(), SPIN_STYLE::RotateCCW(), EASYEDAPRO::V3_DOC_RAW::rows, SCH_EASYEDAPRO_PARSER::ScaleSize(), SCH_LINE_T, SCH_SYMBOL_T, schIUScale, EDA_ITEM::SetFlags(), PAGE_INFO::SetHeightMils(), REFERENCE_IMAGE::SetImageScale(), GRAPHICS_IMPORT_PLUGIN::SetImporter(), GRAPHICS_IMPORTER::SetImportOffsetMM(), SCH_SCREEN::SetPageSettings(), GRAPHICS_IMPORTER::SetScale(), SCH_FIELD::SetText(), EDA_TEXT::SetVisible(), PAGE_INFO::SetWidthMils(), STARTPOINT, EASYEDAPRO::SYM_HEAD::symbolType, text, EASYEDAPRO::ToKiCadLibID(), EDA_ITEM::Type(), EASYEDAPRO::V3_ROW::type, UnescapeHTML(), SPIN_STYLE::UP, USER, EASYEDAPRO::V3GetBool(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), EASYEDAPRO::V3GetString(), EASYEDAPRO::V3IsNullOrMissing(), EASYEDAPRO::V3JsonToString(), V3RowToSchAttr(), V3ScalePos(), VALUE, EASYEDAPRO::SCH_ATTR::value, EASYEDAPRO::SCH_ATTR::valVisible, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_IO_EASYEDAPRO_V3::LoadSchematicFile().

◆ ParseSymbol()

EASYEDAPRO::SYM_INFO SCH_EASYEDAPRO_V3_PARSER::ParseSymbol ( const EASYEDAPRO::V3_DOC_RAW & aDoc,
const std::map< wxString, wxString > & aDeviceAttributes,
const std::map< wxString, EASYEDAPRO::BLOB > & aBlobMap = {} )

Definition at line 286 of file sch_easyedapro_v3_parser.cpp.

References _, LIB_SYMBOL::AddDrawItem(), LIB_SYMBOL::AddField(), EASYEDAPRO::AlignToFontH(), EASYEDAPRO::AlignToFontV(), ApplyV3FontStyle(), ApplyV3LineStyle(), ApplyV3TextSizeIfDefined(), ARC, BEZIER, center, CIRCLE, circle(), ConvertImageToLibShapes(), end, LIB_SYMBOL::FindFieldCaseInsensitive(), FlattenPoints(), EASYEDAPRO::SCH_ATTR::fontStyle, EASYEDAPRO::ForEachImportedDeviceField(), get_opt(), KIFONT::FONT::GetFont(), SVG_IMPORT_PLUGIN::GetImageHeight(), SVG_IMPORT_PLUGIN::GetImageWidth(), GRAPHICS_IMPORTER::GetItems(), LIB_SYMBOL::GetName(), LIB_SYMBOL::GetReferenceField(), LIB_SYMBOL::GetValueField(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, GR_TEXT_V_ALIGN_TOP, EASYEDAPRO::SYM_INFO::head, EASYEDAPRO::V3_ROW::id, SVG_IMPORT_PLUGIN::Import(), EASYEDAPRO::V3_ROW::inner, EASYEDAPRO::SYM_PIN::inverted, EASYEDAPRO::SCH_ATTR::key, EASYEDAPRO::SCH_ATTR::keyVisible, LAYER_DEVICE, EASYEDAPRO::SYM_PIN::length, EASYEDAPRO::SYM_INFO::libSymbol, SVG_IMPORT_PLUGIN::LoadFromMemory(), EASYEDAPRO::PIN_INFO::name, EASYEDAPRO::NETPORT, EASYEDAPRO::NORMAL, EASYEDAPRO::PIN_INFO::number, EASYEDAPRO::SYM_INFO::partUnits, EASYEDAPRO::PIN_INFO::pin, pin, PIN_DOWN, PIN_LEFT, PIN_RIGHT, PIN_UP, EASYEDAPRO::SYM_INFO::pins, POLY, EASYEDAPRO::SCH_ATTR::position, EASYEDAPRO::SYM_PIN::position, EASYEDAPRO::POWER_PORT, PT_BIDI, PT_INPUT, PT_NC, PT_OUTPUT, PT_POWER_IN, radius, RECTANGLE, EASYEDAPRO::SCH_ATTR::rotation, EASYEDAPRO::SYM_PIN::rotation, EASYEDAPRO::V3_DOC_RAW::rows, scale, SCH_EASYEDAPRO_PARSER::ScaleSize(), schIUScale, LIB_SYMBOL::SetDescription(), EDA_TEXT::SetFont(), LIB_SYMBOL::SetGlobalPower(), EDA_TEXT::SetHorizJustify(), GRAPHICS_IMPORT_PLUGIN::SetImporter(), GRAPHICS_IMPORTER::SetImportOffsetMM(), LIB_SYMBOL::SetKeyWords(), SCH_FIELD::SetPosition(), GRAPHICS_IMPORTER::SetScale(), SYMBOL::SetShowPinNames(), SYMBOL::SetShowPinNumbers(), EDA_TEXT::SetText(), SCH_FIELD::SetText(), EDA_TEXT::SetTextColor(), LIB_SYMBOL::SetUnitCount(), EDA_TEXT::SetVertJustify(), EDA_TEXT::SetVisible(), EASYEDAPRO::SYM_INFO::symbolAttr, EASYEDAPRO::SYM_HEAD::symbolType, text, EASYEDAPRO::V3_ROW::type, UnescapeHTML(), USER, EASYEDAPRO::V3GetBool(), EASYEDAPRO::V3GetDouble(), EASYEDAPRO::V3GetInt(), EASYEDAPRO::V3GetString(), EASYEDAPRO::V3IsNullOrMissing(), EASYEDAPRO::V3JsonToString(), V3ScalePosSym(), EASYEDAPRO::SCH_ATTR::value, EASYEDAPRO::SCH_ATTR::valVisible, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by BOOST_AUTO_TEST_CASE(), SCH_IO_EASYEDAPRO_V3::LoadSchematicFile(), and LoadV3LibrarySymbolItem().

Member Data Documentation

◆ m_schematic

SCHEMATIC* SCH_EASYEDAPRO_V3_PARSER::m_schematic
private

Definition at line 60 of file sch_easyedapro_v3_parser.h.

Referenced by SCH_EASYEDAPRO_V3_PARSER().


The documentation for this class was generated from the following files: