Ian McInerney
cad91312aa
Introduce main base class for all IO loaders
2023-12-26 23:27:11 +00:00
Marek Roszko
5c20c5732d
We don't need pgm_base to expose pybind to everything
2023-12-25 23:28:33 -05:00
Marek Roszko
c7fa3adcb8
kicommon PROGRESS_REPORTER
2023-12-25 23:22:39 -05: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
Seth Hillbrand
5f234211f9
Remove __WXWINDOWS__ defines
...
__WXWINDOWS__ is for all of our builds. __WXMSW__ is for windows only
2023-12-21 08:57:28 -08:00
Mike Williams
1700cad83b
Symbol/Footprint Chooser: remember open libraries
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16383
2023-12-21 09:57:54 -05:00
Wayne Stambaugh
922aee1532
Coding policy fixes.
2023-12-20 07:17:23 -05:00
Jon Evans
1c895fe18c
Improve rendering of tuning status popup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
Add dedicated UI rendering layers
Switch to screen-space rendering to avoid blurriness
Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale
Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Jeff Young
8251fca66a
performance efficiencies
2023-12-18 17:39:29 +00:00
Jeff Young
68cbb820a7
performance efficiencies
2023-12-18 17:20:34 +00:00
Jeff Young
11805d6696
performance efficiencies
2023-12-18 17:01:55 +00:00
Wayne Stambaugh
25c03da5a5
Coding policy and Doxygen comment fixes.
2023-12-18 08:32:41 -05:00
Wayne Stambaugh
eb3fd10af8
Fix obscured object selection issue in board and footprint editors.
...
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio". It is turned off (1.0)
by default. Value values are from 0.0 to less that 1.0. From testing,
using a value between 0.1 and 0.3 produces the best results.
This fix uses normal alpha blending described in the link below. The
current design only uses the alpha of the object's color. It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.
https://en.wikipedia.org/wiki/Alpha_compositing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
Jeff Young
b29a56530c
Remove undo-of-ungroup hack.
...
The hack assumed that the parent group would be the first
deleted item of type group in the undo list. While this
will be true when undoing a user ungroup command, it will
not be when undoing an ungroup side-effect, such as when a
member of a group is deleted during UpdateFromPCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16384
2023-12-17 15:35:35 +00:00
Jeff Young
9fb06f95a0
Fix msys2 build.
2023-12-16 16:17:24 +00:00
Jeff Young
ea3c87f243
Move group/ungroup to COMMIT infrastructure.
2023-12-16 14:17:25 +00:00
Jeff Young
1df84f4d92
Move some PCB_GENERATOR special-cases to propMgr listeners.
2023-12-15 21:04:33 +00:00
Jeff Young
0ab474e596
Comments.
2023-12-15 18:02:52 +00:00
Jeff Young
4844cffc00
Make sure PCB_GENERATOR's lock status follows their members.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16372
2023-12-15 17:37:36 +00:00
Marek Roszko
c8f646efb1
ADDED: KiCad update check
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15026
2023-12-13 20:47:40 -05: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
Wayne Stambaugh
484491aaea
Fix crash on save after pasting symbols in schematic editor.
...
This was caused by pasting zero length instance paths which are not valid.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16300
2023-12-11 08:29:10 -05: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
Mike Williams
2795fa9ca3
EE/PCB_Actions: convert to generic Finish
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16079
2023-12-06 10:33:17 -05:00
Seth Hillbrand
0e37ea0c66
2581 enabled by default
2023-12-04 12:03:15 -08:00
Wayne Stambaugh
ef2f72697b
Make paste special dialog a bit more user friendly.
...
Set a default control so that the escape key closes the dialog.
Select the OK button after the user selects an annotation option. This
allows for keyboard navigation of the dialog and saves an extra mouse
move and click to when choosing an annotation setting.
2023-12-03 13:44:38 -05:00
Jon Evans
16dea1d7e7
Remove unused advanced config variable
2023-12-02 21:25:18 -05:00
Jon Evans
9c1a160fcd
Add system for property change notifications
...
Use this to sync symbol field edits that are
synced by the dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15697
2023-12-02 19:22:59 -05:00
Jeff Young
b13590f4c0
Use preview items instead of highlightNets & status popup
...
The router preview item can be specific to the part that is being
tuned, rather than the whole net. It's also less visually noisy as
it doesn't dim/undim the rest of the board.
Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00
Jon Evans
4ff127b452
Parse generator_version and improve error output on mismatch
...
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Jon Evans
0face5a891
Add prettification to pl_editor; bump version
2023-11-29 16:17:41 +00:00
Jon Evans
f1f8981395
Automatic whitespace and indentation prettification for sexpr formats
2023-11-29 16:17:41 +00:00
Jon Evans
55ba667bcb
Retire tstamp keyword in favor of uuid
2023-11-29 16:17:41 +00:00
Jon Evans
55bca5e7ac
Normalize formatting of booleans in the PCB file format
2023-11-29 16:17:41 +00:00
Seth Hillbrand
f64349b292
Coverity fixes
2023-11-27 11:57:31 -08: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
Ian McInerney
b64631d7bc
Add um support to the unit binder
2023-11-26 00:03:09 +00:00
Jon Evans
2b27337778
Clamp ratio properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16153
2023-11-25 18:40:14 -05: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
Jeff Young
b6501ce632
Report current length on roll-over.
2023-11-23 23:25:49 +00:00
jean-pierre charras
247a0e6501
Eeschema: Add Cairo printing to the Eeschema print engine. The current print engine (using wxDC draw engine) has frequently issues with each new wxWidgets version. Cairo printing engine, used for Pcbnew and Gerbview has less issues. On Eeschema, the cairo print is enabled only if the advanced config has the option "EnableEeschemaPrintCairo = 1"
2023-11-23 16:11:09 +01:00
Jeff Young
0de966f9ce
Add m_isClosing guard in an attempt to prevent KICAD-1XF.
2023-11-18 12:45:09 +00:00
Jeff Young
f098405218
Handle justification for vertical text when mirroring.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15036
2023-11-17 21:50:16 +00:00
Jeff Young
95dcf54d8d
New is-canvas-item highlighting.
2023-11-17 20:29:18 +00:00
Jeff Young
a4a946ab75
Clearer naming.
2023-11-17 18:36:33 +00:00
Jeff Young
2f3c0a608d
Score LIB_TREE_NODE_UNITs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16106
2023-11-17 18:36:33 +00:00
Johannes Pfister
4177b64c27
Add micrometre and centimetre units
2023-11-16 23:24:52 +00:00
Jeff Young
d110b5b518
Improve edit points rendering on Retina displays.
2023-11-16 10:30:09 +00:00
Jeff Young
7e46e85c7d
Update copyrights.
2023-11-11 15:29:34 +00:00
Jeff Young
9ef05fb762
Don't store document values in global PROPERTY_MANAGER.
...
At best it leads to the wrong units being used if they're different
between (for instance) PCB Editor and Footprint Editor. (And this
will only get worse if we ever to to a single binary.)
At worst it causes crashes when accessing freed ORIGIN_TRANSFORMS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16062
2023-11-10 18:37:29 +00:00
Jeff Young
6417c9888f
Update EDA_REORDERABLE_LIST_DIALOG to current GUI style.
...
Note: while we try to omit sizing info from FBP files, the list
controls assume way too wide a minimum width if they're not set.
Furthermore, sizing the dialog ends up leaving them a certain size
and clipping other elements is the dialog itself doesn't have limits
set. Sigh.
2023-11-10 12:49:19 +00:00
Jeff Young
6ecfc89a4a
Honour originTransforms in search panels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop
7589de6120
Optimize footprint/symbol library hover previews.
2023-11-09 19:02:10 +03:00
Jeff Young
77e408a93d
De-bounce search pane selection events.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15605
2023-11-09 14:43:39 +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
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00:00
Ian McInerney
dd933b7d0e
Update CERN copyrights
2023-11-08 21:34:14 +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
f83d60a48f
Clean up autosave files when reverting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Jeff Young
92ae0f4793
Save Footprint chooser size and location.
...
(We're using a FRAME to mimic a dialog, so we need some of the
DIALOG_SHIM logic inside it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15807
2023-11-03 10:34:27 +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
Jeff Young
67d8b13b02
And Font to properties manager for EDA_TEXT items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16004
2023-11-01 00:39:42 +00:00
jean-pierre charras
d8be69c3c1
PAGE_INFO: use double instead of int to store the page size.
...
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jeff Young
e7fca68384
Don't double-delete unused nets (or anything else, for that matter).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15979
2023-10-31 12:10:21 +00:00
Jeff Young
87571ed8b8
Not all font sizes, fill properties or color properties are the same.
2023-10-30 17:30:15 +00:00
Jeff Young
fc0017fc95
Normalize rects higher up.
...
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00: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
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
Wayne Stambaugh
6269453416
Coverity warning fixes.
2023-10-27 16:48:14 -04:00
jean-pierre charras
93b5038382
FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
...
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young
f7420bc820
Separate Footprint Editor's sketch modes from PCB Editor's.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15345
2023-10-26 10:59:26 +01: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
Jon Evans
9d455ca399
Fix rendering of ACTION_TOOLBAR_PALETTE buttons at non-normal sizes
2023-10-22 15:40:17 -04:00
Jeff Young
ad676e22b8
Don't push a commit we don't own.
2023-10-22 20:35:14 +01:00
Jon Evans
47e25d617e
ADDED: Icon scaling for toolbars only
...
Unlike the old "icon scale" (that actually scaled all bitmaps)
this one actually changes the toolbar size while making use
of the new bitmap bundle functionality
Add more resolutions for all tool icon bitmaps
Wouldn't want Mark's eyes to bleed
2023-10-22 14:02:06 -04:00
Jon Evans
06a4bdbf4c
Upgrade BITMAP_TOGGLE and GRID_BITMAP_TOGGLE to wxBitmapBundle
2023-10-22 14:02:06 -04:00
Jon Evans
50fe585827
REMOVED: manual icon scale preference
...
This is now handled properly by wxWidgets on all platforms
See https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04: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
f5e99338a9
Generators should respond to the selection filter that controls their children.
...
(Tuning patterns to the track checkbox, stitching patterns to the
vias checkbox, etc.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15905
2023-10-20 16:28:05 +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
Jeff Young
f5edac547e
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young
89011e888c
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young
9c4bb464ac
Improve tuning status popup colours.
2023-10-17 13:30:58 +01:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Marek Roszko
63ba3b8ea7
Remove BITMAP_OPAQUE just like the TODO said :D
2023-10-16 20:16:30 -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
584757f2df
Move the menu helpers to ui_common instead of sitting in bitmap for some reason
2023-10-16 19:40:46 -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
Jeff Young
2c02c26af4
Centralize min/opt/max printing.
2023-10-15 22:46:23 +01:00
jean-pierre charras
7efd414519
Fix minor Coverity and compil warnings
2023-10-15 15:55:31 +02: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
87621817bf
Fix typo.
2023-10-14 18:22:17 +01:00
Jeff Young
504652b972
Regularize RunOnChildren() at the BOARD_ITEM level.
...
BOARD_ITEM sub-classes which don't have children simply don't
overrid it.
2023-10-14 15:04:18 +01:00
Jeff Young
5f5113c80a
Pick up current rule values when editing meanders.
2023-10-14 15:04:18 +01:00
Jeff Young
2bc273f8bc
Don't fire event-parameter asserts when looking for a click event.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/KICAD-2CK
2023-10-13 20:31:01 +01:00
Jeff Young
1aeccc5895
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
2023-10-12 17:54:34 +01:00