Wayne Stambaugh
755607b8f8
Fix a few wxUpdateUIEvent retrigger loops.
2021-12-13 15:46:13 -05:00
Jeff Young
4c565fd222
Top layers includes a whole bunch of layers...
...
... and the first isn't particularly meaningful. Use GetActiveLayer
instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9972
2021-12-13 18:23:18 +00:00
Simon Schaak
8e5f929724
Fix default reference text copy for new footprints
2021-12-13 14:42:14 +00:00
Jon Evans
b291d6c810
Fix success conditions in DP placer
...
The placer can sometimes generate segments that are not quite parallel.
Use a different tolerance for ApproxParallel to account for this.
Also set a minimum score for placement judging so that any placement
that doesn't violate DRC can be placed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9948
2021-12-12 13:05:38 -05:00
Jeff Young
88fc6d25a7
Correctly handle deleting multiple selections in some grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Seth Hillbrand
779629ad33
Fix deadlock
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9959
2021-12-12 07:20:03 -08:00
jean-pierre charras
c360bbba20
Browse footprint libraries now remember window-size and position
...
(resolveCanvasType() saves the settings, so it must come after they are loaded)
Fixes #9935
https://gitlab.com/kicad/code/kicad/issues/9935
2021-12-12 09:02:15 +01:00
dsa-t
f2639e2928
Reverse sort order for net id in inspector
2021-12-11 23:12:47 +00:00
Seth Hillbrand
758ce43d9c
Lock Connectivity Data when resetting
...
When we reset m_connAlgo, we need to lock the data mutex otherwise,
yields to the system may sometimes issue calls back to invalid data
until m_connAlgo has finished rebuilding
Fixes https://gitlab.com/kicad/code/kicad/issues/9922
2021-12-11 15:11:10 -08:00
jean-pierre charras
6d0d4e0db9
Pcbnew, router tool: ensure switching layer by + or - works when starting routing.
...
Fixes #9936
https://gitlab.com/kicad/code/kicad/issues/9936
2021-12-11 09:54:03 +01:00
Jeff Young
84e0feeee6
LibTree selection should follow footprint after Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:45:21 +00:00
Jeff Young
4f60d7ac78
Don't use lib tree target if lib tree isn't shown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:34:22 +00:00
Jon Evans
62e6f542ed
Init zone type when creating in convert tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9918
2021-12-09 18:20:30 -05:00
Jon Evans
196571d004
Fix edge case in re-enabling auto track width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-09 18:07:05 -05:00
Seth Hillbrand
9884f40952
Update call signature for SwitchLayer
...
We don't use DC anymore
2021-12-09 10:14:11 -08:00
Seth Hillbrand
77fbb495f2
Highlight net during inline drag
...
Keep consistent UX between inline drag and drag started in the router
tool itself by highlighting the net being dragged
Fixes https://gitlab.com/kicad/code/kicad/issues/9919
2021-12-09 09:28:43 -08:00
jean-pierre charras
f2d6251979
PCB_EDIT_FRAME: very minor fix: make the frame title translatable in stand alone mode
2021-12-09 14:39:27 +01:00
Jon Evans
48e95dcf7e
Disable custom track/via width when re-enabling connected width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-08 21:13:34 -05:00
Jon Evans
a9168860e0
Reduce excessive epsilon in polygon search algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9903
2021-12-08 21:04:23 -05:00
Jon Evans
622d0fc896
Re-add code to refresh plugins at each frame load
...
Should now be safe
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-12-08 20:48:35 -05:00
Jon Evans
587ee890d9
Move where flag is cleared to catch more cases
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:46:53 -05:00
Jon Evans
44e01dcd0a
Skip newly-added footprints in connectivity
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:39:12 -05:00
Jeff Young
e9847cf2bd
Exclude vias from first 'U' step.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9902
2021-12-08 23:16:33 +00:00
Jeff Young
1f9e75f676
Pad with hole same size or larger than pad isn't flashed.
...
... even if it's marked as being on copper layers.
Also changes the default hole clearance to 0.25mm.
Fixes https://gitlab.com/kicad/code/kicad/issues/9901
2021-12-08 23:16:33 +00:00
Jeff Young
df1e74d418
Clean up dead code from last commit.
2021-12-08 23:16:33 +00:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Seth Hillbrand
1160bd94b0
Scale vertex lineweights in DXF import
...
DXF lineweights are always in 100th of mm, so scale the set weights on
import
Fixes https://gitlab.com/kicad/code/kicad/issues/9854
2021-12-07 16:23:44 -08:00
Jon Evans
63f67b7e5b
Fix loading netclasses from legacy boards via Python
2021-12-07 18:55:08 -05:00
dsa-t
9c619d8f4e
Allow some navigation tools when selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9565
2021-12-07 23:00:39 +00:00
dsa-t
a7193e0932
Do not warp cursor to last location when footprint/text placement is activated from toolbar/menu.
...
Also makes the footprint appear instantly after closing the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9840
2021-12-07 22:48:56 +00:00
Seth Hillbrand
fbdb2bd91f
Fix broken refactor from 0e65fe5
...
'auto' here was utilizing a copy constructor to avoid assigning a new
value to the underlying shared pointer
2021-12-07 12:38:05 -08:00
Seth Hillbrand
c613f5e2f1
Convert DXF arcs in fp space
...
Once the arcs are set in pcbnew, they have integer representation and
can accumulate rounding errors. So we convert the start/end points in
the importer to ensure that the connected points in a DXF remain
connected
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-12-07 10:53:35 -08:00
Seth Hillbrand
84cdc9701f
Partially reverts d877f041
...
Based on discussion in https://gitlab.com/kicad/code/kicad/-/merge_requests/1029
we will keep the original behavior. The new routines to get stock paths
are still useful (possibly in scripting) and are kept
2021-12-06 16:14:40 -08:00
Jeff Young
73b39e836d
Set modify bit when editing page layout.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9891
2021-12-06 23:08:33 +00:00
Jeff Young
2446844cd3
Fix bugs in free-pad logic.
...
Don't promote pads to parent footprint selection when NOT in free
pad mode during move.
Implement move algorithm in rotate.
Fixes https://gitlab.com/kicad/code/kicad/issues/9893
2021-12-06 22:53:45 +00:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Jonathan Haas
04b0435c45
Snap to pads when placing via
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9873
2021-12-06 15:54:49 +00:00
Jeff Young
95087c6de5
Fix clearance outlines for router head.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9885
2021-12-06 15:51:53 +00:00
Roberto Fernandez Bautista
34a0d1947a
pcbnew Flip: Filter selection for free pads, select footprint instead
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9875
2021-12-06 14:34:26 +00:00
Mikolaj Wielgus
18ba6b4de8
Fix PCB_TEXT hit test, take two
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 01:05:37 +01:00
Mikolaj Wielgus
d0e9d4868c
Fix PCB_TEXT hit test when bounding box is rotated
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 00:52:07 +01:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05:00
Jon Evans
5ba215c8ea
Use actual width when previewing PNS lines
2021-12-05 13:41:39 -05:00
Jon Evans
7de9e48b57
PNS: Fix tuning calculations through locked segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9727
2021-12-05 13:35:28 -05:00
Roberto Fernandez Bautista
8caf62803d
Avoid unnecessary newlines and extra spaces when saving polygon shapes
...
Also minor formatting / code style fixes.
2021-12-03 22:04:55 +00:00
jean-pierre charras
c186d1f319
Force refresh AUI manager after reloading python scripts.
...
Because the tools in the Htoolbar can have changed, the AUI manager need refresh.
2021-12-03 09:30:24 +01:00
jean-pierre charras
01eebd0b9d
Do not call callLoadPlugins() every time a SCRIPTING_TOOL is created.
...
(i.e. from board editor and from fp editor)
Once is enough.
Once plugins are loaded, calling LoadPlugins() from fpeditor disable plugins
in board editor
Fixes #9846
https://gitlab.com/kicad/code/kicad/issues/9846
2021-12-03 08:12:06 +01:00
Ian McInerney
65c0e0cd18
resolveCanvasType saves the settings, so it must come after they are loaded
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9799
2021-12-03 01:43:53 +00:00
Franck Bourdonnec
d877f04198
fixe paths
2021-12-02 20:23:00 +00:00
Jeff Young
f8d61d689b
Fix annoying wxWidgets assert.
2021-12-02 16:56:47 +00:00
Mikolaj Wielgus
46a8d23378
Remove narrowing implicit cast
2021-12-02 16:35:35 +01:00
Jeff Young
5cb2641142
Fix nullptr dereference in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9844
2021-12-02 13:20:44 +00:00
Jeff Young
0e65fe5d8d
Coding standards and commenting.
2021-12-01 23:15:37 +00:00
Jeff Young
a596a1f2e2
ROUTER_TOOL needs to handle pads not handled by router itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9839
2021-12-01 22:25:02 +00:00
Jeff Young
3c0b10b022
Don't use approximated shapes for router hulls.
...
We only do 45-degree routing anyway so we might as well build an
octagonal-based hull from the get-go.
Fixes https://gitlab.com/kicad/code/kicad/issues/7672
Fixes https://gitlab.com/kicad/code/kicad/issues/9544
Fixes https://gitlab.com/kicad/code/kicad/issues/9833
2021-12-01 19:44:30 +00:00
Jeff Young
09ed60feb3
Don't make inferences about object type based on shape.
2021-12-01 19:44:30 +00:00
Jeff Young
58189dca7a
Always focus on center of small things.
2021-12-01 19:44:30 +00:00
Ian McInerney
63560ecd7b
Remove RM_Smart state from router tool
...
It was never fully implemented and there was no way to switch into this
route mode.
2021-12-01 09:52:37 +00:00
Seth Hillbrand
c4a6a61743
Don't truncate values on import
...
Leads to off-by-one errors when converting to internal values
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-11-30 16:10:56 -08:00
Mikolaj Wielgus
515aed7408
Make Clone functions for NETINFO_ITEM and PCB_MARKER
2021-12-01 00:47:22 +01:00
Seth Hillbrand
5dcd6f89d3
Don't register DRC error on internal approximation
...
Users can set the internal approximation of curves, which will create
small errors off of ideal locations. This will cause DRC errors on some
items such as rounded rect pads when elements are routed at the minimum
ideal distance. Users could already tune this value using the Advanced
Config values but we'd rather the user not depend on that.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9833
2021-11-30 15:28:20 -08:00
Jeff Young
3af65936c1
Don't consider heatsink, castellated or fiducial pads for THT vs SMD.
...
Also fixes a bug where the Footprint Checker's marker list wasn't cleared
correctly from the last run.
Fixes https://gitlab.com/kicad/code/kicad/issues/9821
2021-11-29 16:45:42 +00:00
Jon Evans
3218665861
Revert "Sync action plugins every time PCB frame is created"
...
This reverts commit 69566b25b1
.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9798
2021-11-28 16:16:14 -05:00
jean-pierre charras
3886e681ae
PAD Copy CTOR: fix missing copy of m_pinType member.
2021-11-28 14:34:26 +01:00
jean-pierre charras
f5246acf37
PCB_PAINTER: draw PAD do not always replace netname by "x".
...
When a pad net is edited inside the board editor, its netname is no longer
its corresponding pin netname.
Fixes #9795
https://gitlab.com/kicad/code/kicad/issues/9795
2021-11-28 14:34:26 +01:00
Jon Evans
a746d31038
PNS: Fix loop removal outside shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9680
2021-11-27 15:21:47 -05:00
Jon Evans
8a0f8c329f
PNS: Fix DP gateway generation when pad distance < gap
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9306
2021-11-27 14:03:19 -05:00
Seth Hillbrand
4b226b8172
Unify our breakTracks routines
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9793
2021-11-27 06:34:47 -08:00
Jeff Young
b0d7c1a810
Don't leave orphaned nets in pads after editing in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9789
2021-11-27 12:34:41 +00:00
jean-pierre charras
b8b8c0d34c
dialog text properties: fix a focus issue.
...
Fixes #9792
https://gitlab.com/kicad/code/kicad/issues/9792
2021-11-27 10:08:30 +01:00
Jeff Young
6652e5acf4
Draw pad holes when dragging.
...
Most of the time they're under the pad, but the provide needed
info when the hole is larger than the pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:09 +00:00
Jeff Young
9547c72e73
Teach router about different keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:04 +00:00
Jeff Young
6f0a4ccdee
Formatting.
2021-11-26 18:14:29 +00:00
Jon Evans
69566b25b1
Sync action plugins every time PCB frame is created
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-11-26 09:58:48 -05:00
Jeff Young
99ec2b1801
Don't hide original object when highlight is only part of it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Jon Evans
da458535c4
PNS: Avoid flickering clearances on new items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:38:04 -05:00
Jon Evans
63718323bc
PNS: Holes need to be moved with solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:31:18 -05:00
Jon Evans
8026863d4c
Use progress reporting in more places when loading a board
...
Prevents application-not-responding events while opening large designs
2021-11-25 11:19:03 -05:00
Jon Evans
b4342d813b
Fix SHAPE_LINE_CHAIN::Slice when end is an arc followed by a point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9770
2021-11-25 10:05:33 -05:00
Jeff Young
ade8fe4333
When dragging footprints pads with holes also need to be taken along.
...
Otherwise (aside from not colliding with their dragged location) we
won't update their locations and then if they happen to be the first
pad in the footprint we'll try to update the footprint's location post-
drag with the pad offset (which will be {0,0}.
This is easily reproducible with the test document in the bug in the
"fixes" statement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young
f9e1429c60
Naming conventions.
2021-11-25 14:54:12 +00:00
Jeff Young
5985a21b74
Offset internal items by drag amount.
...
Some tools move only preview items while keeping the real items
hidden. Those tools must use this new offset parameter.
Other tools move the real items. Those tools can ignore this
parameter (which will default to {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young
ba6ae4fa9b
Kicad has many plugins. This one is for the pcb.
2021-11-25 12:56:46 +00:00
Jon Evans
6ecdbbb1da
Remove some duplicate work when loading a board
2021-11-24 22:04:16 -05:00
Wayne Stambaugh
06f206104d
Pcbnew: fix chamfered rectangular pad definitions in GenCAD exporter.
...
The pad comparison function was never updated when chamfered rectangular
and custom pads were added so if more that one variant of either of those
pad types existed in a design, only the first one would get generated and
assign to every pad of that type.
The custom pad primitive comparison has not be implemented so the exported
designs may be broken for custom pads.
2021-11-24 12:54:44 -05:00
jean-pierre charras
c0fdac2774
DIALOG_TRACK_VIA_PROPERTIES: Do not use wxcombobox selection as temporary variable.
...
Fixes #9746
https://gitlab.com/kicad/code/kicad/issues/9746
2021-11-24 17:36:10 +01:00
jean-pierre charras
b6ea9afb4f
DIALOG_PAD_PROPERTIES: fix 2 issues: missing initial value for roundrect corner radius
...
and missing resize pad display panel (minor cosmetic issue).
Fixes #9755
https://gitlab.com/kicad/code/kicad/issues/9755
Fixes #9703
https://gitlab.com/kicad/code/kicad/issues/9703
2021-11-24 09:44:13 +01:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young
1c3e1df3ca
Not all holes are round.
...
We currently only need this to work for vias as we're a long way
from being able to support it for pads, so just check the hole
shape.
Fixes https://gitlab.com/kicad/code/kicad/issues/9735
2021-11-23 14:36:05 +00:00
Tomasz Wlostowski
e56e61ffb5
router: fix typo in the DP tuning fix patch
2021-11-23 00:21:38 +01:00
Seth Hillbrand
126563c839
Fix initilization project / ordering
...
We cannot resolve the Canvas type without the canvas being initialized.
But saving settings sometimes requests canvas access. This protects the
calls against failure by checking for canvas before saving
canvas-specific settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9729
2021-11-22 11:47:42 -08:00
Simon Schaak
5060c73625
Reject broken footprint files
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9721
2021-11-22 16:48:05 +01:00
Tomasz Wlostowski
89228e1ebe
router: increase parallelity detection threshold for AssembleDiffPair()
...
Partially fixes the misrecognized diff pairs issue.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8567
2021-11-22 01:35:12 +01:00
Jeff Young
8777ce3d4e
TEMP_SELECTED is in m_flags, not m_status.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 23:52:45 +00:00
Tomasz Wlostowski
e60386f028
router: disable 'limit corner count' optimization for via dragging
...
It seems to be completely preventing optimization instead of preventing over-optimization in case the head is a dragged via.
To be investigated in more details in V7.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Tomasz Wlostowski
ccf9a72078
router: fix ghost dots issue in router preview items
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Seth Hillbrand
3f2d86adec
Make OpenGL default for all apps
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9699
2021-11-21 12:33:07 -08:00
Roberto Fernandez Bautista
bbafce6ab3
PNS: Don't clip the line in the middle of an arc - just start again
...
In shove mode, returning an empty line results in keeping the current
head, which should be okay for now.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
2021-11-21 19:53:03 +00:00
Roberto Fernandez Bautista
4e0ad07eb0
PNS::Shove Add margin when generating hulls for arc segments
...
Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
There is still a case where if the shover does not find a solution,
we try clipping the arc and it still collides.
2021-11-21 17:13:21 +00:00
Tomasz Wlostowski
90157db537
PCB_PARSER: add timeout for of 100 ms for refreshing the progress window.
...
The previously used line number threshold was causing (on some systems) severe slowdown in loading
due to relatively long redraw time of the progress bar window.
2021-11-21 17:33:59 +01:00
Jon Evans
b1878fcc54
ClipVertexRange: fix fallout of NextShape API change
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9711
2021-11-21 11:03:22 -05:00
jean-pierre charras
302c5ab537
Fix an issue created by commit 9e3362d1
.
...
the issue was the graphic cursor was locked on the first snap point
in route mode, once a snap point is found.
2021-11-21 15:37:03 +01:00
Jeff Young
cf1d5f5724
Teach selectConnectedTracks() about layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 13:53:43 +00:00
Jeff Young
229706b48a
Formatting.
2021-11-21 13:53:43 +00:00
Tomasz Wlostowski
c40e921cb3
router: remeber to make a shove lockpoint when placing a lone via
...
Note to self: works around a possible bug in CommitPlacement()/RewindToLastLockedNode()
fixes: https://gitlab.com/kicad/code/kicad/-/issues/9695
2021-11-21 00:18:20 +01:00
Jeff Young
c1703212dc
"Document" properties go in File menu; Edit menu is for item props.
2021-11-20 22:44:43 +00:00
Jeff Young
9e3362d14c
Snap mouse point before picking startItem.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9700
2021-11-20 13:44:16 +00:00
Jeff Young
1f4858c314
Show holes in router preview items for vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9658
2021-11-20 12:21:24 +00:00
Seth Hillbrand
766a09c338
Remove autocomplete when we lose focus
...
Prevents the excess dropdown from persisting over windows
Fixes https://gitlab.com/kicad/code/kicad/issues/9651
2021-11-19 17:24:16 -08:00
Seth Hillbrand
7529eb1812
SWIG out connected item vector for use
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8566
2021-11-19 13:39:06 -08:00
Jeff Young
c01649fc6e
Make it easier to open legacy files.
2021-11-19 13:36:14 +00:00
Jon Evans
d76c6bc884
Add NewBoard API to allow standalone BOARD creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9687
2021-11-18 21:43:05 -05:00
Jon Evans
c5ddb8de26
Hide confusing lowercase version of GetCenter from SWIG
2021-11-18 21:21:22 -05:00
Seth Hillbrand
1d2fd6d271
Change persistent 45° state to only drawing
...
Move/edit points have a lossy state that holds only for the time in
which the tool is active. It reverts back to non-constrained after
completion of the move/point edit
Fixes https://gitlab.com/kicad/code/kicad/issues/9574
2021-11-17 15:38:28 -08:00
Wayne Stambaugh
e57ef66971
Fix build error with wxWidgets 3.0.
2021-11-17 12:28:23 -05:00
Jeff Young
ffae6c8f56
Fix hole table grow issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9666
2021-11-17 12:49:53 +00:00
Seth Hillbrand
a699cccaaf
Fix two string issues
...
Comp -> Compatible
Update string reference to changed string
2021-11-16 10:38:56 -08:00
Jon Evans
ed478f5ec0
Revert to ERROR_INSIDE for complex pad shape hulls in PNS
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9544
2021-11-15 19:15:05 -05:00
Wayne Stambaugh
a4e9beeeac
Coverity issue fix.
2021-11-15 14:02:28 -05:00
Jeff Young
ab2eae6f48
Implement a more nuanced firstFocus for Track & Via Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9645
2021-11-15 13:02:41 +00:00
Jeff Young
9d587e3e6e
Import Eagle rects, polys and circles with 0 width as filled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9639
2021-11-14 23:50:05 +00:00
Jeff Young
66d9e7073f
More discrete borders for Kicad mgr, PCM and appearances panels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Thomas Pointhuber
591fbf6383
altium: use arc angle to determine winding direction
2021-11-14 14:45:07 +01:00
Wayne Stambaugh
80c5b1efb1
File formatting improvements and fixes.
...
Symbol library IDs included the library nickname which is incorrect
and meaningless since it will be overwritten by the symbol library
table code. This is not a file format change as there are no behavioral
differences.
2021-11-13 12:57:18 -05:00
Wayne Stambaugh
53f5d616aa
Coverity issue fixes.
2021-11-13 11:38:31 -05:00
jean-pierre charras
eb3d8dbcc8
DIALOG_FOOTPRINT_PROPERTIES: fix an issue when a layer selector widget is selected.
...
When resisting the dialog, the widget was not moved.
Fixes #9617
https://gitlab.com/kicad/code/kicad/issues/9617
2021-11-13 11:12:08 +01:00
Jeff Young
2c870acaac
Fix arc exporting to GenCAD.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9597
2021-11-12 18:07:31 +00:00
Jeff Young
381da21609
Don't inc/dec to netclass track width value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9622
2021-11-12 17:50:34 +00:00
Jeff Young
879254abff
Remove track min width from the status bar.
...
It presents an over-simplified picture. Better to use Inspect >
Constraints Resolution....
Fixes https://gitlab.com/kicad/code/kicad/issues/9623
2021-11-12 17:31:50 +00:00
david-beinder
fd6a75b779
Do not call TransformToPoly for negative sized PADs
2021-11-12 15:40:08 +00:00
david-beinder
b46b27fe8c
Altium import: Avoid illegal filenames when writing embedded 3D models
2021-11-12 14:49:22 +00:00
david-beinder
a9b4465703
Altium import: Use UTF16 string table for PCB texts
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7948
2021-11-12 14:49:22 +00:00
Wayne Stambaugh
992fc83870
Pcbnew: fix GenCAD exporter bug.
...
The chamfered rectangle pad coordinate export was in the absolute board
position instead of relative to the footprint origin which GenCAD expects.
This fixes KSC ticket #413 .
2021-11-11 17:31:52 -05:00
Jon Evans
8ec3ce99ae
PNS: Update shover when autocompleting on item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9598
2021-11-10 18:17:56 -05:00
Roberto Fernandez Bautista
13f081549c
CADSTAR PCB: Use all User layers when mapping documentation layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9577
2021-11-10 21:47:22 +00:00
Roberto Fernandez Bautista
ad2e780a2c
CADSTAR PCB: Correctly load pads with holes
...
If the THROUGH_HOLE attribute isn't set, it just means that the pads
are only present on one side of the board, but there can still be a
plated / non-plated hole.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9579
2021-11-10 21:21:32 +00:00
Jeff Young
f6c160eb50
Apply a big hammer for python script refreshing.
...
While not ideal, this should tide us over until we have a commit
architecture for python scripts.
Fixes https://gitlab.com/kicad/code/kicad/issues/7065
2021-11-09 18:47:47 -05:00
Jeff Young
0dcbfa2b69
Always use UUIDs for implicit keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9580
2021-11-09 17:57:47 +00:00
Jeff Young
c0a6014114
Save actual control values; GetOriginalText is only for eval.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9575
2021-11-09 13:53:03 +00:00
Jeff Young
0631c8fc74
Fix logic bug when updating circular pad points.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9576
2021-11-09 13:14:24 +00:00
Jeff Young
18d9f6e323
Reduce auto.
2021-11-09 13:14:24 +00:00
Jon Evans
59807d8d26
A better solution to discarding pending shove operations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9553
2021-11-09 00:00:54 -05:00
Jon Evans
0234ae3003
Add CloneFrom API for BOARD_DESIGN_SETTINGS in SWIG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6885
2021-11-08 23:01:24 -05:00
Jon Evans
75d75799f7
Move to getters/setters for aux and grid origin
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Seth Hillbrand
6cc6f06a9a
Millimetres -> Millimeters
2021-11-08 15:56:51 -08:00
Seth Hillbrand
6569337d27
Haching -> Hatching
2021-11-08 15:56:51 -08:00
Seth Hillbrand
2f1a3827cf
Solder paster -> Solder paste
2021-11-08 15:56:51 -08:00
Jeff Young
6af031be05
Use double-quotes for rule expressions.
...
The Mac double-quote bug is now fixed and strings inside expressions
are single quoted making single-quoting the entire expression pretty
hard to visually parse.
2021-11-08 20:53:59 +00:00
Jeff Young
b1e8241ebe
Update pin type as well as function from existing when updating fp.
2021-11-08 20:53:59 +00:00
Jeff Young
d0014a307d
Reduce the artificial gravity for selecting vias by a bit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9563
2021-11-08 20:53:59 +00:00
Seth Hillbrand
81fc7c71d1
Handle blind/buried vias in Eagle import
...
Don't sanitize layers before setting type
Fixes https://gitlab.com/kicad/code/kicad/issues/9557
2021-11-08 12:46:54 -08:00
Roberto Fernandez Bautista
7fd669b6a8
Use green soldermask and white silkcreen when unspecified
...
Also - unspecify colour of soldermask by default
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9538
2021-11-07 15:35:14 +00:00
Jeff Young
dbad85d405
Remove instances of "auto".
2021-11-07 14:12:44 +00:00
Mark Hämmerling
97e9348ee1
Fix typo "verical" -> "vertical"
2021-11-06 20:39:19 +00:00
Mark Hämmerling
8f0b61715b
Fix tooltip about Edge.Cuts (not) being plotted on all layers, remove period
2021-11-05 23:38:14 +00:00
Roberto Fernandez Bautista
6aa7602c32
CADSTAR PCB: Reverse anticlockwise arcs before adding to the chain
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9533
2021-11-05 17:13:02 +00:00
Roberto Fernandez Bautista
8314251fa1
CADSTAR PCB: Force white silkscreen and green soldermask
...
We don't know the actual colour from the design, but this is the most
common used in the industry.
2021-11-05 17:13:02 +00:00
jean-pierre charras
93e163b98d
Do not replace delimiter " by ' inside a command string.
...
Fixes #9528
https://gitlab.com/kicad/code/kicad/issues/9528
2021-11-05 13:24:38 +01:00
Marek Roszko
792a8dca9d
Fix errant wxassert about expand and center align
2021-11-04 22:55:40 -04:00
Jeff Young
393c84e67a
Fix sketch mode rendering of beziers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9522
2021-11-04 12:57:16 +00:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Seth Hillbrand
b022b314a4
Account for pad hole is BBox
...
The bounding box is used for hit testing. If the hole is arbitrarily
larger than the pad, we need to allow the user to properly select it
2021-11-03 14:33:44 -07:00
Jeff Young
ffd1139cfe
Make sure a pad is at least as big as its hole in the RTree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9516
2021-11-03 18:53:26 +00:00
Asuki Kono
762cd5a32f
Add PLACE_FILE_EXPORTER to swig to call in python
2021-11-03 16:32:05 +00:00
jean-pierre charras
6b432e895a
DIALOG_COPPER_ZONE_BASE: fix incorrect max value of zone priority.
2021-11-03 11:49:38 +01:00
Johannes Pfister
64f77b3596
PNS: Add support for 90-degree corner modes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6902
2021-11-03 02:14:23 +00:00
Jeff Young
522359ccbf
Improve comments.
2021-11-02 20:07:34 +00:00
Jeff Young
3c78bf4ef8
One active point at a time.
2021-11-01 16:17:33 +00:00
Seth Hillbrand
f4cd57f815
Reserve production strings
2021-11-01 07:14:38 -07:00
Jon Evans
153594b9ea
PNS: Actually implement the AbortRouting API
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9425
2021-10-31 16:06:57 -04:00
Jeff Young
22ba640c2b
Remove locking from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9496
2021-10-31 16:33:03 +00:00
Jeff Young
e3ef101ec9
Add missing view controls for FP Editor Appearance Manager.
2021-10-31 16:33:03 +00:00
Roberto Fernandez Bautista
b2db24f275
CADSTAR PCB: Don't invert Text Angle for mirrored text
...
It matches the original cadstar when we don't invert
2021-10-30 18:14:23 +01:00
Wayne Stambaugh
d4537b6f53
Coverity issue fix.
...
Remove uninitialized member variable as it was unused rather than
initialize it which would have made Coverity happy.
2021-10-30 11:52:06 -04:00
Jeff Young
5f8e0ef1e0
Patch up arc hit-testing and printing for 6.0
...
This could use another look when we're not so near release. We
really shouldn't need to special case eeWinding vs. not eeWinding.
Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jon Evans
08700e3522
Router: show corner style in message panel
2021-10-30 09:08:52 -04:00
Jon Evans
08bf28b95d
Fix disabling free-angle mode
2021-10-30 09:08:35 -04:00
Jon Evans
e6c3027531
Action string typo fixes
2021-10-30 08:47:36 -04:00
jean-pierre charras
48be569a29
DIALOG_PAD_PROPERTIES: use our UNIT_BINDER to manage pad rotation and remove
...
the wxFloatingPointValidator (that has also issues with fp separator).
Try to fix a bug related to pad rotation in some locales (see bug 9331).
2021-10-30 12:39:33 +02:00
Jeff Young
08938463f1
Fix off-by-one error in via sizes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9486
2021-10-29 20:45:42 +01:00
Wayne Stambaugh
ffddefc532
Minor dialog layout improvements.
2021-10-29 15:29:49 -04:00
jean-pierre charras
63d4d84aaa
pcbnew, router: fix a crash and some other issues related to microvias and blind/buried vias
...
- fix crash when trying to create a microvia from a internal layer (boards with > 4 layers)
- fix a bug that allowed to create a non through hole via on only one layer
- fix a bug that allowed to create a microvia on non adjacent layer pair
- when placing a via and selecting the target layer from dialog, show only allowed layers.
Fixes #9477
https://gitlab.com/kicad/code/kicad/issues/9477
2021-10-29 17:54:04 +02:00
Peter Montgomery
71b07b59c5
Pcbnew: Added "All Items" clear/set to "Filter Selection" dialog
2021-10-29 09:56:14 +00:00
Jeff Young
c47e5ce577
Improve clearance outline tooltip.
2021-10-29 00:17:06 +01:00
Jeff Young
1abd45ac15
Report nets on pads.
2021-10-29 00:17:06 +01:00
Electro707
4afb59fda0
Added feature to switch between router modes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9414
2021-10-28 22:46:05 +00:00
jean-pierre charras
1dbe8442b1
fp editor: fix crash (null pointer) when trying to drag an item.
...
(there is no roter tool in fp editor)
Fixes #9476
https://gitlab.com/kicad/code/kicad/issues/9476
2021-10-28 11:51:04 +02:00
Jon Evans
4a9b3d9673
PNS: clear leftover vias from previous trace in DP placer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9283
2021-10-27 21:58:42 -04:00
Jeff Young
e9661161d2
Fix missing member variable in swap().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9470
2021-10-27 21:57:20 +01:00
Wayne Stambaugh
54be0da33d
Pcbnew: minor plot dialog improvements.
2021-10-27 11:36:43 -04:00
Jeff Young
4fe025909d
Fix centered rotated text in Pcbnew Eagle importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 14:38:42 +01:00
Jeff Young
e12f9a194d
Fix Eagle arc importing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 02:36:43 +01:00
Seth Hillbrand
0c99c99e12
Do not assign priorities to rule areas
...
As noted by @jeffyoung, we shouldn't set priorities to rule areas as
this can expose unexpected issues
Related to https://gitlab.com/kicad/code/kicad/-/issues/7776
2021-10-26 11:16:04 -07:00
Jeff Young
5b9519da6c
Fix arc formatting in Fabmaster import.
2021-10-26 17:52:10 +01:00
Jeff Young
341b0a5652
Don't depend on a keepout zone having no priority.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7776
2021-10-26 17:20:09 +01:00
Jeff Young
c13ff9cec9
Formatting.
2021-10-26 17:19:30 +01:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Roberto Fernandez Bautista
a79a221257
Array creator tool: Add option to assign unique reference designators
...
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]
CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Jeff Young
36d11f745e
Update ratsnest while dragging footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-10-25 21:45:30 +01:00
Seth Hillbrand
7812dc1a67
Fix hard-coded limit to dp choice
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9459
2021-10-25 10:45:59 -07:00
Seth Hillbrand
ea4e06124e
Edit library footprint command
...
Provides missing PCB_ACTION for the edit library footprint command. This is
needed for python control of the command
Fixes https://gitlab.com/kicad/code/kicad/issues/9454
2021-10-25 09:25:37 -07:00
Tomasz Wlostowski
bba742b804
pcbnew: support vertex line start/end width to correctly import certain DXF files
2021-10-25 17:39:09 +02:00
Tomasz Wlostowski
df47c1c4e9
pcbnew: use doubles to pass line widths in the DXF importer as they are expressed in DXF's units and can case severe rounding errors when passed as ints
2021-10-25 17:36:04 +02:00
Seth Hillbrand
8a3bc3fe4d
Don't translate empty strings
...
The _( "" ) msgid is reserved in gettext, so we need to avoid it in code
2021-10-25 06:24:06 -07:00
Jon Evans
5475303ec2
Allow loading secondary boards from Python
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9271
2021-10-24 14:06:38 -04:00
Seth Hillbrand
d202b78dc4
Fix disable warnings to be compatible
...
GCC and Clang both support the short mnemonic `-w` to disable warnings,
so use that to be compatible
Fixes https://gitlab.com/kicad/code/kicad/issues/9446
2021-10-24 07:30:39 -07:00
Jeff Young
c9d858eaf5
Add status bar message for constraint mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Jon Evans
328d3d0d77
PNS: Fix rule resolution when starting from PTH
...
Have to use the routing start layer, not the first
layer of the PTH, to get the appropriate sizes
2021-10-23 22:46:31 -04:00
Jon Evans
3b18dce911
Remove vestigal setting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9444
2021-10-23 22:12:25 -04:00
Roberto Fernandez Bautista
e950278637
Don't initiate a drag if the router is already active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9277
2021-10-23 19:01:25 +01:00
jean-pierre charras
25c8b58e68
DIALOG_COPPER_ZONE_BASE: fix bug that prevents entering a value in Smoothing amount.
2021-10-23 15:16:37 +02:00
Jeff Young
e30d867439
Use consistent terminology for various constraint modes.
2021-10-23 12:18:08 +01:00
Jeff Young
90eff6c6a2
Prevent assert when sorting non-existant layer.
2021-10-23 11:53:03 +01:00
Roberto Fernandez Bautista
987d64c88e
pcbnew graphics import: Fix arc winding direction
2021-10-23 11:02:00 +01:00
Jeff Young
fecb53b64f
Clean up removal of separate front & back footprint text visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Seth Hillbrand
d44e0ab765
Limit use of non-copper layers
...
When importing, we should not use Eco1 for other purposes as the
importer uses it to place unknown layer objects. We also need to avoid
placing objects on the courtyard layers that do not relate to the layer
purpose in DRC
Fixes https://gitlab.com/kicad/code/kicad/issues/9442
2021-10-22 12:31:11 -07:00
Jeff Young
8cbdf5ba12
Keep default pad number up-to-date (in both directions).
...
Also hides the net selector when in the footprint editor as it has
no meaning there. (We still only grey it out for the board editor
when the pad type has no net to keep things from coming and going too
much.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9317
2021-10-22 19:58:36 +01:00
Floris Lambrechts
06b9d774c0
Expose PCB_TRACK vector as a SWIG proxy object
...
Allows to use Connectivity `GetConnectedTracks()` in Python.
This is in line with `GetConnectedPads()`, and with pcbnew v5.1 where
GetConnectedTracks was also usable from Python.
Fixes https://gitlab.com/kicad/code/kicad/issues/9435
2021-10-22 16:00:18 +00:00
jean-pierre charras
0bdb424215
FootprintWizardBase.py: fix Arc building due to recent code changes.
...
Add a arc_test wizard (only to test arcs in fp).
2021-10-22 10:07:31 +02:00
Jeff Young
6c0110ecd3
Naming conventions.
...
There's nothing "legacy" about the OpenGL 3D renderer.
2021-10-21 14:30:03 +01:00
Jeff Young
0fd762dc25
Make 3D dialogs easier to find.
2021-10-21 14:30:03 +01:00
Wayne Stambaugh
0795fcb810
Minor dialog layout fixes.
2021-10-21 08:59:55 -04:00
Jeff Young
b1f17dc927
Don't let the polygon routines collapse on a zero line width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9418
2021-10-20 12:29:07 +01:00
qu1ck
09a2701136
Fix arc angle calculation and python API for it
...
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
Jeff Young
463b82cf46
Be very careful when "doing what I mean".
...
Just wanting a SMD pad isn't enough -- the user may have already
set SMD settings into the master pad and changing the SizeX is
then very unexpected. Make sure the settings directly conflict
before making any "do what I mean" adjustments.
Also fixes the parent-footprint info when no parent exists.
Also gives a better title to the dialog when used to edit the masterPad
properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9427
2021-10-20 08:59:25 +01:00
jean-pierre charras
b37664092d
DIALOG_GLOBAL_DELETION: enable graphic items filters when board outlines is enabled.
2021-10-20 09:16:40 +02:00
Seth Hillbrand
2a6c73b8df
Check for hole before highlighting
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9423
2021-10-19 11:25:00 -07:00
Jeff Young
57f907f6e7
Make sure PCB_PARSER is fully initialized between footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9424
2021-10-19 17:14:04 +01:00
jean-pierre charras
40e6a9a926
Fp editor: add DRC test for through hole pads without hole.
2021-10-19 14:47:29 +02:00
Seth Hillbrand
fb5fef9f5f
Remove extraneous Raise() from DRC cross-probe
...
Scroll-to-show on GTK relies on the idle handler but this is interrupted
by a Raise and not revisited. Since the Dialog is always on top of the
editor, Raise is not needed to view the referenced error
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-18 17:16:36 -07:00
Seth Hillbrand
5af813c69f
Remove extra handler
...
The extra handler intercepted the action before it could be handled
properly changing the board design settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9410
2021-10-18 15:08:22 -07:00
Seth Hillbrand
29b851dce1
Tighten up ecea2e4279
2021-10-18 13:44:19 -07:00
Mark Hämmerling
ecea2e4279
pcbnew: Add window title to "Find" dialog
2021-10-18 20:39:37 +00:00
Seth Hillbrand
e9205a0740
Fix mistaken comparison in highlighting
...
Need to compare between elements colliding
Fixes https://gitlab.com/kicad/code/kicad/issues/9413
2021-10-18 13:38:27 -07:00
Jeff Young
856cc26d4c
Allow vias the same same-net waiver that pads have for hole clearance
...
Note that in 7.0 we have physical_hole_clearance rules to give a bit
more expressivity here.
Fixes https://gitlab.com/kicad/code/kicad/issues/9420
2021-10-18 18:09:40 +01:00
Jeff Young
0826c26a18
Fix a few minor dialog issues.
2021-10-18 18:09:40 +01:00
Seth Hillbrand
10ac675905
Fix shadowing
2021-10-18 09:00:24 -07:00
jean-pierre charras
cee9e417ec
Fix mirroring arcs in footprints
...
Fixes #9417
https://gitlab.com/kicad/code/kicad/issues/9417
2021-10-18 17:10:39 +02:00
Ian McInerney
5817a8b5f4
Remove unused m_host variable
...
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Roberto Fernandez Bautista
99442350a4
CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
...
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.
Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
qu1ck
6db0216dd4
Bring back python compatibility constants for SHAPE_T
...
They were removed in a41944020d
and that broke a lot of stuff.
2021-10-17 03:21:47 -07:00
jean-pierre charras
b44a14a472
Plot custom pads with pad anchor size = 0.
...
A pad anchor size = 0 is allowed in 5.99 version (not in 5.1 versions)
Fixes #9408
https://gitlab.com/kicad/code/kicad/issues/9408
2021-10-17 11:01:38 +02:00
Roberto Fernandez Bautista
e867a4fd27
CADSTAR PCB: Fix Zone fill priorities
...
The algorithm now correctly determines fill priorities when the zone
outlines are close together and within the minimum clearance between
zones.
2021-10-16 21:50:56 +01:00
Seth Hillbrand
57d0cbcefa
Fix python QA
2021-10-15 13:50:36 -07:00
Seth Hillbrand
b88473e41f
Respect context layer in eval
...
When testing for a specific layer context, we should only return true if
the item either exists on that layer or if the context layer is
UNDEFINED_LAYER, meaning the layer value is not material to the test
Relates to https://gitlab.com/kicad/code/kicad/-/issues/9366
2021-10-15 10:35:29 -07:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
jean-pierre charras
0533196294
Fix Coverity warnings
2021-10-15 09:24:16 +02:00
Seth Hillbrand
faba2b06c2
Lock track width after placing segment
...
We don't want to allow the full track width to change after placing a
segment when we are in follow-segment mode. This would require either
ripping up and re-solving the existing track or allowing potential DRC
errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/9395
2021-10-14 09:21:14 -07:00
Seth Hillbrand
07b9e2ee51
Fix errant debug message
...
__WXDEBUG__ is only for internal WX debugging and is always enabled even
on release builds because it is defined to be 0, 1 or 2. Use DEBUG to
limit to debug builds
Fixes https://gitlab.com/kicad/code/kicad/issues/9392
2021-10-13 09:16:55 -07:00
Seth Hillbrand
95ec23247c
Initialize zone vars in CTOR
2021-10-13 08:59:48 -07:00
Seth Hillbrand
5a6f230a2c
Delete full track needs proper scoping
...
This should not run if the action is "Cut". Additionally, we need to
transfer the expanded selection to selectionCopy in order for it to
proceed with the deletion. There is also no need for this to be limited
to the Hover action, so this section was removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/9385
2021-10-12 13:47:16 -07:00
Seth Hillbrand
35e90d0cf4
Allow changing router mode while routing
...
Keeps shove active even when not using to allow switching modes during
routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9342
2021-10-12 09:55:34 -07:00
Seth Hillbrand
7f1247a23c
Update track width when changed
...
Tracks starting from pads should change in response to the track width
changing despite having the "follow existing track" width selected.
2021-10-12 09:55:34 -07:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
1b7358f93a
Import layer settings before swapping boards
...
The rebuildLayerStackPanel() reads from the current board to setup the
panel. We maintain the board swap until after the setup is completed
Fixes https://gitlab.com/kicad/code/kicad/issues/9370
2021-10-11 11:47:22 -07:00
Seth Hillbrand
58f553a9ca
Check for layer when DRC on vias and non-zone items
...
We were already checking for zone-zone overlap but missing checks when
running against (possibly) buried vias as well as the general check
Fixes https://gitlab.com/kicad/code/kicad/issues/9366
2021-10-11 10:33:50 -07:00
Seth Hillbrand
fce054319c
Update DRC MatchDPSuffix routine
...
This matches the router matchDPSuffix routine until we merge the two
into a common utility
2021-10-11 10:33:50 -07:00
Roberto Fernandez Bautista
43e59b0ea7
CADSTAR PCB: Correctly handle associated pad ids and PCB Only pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9372
2021-10-11 18:30:20 +01:00
Roberto Fernandez Bautista
7a71ebf9ac
CADSTAR PCB: Load all three net properties into a single Netclass
...
The final netclass name will be a bit long but it will allow for custom
DRC rules to individually target each of the three properties available
in CADSTAR:
- Route Code (which specifies width of the track in min, max, opt)
- Net class (only used in signal integrity analysis)
- Spacing class (for specifying clearance requirements between classes)
2021-10-10 22:16:08 +01:00
Roberto Fernandez Bautista
e9030283cc
Fix formatting
2021-10-10 22:16:08 +01:00
Seth Hillbrand
93bbad6acf
Allow snapping in pickReferencePoint
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9354
2021-10-10 08:53:10 -07:00
Seth Hillbrand
62cb5d9354
Fully cancel copy with reference
...
Tool needs to be popped when cancelling to allow selection tool to work properly.
Fixes https://gitlab.com/kicad/code/kicad/issues/9353
2021-10-10 08:31:18 -07:00
Ian McInerney
4d89061d4c
Support footprint arcs in convert to polygon
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9352
2021-10-10 16:26:23 +01:00
Seth Hillbrand
6620831d38
Clear edited point when exiting point editor
...
Failing to clear this will prevent selection where tools check for
edited points before processing mouse button down events
Fixes https://gitlab.com/kicad/code/kicad/issues/9357
2021-10-10 08:25:50 -07:00
Roberto Fernandez Bautista
0fa8e1f311
DRC Control: Clear pointer to MARKER after it has been centered
...
Also, added asserts to verify SelectMarker and CenterMarker actually
do select one.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9344
2021-10-10 16:22:04 +01:00
jean-pierre charras
593324bbaa
Do not use non ASCII7 chars in English strings.
...
Fix UTF8 to unicode conversion issue.
Fixes #9356
https://gitlab.com/kicad/code/kicad/issues/9356
Fixes #9355
https://gitlab.com/kicad/code/kicad/issues/9355
2021-10-10 10:32:31 +02:00
Roberto Fernandez Bautista
ac3ade874e
CADSTAR PCB: Set Copper-to-Hole clearance as 0
...
Testing suggests that CADSTAR doesn't actually have any clearance to the
hole (other than electrical clearance to the barrel of the padstack/
viastack).
This removes a large amount of DRC violations on imported designs.
2021-10-10 00:20:13 +01:00
Roberto Fernandez Bautista
eb7d0fdf8a
CADSTAR PCB: Use board clearance + additional isolation as zone clearance
...
Copper-to-copper clearance is too onerous and results in large amount
of DRC errors for the majority of imported designs.
2021-10-10 00:18:36 +01:00
Roberto Fernandez Bautista
f4ff01a5ab
CADSTAR PCB: Copy default netclass settings when creating new ones
...
Ensures that the global clearance is preserved in the newly created
netclass.
2021-10-09 23:10:55 +01:00
Seth Hillbrand
41e7284fdc
Speed up pcbnew loading/updating
...
Rather than detaching and re-attaching the layer panels with the
attendant overhead, we keep each panel intact and only update its
contents. Since the bindings are the same, this saves substantial time
on pcb loading as well as when closing the board setup dialog
2021-10-09 13:38:35 -07:00
Roberto Fernandez Bautista
8f74085ca4
CADSTAR PCB: Handle older boards without construction layers
...
Use KiCad default stackup for older CADSTAR boards that do not
define any dielectric layers between the electrical layers.
Also fix default stackup calculation to ensure finished board thickness
is 1.6mm
2021-10-09 21:26:16 +01:00
Roberto Fernandez Bautista
d62a5ecf46
Remove unused GetPcbThickness() function in PANEL_SETUP_BOARD_STACKUP
...
The function used now is computeBoardThickness()
2021-10-09 20:35:10 +01:00
Roberto Fernandez Bautista
33a3cfc87b
CADSTAR PCB: Update Board Design Settings to notify that a stackup exists
...
Also update thickness of the PCB
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9307
2021-10-09 20:33:14 +01:00
Roberto Fernandez Bautista
e80a1c2679
CADSTAR PCB: Don't load items on invalid layers
...
This was happening in two cases:
- Loading documentation symbols (CADSTAR on purpose defines these in an
invalid layer)
- When an item was in a "layer set" such as ALLELEC or ALLLAYER - need to
make sure we remove the copper layers that are not active in the design
2021-10-09 20:07:23 +01:00
Ian McInerney
895f4ca989
Cleanup 3D model filename validation
...
Don't veto the changed event anymore and instead just display the
feedback in the error column of the grid.
2021-10-08 22:30:20 +01:00
Ian McInerney
8d71bdc3e1
Cleanup unit handling in the stackup drawing tool
2021-10-08 22:30:20 +01:00
Roberto Fernandez Bautista
677166f0b8
CADSTAR PCB: Rule Areas have zero width
...
Cadstar areas have a line width but this is only for display purposes.
Instead CADSTAR uses the center line when determining whether a DRC
violation occurred.
2021-10-08 21:27:32 +01:00
Roberto Fernandez Bautista
2dfbd42be6
CADSTAR PCB: Legacy netclass and design settings loading is required
2021-10-08 20:48:10 +01:00
Roberto Fernandez Bautista
ae0229b7c9
CADSTAR PCB: Add imported nets to the imported netclass.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
58fc4f512d
CADSTAR PCB: Don't create zero width tracks
...
Fixes a bug in the route offsetting part of the import
that was resulting in zero-width tracks being imported.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
16b61e47cd
CADSTAR PCB: Clear arcs from polys before boolean ops (e.g. zone fills)
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
fb588da875
CADSTAR PCB: Fix loading of thermal relief gap in zones
...
We were loading as solid fill when the relief gap was exactly the
same as the minimum width.
Also we can do better than just load as solid fill when it is smaller:
we can instead just use the minimum width and at least it still will
have thermal reliefs.
2021-10-08 17:39:08 +01:00
jean-pierre charras
4d6b1a4e36
pns_diff_pair_placer: fix empty message when a signal of a pair is not found.
...
Fixes #9334
https://gitlab.com/kicad/code/kicad/issues/9334
2021-10-08 14:57:01 +02:00
Roberto Fernandez Bautista
cb47bf25c0
CADSTAR PCB: Actually load the original route code as a KiCad NETCLASS
...
We weren't actually loading it into the design settings even though
everything else was already being correctly loaded.
2021-10-07 22:13:06 +01:00
Seth Hillbrand
f9c83dbc44
Fix footprint type memory
...
The flags don't map quite right, so we keep the memory of the drop-down
and translate to flags. This protects against flag values changing
2021-10-07 11:29:51 -07:00
Seth Hillbrand
51d3440c38
Use footprint type to inform new pad type
...
Makes usage cleaner. If the user specifies that they are creating an
SMD, they should get SMD pads by default so that they don't have to
change them later.
Fixes https://gitlab.com/kicad/code/kicad/issues/9333
2021-10-07 11:10:26 -07:00
Jeff Young
57c7d663b0
Fix bone-headed mistake when moving panel disabling.
2021-10-07 00:17:42 +01:00
Seth Hillbrand
ad85f8078a
Reverse escaping when transferring multi-line
...
We escape the strings coming out of the DIALOG_TEXT_PROPERTIES window,
so we need to unescape the ones coming in
Fixes https://gitlab.com/kicad/code/kicad/issues/9327
2021-10-06 13:25:03 -07:00
Seth Hillbrand
a8ec3b58ed
Use via's real drill value for hole size
...
If the via drill is "Default" be sure to get the default value rather
than the placeholder
Fixes https://gitlab.com/kicad/code/kicad/issues/9313
2021-10-06 11:00:58 -07:00
Jeff Young
1bb5fc3fd6
Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
...
Also adds double-click-marker to open DRC dialog and select marker
in list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young
95f841a037
A more nuanced method of making Board & Schematic Setup read-only.
...
This one still allows you to scroll to see all contents.
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
92008a089a
Disable Board & Schematic Setup controls when project is locked.
...
(or missing).
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-04 16:47:27 +01:00
Jeff Young
ffd6fde700
Improve consistency and hotkey access in Appearances.
...
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.
Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young
930c4e5582
Cleanup.
...
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young
5c402a64ab
Use mathematical rotation direction in Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1897
2021-10-03 00:11:01 +01:00
Jeff Young
574bef2237
Normalize drawing sheet path to env vars & prj, not just prj.
...
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
e2baacec21
Add cross-probing between PCB (markers) and DRC marker list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
jean-pierre charras
da79a3dd69
Option graphics limited to 45deg in creation: separate options for brd and fp editors.
...
Add these options in PANEL_EDIT_OPTIONS.
This option was previously living only in some context menus, not really visible.
2021-10-02 16:43:31 +02:00
Jeff Young
10dd70881c
New paramaterized interface doesn't like quoted parameters.
...
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young
ef74421922
Move centering of lib-tree item to idle event.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9294
2021-10-01 22:46:14 +01:00
Jeff Young
5f5ee7335d
Formatting.
2021-10-01 21:49:14 +01:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Seth Hillbrand
dd1d36d40a
Fix segfault when check for editing points
...
The point editor is not always available when checking for points. We
need to handle the missing tool without crashing
2021-09-30 17:25:33 -07:00
jean-pierre charras
a738257c43
Remove a tool tip not related to the parent widget.
2021-09-30 20:17:45 +02:00
Seth Hillbrand
e7ae3a181f
Handle casing for FocusOnItem
...
Some items are complex (footprints) and some don't have logical polygons
(PCB_MARKER), so we can't transform everything. So, handle the items we
can transform normally and use bbox or boundinghull for everything else
2021-09-29 16:19:49 -07:00
Jeff Young
12b726ba2f
Prevent the point editor from fighting with other tools.
...
1) Don't start a long-click timer when the point editor is active.
2) Don't auto-start a wire when the point editor is active.
Fixes https://gitlab.com/kicad/code/kicad/issues/9270
2021-09-29 19:16:06 +01:00
Jeff Young
ee2789943f
Supply grid with a GRID_TRICKS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9273
2021-09-29 18:44:19 +01:00
Jeff Young
0438a45176
Don't allow reentrancy into PlaceFootprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9269
2021-09-29 17:01:33 +01:00
Jeff Young
3b6da14614
Don't allow offset for circular pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9266
2021-09-29 15:27:34 +01:00
Jon Evans
07e01e6297
Allow converting graphic arc to track arc
2021-09-28 21:00:15 -04:00
Roberto Fernandez Bautista
2e120528c8
Length Tuner: Allow single meander when it fits on its own
2021-09-28 18:50:31 +01:00
Roberto Fernandez Bautista
71156368c9
Length Tuner: Allow controlling the side of the meander using the cursor
...
Also fixes an issue that did not allow single meanders to be placed
2021-09-28 18:50:31 +01:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +01:00
Jeff Young
fac48ddafb
Don't include stale nets in net counts.
...
Fixes bug reported by Franck.
2021-09-28 14:28:12 +01:00
Mike Williams
d90dc77e00
Selection: Don't drop small moves
...
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
2021-09-27 16:44:32 +00:00
Mike Williams
726f9ebe3d
Pcbnew: Router tool should not block drag selection when idle
...
The other drawing tools allow drag selection while idle. Also, it makes
it more obvious to the user when accidentally drag selecting while
routing than just doing nothing on a drag with the routing tool selected
and idle.
2021-09-27 16:05:13 +00:00
Jeff Young
544fa939f8
Lock/unlock group members when locking/unlocking group.
...
Also moves the stateful selection filter to after the hierarchy filter
since the hierarchy filter might swap a pad selection for a footprint
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/9255
Fixes https://gitlab.com/kicad/code/kicad/issues/7542
2021-09-27 11:29:52 +01:00
Jeff Young
dfe4997664
Fix nullptr crash.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9250
2021-09-27 10:27:25 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jon Evans
e2368b733c
Allow selection of NPTH pads with zero copper size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9249
2021-09-26 18:17:50 -04:00
Jeff Young
422def1261
Move cross-probe scrolling to FocusOnLocation.
...
It handles not moving the display too much and using the exposed
center if there is a dialog over the window.
Fixes https://gitlab.com/kicad/code/kicad/issues/8985
2021-09-26 20:06:50 +01:00
Jeff Young
a3dcdd4887
Allow highlight-net to work on zone copper.
...
We were already checking zones separately (after tracks and pads); we
just weren't setting the flag that causes the COLLECTOR to also test
zone fills.
Fixes https://gitlab.com/kicad/code/kicad/issues/5924
2021-09-26 19:26:22 +01:00
jean-pierre charras
5853f0890e
Gerber job file: fix a bug that prevent writing dielectric constants for impedance controlled boards.
2021-09-26 16:11:15 +02:00
Jeff Young
b799d563e5
Slight improvement to track & via clearance option text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8838
Fixes https://gitlab.com/kicad/code/kicad/issues/8839
2021-09-26 11:02:57 +01:00
jean-pierre charras
77f47b6e47
Avoid assertion in some cases.
2021-09-26 10:54:50 +02:00
jean-pierre charras
9f64850325
Drawing stackup table: fix a few issues and missing items.
...
Fixes #9243
https://gitlab.com/kicad/code/kicad/issues/9243
Fixes #9244
https://gitlab.com/kicad/code/kicad/issues/9244
2021-09-26 10:31:41 +02:00
Jeff Young
6b25099df7
Read/write lock status for fp text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9325
2021-09-25 20:37:56 +01:00
Seth Hillbrand
3e7310a219
Move FP type check to FP DRC
...
Checks for validity are better centrally located where they don't
interrupt user actions
2021-09-25 08:56:27 -07:00
Jeff Young
46949abe4a
Don't scroll to highlight an object already visible.
2021-09-25 15:31:52 +01:00
Seth Hillbrand
c3b6939ea7
Allow quiet creation (scripting)
2021-09-24 13:49:45 -07:00
Seth Hillbrand
bb95ca2966
Make MW footprints proper attrib
2021-09-24 13:48:01 -07:00
Seth Hillbrand
64be61b4d6
Allow user to set footprint type up front
...
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Seth Hillbrand
a6fc885402
Component->Footprint label
2021-09-24 13:48:01 -07:00
Seth Hillbrand
963a8ee42d
Warn users when creating footprints about mismatch
...
Checks to see if the footprint attribute matches the type of pads
contained in the footprint. Can prevent issues during fabrication if
users forget to adjust them during creation.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Mike Williams
1b0c274e22
Python: Copy board iterables to prevent segfaults
...
Python code like:
for track in board.GetTracks():
board.Remove(track)
Would delete tracks in the the underlying m_tracks while iterating over
it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5192
2021-09-24 19:40:46 +00:00
Jeff Young
bf145dd633
Confine allow-locked-pad-selection-even-when-filtered to single-select.
...
Also make sure text in a locked footprint is not selected if the locked
items filter is unset.
Fixes https://gitlab.com/kicad/code/kicad/issues/9227
2021-09-24 18:58:22 +01:00
Jeff Young
c38de1dcaf
Pull back some 7.0 fixes to Custom Rules code completion.
2021-09-23 13:08:31 +01:00
Jon Evans
a2ad204f4b
Fix off-by-one in AssembleTuningPath
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9003
2021-09-22 20:25:22 -04:00
Seth Hillbrand
5975524826
Fixup PCB_ONE_LAYER_SELECTOR
...
It is useful to be able to tell which layer you are selecting. The
checkboxes, on the other hand, provide no information when dealing with
a single layer selection
2021-09-22 15:57:27 -07:00
Seth Hillbrand
140e4cbe28
Avoid assertion on 2-layer board
...
New boards may have INVALID_LAYER inbetween F_Cu and B_Cu in the
stackup. Skip these and any layer values beyond what we store currently
2021-09-22 12:37:17 -07:00
Seth Hillbrand
84864351c7
Fix units naming in stackup
...
We were not handling the new mils/inches division in stackup table
Fixes https://gitlab.com/kicad/code/kicad/issues/9210
2021-09-22 12:30:02 -07:00
Mike Williams
16ec6fbec4
Plugins: Fix QR code generator shape exception
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9079
2021-09-22 11:15:26 -04:00
Seth Hillbrand
be799b49a8
Fix equality in dp matching
...
A single count is found when dp ends with matching char. .Right(0) will
return an empty wxString() which is still valid
Fixes https://gitlab.com/kicad/code/kicad/issues/9206
2021-09-21 19:47:15 -07:00
Jon Evans
cf53b053a1
Improve handling of dragging around locked segments
...
Locked segments now are not modified if they weren't the start item.
If a locked segment is the start item, it is automatically unlocked.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9145
2021-09-21 22:38:53 -04:00
Jeff Young
2ec1c215cd
Drop selection after hiding items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8605
2021-09-21 17:02:34 +01:00
Mike Williams
65c9170b46
Pcbnew: Clear tool and selection before updating PCB from schematic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9196
2021-09-21 00:06:56 +00:00
Seth Hillbrand
22a29a42cf
Generalize net DP matching
...
The requirement of 1-2 numbers following P/N or +/- was arbitrary and
not needed. We also add the _ to allowable suffixes to permit DP
matching of auto-renamed nets
2021-09-20 15:30:47 -07:00
Jeff Young
32a5653464
Remove yet more single-pad-net stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-20 22:04:02 +01:00
Jeff Young
04aff93248
Eagle doesn't use netclass clearance so make them the board clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2442
2021-09-20 21:31:19 +01:00
Roberto Fernandez Bautista
dc1fd3d9ba
PNS test app: Add logging information for curved track routing
2021-09-20 20:35:24 +01:00
Jeff Young
f66654247a
Read netclasses when importing Eagle projects.
...
Also creates a DRU file with the various netclass-to-netclass
clearance rules from the Eagle clearance matrix.
Fixes https://gitlab.com/kicad/code/kicad/issues/1774
2021-09-20 12:38:56 +01:00
jean-pierre charras
8848f7158d
Fix a Coverity warning (non tested pointers, really a bug)
2021-09-20 09:14:10 +02:00
Jeff Young
40a0f25a3e
Formatting.
2021-09-19 19:30:09 +01:00
Jeff Young
6ea7e59991
Fix "done" message being in wrong place for drill files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-19 19:26:10 +01:00
Jeff Young
3651d7c5e7
Remove vestiges of old zoom-auto architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9055
2021-09-19 18:32:15 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Marek Roszko
403826b97c
Respect the model show setting for vrml and idf export
...
Fix #9166
2021-09-19 08:16:18 -04:00
Jeff Young
9f03a259f9
Remove no-longer-needed options from Update PCB and Import netlist.
...
The delete-single-pad-nets one is particularly problematic as it
makes some of the cross-probing features not work.
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-18 18:32:19 +01:00
jean-pierre charras
b931883876
PANEL_FP_PROPERTIES_3D_MODEL: fix an issue when trying to edit a filename (MSW specific).
...
On Windows, FILENAME_RESOLVER::ValidateFileName() always returned a illegal filename test,
because the separators ('/' and '\') are in list of illegal chars in filenames on MSW.
2021-09-18 18:17:54 +02:00
Jeff Young
4779850c10
Add done messages to various plotters.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-18 10:39:57 +01:00
Marek Roszko
847c9e32c8
Don't allow the draw via tool to activate in the footprint editor
...
Fix #9186
2021-09-17 23:01:16 -04:00
Jeff Young
34c2bd58d1
Disable ungroup where there are no groups in the selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9182
2021-09-17 22:21:33 +01:00
Jeff Young
7b07b1650c
Don't draw titlebar for untitled groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9181
2021-09-17 22:01:17 +01:00
Jeff Young
5c07441e24
Remove Setup Dialog assignment of netclasses to buses.
...
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young
86ffb9a4bb
Bring a little more consistency to the Text & Graphics Defaults panel.
2021-09-17 22:01:17 +01:00
Wayne Stambaugh
d90094de39
Fix progress dialog main frame focus issue on Linux.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8718
2021-09-16 15:53:18 -04:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Jeff Young
fdd9df6dff
Linear brightening doesn't work well for colours near white.
2021-09-16 14:17:52 +01:00
Jeff Young
e2ce2e6ca9
Correct slight misalignment in Library Link fields.
2021-09-15 21:17:18 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young
4447843dc1
Defensive coding around getting an OnUpdateUI before we're ready.
...
This appears to happen at least on GTK when the 3DFileResolver throws
up error dialogs when paths can't be found.
Fixes https://gitlab.com/kicad/code/kicad/issues/9163
2021-09-14 13:35:31 +01:00
Jon Evans
4d478d6f17
Fix ordering of initialization in length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9161
2021-09-14 07:48:02 -04:00
Jeff Young
b27b97809f
Clean up several bugs in Graphics Cleaner.
...
See bug report for more details.
Fixes https://gitlab.com/kicad/code/kicad/issues/9150
2021-09-13 18:04:17 +01:00
Jeff Young
32e23d993e
Formatting.
2021-09-13 17:18:58 +01:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
jean-pierre charras
1cf1a23250
footprint.cpp: seriously speedup CoverageRatio() and GetCoverageArea().
...
Previoulsy, they calculated the area of polygons after using Simplify() and Fracture().
But polygon areas can be easily calculated without these transforms.
So they are just removed (they are really time consummig).
2021-09-13 13:41:36 +02:00
Marek Roszko
daca9d21f2
Add dxf point import
...
Fix #9149
2021-09-12 19:38:52 -04:00
Jon Evans
814b6b8e86
Fix disabled layer error text
2021-09-12 17:14:24 -04:00
Jeff Young
62f7a09290
Smooth out a few minor inconsistencies in fonts & spacings.
2021-09-12 17:57:15 +01:00
Jeff Young
a5247471f7
Expunge a bunch more fixed font specs from wxFormBuilder files.
...
Also removes the -1 sizing of the status bar on GTK and MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young
0ac765c5bb
Special case footprint zones which can be on "inner layers".
...
Also improves the reporting so that it reports the actual conflict
layer rather than just the first layer the object is on.
Fixes https://gitlab.com/kicad/code/kicad/issues/9144
2021-09-12 13:53:12 +01:00
jean-pierre charras
83d7c731d3
Pcbnew, plot poly in footprint: fix a bug introduced by my commit 3316f3
...
Polys in footprints were not moved, rotated to the right place.
2021-09-12 11:01:15 +02:00
Marek Roszko
74fd23f573
Add (off by default) build option to link kicad2step directly into pcbnew
...
Because debugging it separately is annoying.
2021-09-11 22:56:16 -04:00
Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
ed8b63505d
Fix font scaling issues in StatusBar and Selection Filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Roberto Fernandez Bautista
625e56676a
Add progress reporting to CADSTAR Schematic & PCB importers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
jean-pierre charras
3316f3998a
Rename BuildPolyPointsList() to DupPolyPointsList() and optimize code
...
to avoid multiple useless copies of the list of polygon corners in code.
2021-09-11 14:21:36 +02:00
Jeff Young
ad59254be8
Another round of font sizing tweaks.
...
It appears that both strategies in the last commit worked, leaving us
with squared scaling. The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.
Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand
29c2f3b7d4
Prevent jumping into disambiguation if moved
...
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y
Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand
fe9bdd41d9
Finalize modifier update
...
Update the preference pane info text
Also standardizes the use of "Option" instead of "Alt" for Mac users.
Fixes https://gitlab.com/kicad/code/kicad/issues/9129
2021-09-09 10:47:43 -07:00
jean-pierre charras
5e742d97b6
Export VRML: fix bug that prevent to merge 3D footprint shapes to the board file.
...
Fixes #9127
https://gitlab.com/kicad/code/kicad/issues/9127
2021-09-09 18:05:17 +02:00
Jeff Young
1a43515128
Repair multi-layer disabled layer tests.
2021-09-09 16:43:47 +01:00
Jeff Young
bb2efa0649
Improve disabled layer test.
...
1) handle graphic items on copper layers
2) handle items on multiple layers
2021-09-09 15:20:48 +01:00
jean-pierre charras
567767346c
VRML exporter: fix broken export, at least on msys2.
...
For an obscure reason, some floating values were fully broken. the small
change in code fixes this strange issue.
2021-09-09 16:08:51 +02:00
Jeff Young
f0a26e4be0
Attempt to fix long-click issue (possibly just a typo).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9124
2021-09-09 12:20:30 +01:00
Jeff Young
f013dbc7c4
More uniform handling of status fonts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Wayne Stambaugh
3b16c38756
Coverity issue fixes.
...
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
jean-pierre charras
30c001265b
pcbnew, undo_redo.cpp: fix a logical bug that can hang in rare cases.
2021-09-08 13:06:55 +02:00
Seth Hillbrand
c8b2e69332
Check if selection is primary tool
...
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor. These still allow the selection tool
to handle events such as clicks. This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top
Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh
4ee0b28ffc
Coverity issue fixes.
...
Fix Coverity issues 338623, 338716, and 338717.
2021-09-07 13:38:56 -04:00
Seth Hillbrand
c816168e42
Fix crash when drawing item
...
When drawing before commit, the items do not have a board and therefore
no BDS. In these cases, take a decent default until committed
2021-09-07 09:08:44 -07:00
Jeff Young
9cf7c7800b
Use same text positioning algorithm in LibEdit and Eeschema.
...
Also fixes some uninitialized variables in PCB painter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8947
2021-09-07 12:33:06 +01:00
Jeff Young
2ac03e2cdb
Change Loss Tg to Loss Tan.
...
We'll need Tg in the future for glass transition temp.
Fixes https://gitlab.com/kicad/code/kicad/issues/4734
2021-09-07 10:49:17 +01:00
Jeff Young
1792a985a7
Use board's maxError value when possible.
2021-09-07 00:14:18 +01:00
Michael Kavanagh
0e3c79d3b2
Remove inappropriate icons
...
Icons should be used sparingly to draw attention to the most used actions
2021-09-06 21:23:52 +00:00
Seth Hillbrand
0f38a35531
Be sure to stop the timer when triggering d-click
...
Some mice apparently trigger double-click without triggering a click, so
stop the timer when we receive this event
Fixes https://gitlab.com/kicad/code/kicad/issues/9106
2021-09-06 12:27:31 -07:00
Seth Hillbrand
343dbf0f5b
Change default 45° hotkey to shift-space
...
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand
56ccaf6482
Constrain move tool when set
...
Move tool works slightly differently from other tools when figuring out
new locations. This uses the global 45 enable flag to set proper item
locations when the user is requesting a 45° constraint on movement
2021-09-06 07:05:25 -07:00
Seth Hillbrand
86725db758
Ensure doInteractivePlacement enforces snap option
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9105
2021-09-06 06:36:33 -07:00
jean-pierre charras
d2bff137ee
.kicad_pcb file: fix incorrect keyword stored for some (not all) PAD properties.
...
( a copy-paste error? )
Fixes #9102
https://gitlab.com/kicad/code/kicad/issues/9102
2021-09-06 09:15:18 +02:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Seth Hillbrand
092cdc0bb5
Move 45° limit to hotkey
...
This assigns the "Tab" key to a general pcbnew 45° limitation. Limit
can be enabled/disabled using context menu as well.
Removed the user preference for 45° limitation on graphic lines as that
is overlapping with the general limitation, which is not an editing
preference so much as a temporary adjustment to tool action.
Related to https://gitlab.com/kicad/code/kicad/-/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young
69a31f41b8
Fix typo.
...
Last commit added the correct code, but failed to delete the buggy code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-05 21:23:55 +01:00
Jeff Young
921b6c826b
Fix another disappearing string on Mac.
2021-09-05 21:23:55 +01:00
Marek Roszko
36bcff34f7
Label the three track and via properties for UX
2021-09-05 08:54:45 -04:00
Jeff Young
59c15842f8
Exclude formatting chars from text width approximation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Jeff Young
6818539f6d
Repair is-selected logic in various global editors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-04 18:10:25 +01:00
Jeff Young
a397e85589
Implement PTH/NPTH/courtyard collision tests.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9081
2021-09-04 00:16:26 +01:00
jean-pierre charras
e2a1e5d4a1
DIALOG_EXPORT_STEP: fix regression: missing default filename initilization
2021-09-03 16:22:32 +02:00
Seth Hillbrand
e03257b55f
Allow close placement of stitching vias
...
When placing a stitching via for a bypass capacitor, it is common to
place it close to the relevant pad. If the via does not have the
correct net, this will violate DRC and be prevented.
Checking for zone-based net assignments allows the workflow to proceed
2021-09-01 15:52:35 -07:00
Seth Hillbrand
f14e5b61b3
Ensure newly added pads are counted
...
When adding a new footprint, don't delete the single-pad nets until you
check for the net being added as part of the footprint
Fixes https://gitlab.com/kicad/code/kicad/issues/9053
2021-09-01 15:12:28 -07:00
Seth Hillbrand
e0011fcd93
Display a nice error message instead of asserting
...
When we mess up, it will be nice to not lose users' data. This requests
a bug report if the netlist parsing breaks instead of throwing
2021-09-01 12:02:06 -07:00
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Jeff Young
04fa678265
Impleent persistence for no-connect pad setting.
...
Also moves rotation increment from a display property to and edit
property.
(Both issues were discovered while working on a 7.0 feature.)
2021-09-01 00:00:12 +01:00
Jeff Young
2cdd3c9ebf
Work-around incorrect spacing (and order) of buttons on Mac.
2021-08-31 22:39:25 +01:00
jean-pierre charras
8fa04eeb75
FP_TEXT::TransformShapeWithClearanceToPolygon(): fix broken rotation of the shape.
...
Only the FP_TEXT shape must be rotated, not the full buffer used for storage.
Fixes #9057
https://gitlab.com/kicad/code/kicad/issues/9057
2021-08-31 17:04:03 +02:00
Jeff Young
b5a3385ea9
Overhaul file locking system.
...
See bug report for details.
Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
jean-pierre charras
6c7c9ca50c
Fix compil warnings (UNDO_REDO::GROUP renamed to UNDO_REDO::REGROUP to fix
...
collision name with a widows header on msys2)
2021-08-28 11:44:01 +02:00
qu1ck
0f7c0e3872
PCM implementation
2021-08-27 21:11:47 +00:00
qu1ck
78ab69027d
Add 3rdparty/plugins to plugin search
2021-08-27 21:11:47 +00:00
Mike Williams
10247c268e
Pcbnew: implement Find Next
...
Moves all of the find dialog control out of the selection tool similar
to the schematic editor. Dialog is also non-modal now to match the
schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8966
2021-08-27 18:15:36 +00:00
Mike Williams
0b2e66d3b7
Infobar: Don't use animations on Windows/GTK
...
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young
436ad0ede7
Add missing token to DRC rule parser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9041
2021-08-27 12:49:07 +01:00
Mike Williams
43194dff72
Pcbnew: don't fallback to software rendering after changing footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8915
2021-08-26 18:00:33 +00:00
jean-pierre charras
ee5f9034f7
pcb parser: ensure the parser is reinitialized before parsing a new fp file
...
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jeff Young
f4905cb1ae
Cherry-pick fix from 7.0 branch back to master.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9005
2021-08-25 20:14:11 +01:00
Jon Evans
5f2d238c93
Work around GTK issue with wxSearchCtrl
...
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
Jeff Young
2b3477ca28
Handle RGBA conversion to hexadecimal format for wxWidgets 3.0
2021-08-25 02:40:17 +01:00
Jeff Young
f926eab76d
Cherry-pick Footprint Properties dialog fix from 7.0 branch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9021
2021-08-25 02:40:17 +01:00
Jon Evans
a7bd621419
Remove checkboxes that can't be unchecked (part 1)
...
The checkboxes for copper layers should probably also be removed
but leaving them for now since they direct the user to the right
place to disable copper layers.
2021-08-24 20:29:03 -04:00
Tomasz Wlostowski
a03b6f6fc9
router: use tail start point when saving the FIXED_TAIL
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8771
2021-08-25 00:36:34 +02:00
Roberto Fernandez Bautista
4c17b7ab46
WALKAROUND::Route Check if path is empty before stepping
...
singleStep expects a path with at least one point.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9020
2021-08-24 20:17:19 +01:00
Jeff Young
a02ea1609b
A more robust solution to the 3D color opacity issue.
...
(This also fixes a typo in the previous fix that assigned the opacities
backwards.)
2021-08-24 11:24:25 +01:00
jean-pierre charras
a9f092b370
Pcbnew, Printing system: fix broken print of pads on tech layers.
...
To print pads on tech layers, view layers LAYER_PAD_FR, LAYER_PAD_BK and
LAYER_PADS_TH must be always enabled, and items we do not want print on these layers
must be printed using a invisible color (opacity = 0.0)
2021-08-24 10:27:53 +02:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
baab2e6119
Attempt to fix SWIG issue.
2021-08-23 22:04:31 +01:00
Jeff Young
21f2b235ce
Rework stackup colors a bit to support opacity for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9012
2021-08-23 20:00:17 +01:00
Jeff Young
fec34e8dd8
Get rid of an extraneous layer parameter.
...
Also adds a bit of nullptr safety.
2021-08-23 20:00:17 +01:00
Jeff Young
6f5e602df9
Fix solder mask plotting issues.
...
1) Don't plot all footprint texts for each footprint graphic item.
2) Correctly handle multi-layer zones.
2021-08-23 20:00:17 +01:00
Jeff Young
9770962ab4
Fix logic bug in rule processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9011
2021-08-22 20:16:58 +01:00
Jeff Young
1fa5e43597
Fix some dodgy logic in clearance overrides.
2021-08-22 03:24:51 +01:00
Jeff Young
b9ffe2aca8
Don't capture stack-defined lambdas by reference.
2021-08-21 22:49:57 +01:00
Seth Hillbrand
3b3cb88ad9
Remove shadowed variable in lambda
2021-08-21 14:01:20 -07:00
Jeff Young
eb85af3366
Don't capture references to local stack variables.
2021-08-21 21:40:17 +01:00
Jeff Young
1fd555ce0e
Added code to map footprint lib nicknames when exporting.
...
This is particularly useful when you import (for instance) an
Altium board and then save the footprints out to a new library.
Fixes https://gitlab.com/kicad/code/kicad/issues/6345
2021-08-21 19:00:59 +01:00
Jon Evans
3efa391eb2
Attempt to prevent control hiding problems on GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8902
2021-08-21 13:37:07 -04:00
Jon Evans
09ea630d8e
Don't log a potentially invalidated item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9006
2021-08-21 12:24:41 -04:00
Jon Evans
0814219513
Clean up some handling of project files in standalone
...
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs. Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
Jeff Young
3e57700b21
Process rules in "natural" order using overrides.
...
(We used to process in reverse order with first-match-wins, but
that doesn't allow min, max and opt to come from different rules.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9004
2021-08-21 16:43:11 +01:00
Jeff Young
048e13f423
Defer DRC rule function eval to make use of short-circuit bools.
...
The lemon parser doesn't lend itself to short-circuiting booleans,
but if we defer processing until we fetch the second value when
processing the TR_OP_BOOLEAN opcode then we get to piggy-back on
C++'s boolean short-circuiting.
2021-08-21 16:43:11 +01:00
Jeff Young
1e23ce1c95
Pull some fixes back from 7.0.
...
1) An earlier 6.0 fix to apply pad clearance overrides to NPTH pads
got broken, so this replaces it.
2) Allow min/max/opt to be set by different rules.
3) Fixes a bug where board minimum enforcement over a local override
didn't get the right message text.
2021-08-21 16:43:11 +01:00
jean-pierre charras
71b7816de5
DIALOG_GEN_FOOTPRINT_POSITION and dialogs print: minor enhancements:
...
Gen footprint: 2 options are now stored during a session.
Gerbview and Pcbnew dialogs print: avoid useless large size of right panel.
2021-08-21 11:06:00 +02:00
Seth Hillbrand
7ea4d4da85
Fix errant tabs
2021-08-20 17:24:05 -07:00
Dominik Sliwa
d9c7fdc28e
Pcbnew add SMD only option to component placement export
...
Add option to only use footprints flagged as SMD
when creating a componenet placement files.
Signed-off-by: Dominik Sliwa <dominik@sliwa.io>
2021-08-20 17:24:05 -07:00
Seth Hillbrand
db5ce824af
Use wildcard routine for extension matching
...
Move STEP export dialog wildcard to extension matching
2021-08-20 17:24:05 -07:00
Seth Hillbrand
4cd9278041
Remove most wxFilepicker wildcards from translations
...
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
Jon Evans
c80efb0f98
Fix save/load of appearance panel width on show/hide
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
jean-pierre charras
5574682d44
Fp editor: minor fixes:
...
- do not show the paste special context menu: it has no sense in this editor
- Paste command: fix incorrect rotation of pasted FP texts
2021-08-18 17:43:10 +02:00
jean-pierre charras
82849eda42
Fp editor: fix some crashes when trying to duplicate referece or value texts.
...
Fixes #8990
https://gitlab.com/kicad/code/kicad/issues/8990
2021-08-18 15:34:32 +02:00
Wayne Stambaugh
6427197962
Remove duplicate headers in plot and associated code.
2021-08-17 15:41:25 -04:00
Wayne Stambaugh
9ae9301b46
Fix shadowed variable.
2021-08-17 12:54:14 -04:00
Jeff Young
8b5f393804
DRC bug fixes and debugging improvements.
...
1) Don't wait for UpdateUserInterface to build the (global) list of
layer names.
2) Report clearance resolution between a silk layer and a mask layer.
3) When writing DRC reports, include info about the violating rule.
4) Report "no relevant layers" if we fail to find anything to write
a clearance resolution report about.
Fixes https://gitlab.com/kicad/code/kicad/issues/8963
2021-08-17 15:41:12 +01:00
Jeff Young
a133853a4f
Fix typo in DRC error link.
2021-08-16 20:05:35 +01:00
jean-pierre charras
ca42f31bb5
Pcbnew, update footprint: fix loss of net info in some cases.
...
When pads having a similar name but some were not on a copper layer
(aperture pads) the net info update from old footprint to the new footprint
was incorrectly transferred. Now, only pads on copper layers are considered.
Fixes #8979
https://gitlab.com/kicad/code/kicad/issues/8979
2021-08-16 20:52:49 +02:00
Jeff Young
da3fda8dee
Fix typo in non-copper zone fill pattern, and cleanup spacing.
...
Also makes better use of UNIT_BINDER and fixes some other naming
inconsistencies with copper zone dialog.
2021-08-16 13:24:12 +01:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
jean-pierre charras
f0c957a2e2
Enable LAYER_MOD_TEXT_FR layer in fp editor as it should.
...
It also fixes a crash when changing visibility of other fp texts..
2021-08-16 09:30:54 +02:00
Jeff Young
f34e280c81
Garden-variety 100X performance improvement.
...
Adds a compile mode for layer strings.
2021-08-15 22:24:51 +01:00
Jeff Young
eaccbce48b
Fix logic errors in progress reporting in a couple of DRC providers.
2021-08-15 22:24:44 +01:00
Jeff Young
1ec70d30af
Cherry-pick some 7.0 Clearance Resolution improvements.
...
6.0 will be in the field for a long time, and the better the debugging
tools we have available the less costly it will be to maintain.
Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-08-15 19:03:58 +01:00
Jeff Young
48521774cd
Formatting.
2021-08-14 21:18:11 +01:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
jean-pierre charras
8ac5e318fb
Ugly hack to avoid crash on msys2 when running Pcbnew after running Eeschema+its Python console
...
The main bug still exists, but at least Kicad does not crash.
2021-08-14 21:08:56 +02:00
Jon Evans
8eba0b356b
Fix issues calling SaveBoard on board loaded from PcbNew frame
...
KiCad cannot have more than one board/project open, so disallow
the Python APIs for loading additional boards when the frame is
present. Inherit the SETTINGS_MANAGER from the frame when present
instead of creating a new one that won't have the loaded project.
2021-08-14 09:18:21 -04:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
05fb582304
Expose missing annular ring properties in Track & Via Properties.
2021-08-14 10:49:42 +01:00
jean-pierre charras
3d61c8b0c4
PANEL_SETUP_BOARD_STACKUP: Do not limit the EpsilonR mantissa to 1 or 2 digits.
...
Fixes #8956
https://gitlab.com/kicad/code/kicad/issues/8956
2021-08-14 09:42:05 +02:00
Jon Evans
80355f04a9
Fix SHAPE_LINE_CHAIN::Replace at end of chain
2021-08-13 16:59:45 -04:00
Jeff Young
e5586fb974
Accept legacy hole token as well as new hole_size.
2021-08-13 21:28:11 +01:00
Jeff Young
d34e9e8946
Code safety.
2021-08-13 21:28:11 +01:00
Roberto Fernandez Bautista
35d5223825
Keep track of existing/excluded references when re-annotating the PCB
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8211
2021-08-13 19:09:37 +01:00
Roberto Fernandez Bautista
aa67abb681
PNS::NODE Use PointCount instead of calculating segment index manually
...
There is no need to manually calculate the segment index - we know
that the last point that was added is the start point of the segment.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8945
2021-08-13 19:09:33 +01:00
Jeff Young
4c3954aea8
Clearer DRC rule token name for hole_size.
2021-08-13 16:18:56 +01:00
Jeff Young
3b26db745f
Use more standard terminology.
2021-08-13 15:18:47 +01:00
Jon Evans
5bfafa5e4c
Add rounding epsilon to convert tool polygon search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8927
2021-08-12 20:17:04 -04:00
Jeff Young
98d0ce00ee
Defensive coding.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8790
2021-08-12 21:35:05 +01:00
Stefan
02e7d9f809
pcbnew: swap x/y align text to match vertical/horizontal text on right click...
2021-08-12 13:03:52 +00:00
jean-pierre charras
f4a7565b9c
fix a compil warning
2021-08-11 08:16:26 +02:00
Jeff Young
13fc16b03f
Fix uninitialized variable.
2021-08-10 16:51:30 +01:00
Jeff Young
c536a4c4f2
Work around annoying wxWidgets assert.
2021-08-10 16:51:30 +01:00
Jeff Young
a208dac8d8
Convert hole clearance tests from NPTH holes to all holes.
2021-08-09 22:26:00 +01:00
Roberto Fernandez Bautista
0120c5fa4b
PNS Length Tuning: Recover original arc tracks after tuning
2021-08-09 21:10:33 +01:00
jean-pierre charras
69322a18e7
Fix missing call to ClearArcs()
2021-08-09 09:16:04 +02:00
Jon Evans
a90656900a
Allow creating polygon types from polygons
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7302
2021-08-08 20:29:00 -04:00
Jon Evans
e91218b876
PNS: don't mark holes only if there's also a solid violation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8874
2021-08-08 15:41:39 -04:00
Jon Evans
3beeb52c43
Convert tool: create lines on active layer, not source layer
2021-08-08 15:12:23 -04:00
Jon Evans
2d9b06cbf9
Fix missing flatten step when filling zones with arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8923
2021-08-08 15:09:12 -04:00
Jeff Young
54942a1401
Fix typos that would result in fp zone setting written into pads.
2021-08-08 18:12:29 +01:00
Jeff Young
e38c366695
Narrow zone dialog a bit.
2021-08-08 18:12:29 +01:00
jean-pierre charras
fa82fcb809
Router tool: ensure a internal layer exists when placing a microvia.
...
Fix also a minor compil warning.
Fixes #8931
https://gitlab.com/kicad/code/kicad/issues/8931
2021-08-07 20:29:49 +02:00
Jeff Young
bafa105ed0
Enforce hole clearance on NPTHs in zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8924
2021-08-06 18:16:38 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
e81b7b4a14
Give a few dialogs a bit of love.
...
1) improve spacing in copper zone properties.
2) improve spacing and naming in dielectric material properties.
3) clearer naming in board setup > constraints.
4) remove over-exuberant stretching in board setup > mask & paste.
2021-08-06 18:16:38 +01:00
Roberto Fernandez Bautista
6a9a177fa3
Remove zone filler arc collision workaround
2021-08-05 17:45:12 +01:00
Jeff Young
77680eba30
Naming conventions.
2021-08-05 14:31:36 +01:00
Jeff Young
5bf0b99813
Capture errant mouse-up from locked dialog in move tool.
...
Don't pass it on to other tools where it causes all kinds of mayhem.
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-08-04 17:42:40 +01:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
ae99e627bd
Quiet Coverity.
2021-08-04 13:55:42 +01:00
Jeff Young
46bdce2747
Don't allow pads in groups in the board editor.
...
Bad stuff happens, including crashes.
2021-08-04 13:55:42 +01:00
Jeff Young
65f6e72b4c
Improve commenting.
2021-08-04 13:55:42 +01:00
jean-pierre charras
ac933d4e83
Fp editor: avoid having nil uuids when editing old footprints.
...
In Fpeditor, nil uuid has a special meaning and cannot be used as uuid in fp items.
Fixes #8914
https://gitlab.com/kicad/code/kicad/issues/8914
2021-08-04 12:37:52 +02:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
43523df843
Measure distance from pad center, not pad hull.
...
Otherwise we think the wrong end of really short track segments is
connected to the pad, leaving the other end dangling.
Fixes https://gitlab.com/kicad/code/kicad/issues/8909
2021-08-02 22:42:54 +01:00
Jeff Young
8b9161b27d
Be more careful with alpha value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8850
2021-08-02 18:24:16 +01:00
Jeff Young
6f1837b300
Formatting.
2021-08-02 01:52:58 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
0d539a84a2
Fix bugs in Tracks Cleaner.
...
1) Implement more robust connection checking so we don't decide very
short segments with both endpoints within a single track are connected
at both ends.
2) Make use of the IS_DELETED flag to perform iteration during dryRun
so that all deletions to be made are flagged.
Fixes https://gitlab.com/kicad/code/kicad/issues/8883
2021-08-01 15:50:01 +01:00
Jeff Young
b573712326
Cleanup.
2021-08-01 15:37:12 +01:00
Jeff Young
0f5a8f87d3
Add writing of pad primitive polys with arcs, and fix a bug in reading.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8827
2021-08-01 10:47:00 +01:00
Jeff Young
faa1ff4ec6
Add false-negative DRC tests (and fix first bug found by them).
2021-07-31 16:41:44 +01:00
qu1ck
7b4dcb6e10
Refactor ExportSpecctraFile to be usable in API
...
Currently there is pcbnew.ExportSpecctraDSN() but it needs a pcbnew
frame set which makes it unusable outside of the scripting window or a
plugin.
This refactors actual exporting logic into separate helper and adds an
overload to ExportSpecctraDSN(board, filename) that doesn't need pcbnew
window.
2021-07-31 09:55:48 +00:00
Seth Hillbrand
6cd4d68d57
Add drop shadows to MacOS icons
...
Apple UI guidelines ask for small drop shadows on the icons. We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand
e7d8b1a975
Resize MacOS icons and script their creation
...
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.
Script requires Inkscape 1.0 and png2icns (available on Linux boxen)
Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand
ad8acd328c
Expunge some remaining references to kicad-pcb
2021-07-30 20:27:45 -07:00
Jeff Young
bceb3794f8
Remove ZONE_FILLER_TOOL since it's not really necessary.
...
It was causing intermittent failures on GTK. We'll no doubt want
tools in the QA framework at some point, but probably not necessary
for 6.0....
2021-07-31 01:50:42 +01:00
Jeff Young
8c69a856fc
Add zone filler tests.
...
One test has pads of a bunch of different shapes and provokes some
errors to make sure they're caught.
The others are all past issues with the zone filler to make sure we
don't suffer any regressions. (They should all just pass with no DRC
errors.)
2021-07-30 17:09:24 +01:00