|
KiCad PCB EDA Suite
|
A cache assistant for KiCad legacy symbol libraries. More...
#include <sch_io_kicad_legacy_lib_cache.h>
Public Member Functions | |
| SCH_IO_KICAD_LEGACY_LIB_CACHE (const wxString &aLibraryPath) | |
| virtual | ~SCH_IO_KICAD_LEGACY_LIB_CACHE () |
| void | Save (const std::optional< bool > &aOpt) override |
| Save the entire library to file m_libFileName;. | |
| void | Load () override |
| void | DeleteSymbol (const wxString &aName) override |
| void | IncrementModifyHash () |
| int | GetModifyHash () |
| virtual void | AddSymbol (const LIB_SYMBOL *aSymbol) |
| virtual LIB_SYMBOL * | GetSymbol (const wxString &aName) |
| wxFileName | GetRealFile () const |
| long long | GetLibModificationTime () |
| bool | IsFile (const wxString &aFullPathAndFileName) const |
| bool | IsFileChanged () const |
| void | SetModified (bool aModified=true) |
| bool | HasParseError () const |
| void | SetParseError (bool aHasError=true) |
| Set the parse error state. | |
| wxString | GetLogicalName () const |
| void | SetFileName (const wxString &aFileName) |
| wxString | GetFileName () const |
| const LIB_SYMBOL_MAP & | GetSymbolMap () const |
Static Public Member Functions | |
| static LIB_SYMBOL * | LoadPart (LINE_READER &aReader, int aMajorVersion, int aMinorVersion, LIB_SYMBOL_MAP *aMap=nullptr) |
| static void | SaveSymbol (LIB_SYMBOL *aSymbol, OUTPUTFORMATTER &aFormatter, LIB_SYMBOL_MAP *aMap=nullptr) |
Protected Member Functions | |
| LIB_SYMBOL * | removeSymbol (LIB_SYMBOL *aAlias) |
Protected Attributes | |
| int | m_modHash |
| std::mutex | m_modHashMutex |
| wxString | m_fileName |
| wxFileName | m_libFileName |
| long long | m_fileModTime |
| LIB_SYMBOL_MAP | m_symbols |
| std::map< wxString, wxString > | m_symbolSourceFiles |
| For folder-based libraries, track which source file each symbol was loaded from. | |
| bool | m_isWritable |
| bool | m_isModified |
| bool | m_hasParseError |
| SCH_LIB_TYPE | m_libType |
Private Member Functions | |
| void | loadHeader (FILE_LINE_READER &aReader) |
| void | loadDocs () |
| void | saveDocFile () |
Static Private Member Functions | |
| static void | loadAliases (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader, LIB_SYMBOL_MAP *aMap=nullptr) |
| static void | loadField (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader) |
| static void | loadDrawEntries (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader, int aMajorVersion, int aMinorVersion) |
| static void | loadFootprintFilters (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader) |
| static SCH_SHAPE * | loadArc (LINE_READER &aReader) |
| static SCH_SHAPE * | loadCircle (LINE_READER &aReader) |
| static SCH_ITEM * | loadText (LINE_READER &aReader, int aMajorVersion, int aMinorVersion) |
| static SCH_SHAPE * | loadRect (LINE_READER &aReader) |
| static SCH_PIN * | loadPin (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader) |
| static SCH_SHAPE * | loadPolyLine (LINE_READER &aReader) |
| static SCH_SHAPE * | loadBezier (LINE_READER &aReader) |
| static FILL_T | parseFillMode (LINE_READER &aReader, const char *aLine, const char **aOutput) |
| static void | saveArc (SCH_SHAPE *aArc, OUTPUTFORMATTER &aFormatter) |
| static void | saveBezier (SCH_SHAPE *aBezier, OUTPUTFORMATTER &aFormatter) |
| static void | saveCircle (SCH_SHAPE *aCircle, OUTPUTFORMATTER &aFormatter) |
| static void | saveField (const SCH_FIELD *aField, int aLegacyFieldIdx, OUTPUTFORMATTER &aFormatter) |
| static void | savePin (const SCH_PIN *aPin, OUTPUTFORMATTER &aFormatter) |
| static void | savePolyLine (SCH_SHAPE *aPolyLine, OUTPUTFORMATTER &aFormatter) |
| static void | saveRectangle (SCH_SHAPE *aRectangle, OUTPUTFORMATTER &aFormatter) |
| static void | saveText (const SCH_TEXT *aText, OUTPUTFORMATTER &aFormatter) |
Private Attributes | |
| friend | SCH_IO_KICAD_LEGACY |
| int | m_versionMajor |
| int | m_versionMinor |
A cache assistant for KiCad legacy symbol libraries.
Definition at line 43 of file sch_io_kicad_legacy_lib_cache.h.
| SCH_IO_KICAD_LEGACY_LIB_CACHE::SCH_IO_KICAD_LEGACY_LIB_CACHE | ( | const wxString & | aLibraryPath | ) |
Definition at line 64 of file sch_io_kicad_legacy_lib_cache.cpp.
References m_versionMajor, m_versionMinor, and SCH_IO_LIB_CACHE::SCH_IO_LIB_CACHE().
|
inlinevirtual |
Definition at line 47 of file sch_io_kicad_legacy_lib_cache.h.
|
virtualinherited |
Definition at line 211 of file sch_io_lib_cache.cpp.
References LIB_SYMBOL::GetName(), IncrementModifyHash(), m_isModified, m_symbols, name, and removeSymbol().
|
overridevirtual |
Implements SCH_IO_LIB_CACHE.
Definition at line 1928 of file sch_io_kicad_legacy_lib_cache.cpp.
References _, SCH_IO_LIB_CACHE::IncrementModifyHash(), LIB_SYMBOL::IsRoot(), SCH_IO_LIB_CACHE::m_isModified, SCH_IO_LIB_CACHE::m_libFileName, SCH_IO_LIB_CACHE::m_symbols, LIB_SYMBOL::SharedPtr(), and THROW_IO_ERROR.
|
inlineinherited |
Definition at line 104 of file sch_io_lib_cache.h.
References m_libFileName.
|
inherited |
Definition at line 83 of file sch_io_lib_cache.cpp.
References GetRealFile(), FILEEXT::KiCadSymbolLibFileExtension, m_isWritable, and KIPLATFORM::IO::TimestampDir().
Referenced by SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::Save().
|
inlineinherited |
Definition at line 100 of file sch_io_lib_cache.h.
References m_libFileName.
|
inlineinherited |
Definition at line 53 of file sch_io_lib_cache.h.
References m_modHash, and m_modHashMutex.
|
inherited |
Definition at line 66 of file sch_io_lib_cache.cpp.
References m_libFileName, and WX_FILENAME::ResolvePossibleSymlinks().
Referenced by GetLibModificationTime(), IsFileChanged(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Save(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::Save().
|
virtualinherited |
Definition at line 228 of file sch_io_lib_cache.cpp.
References m_symbols.
Referenced by EESCHEMA_JOBS_HANDLER::JobSymExportSvg().
|
inlineinherited |
Definition at line 106 of file sch_io_lib_cache.h.
References m_symbols.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and EESCHEMA_JOBS_HANDLER::JobSymExportSvg().
|
inlineinherited |
When a parse error occurs, only symbols before the error are loaded. Saving a library in this state would permanently lose symbols after the error.
Definition at line 91 of file sch_io_lib_cache.h.
References m_hasParseError.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::Save().
|
inlineinherited |
Definition at line 47 of file sch_io_lib_cache.h.
References m_modHash, and m_modHashMutex.
Referenced by AddSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::DeleteSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::DeleteSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), and removeSymbol().
|
inherited |
Definition at line 103 of file sch_io_lib_cache.cpp.
References m_fileName.
|
inherited |
Definition at line 123 of file sch_io_lib_cache.cpp.
References GetRealFile(), FILEEXT::KiCadSymbolLibFileExtension, m_fileModTime, and KIPLATFORM::IO::TimestampDir().
|
overridevirtual |
Implements SCH_IO_LIB_CACHE.
Definition at line 72 of file sch_io_kicad_legacy_lib_cache.cpp.
References _, SCH_IO_LIB_CACHE::GetLibModificationTime(), LIB_SYMBOL::GetName(), SCH_IO_LIB_CACHE::IncrementModifyHash(), LINE_READER::Line(), loadDocs(), loadHeader(), LoadPart(), LT_EESCHEMA, LT_SYMBOL, SCH_IO_LIB_CACHE::m_fileModTime, SCH_IO_LIB_CACHE::m_libFileName, SCH_IO_LIB_CACHE::m_libType, SCH_IO_LIB_CACHE::m_symbols, m_versionMajor, m_versionMinor, parseInt(), FILE_LINE_READER::ReadLine(), SCH_PARSE_ERROR, strCompare(), THROW_IO_ERROR, traceSchLegacyPlugin, and USE_OLD_DOC_FILE_FORMAT.
|
staticprivate |
Definition at line 486 of file sch_io_kicad_legacy_lib_cache.cpp.
References LIB_SYMBOL::GetField(), LIB_SYMBOL::GetName(), LIB_SYMBOL::HasLegacyAlternateBodyStyle(), LINE_READER::Line(), MANDATORY_FIELDS, LIB_SYMBOL::SetHasDeMorganBodyStyles(), EDA_ITEM::SetParent(), LIB_SYMBOL::SetParent(), SCH_FIELD::SetText(), strCompare(), and VALUE.
Referenced by LoadPart().
|
staticprivate |
This accounts for an oddity in the old library format, where the symbol is overdefined. The previous draw (based on wxwidgets) used start point and end point and always drew counter-clockwise. The new GAL draw takes center, radius and start/end angles. All of these points were stored in the file, so we need to mimic the swapping of start/end points rather than using the stored angles in order to properly map edge cases.
Definition at line 843 of file sch_io_kicad_legacy_lib_cache.cpp.
References ARC, center, SCH_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), LAYER_DEVICE, LINE_READER::Line(), MapAnglesV6(), NORMALIZE_ANGLE_POS(), parseFillMode(), parseInt(), radius, RotatePoint(), schIUScale, SCH_ITEM::SetBodyStyle(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFillMode(), SCH_SHAPE::SetPosition(), EDA_SHAPE::SetStart(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), SOLID, strCompare(), TENTHS_OF_A_DEGREE_T, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 1363 of file sch_io_kicad_legacy_lib_cache.cpp.
References ARC_LOW_DEF_MM, BEZIER, LAYER_DEVICE, LINE_READER::Line(), parseFillMode(), parseInt(), EDA_SHAPE::RebuildBezierToSegmentsPointsList(), schIUScale, EDA_SHAPE::SetBezierC1(), EDA_SHAPE::SetBezierC2(), SCH_ITEM::SetBodyStyle(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFillMode(), EDA_SHAPE::SetStart(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), SOLID, strCompare(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 924 of file sch_io_kicad_legacy_lib_cache.cpp.
References center, CIRCLE, circle(), LAYER_DEVICE, LINE_READER::Line(), parseFillMode(), parseInt(), radius, schIUScale, SOLID, and strCompare().
Referenced by loadDrawEntries().
|
private |
Definition at line 171 of file sch_io_kicad_legacy_lib_cache.cpp.
References _, DATASHEET, DOCFILE_IDENT, From_UTF8(), LIB_SYMBOL::GetField(), FILEEXT::LegacySymbolDocumentFileExtension, LINE_READER::Line(), LINE_READER::LineNumber(), SCH_IO_LIB_CACHE::m_libFileName, SCH_IO_LIB_CACHE::m_symbols, FILE_LINE_READER::ReadLine(), SCH_PARSE_ERROR, LIB_SYMBOL::SetDescription(), LIB_SYMBOL::SetKeyWords(), SCH_FIELD::SetText(), strCompare(), text, and THROW_IO_ERROR.
Referenced by Load().
|
staticprivate |
Definition at line 700 of file sch_io_kicad_legacy_lib_cache.cpp.
References LINE_READER::Line(), loadArc(), loadBezier(), loadCircle(), loadPin(), loadPolyLine(), loadRect(), loadText(), LINE_READER::ReadLine(), SCH_PARSE_ERROR, and strCompare().
Referenced by LoadPart().
|
staticprivate |
Definition at line 531 of file sch_io_kicad_legacy_lib_cache.cpp.
References _, ANGLE_HORIZONTAL, ANGLE_VERTICAL, ConvertToNewOverbarNotation(), CTX_QUOTED_STR, DATASHEET, EscapeString(), FOOTPRINT, GetCanonicalFieldName(), SCH_FIELD::GetId(), 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, SCH_FIELD::IsMandatory(), LINE_READER::Line(), parseChar(), parseInt(), parseQuotedString(), parseUnquotedString(), REFERENCE, SCH_PARSE_ERROR, schIUScale, EDA_TEXT::SetBoldFlag(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalicFlag(), SCH_FIELD::SetName(), SCH_FIELD::SetPosition(), SCH_FIELD::SetText(), EDA_TEXT::SetTextAngle(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetVertJustify(), EDA_TEXT::SetVisible(), text, USER, VALUE, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by LoadPart().
|
staticprivate |
Definition at line 1409 of file sch_io_kicad_legacy_lib_cache.cpp.
References LINE_READER::Line(), parseUnquotedString(), LINE_READER::ReadLine(), SCH_PARSE_ERROR, and strCompare().
Referenced by LoadPart().
|
private |
Definition at line 279 of file sch_io_kicad_legacy_lib_cache.cpp.
References LINE_READER::Line(), FILE_LINE_READER::ReadLine(), SCH_PARSE_ERROR, and strCompare().
Referenced by Load().
|
static |
Definition at line 301 of file sch_io_kicad_legacy_lib_cache.cpp.
References EDA_TEXT::Empty(), LINE_READER::GetSource(), LIB_VERSION, LINE_READER::Line(), LINE_READER::LineNumber(), loadAliases(), loadDrawEntries(), loadField(), loadFootprintFilters(), name, LINE_READER::ReadLine(), SCH_PARSE_ERROR, schIUScale, SCH_FIELD::SetText(), EDA_TEXT::SetVisible(), strCompare(), THROW_PARSE_ERROR, and UnescapeString().
Referenced by Load(), and SCH_IO_KICAD_LEGACY::ParsePart().
|
staticprivate |
Definition at line 1106 of file sch_io_kicad_legacy_lib_cache.cpp.
References CLOCK, CLOCK_LOW, ConvertToNewOverbarNotation(), FALLING_EDGE_CLOCK, LINE_READER::GetSource(), INPUT_LOW, INVERTED, INVERTED_CLOCK, LINE, LINE_READER::Line(), LINE_READER::LineNumber(), name, NONLOGIC, OUTPUT_LOW, pin, PIN_DOWN, PIN_LEFT, PIN_RIGHT, PIN_UP, PT_BIDI, PT_INPUT, PT_NC, PT_OPENCOLLECTOR, PT_OPENEMITTER, PT_OUTPUT, PT_PASSIVE, PT_POWER_IN, PT_POWER_OUT, PT_TRISTATE, PT_UNSPECIFIED, SCH_PARSE_ERROR, schIUScale, strCompare(), THROW_PARSE_ERROR, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 1331 of file sch_io_kicad_legacy_lib_cache.cpp.
References SCH_SHAPE::AddPoint(), LAYER_DEVICE, LINE_READER::Line(), parseFillMode(), parseInt(), POLY, schIUScale, SCH_ITEM::SetBodyStyle(), EDA_SHAPE::SetFillMode(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), SOLID, strCompare(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 1070 of file sch_io_kicad_legacy_lib_cache.cpp.
References end, LAYER_DEVICE, LINE_READER::Line(), parseFillMode(), parseInt(), RECTANGLE, schIUScale, SCH_ITEM::SetBodyStyle(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFillMode(), SCH_SHAPE::SetPosition(), SCH_SHAPE::SetStroke(), SCH_ITEM::SetUnit(), SOLID, strCompare(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 956 of file sch_io_kicad_legacy_lib_cache.cpp.
References center, ConvertToNewOverbarNotation(), 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, is_eol(), LAYER_DEVICE, LIB_VERSION, LINE_READER::Line(), parseChar(), parseInt(), parseQuotedString(), parseUnquotedString(), SCH_PARSE_ERROR, schIUScale, SCH_ITEM::SetBodyStyle(), EDA_TEXT::SetBoldFlag(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalicFlag(), EDA_TEXT::SetTextAngle(), EDA_TEXT::SetTextPos(), EDA_TEXT::SetTextSize(), SCH_ITEM::SetUnit(), EDA_TEXT::SetVertJustify(), EDA_TEXT::SetVisible(), strCompare(), TENTHS_OF_A_DEGREE_T, USER, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by loadDrawEntries().
|
staticprivate |
Definition at line 766 of file sch_io_kicad_legacy_lib_cache.cpp.
References FILLED_SHAPE, FILLED_WITH_BG_BODYCOLOR, NO_FILL, parseChar(), and SCH_PARSE_ERROR.
Referenced by loadArc(), loadBezier(), loadCircle(), loadPolyLine(), and loadRect().
|
protectedinherited |
Definition at line 144 of file sch_io_lib_cache.cpp.
References LIB_SYMBOL::AddDrawItem(), EDA_ITEM::Clone(), SCH_FIELD::GetCanonicalName(), LIB_SYMBOL::GetDrawItems(), LIB_SYMBOL::GetField(), LIB_SYMBOL::GetName(), IncrementModifyHash(), LIB_SYMBOL::IsRoot(), m_isModified, m_libFileName, m_symbols, SCH_FIELD_T, EDA_ITEM::SetParent(), and LIB_SYMBOL::SharedPtr().
Referenced by AddSymbol().
|
overridevirtual |
Save the entire library to file m_libFileName;.
Reimplemented from SCH_IO_LIB_CACHE.
Definition at line 1439 of file sch_io_kicad_legacy_lib_cache.cpp.
References SCH_IO_LIB_CACHE::GetRealFile(), LIB_VERSION_MAJOR, LIB_VERSION_MINOR, LIBFILE_IDENT, SCH_IO_LIB_CACHE::m_fileModTime, SCH_IO_LIB_CACHE::m_isModified, SCH_IO_LIB_CACHE::m_symbols, saveDocFile(), SaveSymbol(), and KIPLATFORM::IO::TimestampDir().
|
staticprivate |
Definition at line 1619 of file sch_io_kicad_legacy_lib_cache.cpp.
References ARC, EDA_ANGLE::AsTenthsOfADegree(), EDA_SHAPE::CalcArcAngles(), fill_tab, SCH_ITEM::GetBodyStyle(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetFillMode(), SCH_SHAPE::GetPosition(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), SCH_ITEM::GetUnit(), EDA_SHAPE::GetWidth(), EDA_ANGLE::Normalize180(), OUTPUTFORMATTER::Print(), schIUScale, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
staticprivate |
Definition at line 1646 of file sch_io_kicad_legacy_lib_cache.cpp.
References BEZIER, fill_tab, EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), SCH_ITEM::GetBodyStyle(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetFillMode(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), SCH_ITEM::GetUnit(), EDA_SHAPE::GetWidth(), OUTPUTFORMATTER::Print(), schIUScale, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
staticprivate |
Definition at line 1669 of file sch_io_kicad_legacy_lib_cache.cpp.
References CIRCLE, fill_tab, SCH_ITEM::GetBodyStyle(), EDA_SHAPE::GetFillMode(), SCH_SHAPE::GetPosition(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), SCH_ITEM::GetUnit(), EDA_SHAPE::GetWidth(), OUTPUTFORMATTER::Print(), schIUScale, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
private |
Definition at line 1886 of file sch_io_kicad_legacy_lib_cache.cpp.
References DOCFILE_IDENT, FILEEXT::LegacySymbolDocumentFileExtension, SCH_IO_LIB_CACHE::m_libFileName, SCH_IO_LIB_CACHE::m_symbols, OUTPUTFORMATTER::Print(), and TO_UTF8.
Referenced by Save().
|
staticprivate |
Definition at line 1684 of file sch_io_kicad_legacy_lib_cache.cpp.
References DO_TRANSLATE, EscapedUTF8(), EDA_TEXT::GetHorizJustify(), SCH_FIELD::GetName(), SCH_FIELD::GetText(), EDA_TEXT::GetTextAngle(), EDA_TEXT::GetTextPos(), EDA_TEXT::GetTextWidth(), GetUserFieldName(), EDA_TEXT::GetVertJustify(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_TOP, EDA_TEXT::IsBold(), EDA_ANGLE::IsHorizontal(), EDA_TEXT::IsItalic(), SCH_FIELD::IsMandatory(), EDA_TEXT::IsVisible(), OUTPUTFORMATTER::Print(), SCH_FIELD_T, schIUScale, text, EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
staticprivate |
Definition at line 1731 of file sch_io_kicad_legacy_lib_cache.cpp.
References CLOCK, CLOCK_LOW, FALLING_EDGE_CLOCK, SCH_ITEM::GetBodyStyle(), SCH_PIN::GetLength(), SCH_PIN::GetName(), SCH_PIN::GetNameTextSize(), SCH_PIN::GetNumber(), SCH_PIN::GetNumberTextSize(), SCH_PIN::GetOrientation(), SCH_PIN::GetPosition(), SCH_PIN::GetShape(), SCH_PIN::GetType(), SCH_ITEM::GetUnit(), INHERIT, INPUT_LOW, INVERTED, INVERTED_CLOCK, IS_CHANGED, SCH_PIN::IsVisible(), LINE, NONLOGIC, OUTPUT_LOW, PIN_DOWN, PIN_LEFT, PIN_RIGHT, PIN_UP, OUTPUTFORMATTER::Print(), PT_BIDI, PT_INPUT, PT_NC, PT_OPENCOLLECTOR, PT_OPENEMITTER, PT_OUTPUT, PT_PASSIVE, PT_POWER_IN, PT_POWER_OUT, PT_TRISTATE, PT_UNSPECIFIED, SCH_PIN_T, schIUScale, TO_UTF8, EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
staticprivate |
Definition at line 1807 of file sch_io_kicad_legacy_lib_cache.cpp.
References SHAPE_LINE_CHAIN::CPoints(), fill_tab, SCH_ITEM::GetBodyStyle(), EDA_SHAPE::GetFillMode(), SHAPE_LINE_CHAIN::GetPointCount(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetShape(), SCH_ITEM::GetUnit(), EDA_SHAPE::GetWidth(), SHAPE_POLY_SET::Outline(), POLY, OUTPUTFORMATTER::Print(), and schIUScale.
Referenced by SaveSymbol().
|
staticprivate |
Definition at line 1825 of file sch_io_kicad_legacy_lib_cache.cpp.
References fill_tab, SCH_ITEM::GetBodyStyle(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetFillMode(), SCH_SHAPE::GetPosition(), EDA_SHAPE::GetShape(), SCH_ITEM::GetUnit(), EDA_SHAPE::GetWidth(), OUTPUTFORMATTER::Print(), RECTANGLE, schIUScale, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
static |
Definition at line 1474 of file sch_io_kicad_legacy_lib_cache.cpp.
References ARC, BEZIER, CIRCLE, MULTIVECTOR< T, FIRST_TYPE_VAL, LAST_TYPE_VAL >::empty(), LIB_SYMBOL::GetDrawItems(), LIB_SYMBOL::GetFields(), LIB_SYMBOL::GetFPFilters(), LIB_SYMBOL::GetLastModDate(), LIB_SYMBOL::GetName(), LIB_SYMBOL::GetParent(), SYMBOL::GetPinNameOffset(), LIB_SYMBOL::GetReferenceField(), EDA_SHAPE::GetShape(), SYMBOL::GetShowPinNames(), SYMBOL::GetShowPinNumbers(), SCH_FIELD::GetText(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::GetValueField(), LIB_SYMBOL::IsDerived(), LIB_SYMBOL::IsGlobalPower(), LIB_SYMBOL::IsRoot(), POLY, OUTPUTFORMATTER::Print(), RECTANGLE, saveArc(), saveBezier(), saveCircle(), saveField(), savePin(), savePolyLine(), saveRectangle(), saveText(), SCH_PIN_T, SCH_SHAPE_T, SCH_TEXT_T, schIUScale, LIB_SYMBOL::SharedPtr(), MULTIVECTOR< T, FIRST_TYPE_VAL, LAST_TYPE_VAL >::sort(), TO_UTF8, and LIB_SYMBOL::UnitsLocked().
Referenced by SCH_IO_KICAD_LEGACY::FormatPart(), and Save().
|
staticprivate |
Definition at line 1843 of file sch_io_kicad_legacy_lib_cache.cpp.
References EDA_ANGLE::AsTenthsOfADegree(), SCH_ITEM::GetBodyStyle(), EDA_TEXT::GetHorizJustify(), EDA_TEXT::GetText(), EDA_TEXT::GetTextAngle(), EDA_TEXT::GetTextPos(), EDA_TEXT::GetTextWidth(), SCH_ITEM::GetUnit(), EDA_TEXT::GetVertJustify(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_TOP, EDA_TEXT::IsBold(), EDA_TEXT::IsItalic(), EDA_TEXT::IsVisible(), OUTPUTFORMATTER::Print(), SCH_TEXT_T, schIUScale, text, TO_UTF8, EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SaveSymbol().
|
inherited |
Definition at line 109 of file sch_io_lib_cache.cpp.
References m_fileName, and m_libFileName.
Referenced by EESCHEMA_JOBS_HANDLER::JobSymUpgrade().
|
inlineinherited |
Definition at line 83 of file sch_io_lib_cache.h.
References m_isModified.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and EESCHEMA_JOBS_HANDLER::JobSymUpgrade().
|
inlineinherited |
Set the parse error state.
| aHasError | true if the library had a parse error during loading. |
Definition at line 98 of file sch_io_lib_cache.h.
References m_hasParseError.
Referenced by SCH_IO_KICAD_SEXPR_LIB_CACHE::Load().
|
protectedinherited |
Definition at line 116 of file sch_io_lib_cache.h.
Referenced by IsFileChanged(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Save(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Save(), and SCH_IO_LIB_CACHE().
|
protectedinherited |
Definition at line 114 of file sch_io_lib_cache.h.
Referenced by IsFile(), SCH_IO_LIB_CACHE(), and SetFileName().
|
protectedinherited |
Definition at line 127 of file sch_io_lib_cache.h.
Referenced by HasParseError(), SCH_IO_LIB_CACHE(), and SetParseError().
|
protectedinherited |
Definition at line 126 of file sch_io_lib_cache.h.
Referenced by AddSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::DeleteSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::DeleteSymbol(), removeSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Save(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Save(), SCH_IO_LIB_CACHE(), and SetModified().
|
protectedinherited |
Definition at line 125 of file sch_io_lib_cache.h.
Referenced by GetLibModificationTime(), and SCH_IO_LIB_CACHE().
|
protectedinherited |
Definition at line 115 of file sch_io_lib_cache.h.
Referenced by SCH_IO_KICAD_LEGACY_LIB_CACHE::DeleteSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::DeleteSymbol(), GetFileName(), GetLogicalName(), GetRealFile(), SCH_IO_KICAD_SEXPR_LIB_CACHE::isLibraryPathValid(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadDocs(), removeSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Save(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveDocFile(), SCH_IO_LIB_CACHE(), SetFileName(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::updateParentSymbolLinks().
|
protectedinherited |
Definition at line 128 of file sch_io_lib_cache.h.
Referenced by SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), and SCH_IO_LIB_CACHE().
|
protectedinherited |
Definition at line 111 of file sch_io_lib_cache.h.
Referenced by GetModifyHash(), IncrementModifyHash(), and SCH_IO_LIB_CACHE().
|
protectedinherited |
Definition at line 112 of file sch_io_lib_cache.h.
Referenced by GetModifyHash(), and IncrementModifyHash().
|
protectedinherited |
Definition at line 117 of file sch_io_lib_cache.h.
Referenced by AddSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::DeleteSymbol(), SCH_IO_KICAD_SEXPR_LIB_CACHE::DeleteSymbol(), GetSymbol(), GetSymbolMap(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Load(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadDocs(), removeSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::Save(), SCH_IO_KICAD_SEXPR_LIB_CACHE::Save(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveDocFile(), SCH_IO_KICAD_SEXPR_LIB_CACHE::updateParentSymbolLinks(), and ~SCH_IO_LIB_CACHE().
|
protectedinherited |
For folder-based libraries, track which source file each symbol was loaded from.
Key is symbol name, value is the full path to the source file. This allows saving symbols back to their original files rather than creating individual files for each symbol.
Definition at line 123 of file sch_io_lib_cache.h.
Referenced by SCH_IO_KICAD_SEXPR_LIB_CACHE::Load(), and SCH_IO_KICAD_SEXPR_LIB_CACHE::Save().
|
private |
Definition at line 98 of file sch_io_kicad_legacy_lib_cache.h.
Referenced by Load(), and SCH_IO_KICAD_LEGACY_LIB_CACHE().
|
private |
Definition at line 99 of file sch_io_kicad_legacy_lib_cache.h.
Referenced by Load(), and SCH_IO_KICAD_LEGACY_LIB_CACHE().
|
private |
Definition at line 66 of file sch_io_kicad_legacy_lib_cache.h.