Jeff Young
8251fca66a
performance efficiencies
2023-12-18 17:39:29 +00:00
Wayne Stambaugh
25c03da5a5
Coding policy and Doxygen comment fixes.
2023-12-18 08:32:41 -05:00
Jeff Young
16c8050f3d
Fix event/flag race condition.
2023-12-17 21:55:29 +00: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
1b0cc82c56
Move a couple of stragglers to BOARD_COMMIT.
2023-12-17 21:01:31 +00:00
Jeff Young
a96b7116d0
Make sure de-selected items get redrawn.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16385
2023-12-17 17:59:43 +00: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
66a15f6acf
Re-factor frame pointer out of generator API.
2023-12-16 16:11:45 +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
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
Wayne Stambaugh
8687d5092f
String and dialog layout fixes.
2023-12-13 11:49:34 -05:00
Wayne Stambaugh
9d6e9b14eb
Fix action tool friendly name string capitalization.
2023-12-13 08:15:19 -05:00
Jeff Young
ea67430c49
Cleanup.
2023-12-12 13:57:12 +00:00
Ian McInerney
3c0566d318
Don't allow copying markers
...
Fixes KICAD-5FQ
2023-12-11 22:22:19 +00:00
Jeff Young
e801e793dc
Prevent copy-elision issues by using smart-pointer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16335
2023-12-11 16:27:31 +00:00
Jeff Young
aa046345eb
Add missing case to Selectable().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16283
2023-12-07 13:41:24 +00:00
Jeff Young
2661e7a8ee
Fix over-zealous copy/paste and add a few more comments.
2023-12-06 13:08:22 +00:00
Alex Shvartzkop
111a8d6ab3
Improve/fix Expand connection for graphics.
2023-12-04 09:52:31 +03:00
Jeff Young
1618beba2c
Fill empty zones when auto-fill is on.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16234
2023-12-02 20:16:26 +00:00
Jeff Young
6e245d5eb4
Remove special cases for footprint editor. BOARD_COMMIT handles them.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16236
2023-12-02 20:06:57 +00: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
Jeff Young
a5454cd7c2
Remove group from view when ungrouping.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16197
2023-11-29 18:21:18 +00:00
Jeff Young
2545999b3d
Delete shapes re-combined into a pad.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16193
2023-11-29 16:15:31 +00:00
Ian McInerney
188b9f4dd5
Fix append board dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16214
2023-11-29 14:01:13 +00:00
Alex Shvartzkop
f84bab00b4
Fix build; renaming.
2023-11-28 22:18:37 +03:00
Alex Shvartzkop
7eb98a9863
Fixes for tuning patterns and router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16160
2023-11-28 20:55:39 +03: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
Jon Evans
37d9b7fac0
Prevent crash if generator exists but has no items
...
See https://gitlab.com/kicad/code/kicad/-/issues/15366
2023-11-25 16:01:12 -05:00
Jon Evans
1cb1fd3516
Partial revert "Fix commit/view handling when dragging arcs"
...
Revert unintended formatting changes
This reverts commit f0988c3c5d
.
2023-11-25 15:16:57 -05:00
Jon Evans
f0988c3c5d
Fix commit/view handling when dragging arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16145
2023-11-25 14:55:47 -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
Jon Evans
87ba1f7ea0
Fix expand selection for graphic shapes on graphic layers
2023-11-20 16:14:56 -05:00
jean-pierre charras
ed1924b975
Pcbnew, place menu: some enhancements:
...
- move place dimensions to a sub menu (they are not frequently used, and it
reduce the size of the place menu
- add reset drill origin, similar to reset grid origin.
2023-11-20 13:23:16 +01:00
jean-pierre charras
ed9dd55fde
DRAWING_TOOL::PlaceImportedGraphics() do not add twice items when adding to new group.
2023-11-16 12:53:00 +01:00
Jeff Young
b218617469
Honour bounding-hull setting on closed shapes and chained segments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16092
2023-11-16 09:07:54 +00:00
jean-pierre charras
a663dd7ec4
Pcbnew, import graphics: fixes and enhancements:
...
- fix regression: allow grouping or not imported items
- store more settings in Pcbnew settings: all options are now stored.
- default tolerance to connect items is now 0.01 mm. 1 mm is a too big value,
and can create serious artifacts in imported outlines.
2023-11-15 20:26:05 +01:00
Alex Shvartzkop
05e954ad5d
Fixes for length tuning patterns.
2023-11-12 12:17:08 +03:00
Jeff Young
7e46e85c7d
Update copyrights.
2023-11-11 15:29:34 +00:00
Jeff Young
3e58425671
Flip rotation angle when board view is flipped.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15954
2023-11-10 22:30:06 +00:00
jean-pierre charras
2f594e441b
Fix a compil warning (shadowed variable).
2023-11-10 10:31:40 +01: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
7788c8f21c
Fix textbox mirroring and rotation (again).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14159
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14912
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14178
2023-11-06 14:03:58 +00:00
jean-pierre charras
d90981d981
Pcbnew: fix Swap command that improperly rotates footprints when flipping.
...
Fixes #16025
https://gitlab.com/kicad/code/kicad/-/issues/16025
2023-11-05 15:09:48 +01:00
Jeff Young
ac172b944a
Don't get stuck cycling through invisible layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16019
2023-11-03 18:17:36 +00:00
Jeff Young
141b953d12
Show selection before opening menu.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15922
2023-11-03 12:36:30 +00: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
d93bb464bf
When garbage collecting locally we also need to clear global references.
2023-11-01 12:47:54 +00:00
Wayne Stambaugh
6183a1e4de
Coverity warning fixes.
2023-10-30 09:16:24 -04:00
Seth Hillbrand
6d957e9d65
Don't use KiROUND when we should trunc
...
When calculating the viewport extents, we only need the maximum size
that can be represented. Anything larger should be truncated. We do
this in many other places (wx_view_controls, ruler_item,
ds_proxy_view_item, etc) and this brings pcb_selection_tool into
alignment with this, avoiding an unneeded warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15529
2023-10-29 10:42:33 -07: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
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
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
jean-pierre charras
85210e5136
Pcbnew, export component placement: better string in menu (.gbr added).
...
(Was missing in my commit 5bf241a5
)
2023-10-25 13:38:07 +02:00
Jeff Young
fca1ad5285
Ask user if they want to delete original items after conversion.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15938
2023-10-25 00:11:08 +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
Alex Shvartzkop
c8b2e2aa07
closestDist_sq should be ECOORD_MAX initially.
2023-10-23 22:18:45 +03:00
jean-pierre charras
4ffa013467
Fix minor compil and Coverity warnings (not initialized vars)
2023-10-23 20:13:46 +02:00
Mike Williams
91b6bb8088
Grid helpers: remove view items on destruction
2023-10-23 09:39:08 -04:00
Alex Shvartzkop
97901c9ac5
Fix footprints being difficult to select in high-contrast modes.
...
(regression)
2023-10-23 06:09:13 +03:00
Jeff Young
ad676e22b8
Don't push a commit we don't own.
2023-10-22 20:35:14 +01:00
Jeff Young
b97d8ddef4
Make offset-zone check multi-layer aware.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15916
2023-10-21 15:08:36 +01:00
Jeff Young
f18ce8c6de
Fix layer handling for create similar zone.
2023-10-20 22:20:30 +01: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
Jeff Young
68a5753c80
Repair Rotate on PCB_GENERATOR items.
2023-10-19 23:34:52 +01:00
Jeff Young
24ddc728e8
Add PCB_ACTIONS::regenerateAllTuning....
...
... and move GENERATOR_TOOL to RegenerateAllOfType().
2023-10-19 11:20:09 +01:00
Jeff Young
7447700735
Fix typo.
2023-10-19 11:20:09 +01:00
Jeff Young
16ec0faa7a
Reduce line-breaking.
...
Also simplifies handling of generator properties dialogs.
2023-10-19 11:19:57 +01:00
Jeff Young
67f0f6e3b9
Rename class to match current terminology.
2023-10-19 01:31:13 +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
Jeff Young
e793e30360
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15881
2023-10-17 13:34: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
390bd44f18
Cleanup.
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
bee6e6be01
AddMenuLanguageList should live in EDA_BASE_FRAME, its only user
2023-10-16 19:49:52 -04:00
Wayne Stambaugh
b5eee9dd7e
Coverity warning fixes.
2023-10-16 17:04:14 -04:00
Jeff Young
d51e058e24
Move diff-pair netname resolution to BOARD.
...
Also adds reporting of dp gap constaints and max uncoupled to track
selections, and max uncoupled during routing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13748
2023-10-15 22:46:23 +01:00
Jeff Young
2450250ae7
Use "tuning pattern" in the GUI.
2023-10-15 17:59:11 +01: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
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
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
a69869f72a
Simplify undo/redo for pad edit mode.
...
Also simplifies high-contrast-mode handling to fix a bug when exiting
pad edit mode via an undo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15845
2023-10-13 13:59:31 +01:00
Jeff Young
62d959ed0e
Don't assume an error location for PAD::GetEffectivePolygon().
...
While ERROR_INSIDE was good for plotting, 3D generation, etc., it's
not good for generating router hulls.
Also reverts part of the change to always use polygons for PNS::SOLIDs. A single shape in a SHAPE_COMPOUND will be faster (and
more accurate).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-13 13:59:26 +01:00
jean-pierre charras
57efde1bbb
Pcbnew: rename ZONE* m_SolderMask to m_SolderMaskBridges
...
(It is a container to build bridges on solder mask layers by DRC, not real zone)
Disable also this special zone selection by adding it in
PCB_SELECTION_TOOL::itemPassesFilter
2023-10-13 09:57:21 +02:00
Jeff Young
1b676985f6
Retire length tuning tool in favour of first-class meanders.
2023-10-12 17:54:34 +01:00
Jeff Young
1ca477aeee
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
...
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young
d6c2ad7503
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
...
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young
a57c9967f3
Draw meander borders while placing.
2023-10-12 17:54:34 +01:00
Jeff Young
d8f35633d4
Modify interactive delete tool to respect groups & selection filter.
2023-10-10 16:04:54 +01:00
Jeff Young
8c017be24a
Clearer naming.
2023-10-10 15:43:45 +01:00
Jeff Young
d3b50f0607
Cleanup (no functional changes).
2023-10-10 13:42:42 +01:00
Jeff Young
04e23bf5e3
Fix build.
2023-10-10 12:58:12 +01:00
Jeff Young
d916e650f1
Tuning status popup for point editor.
2023-10-10 11:55:57 +01:00
Jeff Young
642938455e
Add status popup for meander placer.
2023-10-09 22:32:32 +01:00
Jeff Young
d10b0b053e
Move meander placer picker tool from item highlighting to net highlighting.
2023-10-09 22:32:32 +01:00
Jeff Young
b662ff4956
Improve graphical feedback while placing a meander.
2023-10-09 15:22:41 +01:00
Alex Shvartzkop
f4f8523c59
Rename pcbnew DIALOG_IMPORT_GFX -> DIALOG_IMPORT_GFX_PCB
2023-10-09 07:04:50 +03:00