Commit Graph

11417 Commits

Author SHA1 Message Date
Alex Shvartzkop 2a889f03fc EasyEDA Std/Pro: import (some) component metadata for symbols.
Also fixes Reference numbering.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17806
2024-05-03 00:37:59 +03:00
Seth Hillbrand ae610bbe85 ADDED: Reset option for Library tables
This re-shows the option to reset the global library table to its
default, empty or specified state

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2309
2024-05-02 21:31:59 +00:00
Seth Hillbrand 416033e8e5 Ignore hidden text fields when cross-probing
Zoom-to-selection should only show the elements that we can see, so
avoiding hidden fields in footprints keeps the zoom window appropriately
sized

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15245
2024-05-02 10:57:25 -07:00
Jon Evans a95a3fa5c9 Altium: apply power filter to symbol libraries
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17922
2024-05-01 22:47:45 -04:00
Jon Evans d6a54a98b2 Support ortho dragging labels off sheet pins 2024-05-01 21:53:22 -04:00
Jon Evans dffb2c1994 Pin helpers can help sheet pins also
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17923
2024-05-01 21:53:14 -04:00
JamesJ d92db68597 Fix corner editing for schematic rule areas
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17909
2024-04-30 16:58:14 +00:00
Rosy 17891f7a1d HTTP Libraries: Add support for descriptions of sublibraries 2024-04-30 11:57:00 +00:00
Stefan 7ed755ac61 Handle piechart case for Altium lib import
This doesn't parse the data but it will let the user know what wasn't properly parsed.
2024-04-30 03:07:14 +00:00
dsa-t 10c0bba9cc Fix internal simulation errors when using some IBIS models.
Usage of GC_PWR0 looked like a copy/paste.

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


(cherry picked from commit cff58bae7f)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-04-29 20:24:58 +00:00
Jeff Young e5a17b96a3 Fix more bugs from collapsing LIB_* to SCH_*.
The transform can always be used: it will be the identiy
transform when in the schematic.

Also fixes a bug where textbox borders didn't get
plotted, and a couple others where things were still
expecting an upside-down coordinate system.
2024-04-29 12:19:13 +01:00
Jeff Young b5fb7b7ace Get rid of Export Symbol.
It can be done with the "New Library" button when doing
a Save copy as (which doesn't lead the user down the
wrong path as Export Symbol can).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17840
2024-04-28 22:05:59 +01:00
Jeff Young 352463dfeb Fix pin drawing after removal of upside-down coords. 2024-04-28 15:24:19 +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 d8d816236c Save project settings after Schematic Setup.
This prevents data from getting lost if we later crash.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17859
2024-04-27 14:50:47 +01:00
Jeff Young c59ed0bbb7 Flip symbol editor's Y axis to match other editors. 2024-04-27 13:47:56 +01:00
Jeff Young e478c4db2e Allow resetting of pin visibility overrides.
Also fixes a bug where the .fbp file didn't get checked
in for the "Reset custom power symbols" checkbox addition.

Also adds disabled checkboxes to act as hints for what
is always updated.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17868
2024-04-27 13:30:45 +01:00
Jeff Young 615f84e567 SCH_PINs define their own sorting order.
Don't use SCH_ITEM's compare function.

This is required so that SCH_PINs sort in the same
order as their LIB_PIN equivalents in the library.
2024-04-26 23:10:19 +01:00
Jeff Young 02c1eef3be Simplify parsing of alt pin definitions. 2024-04-26 20:11:33 +01:00
Alex Shvartzkop 01ce6111ff Fix warning. 2024-04-26 15:25:48 +03:00
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()
2024-04-26 07:23:07 +02:00
Marek Roszko b22bc2737e Hackfix macOS to keep erc/drc on top
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14356
2024-04-26 00:49:22 -04:00
Seth Hillbrand ef62b01dd1 Make import/export flags explicit
IO plugins can import/export or both.  This sets an explicit boolean for
controlling which options are available.
2024-04-25 09:21:15 -07:00
James J be8744176c Add SCH_RULE_AREA shapes to eeschema
Includes:
 - Fix GAL to draw closed polygons in eeschema
 - Add functionality to eeschema to draw arbitary polygons
 - Update polygon item previews to have customisable edge colour
 - Add new SCH_RULE_AREA class, derived from a poly SCH_SHAPE
 - Add SCH_RULE_AREA to paint and plot methods
 - Add new rule area color preference to themes
2024-04-25 14:24:46 +00:00
Ethan Chien d058e12cb5 Fix: Unable to select other items after syncing hierarchical sheet pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17800
2024-04-25 10:49:07 +00:00
Rosy 0984af1676 HTTP library reload cache, if the cache is empty, when picking a part
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17569
2024-04-25 00:42:13 +00:00
Seth Hillbrand 315ad0e071 Replace stale pin references with UNDO copy
When we replace a symbol with one that has fewer pins, the old pins
are released, which leaves points to them in the connection graph
dangling.  This updates the pointer to use the cloned copy in the undo
stack until the connection graph is rebuilt with the new data

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17851
2024-04-24 12:55:02 -07:00
Wayne Stambaugh 33869dbb61 Symbol chooser dialog layout improvements. 2024-04-24 11:08:04 -04:00
Miklós Márton 61be2ea048 eeschema: Add option for renaming sheets in the Hierarchy tree view 2024-04-24 12:36:34 +00:00
Wayne Stambaugh 8a1347d2c8 Property grid navigation improvements.
* Do not handle tab key event when committing property changes so the
  property grid tab navigation works correctly.
* Do not call commit property changes on tab key when no changes are
  pending.
* Skip event handling in the base object value change and changing event
  handlers in case they do not get overloaded in derived objects.
* Do not force focus to canvas on property change so arrow and tab key
  grid navigation work properly.  Forcing the user to click the property
  grid control to edit a single property doesn't make sense.
* Pass properties panel show event up the event stack.
* Do not set focus to canvas in tool dispatcher if it already has the
  focus.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16957
2024-04-24 07:25:19 -04:00
Seth Hillbrand 0cd3e17db7 Ensure that missing pins are added to extraction
When changing from a larger part to a smaller part, the previously
existing pins may be removed from the screen but still linked to
elements in the connection graph because we don't set them dirty unless
the changed element overlaps

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17851
2024-04-23 19:37:27 -07:00
Jeff Young f51d227dc7 Default to target lib when no lib tree sel exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17808
2024-04-22 17:36:38 +01:00
Jeff Young e8be782687 Mostly clean-up, but also bug fixes with bounding boxes. 2024-04-22 11:16:14 +01:00
Alex Shvartzkop 2babd574be Refactor autosave prefix into FILEEXT. 2024-04-22 04:06:04 +03: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 7d8215401a Fix message panel for pins, take 2. 2024-04-21 15:14:10 +01:00
Jeff Young b4239b3ee4 Fix message panel for pins. 2024-04-21 14:51:07 +01:00
Jeff Young 320f531110 Improve inheritance processing; simplify hidden flag. 2024-04-21 12:19:22 +01:00
Jeff Young c0f480eea8 Lint reduction. 2024-04-21 12:19:22 +01:00
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
2024-04-20 13:39:35 -07:00
Jeff Young 9f691d063c Fix default pen width for pin text. 2024-04-20 18:25:17 +01:00
Alex Shvartzkop 1e1aecfd28 Fix warning in SYMBOL_LIBS. 2024-04-20 20:10:23 +03:00
jean-pierre charras c2e9b687c1 simulation: DIALOG_SIM_COMMAND_BASE: avoid text truncation in checkboxes. 2024-04-20 16:53:11 +02:00
jean-pierre charras 65c3fe03fb Re-add a line deleted by mistake in my commit c04cd812
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17814
2024-04-20 15:35:57 +02:00
Wayne Stambaugh a86a258f66 Improve symbol instance data file save ordering.
Use the root schematic UUID to order projects and sort symbol instance
data by KIID_PATH.  This will ensure file changes to instance data are
more consistent by using a fixed ordering.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17737
2024-04-20 08:57:00 -04:00
Jeff Young 95136494b3 RIP LIB_PIN. 2024-04-20 12:10:31 +01:00
Jeff Young 6d11c85cad Initialize all member variables. 2024-04-20 12:10:31 +01:00
Seth Hillbrand 4e6a3a50fc Flip labels to match orientation
When changing from local to hierarchical or global, the label style is
typically flipped so that global/hierarchical labels hang off the line
while local labels are set on top.  To make this more intuitive we flip
the initial orientation when changing

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17739
2024-04-19 16:09:30 -07:00
Maciej Suminski 5da3dd1788 Restore parsing order in the legacy symbol library plugin 2024-04-19 22:33:28 +00:00
Wayne Stambaugh 5d99aaf0a4 Use correct project name when adding new symbol instances.
When adding a sheet using a schematic from another project, set the
project name for the new symbol instance data to the current project
rather than the project name from the copied instance data.
2024-04-19 14:33:22 -04:00
Alex Shvartzkop 909d43492b Fix warning. 2024-04-19 18:26:20 +03:00
jean-pierre charras c04cd81231 Eeschema: fix color issues in symbol body graphic items drawings.
- fix incorrect colors (outlines and filled shapes)
- fix issues in DIALOG_SHAPE_PROPERTIES (incorrect colors)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17799
2024-04-19 15:26:15 +02:00
Seth Hillbrand 5f16c5892c Handle hierarchical sheets in incremental change
The drivers need to get passed up and down the hierarchical sheets.  In
order to do this, both the sheet pin and the hierarchical pin need to
be in the changed items.  However, we only get sheets in the screen
items list while the pins are the elements that get set dirty

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17797
2024-04-18 21:18:27 -07:00
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
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 3b66f64c19 Cleanup. 2024-04-10 10:26:59 +01:00
Jeff Young 0d6822be0d Remove shadowed member variables. 2024-04-10 10:26:59 +01:00
afkiwers d45911f54b add support to update an already existing field 2024-04-09 23:37:20 +00:00
Jeff Young 1aa59b806c Allow selection promotion when editing wrong field type.
Also fixes a bug where a CHT_MODIFY on a parent symbol with a
selected child doesn't trigger a selection modified event.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17696
2024-04-09 13:40:18 +01: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 6c7946012c Turn off hidden pins/fields for plot jobs handler.
(We only have CLI settings for them when plotting symbols.)
2024-04-08 16:56:36 +01:00
Jeff Young 3ade857c7b Honour parent symbol's transform when over-plotting pins. 2024-04-08 14:26:48 +01:00
Jeff Young 1d753e0850 Respect showHiddenPins and showHiddenFields flags when plotting. 2024-04-08 13:32:11 +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 494001ed4c Harmonize more APIs. 2024-04-08 10:10:24 +01:00
Jeff Young 968ca7c5c3 SNR 2024-04-08 10:10:24 +01:00
JamesJ 13038038d9 Remove unused method declaration in SCH_LINE
This is a tidy-up following on from b01796cb
2024-04-07 15:41:54 +00:00
Jon Evans ce846f5c22 Check for bus no-connects in ERC
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13285
2024-04-07 08:50:28 -04:00
Jeff Young 1028a76e4a Harmonize print/plot APIs. 2024-04-06 09:34:56 +01:00
Jeff Young 5dd8747ecb Harmonize mirroring APIs. 2024-04-06 09:34:56 +01:00
Jeff Young c5ed80af52 Harmonize rotate APIs. 2024-04-06 09:34:56 +01:00
Jon Evans 7baccba01c Coverity fixes 2024-04-05 08:16:29 -04:00
Mike Williams e83a82594e net navigator: check for removal from net as well 2024-04-04 15:25:54 -04:00
Mike Williams e1548c0f9a schematic: update highlighting when net changed 2024-04-04 14:10:18 -04:00
Jeff Young 92910d5d0f Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL. 2024-04-04 13:18:55 +01:00
Jeff Young bf2b3b0b0f Deconflict some LIB_TREE_ITEM APIs so they can remain non-const.
(The non-const is required by FOOTPRINT_INFO, which must load
footrpints to get some of the data.)
2024-04-04 13:18:55 +01:00
Jon Evans 1dbe78c68b Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
Jon Evans f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00
Ian McInerney e67eae90e9 Check for read permissions before trying to import schematic file
This will display a better error message to the user, instead of saying
that no plugins to load the file are found (because the plugin tests
will also fail due to being unable to read the file).
2024-04-01 22:00:00 +01:00
Jeff Young 02f6d38fe3 Fix merge error. 2024-03-31 12:59:52 +01:00
JamesJ b01796cb84 Auto-fill new net global / local label names from connectivity
Currently, new global or local net labels are auto-filled with the
net name if the wire is driven by a global or local label. This
currently happens recursively within SCH_LINE. This fix moves this
to determining the driver from the connectivity graph, and removes
the determination from the SCH_LINE code where it does not belong.
2024-03-30 14:33:51 +00:00
Jeff Young 3a430357bc Cut/copy/paste for SCH tables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17335
2024-03-28 14:34:11 +00:00
JamesJ 7cc7f238d7 SCH_SHAPE destructor marked virtual 2024-03-26 22:20:09 +00:00
Ethan Chien 0a89236f19 CLI: Add allegro and pads netlist output format options 2024-03-26 19:58:22 +08:00
Jeff Young f3ce3bc758 Close active cell editor when showing/hiding columns.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17425
2024-03-24 10:09:27 +00:00
Jeff Young a6e2746a08 Rewrite intersheet refs resolution to be sheet-path aware.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17533
2024-03-23 16:50:21 +00:00
Alex Shvartzkop 1c7e3871b5 Fix warning due to unused angle in EasyEDA Pro schematic parser. 2024-03-23 17:51:19 +03:00
Jeff Young 1e6eb652aa Don't show hidden text in symbol previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17526
2024-03-23 12:48:52 +00:00
Marek Roszko 490dbfdf83 Fix build warnings 2024-03-23 08:34:59 -04:00
aris-kimi d7abed2d60 Footprint Chooser dialog: Allow toggle buttons to work simultaneously 2024-03-23 09:48:15 +00:00
Jeff Young 90566eb735 Setup default colors in the COLOR_SWATCHes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17517
2024-03-22 12:41:03 +00:00
dsa-t db12f2af49 Disallow cross-probing when not on Symbol Fields Table Edit tab.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17531
2024-03-21 19:08:23 +00:00
Jeff Young 58df9c96f4 ADDED: Expose units and DeMorgan to properties system.
(Also fixes inheritance bug in LIB_PIN's properties.)
2024-03-21 16:19:55 +00:00
Jeff Young c5c65f23a4 Internationalise pin info when language changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17224
2024-03-21 12:31:04 +00:00
Jeff Young 913e6b47d7 Fix copy/pasta in tooltips.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17515
2024-03-21 12:31:04 +00:00
Marek Roszko 83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04: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
Jon Evans e7b6573717 wxWidgets 3.3 compatibility: properties API 2024-03-20 22:02:40 -04:00
Jon Evans 773d241863 wxWidgets 3.3 compatibility: update enum name 2024-03-20 21:50:44 -04:00
jean-pierre charras 3303c17c9b fix minor compil warning (inused var) 2024-03-19 17:40:04 +01:00
jean-pierre charras f3966371be Simulation: add export current plot to clipboard and current schematic
These exports are in file menu.
2024-03-19 17:05:55 +01:00
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
2024-03-18 22:21:01 +00:00
JamesJ 2311eed08a Add new ERC rule to check for global labels with only one entry in the schematic
By default this rule is set to ignore to provide continuity for those using
single global labels to name nets (e.g. in simulation)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13212
2024-03-17 23:24:43 +00:00
Wayne Stambaugh 797ab998cc Maintain hierarchy navigator expansion state between edits.
Prevent the hierarchy navigator from being rebuilt unless there are actual
sheet changes that would cause a change to the tree.

Save the tree expansion state before rebuilding the tree and then restore
the expansion state to the previous state sans edits.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16635
2024-03-17 09:02:26 -04:00
Jeff Young 383dbd983a Don't skip transitions from netclass to empty. 2024-03-16 19:46:48 +00:00
Jeff Young a6e8370ddd Pin names drive netnames. 2024-03-16 19:26:26 +00:00
Jeff Young 17a93adb30 Netclasses also must be computed in connectivity updates. 2024-03-16 19:24:25 +00:00
Jeff Young 116908c088 Formatting. 2024-03-16 12:00:15 +00:00
Jeff Young e30b6398b7 ADDED: optional PDF metadata from AUTHOR and SUBJECT variables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17289
2024-03-14 17:40:04 +00:00
jean-pierre charras c27eade01e Symbol Editor: do not allow to select fully invisible pins and fields
Of course, invisible pins or fields shown by using option Show invisible
pins or Show invisible fields can be selected.
2024-03-14 10:01:58 +01:00
jean-pierre charras 4f4d9be8d1 Symbol Editor do not display bounding box of invisible pins and fields 2024-03-13 17:46:14 +01:00
Wayne Stambaugh eddf4883b6 Minor dialog layout improvements. 2024-03-13 11:45:33 -04:00
Jeff Young dac16a02cc Default is a valid netclass, even if it's not in m_NetClasses.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17388
2024-03-13 15:30:07 +00:00
Wayne Stambaugh 33566f88a9 Clean up debugging output accidentally left in previous commit. 2024-03-13 10:48:44 -04:00
Wayne Stambaugh 0ff8d21459 Fix broken paste special keep existing symbol annotations.
This was only broken for symbols on the sheet where the symbols were
copied from.  The symbol annotation for all sub-sheets was preserved.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17231
2024-03-13 09:39:41 -04:00
Jeff Young 7341d4bf37 Update m_LastLegendPosition after setting dirty bit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17411
2024-03-13 10:39:03 +00:00
Jon Evans b190f21b6c Remove close buttons from schematic AUI
Harmonizes with PCB editor

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17415
2024-03-12 19:51:27 -04:00
Jeff Young 628ec858a6 Label netlist exporters.
(Particularly useful for those that have no other settings and
otherwise look blank.)

Also replaces "Generator" terminology as it's a bit confusing
(and will only get more confusing with PCBNew Generators).
2024-03-12 17:47:24 +00:00
Seth Hillbrand 0f57d76ecd Clean and standardize cross-probing action
Between schematic and pcb editors, we want the following actions:

- Single click on ERC/DRC item should show the item in the ERC/DRC
  window.  But if the window is not visible, it should only update the
  status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
  as well as select the line item

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
2024-03-11 17:50:44 -07:00
Jeff Young d083593177 Table bug fixes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17399

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17398
2024-03-11 22:58:12 +00:00
Wayne Stambaugh 865225fcca Use correct value field text when importing Eagle schematic symbols.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17130
2024-03-11 15:19:32 -04:00
Jeff Young ed61c5593f Don't show normal cut/copy/paste items in Signals grid.
(Do allow a copy of signal names though.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17395
2024-03-11 18:14:38 +00:00
Jeff Young 73f94175de Formatting. 2024-03-11 17:46:09 +00:00
Jeff Young 9281561938 Fix include paths and merge conflicts. 2024-03-11 12:11:00 +00:00
Michal Grzegorzek 25abba7432 Add XSPICE node/port modifiers: %d [ ~ ] etc. 2024-03-11 12:03:37 +00:00
jean-pierre charras 64812d3fe6 DIALOG_ERC: fix crash when set to ignore a an ERC violation.
If a ERC violation is set to ignore, all corresponding markers are deleted.
But if one of these markers is selected, a crash happens.
Now all selected objects are deselected before deleting markers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17375
2024-03-11 10:17:11 +01:00
Jeff Young fbc433deaa Make sure to initialize cell start location.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17379
2024-03-10 21:49:54 +00:00
Jeff Young 9602151d6c Fix typo in SelectRows().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17378
2024-03-10 21:06:43 +00:00
James J bf7896a0e1 Add option to preserve custom power flag values in Update Symbols from Library dialog 2024-03-10 18:32:00 +00:00
ecorm 4dcd1fb8e2 Fix formatting from simulator X/Y zoom changes 2024-03-10 12:43:18 +00:00
ecorm 16de0a666c Horizontal/vertical zoom for Simulator plots
ADDED: Horizontal/vertical zoom for simulator plots, via mouse wheel,
toolbar buttons, menu commands, and hotkeys.

ADDED: Simulator preferences panel, populated with mouse wheel
and trackpad settings that control pan and zoom of simulator plots.

ADDED: Zoom In/Out Horizontally/Vertically commands that can be bound
to hotkeys.

CHANGED: Simulator plot scroll wheel gestures are no longer hard-coded
and can now be configured via the new Simulator preferences panel.

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

Other unreported bugs that were fixed:

- Fixed wierd, jumpy simulator plot view limiting behavior.

- Fixed Zoom In Center and Zoom Out Center commands not preserving
  the simulator plot center point.

- Fixed simulator plot nudging when exported as PNGs.

- Fixed rectangular selection zoom being able to exceed simulator plot
  view limits.

Notes:

- Provided new SIM_PREFERENCES struct to be used for future
  simulator preferences set via the simulator preferences dialog.

- Bundled pre-existing EESCHEMA_SETTINGS::SIMULATOR settings into
  EESCHEMA_SETTINGS::SIMULATOR::VIEW.

- Replaced mpWindow::EnableMouseWheelPan with more general
  SetMouseWheelActions.

- Refactored and tidied up wxMathPlot's mpWindow code involved with
  fitting, zooming, and panning.

- Consolidated long lists of duplicated member variable initializers to
  a new mpWindow private delegated constructor.

- Provided provisional Zoom In/Out Horizontally/Vertically toolbar
  icons that need improvement by a graphics designer.

- Provided gitignore entries for the Qt Creator IDE
2024-03-10 12:43:18 +00:00
Jeff Young 1bf24da385 Schematic editor Table Properties and commenting for QuasiModal usage. 2024-03-10 12:18:50 +00:00
Jeff Young a12d79cd13 Performance improvements for multi-page dialogs. 2024-03-10 12:18:50 +00:00
Yon Uriarte e824e5a267 Compiler warning: C4555 result of expression not used 2024-03-09 17:11:38 +00:00
Jeff Young 72ba31ba27 Pass symbol's netlist to footprint preview widget.
This allows us to show the pin functions on the corresponding
pads.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17349
2024-03-09 15:01:59 +00:00
Marek Roszko cb01bca1f4 Add PADS netlist format export 2024-03-09 10:00:46 -05: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
jean-pierre charras 5ac8449e1f Minor compil and Coverity fixes 2024-03-06 13:05:21 +01:00
Jon Evans 4bc69183ab Set description on Altium imported symbols
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16943
2024-03-05 23:08:11 -05:00
Jon Evans 1600d8bead Prevent use-after-free of symbol screens
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17204
2024-03-05 22:53:51 -05:00
Jon Evans c1ba07e6bc SelectAll should use the filter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17157
2024-03-05 18:27:51 -05:00
Jon Evans 1988aac2b3 Update a few more list/tree views for macOS 2024-03-05 08:38:46 -05:00
Ethan Chien 8cda72f8d5 Fix defects reported by Coverity scan introduced in !1765
Corrects lifetime performance issue where extra copies of SCH_SHEET_PATH objects were being passed on the stack.
2024-03-04 19:45:05 +00:00
Yon Uriarte 62c961b8ba Performance Mitigate "Edit all symbol fields" dialog slow closing.
GetSymbols will return all symbols. Call it once and cache it.
2024-03-04 19:41:01 +00: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
Alex Shvartzkop c056ef407a EasyEDA Std: support multiple schematic sheets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17219
2024-03-04 15:09:31 +03:00
Alex Shvartzkop cc181df916 EasyEDA Std: support Dot and Clock symbol pin styles. 2024-03-04 15:09:31 +03:00