Seth Hillbrand
b4760b9b2c
Add ADVANCED_CFG variable for recursion depth of variables
At 10, a strict recursion shows a noticable lag in schematics with
larger numbers of fields. 2 may be a sweet spot unless we find a
schematic where this does not work
1 year ago
Jeff Young
16340e6cf4
Support both short and long item descriptions.
1 year ago
Jeff Young
c549a214c9
Performance: don't alloc std::vector in critical areas.
For some history, see also aa2ad3b44c
1 year ago
Seth Hillbrand
6dcb9bb664
Do not allow trailing/leading whitespace in mandatory fields
Reference, Value, Footprint and Datasheet all reference elements that
should not use trailing/leading whitespace or similar hidden charaters.
Other fields may utilize leading/trailing whitespace for obscure
purposes but won't break functionality as they are display only
1 year ago
Jeff Young
edc7603d2a
Make it clear that GetSheets() is heavy.
Also removes the side-effect that SCH_SHEET_LIST's
c'tor would sort the list (and write virtual page
numbers) anytime the starting sheet was the root.
Also, definitely don't build a SHEET_LIST (sorted or
otherwise) if you're not even going to use it.
Also don't build SCH_SHEET_LISTs on idle events. Better
to just always have the Next Sheet button enabled (we
already beep if you click it and there's no next sheet).
Also, use a SCREEN_LIST when you can. It's much cheaper
to create.
1 year ago
Jeff Young
e543ff0578
Performance for large hierarchies: lookups
Don't bother to sort sheet lists when we're just looking
up a UUID, sheet count, other symbol units, etc.
1 year ago
Jeff Young
ac59a65d8d
Resolve variables in LIB_SYMBOLs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18099
1 year ago
Jeff Young
20cde51b43
Fix numerous bugs in schematic item rotation.
(This will probably introduce some new ones too, but
it was so broken it's hard to know where to start.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17921
1 year ago
Jeff Young
20bb82a011
Remove vestigial coord flip code.
1 year ago
Seth Hillbrand
72eee002aa
Add effective display for fields
1 year ago
Jeff Young
c59ed0bbb7
Flip symbol editor's Y axis to match other editors.
1 year ago
jean-pierre charras
28f48cbec1
Eeschema: fix issues related to ERC tests after changes by commit d77eae3e
It also fixes a bug in SCH_FIELD::compare()
1 year ago
Seth Hillbrand
6540c3ec9f
Resolve worksheet variables in SCH_FIELD
Sheet fields should also resolve the worksheet of that sheet and not the
parent sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17723
1 year ago
Jeff Young
c842de24b9
HitTesting is the wrong place to do visibility checks.
2 years ago
jean-pierre charras
b7f035964f
Fields in symbols: Ensure visibility is correctly set when reading a file
Also ensure default fields visibility is correctly set when creating a symbol
Change default field visibility to true in SCH_FIELD Ctor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17767
2 years ago
jean-pierre charras
ac36feda41
EEschema: fix incorrect (missing) init of main layer of SCH_SHEET fields
These fields were not drawn when drawing a hierarchical sheet.
2 years ago
Jeff Young
14762e3d54
Handle layers for label fields.
2 years ago
Jeff Young
d77eae3e7e
Collapse LIB_FIELD into SCH_FIELD.
2 years ago
Marek Roszko
96cdfc7fa7
Update equality overloads for C++20
C++20 added new reverse and rewritten candidates. This can confuse the compiler because it'll test both A==B and B==A for overloads.
Because we were defining parent class equality overloads, A==B and B==A was considered ambigious due to both being compatible in casting.
So we needed to add explicit child class equality operator overloads
2 years ago
Jeff Young
1d753e0850
Respect showHiddenPins and showHiddenFields flags when plotting.
2 years ago
Jeff Young
1028a76e4a
Harmonize print/plot APIs.
2 years ago
Jeff Young
c5ed80af52
Harmonize rotate APIs.
2 years ago
Jeff Young
92910d5d0f
Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL.
2 years ago
Jeff Young
a6e2746a08
Rewrite intersheet refs resolution to be sheet-path aware.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17533
2 years ago
Jeff Young
05cdd44404
Don't assume all glyphs are outline with an outline font.
Underline and overbar may be stroke glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17478
2 years ago
Jeff Young
d08e0e9eaa
_() -> _HKI() for group names.
2 years ago
Jeff Young
2dce618f9f
Expose text size for SCH_FIELDs.
2 years ago
Jeff Young
e7abeb3c38
Cleanup.
2 years ago
Jon Evans
c39bec4c08
SCH_FIELD.Visible can be unmasked
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16760
2 years ago
Jeff Young
179ab1011f
Don't use canonical name for user fields with an id of -1.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16715
2 years ago
Jeff Young
8b56b3d999
Formatting.
2 years ago
Marek Roszko
76e8ed2506
Fix sch_field and pcb_target not returning evaluated similarity correctly
2 years ago
Jeff Young
f25a06b2a5
More globals eradication.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16031
2 years ago
Jeff Young
3819b2d5e7
Enforce SCH_SHEET_PATH processing in more places.
Making assumptions about the current SCH_SHEET_PATH has caused no end
of pain.
2 years ago
Jeff Young
f50de028fb
Make plotting of PDF property popups optional.
2 years ago
Seth Hillbrand
d99641be40
ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2 years ago
Jeff Young
4d0ee276e8
Suppress "File: " when we're showing the Sheetfile field name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15637
2 years ago
Jeff Young
9f5e583ced
Readability.
2 years ago
Jeff Young
34769cec63
Filter line-endings from single-line Scintilla editors.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15793
2 years ago
Jeff Young
7a2a2e2df0
Remove error-prone SetReporter() API.
2 years ago
Jeff Young
949458bbe1
Don't presume all cached glyphs are outline glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15508
2 years ago
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2 years ago
Jeff Young
686dfba77a
ADDED autocomplete for value field in Symbol Properties dialog.
2 years ago
Jon Evans
24a3816a34
EDA_TEXT Orientation property shouldn't be exposed to schematics
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15140
2 years ago
Mike Williams
7cb8d3d1c9
Schematic fields: implement fields with variables as names
Special case that always fills in the value with the value of the
variable
2 years ago
Jeff Young
5bca002567
Swap non-temp and non-edit flags for SCH_ITEMs.
This is required to keep selected and brightened state across undo.
It's also probably required for things like IS_SHOWN_AS_BITMAP and
possibly ENTERED. FWIW, most BOARD_ITEMs do a straight swap, including
the temp and edit flags. But that seems like a risky change....
Also removes SyncView() call from Undo/Redo as that does a MODEL_RELOAD
which clears the selection.
2 years ago
jean-pierre charras
db8201717d
SCH_FIELD::GetCanonicalName() : the name must be the not translated name,
previously, it returned the translated string, by definition not the
canonical name
2 years ago
Jon Evans
3a0f8214fa
ADDED: Properties panel for schematic editor
Initial infrastructure work; follow-ons will add more
properties for schematic items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2 years ago
Mike Williams
85f889bc19
Fields: Description now mandatory
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2 years ago
Jeff Young
e3eb0abc5f
Recompute intersheet refs while printing.
Also fixes a bug where the schematic offset wasn't being added to
intersheet refs when printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14978
2 years ago