Commit Graph

3713 Commits

Author SHA1 Message Date
Ian McInerney f2702b223c Introduce base IO_MGR class and unify RELEASER objects
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko 9a890cdba9 Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
Jeff Young e17d81cf6d Re-enter auto-complete on a ctrl-space.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16445
2023-12-27 21:14:27 +00:00
Ian McInerney d7fe668d79 Push PCB_IOs to use the base progress reporter instead of per-function 2023-12-27 17:06:23 +00:00
Ian McInerney f8688a922d Unify IO library descriptors 2023-12-27 16:34:59 +00:00
Jeff Young 2ba9e07f0f Add missing DRC auto-complete token. 2023-12-27 13:52:02 +00:00
Ian McInerney 743e9d669a Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
Jeff Young f887f9b1e5 Save Net Inspector col order, widths, sorting, etc. 2023-12-24 13:11:16 +00:00
Ian McInerney e6632bb983 Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
Ian McInerney d8b47d18d3 Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
Jeff Young 8b344b13e5 Reenable m_useAuxOriginCheckBox when appropriate.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16424
2023-12-22 14:22:02 +00:00
Wayne Stambaugh a4b38fbb80 Coverity warning fixes. 2023-12-18 16:09:13 -05:00
Jeff Young c7facfd4d4 remove unused variables 2023-12-18 18:54:47 +00:00
Jeff Young 8251fca66a performance efficiencies 2023-12-18 17:39:29 +00:00
Mike Williams 3aa20e2008 Create Array: fix mismatched tooltips
Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/16391
2023-12-18 12:02:11 -05:00
Wayne Stambaugh 8687d5092f String and dialog layout fixes. 2023-12-13 11:49:34 -05:00
Jeff Young 1fa6b7b5d6 Initialize pre-defined sizes even when using netclass values.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16351
2023-12-13 14:14:58 +00:00
Wayne Stambaugh 5fa274ead0 Add board layer view stack up sequence from front layer to back layer.
The old bottom to top layer stack up sequence from back to front layer was
only used for plotting so it was renamed appropriately.  This will be used
for future board object select disambiguation improvements.
2023-12-11 15:07:58 -05:00
Mike Williams 61da4fb1af PCB Fields: operate on field copies in dialogs
Makes cancel/undo work properly
2023-12-11 09:37:23 -05:00
Jeff Young a567a66d35 Fix tooltip.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16330
2023-12-10 18:53:13 +00:00
Jeff Young 3efc191aa9 Implement ESC processing for choose footprint dialog.
Also steals copy processing for details pane from symbol chooser.
2023-12-10 18:13:42 +00:00
Wayne Stambaugh b7dc7e90ac Minor string fixes. 2023-12-08 13:09:16 -05:00
jean-pierre charras ccb935db4a dialogs setup default: use a better dialog to show errors. 2023-12-07 17:04:33 +01:00
Jeff Young d257dc5b4e Cleanup unused variables. 2023-12-07 13:41:24 +00:00
Ian McInerney be9c3b08b5 Fix library table file filters
The schematic librayr table was missing the Kicad Sexpr filter, and also
the filter inside the grid editor was never updated when the library
plugin type was changed in the grid, so a library of the new type could
not be selected.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16278
2023-12-07 11:16:02 +00:00
jean-pierre charras 921291c28b Pcbnew, default values for sizes and thickness: add missing tests for validation.
Especially for texts, the min and max values that are used are the same as
for other dialogs.
2023-12-06 16:45:18 +01:00
Alex Shvartzkop b7840f4f82 Make STEP export process crash more visible. 2023-12-06 08:46:26 +03:00
Alex Shvartzkop eb1fbadc12 Fix/reserve strings in STEP export dialog. 2023-12-05 13:55:26 +03:00
Jeff Young a817eaa67f Remove column auto-sizing and save user column widths.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16166
2023-12-02 22:06:09 +00:00
Jeff Young 86edba9eb8 Make teardrop images international, and unify terminology.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16154
2023-11-28 13:56:41 +00:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Jeff Young aa3b4ee6d6 Make another attempt to fix compile button size.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16167
2023-11-26 18:24:34 +00:00
Graham Keeth 5e01ddb18a Delete deprecated expression funcs from DRC rules 2023-11-26 00:30:55 +00:00
Graham Keeth 1fbdbabd08 add getField() and memberOfSheet() to DRC syntax help 2023-11-26 00:30:55 +00:00
Graham Keeth 4e796206f9 fix DRC syntax help example clearance-to-1mm-slot 2023-11-26 00:30:55 +00:00
Graham Keeth 136bc1dbb4 Adjust spacing between example DRC rules 2023-11-26 00:30:55 +00:00
Jeff Young df83e24eb7 Cleanup.
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Ian McInerney 1194a91be4 Prompt if overwriting the net inspector CSV report 2023-11-23 11:49:40 +00:00
Ian McInerney 0508a9ce83 Don't write units to every field in net inspector CSV
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16147
2023-11-23 11:46:24 +00:00
Jeff Young d437d872ab Re-enable corner radius of DP meanders.
It appears whatever bugs it had have been addressed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15257
2023-11-22 19:45:56 +00:00
Yang Hongbo 5a1b30ea42 save and restore last used net inspector settings 2023-11-22 07:13:08 +08:00
Alex Shvartzkop 8dfad68d69 ADDED: option to optimize exported STEP files (disable pcurves) 2023-11-19 15:23:17 +03:00
Wayne Stambaugh 930b695b9f Board editor array dialog fixes. 2023-11-18 13:21:13 -05:00
Jeff Young 21d53d0b86 Make sure Use-Netclasses checkbox gets set when loading dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16110
2023-11-18 12:18:45 +00:00
Wayne Stambaugh a5c34c50d7 Use natural sorting for net inspector when sorting by net name.
wxString sorting doesn't work when sorting strings with numbers which
results in 1,10,11...2 instead of 1,2,...9,10,11.

https://gitlab.com/kicad/code/kicad/-/issues/16100
2023-11-17 15:25:07 -05:00
Jeff Young 9bb6b11c1d Separate fields from text items in FPEdit's Defaults panel.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15135
2023-11-15 10:56:14 +00:00
Jan Wichmann b1a044e22a pcbnew: ADDED new feature "Center on FP" in the dialog "Edit Text and Graphic Properties" 2023-11-14 16:35:01 +00:00
Jeff Young cc721c4907 Improve encapsulation of group internals.
(It's still leaking into BOARD_COMMIT and some other places, but at
least it no longer leaks into all the edit tools.)

Also fixes some bugs when moving/copying/pasting multiple selections
containing length-tuning patterns.
2023-11-09 14:05:35 +00:00
Jeff Young a003515ee7 Enable drill/place file origin for plotting PDF.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15834
2023-11-08 16:40:28 +00:00
Jeff Young 72c985bc07 Rewrite scoring algo again. (Third time's the charm?)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Jeff Young 5f6dab931a Save order of all-layers in Plot Dialog.
Also adds an all-layers-specific context menu which includes an item
to sort in board-stackup order.
2023-11-06 19:56:42 +00:00
Alex Shvartzkop 6c21e0607b Use wxFileName::Mkdir instead of wxMkDir.
wxMkDir is a CRT wrapper that doesn't actually return bool.
2023-11-06 17:02:34 +03:00
Jeff Young c5520b3eef Save state of as-item-checkboxes checkbox.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13749
2023-11-05 16:22:20 +00:00
Jeff Young 50ff5e616f Don't delete text when cancelling changes.
Also changes margins of compile button so it correctly lines up at
the top of the error window.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16002
2023-11-02 18:37:55 +00:00
Wayne Stambaugh 91b503f875 Minor dialog layout fixes. 2023-11-02 09:37:44 -04:00
Jeff Young 7f8e397dfb Behave (or assert) when source or target are null or dirty. 2023-11-01 17:11:42 +00:00
Jeff Young 42d9bc4a98 Hook up Import Settings to tuning patterns and custom rules.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15980
2023-10-30 18:12:42 +00:00
jean-pierre charras acda18465c DIALOG_EXPORT_STEP: fix missing init of m_outputFileName widget at opening.
Add also a validity test for the filename.
2023-10-29 10:20:51 +01:00
Jeff Young 6c6a7cf862 Provide a callback for supplying file filters just-in-time.
This allows us to make them dependent on the current plugin type in
the fp lib table.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2023-10-28 11:18:17 +01:00
Ian McInerney 9f21d0d719 Don't hardcode units for length/height/width in properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15967
2023-10-27 23:58:29 +01:00
Wayne Stambaugh 6269453416 Coverity warning fixes. 2023-10-27 16:48:14 -04:00
Wayne Stambaugh 98cae68ea5 Fix pad properties dialog control updating.
This fixes an issue (at least on GTK builds) where the hidden controls
that change when selecting a different pad type and or pad shape get
shown are not laid out correctly.
2023-10-26 13:36:32 -04:00
Jeff Young fc4bc10d27 Separate out axes definitions between ModEdit and PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5711
2023-10-25 15:01:36 +01:00
Jeff Young 791aa64950 Functionally it's a "reference image".
The implementation happens to be a "bitmap".

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01: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
Jeff Young bf4529c1b5 Remember last tab for Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15925
2023-10-23 14:13:49 +01:00
Jeff Young f4b872226b Fix wxFormBuilder switching the default tab.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15925
2023-10-23 13:44:05 +01:00
jean-pierre charras 504b3cd174 FP editor: allows FOOTPRINT field to be editable.
Although it had no meaning in FP editor, it needs to be edited in some cases,
as it is a member of a library footprint.
2023-10-23 12:53:25 +02: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
Jeff Young 24a9245f81 Hook up via size & drill constraints to editors. 2023-10-21 19:10:38 +01:00
Jeff Young df46521b25 Don't separate netclass values from custom rule values.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15912
2023-10-21 18:23:48 +01:00
Jeff Young 1b04d8972e Missing update from last commit. 2023-10-20 14:09:21 +01:00
Jeff Young 8f96009fe5 Hints and fixes for separate checking of milling cutter size and drill size.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15886
2023-10-20 12:13:09 +01: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
jean-pierre charras db9734923c DIALOG_CLEANUP_GRAPHICS: fix incorrect parameter passed to cleaner.CleanupBoard().
The fix board outlines was in fact always activated.
2023-10-18 09:40:26 +02:00
Jeff Young 9ed802e951 Support min/max rules in diff pair placer and skew placer. 2023-10-17 13:30:58 +01:00
Wayne Stambaugh f629898c8b Coding policy fixes. 2023-10-17 08:07:15 -04:00
Alex Shvartzkop be1008cbd8 ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
Wayne Stambaugh b5eee9dd7e Coverity warning fixes. 2023-10-16 17:04:14 -04:00
Jeff Young 2450250ae7 Use "tuning pattern" in the GUI. 2023-10-15 17:59:11 +01:00
Jeff Young 6baac175c5 Status bar messages for meanders. 2023-10-15 17:59:11 +01:00
Alex Shvartzkop 9ed19192de Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
jean-pierre charras 805f1dfbc5 Pcbnew: when adding layers, do not change via layers.
Via layers are not defined by a LSET, and the code that used the new LSET
broke the Via start and/or end layers (for blind/buried vias)
Fixes #15856
https://gitlab.com/kicad/code/kicad/-/issues/15856
2023-10-14 08:48:22 +02:00
Jeff Young 8d3047d6eb Clear selection before deleting board layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15866
2023-10-13 18:20:33 +01:00
jean-pierre charras 38c7fa6db9 Pcbnew: do not display the outlines of a very special zone used by DRC
to show layer mask bridges created by DRC to show these bridges.
This is not a real ZONE, just a container to displays these filled areas.
2023-10-13 14:25:49 +02:00
Jon Evans 660c407095 ADDED: Control of multi-layer plot order from plot dialog
Enabled by 0b136ae0
2023-10-12 21:52:37 -04:00
Jeff Young d04641c868 ADDED: support for editing target length in Meander Properties dialog.
Also supports overriding the custom rules.
2023-10-12 17:54:34 +01:00
Jon Evans 0b136ae0df CLI: Allow controlling layer order for multilayer plots 2023-10-11 00:18:58 +00:00
Jeff Young 60a2439a53 Better spacing in the meander properties dialog. 2023-10-09 15:22:41 +01:00
Alex Shvartzkop 08e0d8d98a ADDED: Manager dialog for generative objects. 2023-10-08 02:41:17 +00:00
Jeff Young 420cadab34 Separate meander settings from target length/skew.
Settings move to Board Setup, while target length is sourced from
the custom rules (or a text-entry dialog if no rules are active for
the track).

Target skew is sourced from the coupled-trace-length minus the
trace-to-be-tuned length.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15826
2023-10-06 19:46:55 +01:00
Jeff Young b9e1908ffe Try to find a happier medium for text entry box widths.
Most dialogs have units outside the text entry, and the likelihood
of 14 significant digits & units is low enough to allow scrolling
in that case.
2023-10-06 19:46:55 +01: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 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 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 8760bd8c80 Reconcile "apply defaults to new footprints" with DRC lib checks.
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).

Modifies the apply-to-graphics algorithm to skip copper shapes.

Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.
2023-10-02 22:10:13 +01:00
Jeff Young 06446bb80e Only expand lib tree when filtering. 2023-10-02 16:24:53 +01:00
Marek Roszko 6d3b846eb5 Add more missing destructor event cleanups 2023-10-02 07:22:00 -04: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