Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).
Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6733
Fixes https://gitlab.com/kicad/code/kicad/issues/6749
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.
Also cleanup some loop-iterator problems.
Fixes https://gitlab.com/kicad/code/kicad/issues/6338
- Find the intersection between the wire and the sheet and place the sheet pin there
- Fix orientation of hierarchical labels and global labels by applying opposite orientation to the connecting wire
Don't use clone to copy an EDA_ITEM. Use Duplicate().
Even if you give the clone a new KIID, all its children will still be clones.
Create Duplicate() in LIB_PART
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
Fixed missing tokens that weren't parsed before:
- Danglers (in NET_SCH)
- Pin numbers (in SYMBOL)
- HidePinNames in both PART and PART::DEFINITION, defaulting it to false