230 Commits

Author SHA1 Message Date
Jeff Young
4480b6c512 ADDED: textvar for reference without unit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18426
2024-07-21 21:35:00 +01:00
Jeff Young
ae777bf0d5 Fix logic error. 2024-07-21 19:00:41 +01:00
Jeff Young
80168b9d6b Sync other unit props when updating from prop manager.
Also removes the Exclude from Simulation property from
the list of things we sync.  Someone may not want to sim
a triode's heaters unit, for instance.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18415
2024-07-20 16:02:51 +01:00
jean-pierre charras
35650d3573 Eeschema: fix De Morgan attribute not preserved in schematics after reload
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18395
2024-07-18 10:45:12 +02:00
Seth Hillbrand
cd3e85b0b3 Prevent field loops
If the field text is ${FIELD}, then we want to avoid the obvious loop.
This doesn't stop a larger loop FIELD1->FIELD2->FIELD1 but that will be
caught by the depth count.
2024-07-02 12:38:20 -07:00
Jeff Young
16340e6cf4 Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
Jeff Young
26b86b3922 Don't use wxLogMessage/wxLogError for messages not meant for user.
They are particularly damaging when our event loop
gets tied up in knots with the log message window
behind a modal window -- thereby locking up KiCad.
2024-06-24 20:22:29 +01:00
Mike Williams
a5e2615251 Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
This reverts commit 0b187e71227d2129d271f24fb92ae0b99b6f93bd.
2024-06-12 13:30:29 -04:00
Mike Williams
0c45f85bc0 Revert "sch_symbol: use fail message fall back to dummy symbol when passed null"
This reverts commit e0e837189defe1f61e8ae37a3979c832eb34a7d7.
2024-06-12 13:30:29 -04:00
Mike Williams
e0e837189d sch_symbol: use fail message fall back to dummy symbol when passed null 2024-06-10 11:24:58 -04:00
Mike Williams
0b187e7122 SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL
Also always always flatten incoming lib symbols.
2024-06-10 08:36:42 -04:00
Seth Hillbrand
549ea93be2 Fix typo 2024-06-03 10:41:37 -07:00
Jeff Young
5e1a16e821 Regularize DNP printing & plotting with painting. 2024-06-03 12:53:37 +01:00
Jeff Young
aee7680a6c ADDED: support for DNP & friends at the sheet level.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14387
2024-06-02 22:41:22 +01:00
Jeff Young
14f3a22f3d ADDED: support editing unit in Reference Field Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17362
2024-06-02 13:42:34 +01:00
Seth Hillbrand
79a354bf0e Unify SCH_PIN ambiguity in equality operator
Remove != operator that is not used for C++20 and reworked
SCH_PIN==SCH_ITEM operator that was not reciprocal
2024-05-31 13:42:36 -07:00
Jeff Young
cb76ad3206 Add unit & body style property access.
(It had gotten lost in SCH_ITEM/LIB_ITEM collapse, but
then again the old version didn't work right
anyway.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18049
2024-05-20 23:37:59 +01:00
Jeff Young
667fedd9a9 Formatting; include cleanup. 2024-05-12 23:56:59 +01:00
Jeff Young
29360b1aef Raw spice models don't have pin names. 2024-05-10 20:58:13 +01:00
Jeff Young
1db8b322da Make pin name/number visibility architecture more clear. 2024-04-28 13:23:24 +01:00
Alex Shvartzkop
16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Jeff Young
c59ed0bbb7 Flip symbol editor's Y axis to match other editors. 2024-04-27 13:47:56 +01:00
Wayne Stambaugh
ca18dc8ec8 Do not show click to start wire cursor for hidden pins.
Selecting show hidden pins will allow users to connect to hidden pins.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17145
2024-04-21 10:54:52 -04:00
Jeff Young
320f531110 Improve inheritance processing; simplify hidden flag. 2024-04-21 12:19:22 +01:00
Jeff Young
95136494b3 RIP LIB_PIN. 2024-04-20 12:10:31 +01:00
Jeff Young
b394d7eb96 Fix build breakage. 2024-04-18 15:20:58 +01:00
Jeff Young
d2c512f422 Don't double-save transform for plotting DNP. 2024-04-18 11:03:37 +01:00
Jeff Young
cc78196f81 Remove shadowed member variables. 2024-04-18 10:58:39 +01:00
Jeff Young
d761b4f22f RIP LIB_TEXTBOX and LIB_SHAPE. 2024-04-16 16:31:16 +01:00
Jeff Young
3efe504dcc Collapse LIB_TEXT into SCH_TEXT. 2024-04-16 16:31:16 +01:00
Jeff Young
d77eae3e7e Collapse LIB_FIELD into SCH_FIELD. 2024-04-13 15:42:13 +01:00
Seth Hillbrand
e14e956c1d Fully order schematic saves 2024-04-11 16:54:30 -07:00
Seth Hillbrand
a9f35ba42e Fix incremental connectivity
The connectivity routine would consider symbols, overwriting unused
subgraphs for pins that were not in the change list.  This is resolved
by updating the full connectivity to only use pins in the graph since
symbols are not connected independently.

In the process of adding QA tests for this change, additional issues
with the schematic QA were discovered.  Specifically, we were not
properly setting the root sheet UUID.  This was partially masked by a
const_cast setting of the RefDes in sch_symbol when called the RefDes
getter.  This exposed the fact that our QA ERC numbers did not match the
schematic editor stand alone ERC numbers.  So the test value for one
check needed to be updated

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17528
2024-04-10 17:25:58 -07:00
Jeff Young
56f6f44b3d Formatting, type-cast and auto cleanup. 2024-04-09 12:55:44 +01:00
Jeff Young
e7493c7851 Fix SCH_SYMBOL's operator=.
Also cleans up a few loose ends from LIB_ITEM collapse.
2024-04-08 21:24:32 +01:00
Jeff Young
3ade857c7b Honour parent symbol's transform when over-plotting pins. 2024-04-08 14:26:48 +01:00
Jeff Young
9c94967b52 Tidy renderSettings / jobsHandler APIs. 2024-04-08 12:26:56 +01:00
Jeff Young
5abc7145da Fold LIB_ITEM into SCH_ITEM. 2024-04-08 10:24:50 +01:00
Jeff Young
1028a76e4a Harmonize print/plot APIs. 2024-04-06 09:34:56 +01:00
Jeff Young
c5ed80af52 Harmonize rotate APIs. 2024-04-06 09:34:56 +01:00
Jeff Young
92910d5d0f Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL. 2024-04-04 13:18:55 +01:00
Mark Roszko
7b904545e9 Fix explicit wxstring build breakage 2024-03-21 03:25:15 +00:00
Jon Evans
f00f47df13 wxWidgets 3.3 compatibility: explicit wxString conversion 2024-03-20 22:02:41 -04:00
Wayne Stambaugh
c5a02fc266 Do not update schematic connectivity for irrelevant property changes.
Prior to this change, the schematic connectivity was updated any time a
change was made to a connectable object.  Now the connectivity is only
updated when an object change actually affects the connectivity.  Other
properties like line width, fill type, custom fonts, etc. will not cause
the connectivity graph to be rebuilt.

The SCH_COMMIT flag SKIP_CONNECTIVITY has been removed.  All schematic
objects can test if they are connectable and if there have been changes
to any connection properties that require a connectivity rebuild.

Remove duplicate rebuild connectivity calls from editor control tool.
This was causing the tangling end test to get called four times on every
undo and redo action because the dangling end test is already called in
the connectivity graph calculation code.

Update connectivity when changing label names which fixes an unreported
connectivity bug.
2024-03-09 08:50:26 -05:00
Jeff Young
ff8ddae9bd Convert OP text variables pin names/numbers to SPICE vectors.
Also fixes a wrap-around bug in SPICE_VALUE::Normalize() where
it would lose the run of itself if the value was already
normalized to either the largest or smallest UNIT_PREFIX.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17228
2024-03-04 14:25:29 +00:00
Yon Uriarte
b7b64d959f Performance UpdateDanglingState
Avoid O(N^2) by spatial sorting, don't run checks if the bounding boxes
don't overlap.
A second copy is ordered by type to help classes that only want to check
a few types having to walk the whole list.
2024-02-23 19:21:44 +00:00
Jon Evans
334b414826 Make sure SCH_PIN->LIB_PIN pointers get cleared 2024-02-09 08:09:19 -05:00
Marek Roszko
899ed59f7b Add missing pin numbers/names properties 2024-02-05 19:08:56 -05:00
Seth Hillbrand
7664c345e2 Revert "Schematic performance enhancements"
This reverts commit df654ac12f3491cb18a59cebc2de3805279c23e0.
2024-02-01 09:00:13 +01:00
Yon Uriarte
df654ac12f Schematic performance enhancements 2024-02-01 02:28:09 +00:00