Commit Graph

10811 Commits

Author SHA1 Message Date
Alex Shvartzkop 4b083fc342 EasyEDA Pro: support SVG images in schematic; support bitmap rotation/flip. 2023-10-30 11:34:42 +03:00
Alex Shvartzkop 847ab093c8 ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
Seth Hillbrand 6633eadfc8 Enclose wxCHECK* macros in braces
The macros are if/else statements without enclosing structures which
leads to unexpected evaluation when expanding in an existing conditional
that does not have braces already.
2023-10-29 10:52:05 -07:00
Jeff Young 14d6ff8946 Change Save Symbol As... to Save Symbol Copy As...
See details in the bug report.  (It's very complicated.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12504
2023-10-28 22:25:48 +01:00
Wayne Stambaugh 30ba1b8007 Coverity warning fix.
This fixes all of the warnings cause by using std::weak_ptr objects when
recursing the symbol inheritance tree to retrieve the root symbol.  The
issue is that the weak pointers are not guaranteed to be valid for each
recursion because the lock will go out of scope.  Using a std::shared_ptr
object will ensure the lock is valid until it goes out of scope.
2023-10-28 13:25:30 -04:00
Jeff Young 708b42ea69 Fix off-by-one error when creating user-defined signals.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15970
2023-10-28 13:27:48 +01:00
Ian McInerney 171458a27b Introduce action friendly names
Friendly names can be used to display action information that is clearer
in non-hierarchical contexts (e.g. not in menus).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8075
2023-10-27 23:58:29 +01:00
Zhuang Jiezhi 61d03b41ec Eeschema: Fix crash of modifying graphic item and abort with ESC by adding re-entrancy guards 2023-10-27 21:19:31 +00:00
Wayne Stambaugh 6269453416 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
Jeff Young 6b29c346b9 When presented with empty text we don't want to Normalize() the SIM_VALUE.
But we *do* need to update NUMERICAL_EVALUATOR::m_originalText by
calling NUMERICAL_EVALUATOR::Process().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-27 16:59:28 +01:00
Jeff Young 8cba785375 Single warning for all locked sheets when saving schematic.
Also checks for modified before trying to save at all.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15963
2023-10-27 14:58:30 +01:00
Seth Hillbrand 1290cf6241 Fix missing random sim command
(cherry picked from commit 3ce4a5bf7f)
2023-10-26 09:47:43 -07:00
Jeff Young ca9fdbbedb Use a slower method of keeping dangling state correct for current sheet.
(The faster method ran into unit test failures.  There must be
something in here that's order-specific.)
2023-10-26 15:22:15 +01:00
Jeff Young 84b0848a1e Make sure that current sheet's units and dangling states are correct.
We used to store the symbol units of the current sheet and then
restore them, but we didn't handle the dangling states.

The new code uses a different strategy and just makes sure that if
any of the sheets are going to modify the current screen, the current
sheet gets to go last so that its modifications will "stick".

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15392
2023-10-26 13:07:16 +01:00
jean-pierre charras 5bf241a53e Pcbnew, export component placement: better string in menu (.gbr added).
Also fix 2 minor Coverity warnings.
2023-10-25 09:41:08 +02:00
Jeff Young fefb3d96dd Better clarity and memory leak fixes for LTspice importer.
Moves some exception processing to a REPORTER interface so we don't
leak a bunch of memory by exiting early.

Also adds some assertion processing to make sure we're not leaking
in other places.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15158
2023-10-25 00:11:08 +01:00
Jeff Young 46aecefb04 Re-enable import non-Kicad project, but make it clear current will be lost.
(And there's no sense in asking if they want to save changes first,
as those will be lost too.)
2023-10-25 00:11:08 +01:00
Alex Shvartzkop 0158377cb7 Fix schematic text properties dialog more, for wx 3.2.3. 2023-10-25 00:12:49 +03:00
jean-pierre charras d9b5257b9e DIALOG_TEXT_PROPERTIES: Fix a cosmetic issueFixes #
Fixes #15940
https://gitlab.com/kicad/code/kicad/-/issues/15940
2023-10-24 19:28:40 +02:00
Seth Hillbrand 4741a5ed4c Fix memory leak in connection graph
When generating virtual connections to represent bus aliases, we need to
store the pointers for future deletion otherwise we will leak the memory

(cherry picked from commit 9260f58803)
2023-10-23 13:47:07 -07:00
Seth Hillbrand 86208a7922 Improve pin-pin iteration in ERC checks
Rather than generating expensive classes to store in a set to check for
duplicate checks, we avoid double-checking elements in the vector.  For
large schematics this results in a substantial speed increase

(cherry picked from commit 1a5c515e45)
2023-10-23 13:45:43 -07:00
Seth Hillbrand 8cbad7a3c0 Compare bus local names
When running ERC, we want to check if bus members exist in the bus and
this should be done using m_local_name (i.e. the name it take from the
parent bus) not the resolved name as this will change depending on
connections

(cherry picked from commit 1380feef72)
2023-10-23 12:54:58 -07:00
Jeff Young 435e3fab8d Support text variables in STEP export filename.
Also fixes some other file browser titles to match Kicad's overall style.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
Mike Williams 8ec2eb600a Point editor: manually manage grid lifetime for now
Will prevent crashes until we can fix this correctly.
2023-10-23 10:57:54 -04:00
Mike Williams 91b6bb8088 Grid helpers: remove view items on destruction 2023-10-23 09:39:08 -04:00
Mike Williams 9e48c0b695 Grids: placing symbols should respect connectables, not graphics 2023-10-23 09:34:06 -04:00
afkiwers dc8a5865d5 Symbol Editor: SCH_HTTP special treatment
Added SCH_HTTP to receive special treatment, same like with database libraries!
2023-10-22 19:37:43 +00:00
Jon Evans eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Alex Shvartzkop 71fb1afe4c Add ngspice lib paths for when running from build dir. 2023-10-22 19:58:17 +03:00
Jeff Young 3e4d5d776d Add --exclude-pdf-property-popups to schematic plotting CLI. 2023-10-22 12:33:55 +01:00
Jeff Young 7cca303f65 Expose missing properties for label shapes. 2023-10-22 12:33:55 +01:00
Jeff Young f50de028fb Make plotting of PDF property popups optional. 2023-10-21 21:52:51 +01:00
Jeff Young 68e46ecad5 Don't set modified flag when updating measurement format internally.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15909
2023-10-21 14:26:31 +01:00
Jeff Young eff4e2cc9c Convert windows file paths to unix notation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15888
2023-10-21 13:33:22 +01:00
Seth Hillbrand 27bf47d752 Protect equality operator against invalid fields 2023-10-21 00:55:57 +02:00
Jeff Young 903c01cb20 Make ERC grid error clearer that it's about the connection grid.
Also adds a context menu item to edit the connection grid spacing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15908
2023-10-20 21:01:58 +01:00
Jeff Young 12118b6246 Make sure measurements are updated from grid before saving workbook.
Also fixes a typo when loading measurements.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15909
2023-10-20 17:36:17 +01:00
Jeff Young 62eaa7e1c7 Signals already have gain/phase broken out; user-defined signals don't.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15903
2023-10-20 14:09:46 +01:00
Seth Hillbrand d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Wayne Stambaugh c4a9703f81 Minor dialog layout fixes. 2023-10-19 11:59:35 -04:00
Jeff Young 134685bc32 Optical alignment for capital 'T's. 2023-10-19 15:02:38 +01:00
Jeff Young b089630b4c Simplify Import Graphics.
Removed no-longer-required differentiation between importing
footprint vs board objects.

Renamed files to match the dialog.

Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox.  (In the unlikely event that you don't
want a group, do an UnGroup after importing.)

Flattened out labelled-sizers in the dialog.

Removed importers blacklist, which hasn't been active for at least 4
years.

Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
2023-10-19 01:31:13 +01:00
Wayne Stambaugh f629898c8b Coding policy fixes. 2023-10-17 08:07:15 -04:00
Marek Roszko bee6e6be01 AddMenuLanguageList should live in EDA_BASE_FRAME, its only user 2023-10-16 19:49:52 -04:00
Marek Roszko ba83e84b91 Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps 2023-10-16 18:33:11 -04:00
Wayne Stambaugh b5eee9dd7e Coverity warning fixes. 2023-10-16 17:04:14 -04:00
Mike Williams 2849388d2e Symbol Fields Table: save Select option correctly
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15857
2023-10-16 13:42:51 -04:00
jean-pierre charras 7efd414519 Fix minor Coverity and compil warnings 2023-10-15 15:55:31 +02:00
Alex Shvartzkop ace7cbddfe CADSTAR: look for the symbol library .csa file under different names. 2023-10-15 05:56:38 +03:00
Alex Shvartzkop 77eaf252e2 CADSTAR: use pin labels if pin names are not available. 2023-10-15 05:49:07 +03:00
Alex Shvartzkop c7daf511bc Fix importing a symbol in Symbol editor. 2023-10-15 05:48:17 +03:00
Jeff Young d5d07e64c9 Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible. 2023-10-14 23:51:37 +01:00
Alex Shvartzkop a16bdb7288 ADDED: Support EAGLE libraries directly in Symbol Library Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03:00
Alex Shvartzkop 9ed19192de Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
Jeff Young 95032bd487 Make ERC off-grid check user-configurable.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14110
2023-10-14 20:47:03 +01:00
Alex Shvartzkop b87496b834 Fix loading legacy (until 2009) schematic files. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 7b94ecdc01 Fix the insufficient privileges message in symbol remap dialog. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 83af481688 Improve EAGLE file header detection. 2023-10-14 15:42:13 +03:00
Jeff Young 0b06a1376b Don't turn an empty string into a '0'.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-13 19:07:45 +01:00
Marek Roszko 0fe2e06949 Fix ambiguous cast compiler errors on MSVC 2023-10-12 19:07:12 -04:00
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