Commit Graph

11213 Commits

Author SHA1 Message Date
Seth Hillbrand 1bc34f7bd7 Always refresh the navigator when changing units
Units are displayed even if the net is not selected
2024-04-18 18:21:13 -07:00
Seth Hillbrand d8b6e28890 Excise the remaining unused ifdef EESCHEMA
Common units are now shared between programs, so we need a different way
other than compile definitions to choose how many digits to display.
2024-04-18 18:21:13 -07:00
Seth Hillbrand 00538548f5 Handle net directive in navigator 2024-04-18 18:21:13 -07:00
Wayne Stambaugh 17bcc27ff6 Fix missing instance data when reusing an already loaded schematic.
Remove duplicate sheet instance page numbering.  It's already done when
the sheet is loaded from an exiting file or an already loaded schematic.
Remove the unnecessary page update code from the drawing tool.
2024-04-18 15:47:47 -04:00
Seth Hillbrand f8a25d20f8 Remember to set the root sheet before loading
This is done in the frame for GUI loading so we need to explicitly set
this when loading files in the cli

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17790
2024-04-18 10:47:49 -07: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 e5cdf3785b Make SCH_SHAPE::Normalize() upside-down-coords-aware.
Also fixes some typos in EE_POINT_EDITOR.
2024-04-18 10:27:36 +01:00
Seth Hillbrand 2f7cc5fa2b Be sure that we are getting the SCH_SYMBOL values
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17782
2024-04-17 13:53:01 -07:00
Wayne Stambaugh d79619edd1 Minor net navigator improvements.
Ignore bus member connection subgraphs.  They do not have a valid net
name nor do they contain schematic items.  This prevents empty nodes
from being added to the tree.  They can be reintroduced in the future
if someone wants to pursue it.

Freeze the wxTreeCtrl while populating it and thaw when done to prevent
any unnecessary repainting.

Add profiling to test how long it takes to rebuild the net navigator.
The recently added populate the navigator with all nets when no net
is highlighted has exposed some potential performances issues with some
versions of wxWidgets on certain platforms.  Namely wxWidgets 3.2.4 on
Linux GTK.

Fix an issue where a sheet name change would not update the highlighted
net navigator resulting in a stale human readable sheet path.

Prevent the highlighted net navigator from being rebuilt twice when
loading a schematic.  SCH_EDIT_FRAME::RefreshNetNavigator() was being
called from both SCH_EDIT_FRAME::UpdateHierarchyNavigator() and
SCH_EDIT_FRAME::RecalculateConnectivity().

Add a new trace helper "KICAD_UI_PROFILE" to show trace output when
profiling user interface performance.  It's used in the net navigator
profiling mentioned above.

Reuse PROF_TIMER::Show() to generate string for PROF_TIMER::to_string().
2024-04-17 14:31:50 -04:00
Jeff Young a4073c2ace Provide some user hints on editing fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17781
2024-04-17 18:30:37 +01:00
Seth Hillbrand 0e0ada8e4e Allow NIC pins to be stacked
Previously, we only allowed pins of the same time as well as passive
pins to be stacked.  This change allows NIC pins as well since they are
not internally connected, there is no reason that they cannot be tied to
another pin electrically
2024-04-17 10:00:00 -07:00
Jeff Young dee45a491e Readability. 2024-04-17 11:03:07 +01:00
Jeff Young c842de24b9 HitTesting is the wrong place to do visibility checks. 2024-04-17 10:53:49 +01:00
Jeff Young 657fe6e091 Fix background colour bug. 2024-04-16 23:41:48 +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
Mark Roszko 5d7e96841b Close bom file earlier
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17779
2024-04-16 12:39:03 +00:00
Mike Williams ea904c9fb1 Symbol Fields Table: configurable excluded from BOM filtering
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17747
2024-04-15 13:08:04 -04:00
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
2024-04-15 18:19:19 +02:00
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.
2024-04-15 09:56:19 +02:00
Marek Roszko 2a3b597ab9 Strip out no longer needed links on the top executables
Not needed due to kicommon
2024-04-14 07:52:02 -04:00
Alex Shvartzkop affcfed677 Fix some warnings. 2024-04-14 01:19:39 +03:00
Jeff Young 14762e3d54 Handle layers for label fields. 2024-04-13 19:53:58 +01:00
Jeff Young d77eae3e7e Collapse LIB_FIELD into SCH_FIELD. 2024-04-13 15:42:13 +01:00
Jeff Young c241796968 Minor improvements to readability. 2024-04-13 15:40:08 +01:00
Marek Roszko 0ce227fa92 Can't use forward declare with std::vector
Not allowed per C++ standard

See https://github.com/llvm/llvm-project/issues/57700
2024-04-13 08:22:20 -04:00
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
2024-04-12 23:05:58 -04:00
Marek Roszko e3777758d9 Silence enum operation warning 2024-04-12 22:54:42 -04:00
Marek Roszko 8fb4901d4b Fix more utf8 comparisons 2024-04-12 22:53:25 -04:00
Marek Roszko c042b51be9 Fix another deprecated lambda capture 2024-04-12 22:49:50 -04:00
Marek Roszko 161cfbacd4 constexpr the let user{} format string 2024-04-12 22:48:34 -04:00
Marek Roszko 0675c62a24 Update two more lambda capture 2024-04-12 22:42:31 -04:00
Marek Roszko e6be29daa0 Fix another UTF8 to wxString comparison 2024-04-12 22:38:38 -04:00
Seth Hillbrand 6c17e275fb Revert "Re-enforce ordering"
This reverts commit b22fcf70cd.
2024-04-12 14:14:06 -07:00
Seth Hillbrand 531a8b9db9 Revert "Compare function should return int"
This reverts commit 7727982478.
2024-04-12 14:13:55 -07:00
Seth Hillbrand b22fcf70cd Re-enforce ordering
Instances, pins and graphics have started to wander around the files.
Sorts instances before writing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17737
2024-04-12 11:58:30 -07:00
Seth Hillbrand 7727982478 Compare function should return int
Returning boolean is promoted to int and confuses false with '0'
indicating that the elements are identical
2024-04-12 11:30:16 -07:00
Seth Hillbrand f08cacb30f Revert "Re-enforce ordering"
Unexpected element loss after save.  Reverting to fix

This reverts commit f2f4890342.
2024-04-12 10:34:11 -07:00
Seth Hillbrand f2f4890342 Re-enforce ordering
Instances, pins and graphics have started to wander around the files.
Sorts instances before writing.  Uses compare with std::set (not
std::multiset) to enfore lib item ordering

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17737
2024-04-12 10:08:46 -07:00
Seth Hillbrand e14e956c1d Fully order schematic saves 2024-04-11 16:54:30 -07:00
Seth Hillbrand e538b98286 Incremental updates should not clear globals
Netclass assignments are stored in the project level but
CONNECTION_GRAPH updates would clear the assignments.  This keeps
existing netname->netclass assignments but updates any netnames that
were changed by the incremental updates.  Absolute updates are not
affected and fully recreate the net name to netclass map

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17720
2024-04-11 15:57:49 -07:00
Seth Hillbrand ac5fab190e Check for valid shared pointer before locking
We don't neccesarily have a valid pointer to the parent lib symbol when
checking if it is a power symbol, so fall back to the local flag if this
is the case

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17182

(cherry picked from commit 4481fcc75e)
2024-04-11 14:43:27 -07:00
Mike Williams cbef6d1cbf BOM Export: default to ${PROJECTNAME}.csv for convenience
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17049
2024-04-11 15:46:50 -04:00
Mike Williams 9c058503d9 BOM Export: remember filename per project
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17704
2024-04-11 15:05:59 -04:00
Alex Shvartzkop e7ac68d409 Support alternating table row colors in SCH_PIN_TABLE_DATA_MODEL.
See https://gitlab.com/kicad/code/kicad/-/issues/17482
2024-04-11 19:37:31 +03:00
Mike Williams 067ef9657e net navigator: handle no-connects 2024-04-11 10:21:18 -04:00
Mike Williams faca7ee05b net navigator: show all nets when none are highlighted 2024-04-11 10:21:17 -04:00
Wayne Stambaugh ec310ac3ed Update hierarchy navigator when undoing or redoing sheet name changes.
Use new schematic commit object in the edit sheet properties dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17721
2024-04-11 10:11:02 -04:00