Commit Graph

10951 Commits

Author SHA1 Message Date
Wayne Stambaugh 50ec069a01 Fix build warnings. 2023-10-12 10:10:09 -04:00
Wayne Stambaugh 5d6ef69726 Coding policy and Doxygen comment fixes. 2023-10-12 09:36:28 -04:00
Alex Shvartzkop b0f4adf052 Improve borderless items logic in schematic plotting. 2023-10-12 08:40:37 +03:00
jean-pierre charras 97fe27350f symbol_checker: add more tests to validate the ssymbol.
especially, null sized rectangles and circles are tested.
2023-10-10 18:31:10 +02:00
Jeff Young 8c017be24a Clearer naming. 2023-10-10 15:43:45 +01:00
Wayne Stambaugh 9ff8d02e60 Symbol library manager object changes.
* Fix issue handling symbols with multiple inheritance.
* Remove unused code from the symbol library manager object.
* Splits out the library buffer and symbol buffer object so the can be unit
  tested without having to mock the symbol library manager object.
* Add unit tests for library buffer and symbol buffer objects.
2023-10-09 14:58:49 -04:00
Alex Shvartzkop 21adc0aac5 ADDED: Import vector graphics into Schematic editor (SVG, DXF). 2023-10-09 07:04:50 +03:00
Alex Shvartzkop 60d069757a ADDED: Import vector graphics into Symbol editor (SVG, DXF). 2023-10-09 07:04:50 +03:00
Jeff Young 4d0ee276e8 Suppress "File: " when we're showing the Sheetfile field name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15637
2023-10-07 10:41:02 +01:00
Jeff Young b161105fce Fix assertion failure in bus alias dialog. 2023-10-06 21:41:16 +01:00
Alex Shvartzkop f197882f78 Enable translations for "Open cancelled by user." in some sch plugins. 2023-10-06 15:35:58 +03:00
jean-pierre charras e48256d41a DIALOG_SYMBOL_FIELDS_TABLE::OnExport(): better error messages. 2023-10-06 13:50:59 +02:00
Seth Hillbrand d6c3f4d190 Protect against subgraph loops
Optimize the subgraph processing to avoid repeated loops when multiple
items belong to the same subgraph.

(cherry picked from commit 75de21314c)
2023-10-05 09:20:26 -07:00
jean-pierre charras 706b42e6f2 SCH_COMMIT: when clearing all item flags, do not clear all item flags.
If a item is selected, its SELECTED, STARTPOINT and ENDPOINT flags cannot be cleared,
and must be still selected after changes to allow more move, rotate... commands.
Fix to previous commit 741c6f2d
2023-10-05 16:46:20 +02:00
Jeff Young 31c488bc23 NETINFO_ITEMs are owned by BOARD.
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Jeff Young e9bdfe7210 Save trace colors during session.
My first thought was to move the color out of the TRACE, which is
really a view object.  However we can't make signals a first-class
citizen either, because they change depending on what the current
simulation tab is and so (for instance) we can only load in the
workbook signals for the current tab.  Hours later I backed it all
out and arrived at this simpler, less "correct" solution.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14231
2023-10-04 17:13:08 +01:00
Jeff Young ed4d66e76b Remove dead code. 2023-10-04 17:13:08 +01:00
Franck Jullien c010c7b0ea eeschema: add 'Already placed' category when choosing symbol 2023-10-04 10:29:22 -04:00
Jeff Young 979942e31a Output fields in both multi-unit and single-unit cases.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15811
2023-10-03 17:38:26 +01:00
Jeff Young 95f05ee869 Fix copy/pasta. 2023-10-03 17:14:21 +01:00
Jeff Young 9f5e583ced Readability. 2023-10-03 17:14:03 +01:00
Jeff Young 9b60e99660 Use wxSTAY_ON_TOP instead of wxFRAME_FLOAT_ON_PARENT for choosers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15808
2023-10-03 14:49:50 +01:00
Jeff Young 6fbbf981f0 Handle justification when hit-testing fields.
This steals the algo used in SCH_PAINTER to get the right coords
for the text.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15722
2023-10-03 14:36:13 +01:00
Jeff Young 0c055e15b7 Keep user-defined signals separate.
They can't be plotted till the end of the sim.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15803
2023-10-03 12:59:49 +01:00
Jeff Young 827942c560 Clarity. 2023-10-03 12:59:49 +01:00
Jeff Young 2dfdf0682f Don't ask for empty data. 2023-10-03 12:59:49 +01:00
jean-pierre charras a60411b159 Fix a few compil and Coverity minor warnings. 2023-10-03 08:22:03 +02:00
Marek Roszko 5759823ca0 Move JOB_EXPORT_SCH_PLOT to kicommon horribly pending further refactor of plotting 2023-10-02 20:48:26 -04:00
Jeff Young a3d83cdb6d Pass symbol netlist from Field Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15806
2023-10-02 23:41:06 +01:00
Jeff Young 06446bb80e Only expand lib tree when filtering. 2023-10-02 16:24:53 +01:00
Mike Williams 532ac6992a Fields: make sure footprints get a footprint
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15796
2023-10-02 11:02:10 -04:00
Jeff Young 003acbd686 Clear render caches before plotting.
Also fixes a bug where text variables in LIB_TEXT weren't getting
expanded when plotting.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15765
2023-10-02 15:39:14 +01:00
Marek Roszko 6d3b846eb5 Add more missing destructor event cleanups 2023-10-02 07:22:00 -04:00
Jeff Young cf02bb171f Expose exclusion flags in search pane.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15776
2023-10-01 22:46:34 +01:00
Jeff Young a82a007301 Allow user to affect width of field names column.
Without this there's no way to re-adjust the column width when new
items are added.  Doing more auto-sizing would be another option,
but at some point we have to stop trying to be smarter than the
user.  (And the resize algo already has bugs on Mac causing us to
make the column too short for "${ITEM_NUMBER}" for some reason.)
2023-10-01 20:47:47 +01:00
Marek Roszko c5471bbe9f Gracefully handle unknown schematic formats
Fixes KICAD-400
2023-10-01 10:32:33 -04:00
Marek Roszko bfbba632df Guard GetModificationTime with IsValid otherwise it'll return based on INT64_MIN.
Fixes KICAD-3Z0
2023-10-01 09:43:09 -04:00
Alex Shvartzkop dca964092f EasyEDA Std: import schematic images. 2023-10-01 16:21:31 +03:00
Alex Shvartzkop 979274af7c EasyEDA Std Schematic: import net ports as global labels. 2023-10-01 16:21:28 +03:00
Marek Roszko 0fc3f20e4d Fix assert from IsPower in search_handlers.cpp
Fixes KICAD-2C6
2023-10-01 09:20:19 -04:00
Thomas Pointhuber 7005dd7c48 altium: make special string parsing on pcb a bit more generic
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Jeff Young 34769cec63 Filter line-endings from single-line Scintilla editors.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15793
2023-10-01 14:04:45 +01:00
Thomas Pointhuber 3b3e4fd34a Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons 2023-10-01 13:58:38 +02:00
Jeff Young a475b01a90 Remove ic parameter from voltage-controlled sources.
It was never supported by ngspice (or LTspice or pspice).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15787
2023-10-01 12:16:25 +01:00
jean-pierre charras b227f9de61 Eeschema: fix a crash when loading a schematic if a symbol in a sheet has
a lib_name containing {slash} instead of /
(related to commits #2f51d22b and b2bf28f5)
Fixes #15791
https://gitlab.com/kicad/code/kicad/-/issues/15791
2023-10-01 09:56:22 +02:00
Jeff Young bbfe01d4c6 Write out datasheet & descr in fields as well as top-level elements. 2023-10-01 00:36:39 +01:00
Marek Roszko 2f2c8b9414 Fix printf assert
Fixes KICAD-41B
2023-09-30 15:38:23 -04:00
Jeff Young 423a5b9961 Fix format string specifier. 2023-09-30 17:38:44 +01:00
jean-pierre charras b2bf28f559 Eeschema: fix a crash when loading a schematic if a symbol in a sheet has
a lib_id containing {slash} instead of /
(related to commit #2f51d22b)
Fixes #15791
https://gitlab.com/kicad/code/kicad/-/issues/15791
2023-09-30 18:21:18 +02:00
jean-pierre charras 7bc2d69ab7 Fix a typo and a Coverity warning 2023-09-30 18:17:09 +02:00
Jeff Young e1c51ed192 A few performance improvements from profiling.
Most of them are very small; the removal of the Fracture() in
DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones() is the only
significant one.
2023-09-29 21:54:59 +01:00
Jeff Young fa11e9138d ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Jeff Young b592a6634e Cleanup. 2023-09-29 00:13:13 +01:00
Jeff Young 974da4ea7c Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Jeff Young 23033451b1 Cleanup. 2023-09-29 00:13:12 +01:00
Mike Williams 49a8c9eb8d Schematic: pin helpers, add wiring tool 2023-09-28 15:07:11 -04:00
Wayne Stambaugh 2f51d22b3a Fix schematic editor crash when updating symbols.
Some how symbol names that still have escaped '/' character get mixed with
symbol names that have '/' characters now that it is no longer an invalid
LIB_ID character.  This was causing derived symbols to loose the link to
the parent symbol.  This fix replaces any instances of "{slash}" with "/"
to convert symbol names to the proper escaping.

Thanks to JP for the inspiration for the fix.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715
2023-09-28 14:30:15 -04:00
Mike Williams 5f88c132c9 Schematic: add pin helpers menu (quickly breakout pins) 2023-09-28 11:44:52 -04:00
Matthias Breithaupt be9e4c79ee CLI: Sanitize filename when exporting symbol as svg
When using symbol names as filenames, invalid characters and
characters that might be mis-interpreted (e.g. '/') have to be
removed from the name to prevent unexpected behavior.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15751
2023-09-28 13:02:47 +00:00
Marek Roszko 8c6899b0d3 Tear out the eeschema conditional compile of PROJECT 2023-09-27 23:05:30 -04:00
Jon Evans 017dafc8e3 Just use \n for newline
Fixes issues with extra blank lines in CSV on some platforms
2023-09-27 15:46:23 -04:00
afkiwers c97db9b6c4 fixed for field duplication
This removes case-sensitivity when mapping.
2023-09-27 18:12:39 +00:00
Jeff Young 1047130046 Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME.  The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.

Retire FOOTPRINT_VIEWER_FRAME_MODAL.  FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
Mike Williams 0000fcbe50 Schematic Setup: add BOM Preset importing 2023-09-27 09:14:25 -04:00
Mike Williams cb115189f6 Symbol Fields Table: menu shortcut should start in edit tab
The BOM shortcut goes to Export, this makes them symmetrical.
2023-09-27 09:14:25 -04:00
Seth Hillbrand 12ebb2bbfa Set pinmap after updating pins
When duplicating and existing symbol, we must set the pins before
setting the lib symbol as the lib symbol will generate a pin map that
will be broken by the shift to new pins

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15728
2023-09-26 11:31:16 -07:00
Jeff Young 54171ec030 Add action for switching to Project Manager.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Jeff Young aab0696bb6 Zoom undo/redo for simulator.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14580
2023-09-26 13:19:41 +01:00
Marek Roszko 37e8a008ab Remove obsolete config_params.h includes 2023-09-25 20:40:29 -04:00
Jeff Young 92cbd0f599 Allow Never Show Rescue Symbols to be turned back off.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15733
2023-09-25 23:58:15 +01:00
Jeff Young bf493f32f5 Nullptr safety for various panels.
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Jeff Young 7835b8ddc7 Bring various appearance managers into line over preset editing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15726
2023-09-25 12:35:54 +01:00
jean-pierre charras 938001250d SCH_SEXPR_PARSER: fix missing init of pixels size in internal units.
(the pixel size was the default for 300PPI, so the bounding box was incorrect
for images not using 300 PPI)
Avoid also magic numbers in SCH_BITMAP code.
2023-09-25 12:06:23 +02:00
Seth Hillbrand 91450c22cc Allow disambiguation menu configurability
Adds an advanced config flag to all testing different values for
different users.

Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Andre Iwers f2fdf0f3df httplib: add support for exclude attributes
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15720
2023-09-24 13:37:01 +00:00
jean-pierre charras 741c6f2d55 SCH_COMMIT: when clearing all item flags, do not clear SELECTED item flags.
If a item is selected, its SELECTED flag cannot be cleared without managing
selections stored in tools, and must be still selected after changes.
Fixes #15671
https://gitlab.com/kicad/code/kicad/-/issues/15671
2023-09-24 11:07:04 +02:00
Marek Roszko 121ea99824 Move the settings path to PATHS to allow shifting other classes into kicommon 2023-09-23 20:06:58 -04:00
Marek Roszko f8e33be07f Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
Jeff Young 1fd3f4e375 Handle read-only libraries when saving symbol from canvas.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15519
2023-09-23 14:34:54 +01:00
Jeff Young 463e7c3b30 Improve performance & responsiveness of sim updates.
The x-axis only needs to be fetched once per update.  Same for
redrawing the screen.  And there's no reason to fetch more y data
than we have x data for (which happens to subsequent traces as
the sim is still running as we're updating).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-22 21:40:52 +01:00
Seth Hillbrand bdb7b99fc8 Don't destroy the pin cache in symbols
SCH_PIN pointers are used through KiCad and removing them without a
global refresh risks crashes.  A safer approach is to simply reuse the
SCH_PIN structures, updating the data to the revised library

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715
2023-09-22 11:28:30 -07:00
Seth Hillbrand b837aa823c Disable non-KiCad import for project-mode
Adds warning if project schematic contains data

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15570
2023-09-22 09:21:56 -07:00
jean-pierre charras a6e883327a Fix typos (paste issue?) in SCH_TEXT::FlipHJustify() and SCH_TEXT::Rotate90().
Fixes #15708
https://gitlab.com/kicad/code/kicad/-/issues/15708
2023-09-21 16:12:36 +02:00
jean-pierre charras e152f97f35 Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp 2023-09-21 11:33:29 +02:00
Seth Hillbrand 16324facaf Use kicad_algo when possible 2023-09-20 10:32:37 -07:00
Jeff Young 2f475d99dd Don't update signals and measurements for each refresh.
We only need to do them on the final refresh.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Jeff Young 1ff279bf72 Don't auto-adjust time axis while sim is running.
Just use start and end time.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Mike Williams 398a336d91 BOM Generator: redirect BOM buttons to new exporter
Also add legacy generator menu item.
2023-09-20 11:12:03 -04:00
Mike Williams 9541e45502 BOM Exporter: allow using presets from the command line 2023-09-20 10:57:43 -04:00
Mike Williams 6425c5cc1a Symbol Fields Table: fix issues with selecting row of starting selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15684
2023-09-20 09:42:52 -04:00
Mike Williams dd0743d766 Symbol Fields Table: add fixes around preset modifications 2023-09-20 09:42:52 -04:00
Seth Hillbrand 7d12e1c4f5 Fix crash in incremental update and bus conn
We store our connectivity dirty flag with the SCH_ITEM but we generate
SCH_CONNECTION based on the SCH_ITEM and the SCH_SHEET_PATH.  For this
reason, we need to avoid clearing the connectivity dirty flag until
we've finished processing all instances of the SCH_ITEM in the graph

This also means that we need to allow getting the SCH_CONNECTION pointer
even when the connectivity is still dirty (getting SCH_CONNECTION
happens based on SCH_ITEM and SCH_SHEET_PATH, not just SCH_ITEM)
2023-09-19 15:55:19 -07:00
Jon Evans d371bb06ae New macOS installation scripts
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Jeff Young 8672cdb3bd Handle power operating points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15689
2023-09-19 17:37:51 +01:00
Jeff Young ff88ed76f0 Hack to prevent timer event starvation on MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-19 17:04:05 +01:00
Jon Evans 1635df57a3 httplib: code style fixes 2023-09-18 21:37:34 -04:00
Jon Evans 8f6ae8c6b3 httplib: code style / spelling fixes 2023-09-18 21:27:39 -04:00
Jon Evans 75294dc35b Make sure newly-added library rows get parent table set 2023-09-18 21:10:33 -04:00
Andre Iwers 2bcad18cc2 ADDED: HTTP library support
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12027
2023-09-19 01:09:21 +00:00
Seth Hillbrand b52c43b933 Fix some stale pointers in incremental updates
Shared pointers contained stale references to the temporary graph.  When
merging, we need to ensure all references are updated to the final graph
2023-09-18 18:02:41 -07:00
Marek Roszko 22b733209d Fail GAL on its header leaking audit
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
jean-pierre charras a568e4f4d3 Fiw a few compil and Coverity warnings. 2023-09-18 18:15:02 +02:00
Alex Shvartzkop 6b68d2c946 Vertically center combo cells in symbol fields grid. 2023-09-18 17:27:30 +03:00
Alex Shvartzkop 1decd31baf Vertically center wxGrid cells by default. 2023-09-18 17:15:34 +03:00
Alex Shvartzkop 06463fd35a Fixes for Wayland cursor warping:
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
Jeff Young 6f62565093 Handle flipped horiz/vert justifications in FIELDS_GRID_TABLE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15677
2023-09-18 12:38:34 +01:00
jean-pierre charras d02ca968d1 Eeschema: fix crash if using ${FOOTPRINT_NAME} or ${FOOTPRINT_LIBRARY} as values
in fields, if no footprint defined for the symbol.
Fixes #15676
https://gitlab.com/kicad/code/kicad/-/issues/15676
2023-09-18 09:12:12 +02:00
jean-pierre charras 368233d6d7 EEschema: fix incorrect plot of SCH_DIRECTIVE_LABEL graphic shape.
Fixes #15675
https://gitlab.com/kicad/code/kicad/-/issues/15675
2023-09-18 09:07:51 +02:00
Jeff Young e5bce16e31 Don't reset cursor x position during a sim refresh.
The sim may not be complete yet.  And even if it is, the user
didn't ask us to move their cursor.  Just leave it where it is
with an undefined y value.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15672
2023-09-17 19:23:46 +01:00
Jeff Young ef92429ac2 Implement changed notifiers for textvar, netclasses and severities.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Jeff Young be4c89011c Don't confuse "significant digits" with "decimal places".
Also raises the default significant digits for cursors to 3.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15669
2023-09-17 12:42:06 +01:00
Jeff Young c80eb44900 Disentangle IBIS model controls from built-in model controls.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13855
2023-09-17 12:42:06 +01:00
jean-pierre charras 79590c6372 Allows new items SCH_NO_CONNECT_T and SCH_BUS_WIRE_ENTRY_T to be repeated.
Fixes #15668
https://gitlab.com/kicad/code/kicad/-/issues/15668
2023-09-17 09:37:34 +02:00
Seth Hillbrand d0f37ee55e Prevent double connectivity calculations
The schematic cleanup will call the connectivity calculation but we
don't want this second call, so we store the change in a dummy commit
and discard it when we're done.
2023-09-16 19:42:54 -07:00
Seth Hillbrand df90409a94 No flags should persist through the commit 2023-09-16 19:42:54 -07:00
Marek Roszko d3e5517bfb Move python_scripts up one folder in eeschema 2023-09-16 20:24:41 -04:00
Seth Hillbrand 9fc45eb08c Properly handle incremental bus connections
- Incremental extraction needs the newly created items.  The modified
  items are already set in the connection graph but the newly created
  items don't exist yet, so we need to add those explicitly
- Bus parents need to ensure that the bus children exist because we
  iterate on the updates from the top of the graph down
2023-09-16 12:45:04 -07:00
Jeff Young ede542f911 Collect comment lines into following spice unit.
This can't distinguish a header block comment in front of a file
with multiple spice units, and so will include that into the first
unit only.

Also fixes the pin assignments reference textbox to use a
fixed-width font as many .subckt's contain ASCII graphics for
pin definitions (not that it helps any with the test case from
the given bug).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15660
2023-09-15 20:08:45 +01:00
Wayne Stambaugh 5e86ba1abe Fix several library symbol multiple inheritance issues. 2023-09-15 07:24:10 -04:00
Jeff Young 3a1be0f603 Fix wrong path in rescue dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15439
2023-09-15 00:43:07 +01:00
Jeff Young 849a4656c8 Check value-follows-name case in symbol Save As.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15647
2023-09-14 23:56:05 +01:00
Seth Hillbrand 485db8bccd Remove extra nag/grid assertion
When editing the properties, if you accidentally make an extra line, you
should be able to remove the data and have it ignored.
2023-09-14 14:39:51 -07:00
Seth Hillbrand cb1231382f Fix connectivity regression
We have a break somewhere in the connectivity that doesn't fully process
connections but the current code seems to catch these by forcing a
top-down & bottom-up calculation

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14818
2023-09-14 14:39:51 -07:00
Jeff Young 394ab8ccb1 Implement printing and plotting for directive-specific label shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15650
2023-09-14 17:43:22 +01:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
Jeff Young f2c6f25967 Add colors-overridden warning to Symbol Editor's shape properties dialog.
(Note: could be cherry-picked as the strings are all from the
schematic editor.)
2023-09-14 16:53:22 +01:00
Jeff Young d5801a48d3 Process text variables in pin names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15601
2023-09-13 23:34:25 +01:00
Jeff Young 948fea4be8 Nullptr safety. 2023-09-13 23:34:25 +01:00
Jeff Young a63025733a Fix symbol sorting routine to be determinant. 2023-09-12 16:52:47 +01:00
Jeff Young 7d1dbb77c3 Update symbol editor's title bar when renaming the canvas symbol. 2023-09-12 16:52:47 +01:00
Jeff Young ee724f6a2b Only update value on rename if it previously matched the symbol name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15621
2023-09-12 16:52:47 +01:00
Jeff Young 403d7019d5 Save column position of properties panel.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15627
2023-09-12 14:04:12 +01:00
Jeff Young 4a59f0de43 Apply DC voltage source exception to current sources.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15626
2023-09-12 13:45:28 +01:00
Marek Roszko 4ac5404822 Move HTML_WINDOW to widgets folder, also fix some fbps that were wrongly not edited
Somebody manually edited at least 3 files fixed here....so the fbps were wrong
2023-09-11 19:10:16 -04:00
Alex Shvartzkop a2b7bf97b9 Altium schematic: support Line dash styles and colors. 2023-09-11 17:52:21 +03:00
Alex Shvartzkop 1e02c6aa71 Altium schematic: WORDWRAP is false when missing. 2023-09-11 14:18:15 +03:00
Alex Shvartzkop 16062bbe33 Altium schematic: support custom sheet sizes. 2023-09-11 10:02:59 +03:00
Alex Shvartzkop de2b645fc8 Altium schematic: hide power symbol pin. 2023-09-11 10:02:43 +03:00
Alex Shvartzkop 5da4dfd4a7 Work around wxGTK printing offset in eeschema.
Affects landscape Letter, Legal, A4 paper.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1907
2023-09-10 21:53:03 +03:00
Alex Shvartzkop c96b7bb472 Altium import: set units for LIB_TEXTBOX.
Still doesn't work on symbols in schematic for some reason.
2023-09-09 20:30:13 +03:00
Alex Shvartzkop cd9fcc1b87 Altium import: fix arcs in library symbols. 2023-09-09 20:30:05 +03:00
Alex Shvartzkop 946f6e978c Altium sch import: put transparent colors on background too. 2023-09-09 20:30:02 +03:00
Alex Shvartzkop ead44d58a0 Fix bezier curves drawing in schematic/libedit. 2023-09-09 20:28:49 +03:00
Marek Roszko 11de95778b Unwrap the FROM_UTF8 macro in favor of direct function
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko bd3aca2887 Cleanup the kiface dll export declaration slightly
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko ab1a6651a9 send multivector.h and sync_queue.h to core 2023-09-08 07:14:34 -04:00
Marek Roszko 3cd60007c5 Dont leak richio into everything 2023-09-07 22:29:40 -04:00
jean-pierre charras 8aa408f0c9 fix a minor compil warning
fix a typo in translatable string.
2023-09-07 20:00:29 +02:00
Jeff Young a9bfadd71a Fix merge error. 2023-09-07 18:00:04 +01:00
Jeff Young 0310973e3f Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
Seth Hillbrand 3723e9efc1 Remove unused var 2023-09-07 15:35:17 +02:00
Marek Roszko 7505fd0f37 Profile can live in core 2023-09-07 07:47:01 -04:00
Alex Shvartzkop 21ee65aa9c ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional. 2023-09-07 11:02:40 +03:00
jean-pierre charras ecd8c7e2cc Fix a compil issue (in sch_altium_plugin.cpp) and compil warnings. 2023-09-07 08:53:30 +02:00
Alex Shvartzkop 9457e794fe Fix SCH_BITMAP::ReadImageFile( wxMemoryBuffer& ). 2023-09-07 04:48:59 +03:00
Alex Shvartzkop 69261df022 Add SCH_BITMAP::ReadImageFile( wxMemoryBuffer& ). 2023-09-07 04:45:40 +03:00
Marek Roszko 67b031adab Painter base class should just live in gal instead of being in denial 2023-09-06 20:23:19 -04:00
Josue Huaroto cef0f176d3
Add Unselect all in menu 2023-09-06 23:44:39 +00:00
Marek Roszko 8bcc4e52aa Fix build due to gdicmn removal
My VS build state is in psuedo-outerspace mode atm that this worked before this haha
2023-09-06 18:40:15 -04:00
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Seth Hillbrand 08ffb17489 Only allow parameters for the full lib part in Altium 2023-09-06 19:15:35 +00:00
Seth Hillbrand 25a60fac54 Altium fixes
- Designators and Parameters are shared by all display modes, so don't
  try to extract one, just place the elements on them all
2023-09-06 19:15:35 +00:00
Seth Hillbrand 468beb5a05 Handle font sizes in Altium libs 2023-09-06 19:15:35 +00:00
Seth Hillbrand 893ebdd016 Adding additional Altium features
- Allow pins to be hidden
- Force backgrounds that overlap items to be in the background
- Include footprint information from Altium libraries
- Handle ellipses more intelligently
- Altium hairline treated as 1mil line (not 100nm)
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1555b207a8 Add PIN_NAME and PIN_NUM to the layer ordering
This ensures that pin names/numbers are shown above the graphics
2023-09-06 19:15:35 +00:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 3bd745ee15 Add support for Altium ellipses
Not really ellipses but instead, use two arcs to simulate
2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00:00
Seth Hillbrand f9b745f3d2 Allow multiple format image saving
- Keep original image data.  When loading JPEG, this avoid recompression
  that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Jeff Young c07e9c834f Validate new footprint / save as footprint info before exiting dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Jeff Young 7a2a2e2df0 Remove error-prone SetReporter() API. 2023-09-06 11:37:50 +01:00
Alex Shvartzkop ee2f954bbe Revert "Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow."
This reverts commit 26f398a4b1.
2023-09-06 08:02:01 +03:00
Marek Roszko 4fe7c7a902 Prevent crash trying to load missing spice lib 2023-09-05 21:13:29 -04:00
Jeff Young 634524dde5 Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
jean-pierre charras cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
Alex Shvartzkop a3df8f8a97 Better drawing precision for LIB_SHAPE arcs. 2023-09-05 14:07:46 +03:00
Alex Shvartzkop a5a93f808e Populate symbol library type choices from SCH_IO_MGR list. 2023-09-05 07:19:15 +03:00
Marek Roszko b566f994bb
Flip the RegisterSettings order to avoid legacy import crashes
(cherry picked from commit 32c2135047)
2023-09-05 03:23:07 +00:00
Marek Roszko a2522a2230 Don't call .Load() and cause settings to reload from disk
RegisterSettings can load the new settings json as added by not turning off the load now parameter
2023-09-04 22:42:00 -04:00
Jeff Young 9999ac5662 Generate NC-pin errors when connected to other items.
Also removes the NC row in the pin map as it hasn't been used since
6.0 (see #1826).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15558
2023-09-04 17:27:39 +01:00
Jeff Young d593257fbd Honour override-individual-item-colors setting for filled shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15572
2023-09-04 14:26:39 +01:00
Jeff Young fe0fb92441 Reduce visual clutter in GAL display options. 2023-09-04 13:06:46 +01:00
Jeff Young c2057ba1bc Don't use Clone() for duplicating. It returns the same UUID.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Jeff Young f39bc64212 Show grey background in pin table for pins with no alternates defined.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14030
2023-09-03 15:34:18 +01:00
Jeff Young a72df46200 Show grey background in pin table for pins with no alternates defined.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14030
2023-09-03 15:34:18 +01:00
Marek Roszko fb8d52f19e kicad-cli: Remove -O for plot and add --pages to specify list of pages instead
--pages 1 is equivalent to -O

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15402
2023-09-03 09:18:11 -04:00
Wayne Stambaugh f8cb239f40 Fix symbol library save issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15561
2023-09-03 09:11:06 -04:00
Jeff Young 61bcf46ffe Don't show preview for lib-item loaded on to canvas. 2023-09-03 12:07:09 +01:00
Jeff Young e6b0a6abca ADDED: lib tree previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Alex Shvartzkop 5bb89b300f SVG lib symbol import: fix AddLine. 2023-09-02 19:17:27 +03:00
Jeff Young f6e238dc3f Add items to repeat_items after paste (or duplicate).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15556
2023-09-02 11:56:52 +01:00
Jeff Young 68c839b214 Stop trying to zero-out offset of custom-shaped pads.
It causes *way* to many issues.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15555
2023-09-01 18:48:46 +01:00
Jeff Young f3f57f77d9 Use STD_BITMAP_BUTTON for change symbols dialog. 2023-09-01 18:48:46 +01:00
Marek Roszko f357e79f77 Add --define-var / -D to the cli opts for some commands
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Marek Roszko b542539546 Add --drawing-sheet arg for various cli commands for overriding the project sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
Jeff Young 377ffb00b0 Re-run autoplacement after symbol replacement (when appropriate).
Also prevents an internal wxWidgets assert by clearing grid
selection before deleting rows.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15541
2023-08-31 23:28:59 +01:00
Seth Hillbrand c2fd2f42eb Update TestDanglingEnds to O(n) speed
The elements don't care which they connect to, so don't search for
points on the page, just collect them all and then test them all

Adjusts f3dd5b73
2023-08-31 15:31:48 +00:00
Jeff Young cb003d8ab4 Don't count pins of both De Morgan variants when matching to footprint pads.
(And remove un unused variable from grid settings dialog.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15550
2023-08-31 11:36:39 +01:00
Marek Roszko 87513b4a04 Change the sentry dsn to be build time defined
We ultimately don't want people running personal builds to turn on sentry and start sending us crash logs we can't decipher
2023-08-30 22:17:38 -04:00
Alex Shvartzkop e128896ba6 Schematic plugins refactoring, fixes for PCB plugins.
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Alex Shvartzkop 7428f3d452 Fix LTspice in ShowType / EnumFromStr. 2023-08-31 04:59:37 +03:00
Mike Williams b8a61719c3 Grids: make overrides use existing grids (choice box) 2023-08-30 13:33:04 -04:00
Mike Williams b1a388ca69 Grids: Support X and Y for all grids, add optional names 2023-08-30 11:22:19 -04:00
Jeff Young 7a8d903412 ADDED: align elements to grid for Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15524
2023-08-30 15:45:31 +01:00
Jeff Young d74e9ba040 Support SHORT_NET_NAME(pin_number) and friends on symbols.
While it's of debatable use in the schematic, some users want to
author them there so that they're then copied onto the board.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15544
2023-08-30 11:43:35 +01:00
Jeff Young ace394aab9 Minor cleanup. 2023-08-30 11:09:11 +01:00
Jeff Young 1eaadf7c7f Clean up pin text plotting code and update print code to match.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15501
2023-08-30 10:56:04 +01:00
Jeff Young 30a6d33177 Better fix for primary param in value field with other params in params field.
(Replaces 2c8178829982c6e15e443b5a7868b8c953d5126f.)
2023-08-30 00:53:01 +01:00
Jeff Young 86f96d544b {slash}-to-/ comparison special-cases need to run both ways.
(The library may be legacy format, or the document may be.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15540
2023-08-29 18:29:49 +01:00
Jeff Young e0b2202e77 Improve naming for alternate pin fuction assignments. 2023-08-29 18:07:27 +01:00
Jeff Young 9fae110031 Make sure copied SCH_PINs get their LIB_PIN pointers set.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15536
2023-08-29 12:29:41 +01:00
Jeff Young d7a3c35f56 Repair over-zealous application of grid origin dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15537
2023-08-29 12:21:21 +01:00
Jeff Young 6f1a41f810 Repair over-zealous grid change.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15526
2023-08-29 12:16:06 +01:00
Jeff Young c3d6fecccc Update pin plotting to match pin painting.
(In particular, we moved the number to the top when the name is
not shown, but forgot to update the plotter.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15501
2023-08-29 11:17:35 +01:00
Seth Hillbrand b43f037a91 Better handle many (MANY) duplicate refs
In large designs with thousands of duplicate elements (e.g. power
symbols), we need to be smart about vector management.  Removing all but
the first few items should be batched and not element at a time

Ref: KSC-885
2023-08-28 17:05:09 -07:00
Jeff Young f6a901f84a Attempt to fix ctrl-enter from parameter grid on MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15244
2023-08-29 00:09:18 +01:00
Seth Hillbrand 9636321c09 Simplify logic when setting field vector
Previous logic could get stuck in infinite loop if removing element from
the middle of the vector

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15498
2023-08-28 15:26:19 -07:00
Roberto Fernandez Bautista 18e6fa6a53 Fix nullptr exception in cadstar sch plugin
Fixes KICAD-30E
2023-08-28 20:49:42 +02:00
Roberto Fernandez Bautista ae05bf723e Symbol Library Table: Convert CADSTAR and other non-current Symbol Libraries
Anything other than database libraries and kicad s-expr libraries should be converted
2023-08-28 20:49:42 +02:00
Jeff Young 2c81788299 HasAutofill should not preclude a primary parameter in the value field 2023-08-28 17:44:45 +01:00
Jeff Young f12c3bb6ff Align sheetpins to grid even when parent sheet is already on grid.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-28 16:35:04 +01:00
Wayne Stambaugh e4feb8826b Coverity issue fixes. 2023-08-28 09:29:56 -04:00
jean-pierre charras f4bf3bf611 Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag.
Replaced by our equivalent FN_NORMALIZE_FLAGS flag.
Fix also a typo in a string.
2023-08-28 14:37:15 +02:00
Jeff Young 10ed1d1a7f Save ERC settings (including exclusions) when saving file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15274
2023-08-28 13:27:57 +01:00
Jeff Young 4325f4e038 ADDED: alternate pin functions in context menu.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12852
2023-08-28 12:51:41 +01:00
Roberto Fernandez Bautista 0e1baa6fef CADSTAR Parts Libraries: Correctly handle relative paths to .csa file 2023-08-27 20:52:46 +02:00
Roberto Fernandez Bautista 7037076360 Symbol Library Table: Show CADSTAR Parts Libraries in file selector
Even if same extension, it is good to display it as a way of showing what
we support
2023-08-27 20:52:45 +02:00
Jeff Young b5dc9ddbe0 Don't store address of temp object.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15517
2023-08-27 19:12:36 +01:00
Jeff Young a470cab7b2 Include description for page settings command. 2023-08-27 19:03:17 +01:00
jean-pierre charras 15f5a14217 Fix minor compil warnings 2023-08-27 11:11:08 +02:00
Jeff Young 7f14b70ac3 Formatting. 2023-08-26 22:43:00 +01:00
Jeff Young 2d630a3c75 Remove useless assert. 2023-08-26 22:43:00 +01:00
Jeff Young 949458bbe1 Don't presume all cached glyphs are outline glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15508
2023-08-26 16:12:28 +01:00
Jeff Young 468da441e5 Allow junctions to connect to labels.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15496
2023-08-26 16:00:13 +01:00
Jeff Young 4fefd95e0c Move grid definitions to Prefs and grid origin to a separate dlg.
Grid origin is document-wide, while grid definitions are app-wide.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
jean-pierre charras b3aa8a0c49 Fix a few (minor) compil warnings. 2023-08-26 09:40:09 +02:00
Alex Shvartzkop f071dd1406 Fix a search pane crash when a row isn't in the hit list.
Fixes KICAD-Q7
Fixes KICAD-1A6
2023-08-25 23:24:32 +03:00
Wayne Stambaugh 1db9febcfe Remove duplicate references from change symbol dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15480
2023-08-25 14:08:21 -04:00
Alex Shvartzkop 26f398a4b1 Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow.
It could've been set to point to local variable "reporter" in loadLibrary.

Fixes KICAD-15C
2023-08-25 20:59:56 +03:00
Alex Shvartzkop cb3c63b2b1 Fix arc rendering in schematic / symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
2023-08-25 15:42:50 +03:00
Josue Huaroto b224af0d1f Add SCH_TEXT_T and SCH_FIELD_T to Scaled Selection 2023-08-24 16:54:01 +00:00
Mike Williams d00a6b4987 Dialogs: add some margins back for GTK 2023-08-24 12:38:54 -04:00
Jeff Young 0f81dd3b5e Give Grid Settings a more standard KiCad look and feel.
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).

This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams d9c2e0ab54 PCB: start of grid overrides
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams 0f781f328e GRID_HELPER: push code to parent class
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Wayne Stambaugh 0f621f9af9 Fix multiple inheritance deletion bug in symbol library manager. 2023-08-24 07:59:32 -04:00
Wayne Stambaugh 1026596964 Allow symbols to be derived from other derived symbols.
[CHANGED] Symbols can now be derived from other derived symbols removing
          the requirement to derive from root symbols.
2023-08-24 07:59:32 -04:00
Jeff Young a97ba79883 Give Symbol Fields Table GUI a KiCad look & feel. 2023-08-24 11:21:19 +01:00
Jeff Young d1765c3855 Work-around non-functional row-major radio button groups on Mac. 2023-08-24 11:21:19 +01:00
Jeff Young e3b8de9a78 Work-around non-functional row-major radio button groups on Mac. 2023-08-24 11:21:19 +01:00
Jon Evans e118d2fca0 DbLib: Map multiple footprints to footprint filter list
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13587
2023-08-23 19:16:49 -04:00
Seth Hillbrand db8e15ce88 Require wxWidgets 3.2
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Mike Williams 66ed9cfe57 Schematic Editor: apply grid overrides to more tools 2023-08-23 11:31:27 -04:00
Mike Williams a44dd4d88f Symbol Editor: support grid overrides 2023-08-23 10:12:21 -04:00
Alex Shvartzkop 10e2e4a12d Another try at fixing arcs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams f770500bb4 Grids: make user editable 2023-08-21 15:48:25 -04:00
Jeff Young 498b68b8a3 Honour aAllowExtraText flag in LIB_FIELD::GetShownText().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15470
2023-08-21 19:30:20 +01:00
Mike Williams 4e763cd9f2 Schematic: ortho line drag bend lines should respect grid overrides 2023-08-21 10:42:44 -04:00
Mike Williams 8b79ab708a Grid Anchors: don't anchor from graphic lines when moving connectables
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13672
2023-08-21 10:42:44 -04:00
Mike Williams 3d0dc2fc1b Symbol Fields Table: better selection event control
wxGrid changes the selection every time it gets a grid change event so
we need to selectively suppress these.
2023-08-21 08:56:38 -04:00
Mike Williams a9c4534a38 Schematic/Fields Table: handle sheet changes 2023-08-20 16:13:47 -04:00
Marek Roszko 93fa3a17aa Remove plotter.h from one file 2023-08-19 19:01:29 -04:00
Josue Huaroto 08a01bb667 Show warning dialog message when is not possible to create the BOM file. 2023-08-19 21:05:16 +00:00
Jeff Young 6c5ec288a5 Don't unload project out from under someone else.
(Can only currently happen if you import settings from the current
project, but will happen in even more cases once we do MDI.)

Possibly Sentry KICAD-169.
2023-08-18 22:20:09 +01:00
Jeff Young 57d3aef4cd Correct false comments (no functional changes). 2023-08-18 22:20:09 +01:00
Alex Shvartzkop 5131dae568 Graphics import improvements/fixes:
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Jeff Young 85240d590b Remove relative current measurements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-18 13:40:52 +01:00
jean-pierre charras a7e74bf4bc Fix a few minor compil and Coverity warnings. 2023-08-17 20:31:40 +02:00
Jeff Young 684344c45c GUI-created measurements of AC gain signals should be gain, not abs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 17:42:17 +01:00
Jeff Young 981089bbd3 Show correct description and units for AC/SP measurements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 13:32:46 +01:00
jean-pierre charras 53b2fda184 Fix some minor compil and Coverity warnings. 2023-08-17 10:06:17 +02:00
Jeff Young da031792af Add current signals to AC analyses.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15427
2023-08-16 17:24:59 +01:00
Alex Shvartzkop 76e0d5981d Import system refactor for PCB plugins. 2023-08-15 05:26:12 +03:00
Jeff Young ef321e5fcd Un-brighten found text when making a new selection.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15092
2023-08-14 20:38:17 +01:00
Mike Williams e1d5089c74 Symbol Fields Table: handle recursive sheet add/delete/update 2023-08-14 14:19:26 -04:00
Mike Williams 11b469f16a Hierarchy: fix missing page numbers / sheet instances
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15413
2023-08-14 14:19:26 -04:00
Mike Williams dc103b88d1 Symbol Fields Table: make non-modal
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2141
2023-08-14 14:19:26 -04:00
Mike Williams 1c52a60270 Symbol Fields Table: API cleanups for non-modal window 2023-08-14 14:19:26 -04:00
Mike Williams 63690d4a0b Symbol Fields Table: fix broken delete
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15405
2023-08-14 08:42:03 -04:00
Mike Williams 29796fff9e SCH_REFERENCE_LIST: delete unused code 2023-08-14 08:42:03 -04:00
Marek Roszko 5d001d4858 ADDED: ERC over cli....mostly 2023-08-13 20:31:19 -04:00
Marek Roszko f341fde938 Move RecordERCExclusions and ResolveERCExclusions out of the schematic frame 2023-08-13 19:50:05 -04:00
Marek Roszko 50a4a8639e Move ERC test flow to ERC_TESTER::RunTests 2023-08-13 19:44:10 -04:00
Marek Roszko 87d36dbfd8 Fix up erc json a little 2023-08-13 19:19:20 -04:00
Marek Roszko 061d18cbb0 Support json reports as option in erc/drc dialogs 2023-08-13 19:19:19 -04:00
Marek Roszko e842a788db Split ERC report to its own class like drc 2023-08-13 19:19:19 -04:00
jean-pierre charras 52697c9962 Eeschema, search_handlers: fix a typo and a missing type name for Directive labels 2023-08-13 11:30:32 +02:00
jean-pierre charras f0d18adfb2 simulator, TUNER_SLIDER: fix incorrect wxWindow parent.
The TUNER_SLIDER were displayed in the wrong wxWindow.
2023-08-12 08:28:01 +02:00
Jon Evans f70b9920cb Fix some warnings 2023-08-10 22:01:55 -04:00
Alex Shvartzkop 9b2ac10002 LTspice spelling. 2023-08-10 00:31:21 +03:00
Mike Williams 1bc0ceb5a5 Undo/Redo: notify listeners of change events when undo/redoing 2023-08-09 14:32:06 -04:00
Mike Williams 6b2a5f643a Undo/Redo: remove unused NOP type 2023-08-09 14:32:06 -04:00
Mike Williams 2a80b1c32b Undo/Redo: remove unused EXCHANGE_T type 2023-08-09 14:32:06 -04:00
Mike Williams 20fe14c91f SCH_REFERENCE_LIST: add some iterator support 2023-08-09 14:32:06 -04:00
Mike Williams ab1dccd6b3 Symbols: remove dead code 2023-08-09 14:32:06 -04:00
Jeff Young da86593625 ADDED: Implement sorting for search panes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12614
2023-08-09 18:31:33 +01:00
Jeff Young a6bceb8182 Don't set modified when loading workbook.
Also keep a shadow variable of the legend position so we can notice
when the mpWindow's OnMouseMove() handler changes it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15363
2023-08-09 12:09:29 +01:00
Jeff Young 1b080ed02f Get rid of SIM_NOTEBOOK. It's completely unnecessary. 2023-08-09 12:09:29 +01:00
Mike Williams bdecdce1b4 Exclude from Sim: move from field to attribute 2023-08-08 12:36:36 -04:00
Jeff Young 88cb1ed8b5 Show row selections in bus alias and members grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15374
2023-08-08 15:59:16 +01:00
Ian McInerney 1dd92b1bb1 Assign focus to the notebook in the ERC/DRC window after running
After running the ERC/DRC, the window would not get focus returned to it
on GTK naturally unless the user pressed the arrow key. This prevented
the ESC key from closing the window after the run was complete and
nothing else was clicked/pressed.

Instead of pulling focus to the dataview with the errors in it (which
would cause problems in GTK, such as moving the viewport to the first
marker (https://gitlab.com/kicad/code/kicad/-/issues/11925), give focus
to the notebook container instead. This will not select the marker, but
still allow the ESC to propagate into the dialog immediately.
2023-08-08 14:02:54 +01:00
Mike Williams 111d73067d Symbol Fields Table: don't deref non-existant ref 2023-08-08 08:17:43 -04:00
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Ian McInerney c41d78f2d3 Remove incorrect bitmap from action 2023-08-08 00:17:58 +01:00
Ian McInerney c7d2f3f380 Move eeschema actions to new constructor 2023-08-08 00:12:31 +01:00
Jeff Young 7b71e55ab9 Don't allow updates to shown_text outside of cacheShownText().
But also don't use cacheShownText() in c'tors, as it will not call
the subclass's version.
2023-08-07 23:22:09 +01:00
Alex Shvartzkop fc869502f4 Fix symbol properties dialog height when symbol has many pins. 2023-08-08 00:00:52 +03:00
Jeff Young c30bdf9ba8 Implement second-level cache for escaped netnames.
While it's a bit of an encapsulation leak (see comment in
CONNECTION_SUBGRAPH::driverName()), it more than doubles undo/redo
performance in documents with *lots* of nets.
2023-08-07 21:44:04 +01:00
Jeff Young e48a96ecaf Don't call driverName() unless we have a cache miss.
(That is, in fact, the whole purpose of this cache.)
2023-08-07 21:44:03 +01:00
Mike Williams fe32492252 Symbol Fields Table: scope control for limited view of symbols 2023-08-07 15:05:24 -04:00
Mike Williams 6ae8968a5b Symbol Fields Table: add selection controls
Allows cross-probing to other editors.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8188
2023-08-07 15:05:24 -04:00
Jeff Young a7dc720271 Batch undo for Convert To...
Also repairs drawing of dangling symbols for global labels.
2023-08-07 18:38:48 +01:00
Alex Shvartzkop 713d4fc593 Don't crash when symbol editor frame can't load. 2023-08-07 17:20:11 +03:00
Mike Williams 30eae5d896 Fields: preserve field order across sch<->pcb 2023-08-07 09:29:13 -04:00
Mike Williams 25de3e6b33 Fields: synchronize empty fields between sch<->pcb
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15341
2023-08-07 09:29:13 -04:00
Alex Shvartzkop 717ee350c8 Support >180 deg arcs in schematic. 2023-08-07 14:18:38 +03:00
Jeff Young ddbefe13cd Improve default margins. 2023-08-06 20:57:42 +01:00
Jeff Young 5e112ca78e ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
Jon Evans 4c4bbdc8f3 Stricter API for LIB_TABLE
Prevent nickname map or row parent getting out of sync

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
2023-08-06 00:56:51 -04:00
Jeff Young c981c3668a Better handling of dangling markers during bus unfold. 2023-08-05 19:30:13 +01:00
Jeff Young 6cef504d2d Don't consider newly-added labels when looking for terminal items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15313
2023-08-05 18:50:29 +01:00
Josue Huaroto cfa49b5250 Move units labels from ticks to axis label. 2023-08-04 22:41:50 +00:00
Jeff Young d3329a0781 Only re-build the members grid when we have to.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15320
2023-08-04 23:39:47 +01:00
Seth Hillbrand 248404a0d1 Better fix for #15217
Rather than rely on a quirk, we avoid the modified structure

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-08-04 13:58:35 -07:00
jean-pierre charras 8762859c6d Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:35:49 +02:00
Mike Williams 457e58d0d5 Schematic: select connections working for multiple selection
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11022
2023-08-03 11:27:29 -04:00
Mike Williams 22c609fb7b Schematic: handle aligning unaligned sheet pins in aligned sheet
Also fix a rounding bug.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-03 11:11:34 -04:00
Mike Williams 5b335f1c4e Schematic: junctions need to be added to the view before cleanup
Otherwise they aren't considered for breaking segments.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15146
2023-08-03 10:05:19 -04:00
Mike Williams a0d559e884 Backannotation: skip fields that are individually controlled
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15337
2023-08-03 09:09:28 -04:00
Mike Williams c61da43ee2 Coverity: fix copy paste pointless cast 2023-08-03 08:27:12 -04:00
jean-pierre charras 8649a3e340 Eeschema: fix position of shadow shape of graphic texts in a footprint.
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-08-03 13:55:48 +02:00
Seth Hillbrand 0f44876205 Thou shalt not modify the container over which you interate
Lest the memory gremlins are loosed upon the world.

Always use an intermediate container when collecting items to remove.

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

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15321
2023-08-02 15:59:56 -07:00
Jeff Young 686dfba77a ADDED autocomplete for value field in Symbol Properties dialog. 2023-08-02 20:45:52 +01:00
Mike Williams 3428bd8e83 Symbol Fields Table: convert to SCH_COMMIT
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11899
2023-08-02 12:51:33 -04:00
Jeff Young 8ac49d0bab General cleanup, coding standards, removal of dead code, etc. 2023-08-02 16:56:56 +01:00
Jeff Young f897b4bac1 Remove cover routines for std::vector.
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Jeff Young 502b91ba6f Capitalize type names. 2023-08-02 16:56:56 +01:00
Jeff Young f332dba095 Try harder to prevent duplicate axis labels. 2023-08-02 16:56:56 +01:00
Jeff Young 485b768da7 Fix issue with stripping non-trailing '9's from tick labels. 2023-08-02 16:56:56 +01:00
Jeff Young 094a80ce31 Stop adding a new return to a sim command every time we read it.
Also stop moving the legend down 40 pixels every time it's read.
2023-08-02 16:56:56 +01:00
Jeff Young fcc770cad6 Fix bugs in .meas cmd syntax for AC small-signal analyses. 2023-08-02 16:56:56 +01:00
Jeff Young e8ae3533d1 Set format on all matching signals. 2023-08-02 16:56:56 +01:00
Jon Evans 35c372a072 Support expanding selection for schematic graphic lines
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12032
2023-08-01 21:22:35 -04:00
Mike Williams 37fdcce0a0 Fields Editor Table: add checkboxes for fields representing attributes
DNP, Exclude from ..., etc.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Mike Williams 8fb316f995 Symbols: add ${EXCLUDE_FROM_SIM} variable to match the other attributes 2023-08-01 14:33:30 -04:00
Mike Williams df04171234 Fields Editor Table: apply correct column attr to new fields 2023-08-01 14:33:30 -04:00
Mike Williams 39297adc61 Fields Table Editor: remove old assumptions about Qty being last col 2023-08-01 14:33:30 -04:00
Mike Williams 25e391719e Fields Table: convert special strings like Quantity to named variables
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.

By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
jean-pierre charras 3a82374719 sim/sim_model: fix an annoying issue when adding new fields: their ID was
set in undefined, that create an issue (the canonical name was returned as
"Field-1", breaking the schematic file).
Now, new field IDs are not set to -1, and the saved file uses the field name
(if exist) when saving fields with undefined ID.
2023-08-01 13:37:53 +02:00
jean-pierre charras 1b0dea069b Symbol editor: minor fix do not allow the lib tree to be docked on bottom or top
of the editor frame: it cannot be displayed.
2023-07-31 18:30:13 +02:00
Mike Williams b34309fdba Schematic: display symbol's user-defined description in message panel
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15298
2023-07-31 11:22:09 -04:00
Mike Williams 744452d092 Sch/PCB: allow back-updating schematic fields from PCB
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15285
2023-07-31 10:38:43 -04:00
jean-pierre charras d1caadeb4f symbol editor: fix small issues:
* save visibility of the properties panel
* fix correct size of the properties panel after hide/show it.
2023-07-30 11:04:49 +02:00
jean-pierre charras 1548b14f84 DIALOG_LIB_SYMBOL_PROPERTIES: fix incorrect state of two wxCheckboxes.
When opening the dialog, m_excludeFromBomCheckBox and  m_excludeFromBoardCheckBox
states were the opposite of the actual symbol property.
Fixes #15269
https://gitlab.com/kicad/code/kicad/-/issues/15269
2023-07-30 08:42:33 +02:00
Seth Hillbrand 018d60eb40 Fix-up for previous commit
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:47:18 -07:00
Seth Hillbrand 7bd3992350 Change stale_bus_members to work around MSVC issue
Somehow, MSVC vector gets corrupted in certain cases.  While the
mechanism is unclear, using an unordered_set avoids this problem

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:35:39 -07:00
Mike Williams 1e66129218 Schematic: Align Elements to Grid needs to respect grid overrides 2023-07-27 10:45:27 -04:00
Mike Williams c0a9cf2cfa Schematic Point Editor: fix cancel of point drag 2023-07-27 10:45:27 -04:00
jean-pierre charras db382f8782 Eeschema: Export symbols to New Library: Fix Cancel button not working
This bug can crash Eeschema.
Fixes #15278
https://gitlab.com/kicad/code/kicad/-/issues/15278
2023-07-27 15:14:49 +02:00
Jon Evans 148e111579 Refactor pin orientation to be an enum class
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Jon Evans 000fa28ffc Properties: initial infrastructure for symbol editor 2023-07-26 18:32:14 -04:00
jean-pierre charras 5ea170baab Symbol editor: fix crash when trying to "drag" an item.
Drag or move is an option of the schematic editor, and not in symbol editor.
So it cannot be tested in code for the symbol editor.
Fixes #15264
https://gitlab.com/kicad/code/kicad/-/issues/15264
2023-07-26 08:58:22 +02:00
Seth Hillbrand 530af96da2 Prevent null dereference 2023-07-25 10:53:05 -07:00
Mike Williams 132a0ada73 Grid Overrides: support grids-per-type that override the current grid.
Schematic only at this point while we test and refine.

PCB support is a future addition.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Seth Hillbrand 9902250f5d Fix a couple of issues with NAVLIB version checker
Need to include core lib in kiplatform for the version functions.  Need
to link kiplatform into the navlib library in eeschema to load
2023-07-24 13:55:12 -07:00
Seth Hillbrand 32ad42a435 Add 3dconnexion driver version check
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Josue Huaroto eeb74dbae9 Sort SCH_ITEM by name on paste 2023-07-24 16:37:25 +00:00
jean-pierre charras e9f6ff4366 Simulator frame: removes * indicator for unsaved workbook after saving it.
Fixes #15236
https://gitlab.com/kicad/code/kicad/-/issues/15236
2023-07-24 08:55:34 +02:00
Mike Williams 7d9f791518 kicad-cli: sch bom export: fix inability to disable grouping
Just set --group-by default to "" (No default grouping), and drop the
additional --group option. Also fix the exclude DNP option.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15246
2023-07-23 13:59:28 -04:00
Seth Hillbrand 7fe83993cf Be smarter about releasing lockfiles
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.

This should catch 99% of the cases where the message is shown
incorrectly.  There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Seth Hillbrand f7f67c6d53 Sort the bus alias set by name
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890
2023-07-21 09:03:35 -07:00
Jeff Young e4b262d6e1 Fixed-y-scale bug fixes.
Default dialog to SPICE command.
Any of the three axis locks must lock the plotWindow Y axis (otherwise
locking Y2 but not Y1 doesn't preclude zooming).
2023-07-20 17:41:23 +01:00
Jeff Young 06f19aa761 Implement y axis locking for secondary y axes.
Still a bit of a work-in-progress.

Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young 9c08d4febe ADDED support for simulation plot margins and GUI for Y axis locking. 2023-07-19 23:40:10 +01:00
Jeff Young 65f66755ee Reduce overhead for unused code. 2023-07-19 23:25:05 +01:00
Jeff Young 764913207c Read legend position from workbook. 2023-07-19 23:25:04 +01:00
jean-pierre charras a586bbc3ea Symbol editor, DIALOG_FIELD_PROPERTIES: fix missing initialization of font.
In Symbol editor, tying to change the font of a field did nothing.
2023-07-18 18:40:53 +02:00
jean-pierre charras 3a4f3cb0b8 Minor Coverity and compil warnings fixes. 2023-07-17 16:19:22 +02:00
Jeff Young 30928796bd Repair new switch-based Global Update Text & Graphics.
We were forgetting to handle wire and bus labels.
2023-07-16 20:41:23 +01:00
Jon Evans 24a3816a34 EDA_TEXT Orientation property shouldn't be exposed to schematics
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15140
2023-07-16 15:19:13 -04:00
jean-pierre charras 58a9b75883 Eechema: Do Not Place markers: add a specific setting for their color.
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young eaa3543d67 Beautify DNP symbols.
Make sure the 'X' is centered over the body, not the body + pins.
2023-07-16 19:18:24 +01:00
Jeff Young 89e2cb0b85 Use loaded colours for DNP symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15203
2023-07-16 18:35:05 +01:00
Jeff Young a16033f624 Fix logic errors in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
(We can't exit out if it doesn't match a particular type as we haven't
checked the other types yet.  Use a switch to prevent this.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15206
2023-07-16 14:43:29 +01:00
Jeff Young 7f3839a179 Minor cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 63c83b3aed Remove dead code, and some formatting cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 5419055acb We no longer need activate actions with RunSynchronousAction. 2023-07-16 14:43:29 +01:00
Jeff Young 537d6bdb75 Don't destroy ERC dialog twice.
(And some other cleanup.)
2023-07-16 14:43:29 +01:00
Jeff Young a09a5cb641 More undo cleanup.
The symbol editor has few enough items that it will still be performant
if we always send a selected-item-modifed event.  (As it turns out we
were doing that anyway as the check for child-modified flags didn't
also check for selected.)
2023-07-16 14:43:29 +01:00
Roberto Fernandez Bautista cf0b719a4a Fix some unreachable code msvc warnings 2023-07-16 15:41:05 +02:00
Jeff Young 89780d353a Pick up snapped item's line properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15192
2023-07-15 20:22:34 +01:00
Jeff Young 1218f61d0a Implement undo/redo for footprint children.
Our special-cases to handle the fact that we didn't do this had far
outgrown the code necessary to actually handle it.
2023-07-15 17:37:31 +01:00
Marek Roszko 3233bbe0ba Make exported date time strings use ISO8601 format
Also rename the function to be explicit on its result format

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Jeff Young 24e9cf4fd8 Improve self-documentation of sim workbook. 2023-07-14 21:02:51 +01:00
Jeff Young 041bd2a54f JSON bools can be read straight up; no need to compare to "true".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 20:58:12 +01:00
Jeff Young 3aa479cd54 Fix typo. 2023-07-14 19:48:28 +01:00
Jeff Young 593b77be8c Fix typo. 2023-07-14 19:47:15 +01:00
Jeff Young cbf685ad76 Clear owner of old watcher before resetting std::unique_ptr.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15173
2023-07-14 19:32:20 +01:00
Jeff Young 054252ccbe Move sim workbook to json.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 17:46:06 +01:00
Jeff Young ff044cd0cf Mostly a terminology update...
... but also makes DIALOG_SIM_COMMAND and SIMULATOR_REPORTER a bit
more simulator-agnostic.
2023-07-14 17:46:06 +01:00
Jeff Young 8d2c744349 More error messages for reading workbook files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-13 23:54:00 +01:00
Jeff Young c4179cb996 Correctly initialize New Simulation Command dialog. 2023-07-13 23:37:48 +01:00
Jeff Young 5f8583cd25 Try both ends to see if one is a wire.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15178
2023-07-13 18:20:28 +01:00
Jeff Young 964e42a611 ADDED text-based pole-zero analyses. 2023-07-13 16:18:25 +01:00
Jeff Young 841b693c91 Add pole-zero command parsing and printing. 2023-07-13 16:04:29 +01:00
Jeff Young 2e89c735c0 Fix buffer overrun.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15187
2023-07-13 16:04:29 +01:00
Josue Huaroto 4cad021ef4 Add Open preferences folder button in Preferences Dialog 2023-07-13 14:10:31 +00:00
Sergio Costas 181ae7f450 Change all bare isnan calls into std::isnan 2023-07-13 12:55:58 +00:00
Mike Williams cfa0d4bfb7 Symbol Fields Table: handle missing fields better
Treat missing ones as empty, unless they are a named variable field and
then resolve the field.
2023-07-12 16:40:08 -04:00
Mike Williams e26dcbece4 Symbol Fields Table: add item number support 2023-07-12 15:08:50 -04:00
Mike Williams 265720ec65 BOM Export: add DNP to Group By * defaults
Closer to the BOM export scripts we are trying to replace, and gives the
user a clue that fields with variables names are way to export other
data.
2023-07-12 12:16:14 -04:00
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
2023-07-12 12:16:14 -04:00
Alex Shvartzkop 89a9eee174 LTspice import: fix Mac path variable shadowing. 2023-07-12 18:07:26 +05:00
Jeff Young 0a28956cf8 Replace misssing "if" stmt and make outer "if" catch all cases of log scales.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15174
2023-07-12 10:41:46 +01:00
Alex Shvartzkop f8f7b84f13 LTspice import: add LTspice 17.1 Windows library path. 2023-07-12 10:57:30 +05:00
Alex Shvartzkop c652abecff LTspice import: don't scan input file directory recursively. 2023-07-12 09:58:51 +05:00
Alex Shvartzkop 2266ba78c5 LTspice import: much faster library path scanning. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 32fdb231b2 LTspice import: fill symbol rectangles with body color when needed. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 568a461080 LTspice import: Fix multiline text alignment. 2023-07-12 08:38:18 +05:00
Jeff Young f8f29b55cb Don't promote to sheet parent when the item itself is a sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15167
2023-07-11 14:52:05 +01:00
Jeff Young c3d10084b9 ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
Alex Shvartzkop 0bc546fa62 LTspice import: fixes for graphical items. 2023-07-11 16:03:29 +05:00
Alex Shvartzkop a5ba9ccce2 LTspice import: don't try loading .asc files for non-subsheets.
Subsheets don't have "Prefix" attribute, components do.
2023-07-11 16:03:29 +05:00
Alex Shvartzkop ef1a2ff050 LTspice import: text and pin justification, polarity fixes. 2023-07-11 13:00:43 +05:00
Alex Shvartzkop e80e4ff410 LTspice import: hide pin names with None justification, hide pin numbers 2023-07-11 12:57:56 +05:00
Wayne Stambaugh 929a6a2b99 Coding policy fixes. 2023-07-10 19:24:59 -04:00
Alex Shvartzkop b957c1ad17 LTspice import: Support VCenter text justification 2023-07-11 04:09:16 +05:00
Alex Shvartzkop 1e149704b8 LTspice import: Fix M270 symbol orientation. 2023-07-11 04:09:16 +05:00
Alex Shvartzkop cab0db76f8 Clear view before resetting schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15159
2023-07-11 03:00:42 +05:00
Wayne Stambaugh 415dcf82c4 Coverity issue fixes.
CIDs 462497, 462496, 462495, 462494
2023-07-10 17:48:27 -04:00
Wayne Stambaugh aeed542202 Net navigator fixes and improvements.
Remove wires, junctions, and bus entries from tree.  These objects make
the net tree noisy for complex nets.  Until a sane way to group these
objects can be, remove them for now.

Fix tree expansion and debug assertion issues.
2023-07-10 15:34:00 -04:00
Jeff Young eedf319ba4 Don't double-offset effective text shapes.
Also fixes several bugs with intersheet ref fields.  (It's possible for
other fields to have an ID of 0.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Jeff Young d2f9994fc5 SCH_SHEET::GetContextualTextVars() will return Project text vars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15123
2023-07-10 12:40:04 +01:00
jean-pierre charras 6a47fe1e3c simulator: shows the wxCURSOR_ARROWWAIT cursor only when the sim is running.
Reset the mouse cursor to its default shape when the simulation is finished.
2023-07-10 13:30:14 +02:00
Jeff Young 3ba7e7e993 A few baby steps in trying to straighten out LTSPICE_SCHEMATIC::Load(). 2023-07-10 11:34:06 +01:00
Jeff Young 229dcde948 Fix a memory leak.
There are likely *many* more in this routine, but I can't quite
understand what it's trying to do.
2023-07-10 11:34:06 +01:00
Jeff Young 8f9a67063a Straighten out some really confusing terminology in simulator GUI. 2023-07-09 23:07:54 +01:00
Jeff Young 7608350bdc Iron out NewPlot vs EditSimCommand.
Also don't confuse SIM_PLOT_PANEL_BASE with SIM_PLOT_PANEL.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15157
2023-07-09 22:38:48 +01:00
Roberto Fernandez Bautista dfe7051171 LTspice importer fixes
- Correctly find the library paths for new and old LTspice versions
- Use case insensitive comparison (store element names as lower case in the map)
- Better search paths
- Allow user to copy contents of LTspice "lib" folder to the same folder as file being imported

Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/15061
2023-07-09 22:53:23 +02:00
Roberto Fernandez Bautista 6539171459 LTspice importer - remove dead code 2023-07-09 22:51:21 +02:00
Jeff Young 5aed30ac79 Handle RepeatLastItem for TwoClickPlace items.
(Note that we've always excluded sheet pins from RepeatLastItem.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15108
2023-07-09 20:33:33 +01:00
Jeff Young 6182ff4834 Handle delete of sheet pins.
SCH_COMMIT::Stage() can handle promoting the parent, but then the pin
needs to be removed first.  I think it's probably clearer if we just
do the promotion in the delete routine.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-09 13:40:27 +01:00
Jeff Young a66360525a Broaden "Style footprint fields" to cover graphics as well.
Also cleans up the layout of the symbol & fp properties dialogs.

Also fixes the background colour of the link textEdit controls on Mac.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15152
2023-07-09 12:45:55 +01:00
Mike Williams cb01ac53fa Schematic: allowing swapping sheet pins on same sheet
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15122
2023-07-08 20:26:26 -04:00
Jeff Young 25445d9fe0 Make sure all items managed by their parent get correct handling in SCH_COMMIT.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-08 20:40:30 +01:00
Jeff Young d48e7f159c Re-install tool view items after clearing the view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15149
2023-07-08 20:40:30 +01:00
jean-pierre charras 9ee21e4eeb simulator: do not show a message saying a command directive has changed
when there is no old command directive.
2023-07-08 20:30:57 +02:00
Jeff Young 12ed015174 Fix selection highlighting of heirarchical labels and sheet pins. 2023-07-08 18:50:04 +01:00