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
Jeff Young
8aea2cbd03
When ignoring click events don't ignore synthetic ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-07-29 18:07:04 +01:00
Jeff Young
138a965c2a
Remove shadowing member variable.
...
Perhaps the compiler always gets this right, but it's still confusing
when reading the code.
2021-07-29 16:03:25 +01:00
Jeff Young
9271ac1a4f
Don't allow deletion of pads when not in allow-free-pads mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8884
2021-07-29 16:03:25 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
46338403e7
Unwrap some std::library typedefs.
2021-07-28 22:16:38 +01:00
Ian McInerney
befd30a1a1
Switch the board footprint properties window to use the new 3d models panel
...
This allows it to also get the badge showing errors in the panel.
2021-07-28 20:56:17 +01:00
Ian McInerney
1a4a3400ba
Split the footprint 3d model panel into its own class
...
This allows it to be shared by both the PCB editor properties dialog
and the fpeditor dialog.
2021-07-28 20:56:17 +01:00
Wayne Stambaugh
f233f4a0a9
Expunge EDA_FILE_SELECTOR.
...
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
jean-pierre charras
b6e1fe11b6
Fix a collision name (perhaps msys2 specific)
2021-07-28 19:39:50 +02:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
david-beinder
c0f12cf8b0
PCB painter: skip early to polygon algo in outline mode
2021-07-28 10:37:56 +00:00
Wayne Stambaugh
369d813a32
Pass std::string by reference instead of on the stack where applicable.
2021-07-27 13:30:05 -04:00
Jeff Young
1f2e7a94ca
Change Move Exactly hotkey to Shift + M to avoid OSX minimize.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 18:20:32 +01:00
Jeff Young
dd5676f4bc
Implement a safer (RAII) tool re-entrancy guard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Jeff Young
886dc2f43e
Do-not-show-again section for common prefs & zone fill warning infobar.
...
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Jeff Young
c74148fa88
Add infobar for those who confuse zone filling with display modes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
qu1ck
c946070005
Fix TRACKs not being cast correctly in API
2021-07-26 22:37:22 +00:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
e62969d007
Move zone fracture display mode to AdvancedCfg, and add triangulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Seth Hillbrand
cb917e4c42
Avoid nonsensical intersections
...
When two segments are approximately parallel, we shouldn't look to find
their intersection. It will never be the nearest point and it overflows
the KiROUND call
Fixes https://gitlab.com/kicad/code/kicad/issues/8858
2021-07-26 09:02:54 -07:00
Jeff Young
d613292b67
Fix type in group command enablement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8821
2021-07-25 13:31:52 +01:00
Jeff Young
39e938db3e
Save the show-page-limits setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8825
2021-07-25 13:29:16 +01:00
Anton Lazarev
42086a455d
fix blind via early return in VRML exporter
2021-07-25 12:22:55 +00:00
Jeff Young
373f0335c8
Convert Altium radial dimensions to leaders.
...
This is because we don't yet support radial dimensions.
Also fixes a bug where we fail to read an Altium circular track. We
now convert it to a pair of 180-degree arcs.
Also fixes a bug where we were failing to import prefixes on linear
dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Pradeepa Senanayake
dd31a5383b
Added the double click to footprint editor
2021-07-24 08:53:09 +00:00
jean-pierre charras
31d2b2df8b
QA test: fix a wx assert about Locale when running qa_python tests.
...
Probably happens only when the system locale uses a comma as fp separator.
2021-07-23 11:45:45 +02:00
Jeff Young
04b9b15255
Fix copy/paste error.
2021-07-23 01:11:22 +01:00
Seth Hillbrand
8d1dd1f8b0
Handle pad->custom conversion more closely
...
When converting pads to custom polygons, avoid padding with the polygon
width and keep the anchor pad within the boundary of the original pad
itself
Fixes https://gitlab.com/kicad/code/kicad/issues/8842
2021-07-22 12:12:42 -07:00
Jeff Young
a16b85db67
Read/write group locked state. Show locked state in dialog & statusbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8796
2021-07-22 12:49:30 +01:00
jean-pierre charras
49e1b5785f
PCB_SHAPE::GetFocusPosition(): returns a point on the outline instead of center.
...
This function is used in DRC to locate a graphic shape. For not filled shapes,
this point must be on the shape outline, not on the center of the shape (the center
shows nothing)
Fixes #8832
https://gitlab.com/kicad/code/kicad/issues/8832
2021-07-22 10:41:50 +02:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
david-beinder
af90d47edc
Altium: Fix calculating third arc point from uninitialized memory
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8671
2021-07-20 19:13:32 +00:00
jean-pierre charras
234b414e2c
Fix misplaced break after code cleanup.
2021-07-20 17:05:00 +02:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Jon Evans
75190370dd
Convert -> Create from Selection
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8818
2021-07-19 18:45:33 -04:00
jean-pierre charras
6a886e7085
Wizard qrcode_footprint_wizard.py: fix a minor issue and update code.
2021-07-19 18:36:58 +02:00
luz paz
8bacc9fccb
Fix python 'testing for equality' syntax
...
'Testing whether an object is 'None' using the == operator is inefficient and potentially incorrect.'
Per https://lgtm.com/projects/g/KiCad/kicad-source-mirror/?mode=tree&ruleFocus=7900090
2021-07-19 15:42:30 +00:00
Jeff Young
e61822c9e0
Naming conventions and a bug fix on arc points.
2021-07-19 13:17:12 +01:00
jean-pierre charras
9cb4c9bfc2
3D viewer: ensure the activity messages are displayed on Linux after Frame creation.
2021-07-19 10:10:25 +02:00
jean-pierre charras
a43ca978df
3D viewer: do not build the board 3D data during 3D frame creation, but after.
...
Building the 3D data is time consuming, so creating the data after the 3D
frame is shown is better, and the build activity is visible, especially on Linux.
2021-07-18 17:55:40 +02:00
jean-pierre charras
56412cc843
PCB_TEXT: remove "hide" option, because they are never hidden.
...
- avoid write "hide" option in file
- always return true when calling IsVisible()
Fixes #8806
https://gitlab.com/kicad/code/kicad/issues/8806
2021-07-18 14:58:21 +02:00
jean-pierre charras
1a5e63bcab
PANEL_SETUP_BOARD_STACKUP: fix a incorrect behavior when changing layer count,
...
and add a button to adjust dielectric thickness (regression fix)
Fixes #8800
https://gitlab.com/kicad/code/kicad/issues/8800
2021-07-16 20:39:00 +02:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00
Jon Evans
e61b1f03b8
PNS: Discard duplicate tracks in FixRoute
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8737
2021-07-13 21:13:40 -04:00
Seth Hillbrand
ff2e470a6e
Remove virtual items from clearance calculations
...
Extends 3ea970f8c9
to ensure that virtual items do not interfere with
DRC calculations while routing
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 16:10:36 -07:00
Seth Hillbrand
3ea970f8c9
Don't add virtual items to the display
...
By definition virtual vias should only exist in the backend, not
affecting users
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 15:52:41 -07:00
Seth Hillbrand
2f41dd4074
Fix unit var warning
2021-07-13 09:53:31 -07:00
Jeff Young
f0513978ff
Back-port some fixes from 7.0 branch.
2021-07-13 17:24:23 +01:00
david-beinder
8b3ccab0a3
Implement explicit polygon construction for most pad shapes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8650
2021-07-13 14:51:58 +00:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
Pradeepa Senanayake
8d65663566
Copper Zone Properties dialog modifications
...
* Changed the net sorting mechanism make it similar to the 'Net Inspector' window
* Replaced the 'Show All Nets' check box with 'Hide auto-generated nets' check box
* Replace the warning label with wxInfoBar
* Removed unused controls and renamed controls where applicable
* Re-arranged the Copper Zone Properties dialog layout to improve user experience
* Minor code refactoring of DIALOG_COPPER_ZONE class
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8547
2021-07-12 21:55:46 +00:00
Jeff Young
2889861c0b
Remove unused variables.
2021-07-11 23:42:40 +01:00
Jeff Young
e953cb6a27
Add default severities for new DRC violations.
2021-07-11 23:33:17 +01:00
jean-pierre charras
54b6f51633
DSN export: export RECT and ARC shapes (on silkscreen layer) from footprints
...
Also export arc track segments as lines. (Freerouter does not support QARCs)
Fixes #8769
https://gitlab.com/kicad/code/kicad/issues/8769
2021-07-11 18:15:40 +02:00
Jeff Young
01d3a88faa
Allow unnamed embedded step files in altium boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young
e02bb80bf3
Handle cancel when selecting copper layer.
...
Also changes the algorithm to ask only once, rather than one per
non-copper-layer object.
Fixes https://gitlab.com/kicad/code/kicad/issues/8767
2021-07-10 12:05:25 +01:00
Jeff Young
625006ca30
Remove front/back SMD pad color now that we have opacity sliders.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jeff Young
a06b95bb1f
Even out spacing around various panels.
2021-07-09 23:42:45 +01:00
Marek Roszko
11cd8738a3
Put wxSearchCtrl back by eliminating the excess focus events that in Windows land cause a "select all"
...
The setfocus calls were really because of the overtly aggressive mouse handler for the canvas that has been patched out.
2021-07-09 18:08:32 -04:00
Jeff Young
046fb58183
Better command names and tooltips for zone fill/unfill commands.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-09 22:13:50 +01:00
Seth Hillbrand
387cd36f60
Fix GenCAD Export flipped footprints
...
GenCAD Exporter flips the board footprints before exporting. The
exporter assumes that the flip happens T/B and not L/R.
Fixes KSC Issue #356
2021-07-09 09:44:30 -07:00
Seth Hillbrand
c5571afbd9
Teach GenCAD exporter to handle chamfered rect pads
...
Chamfered rect pads can also have rounded corners, so we handle these
using a polygon transform before exporting
2021-07-09 09:44:30 -07:00
Wayne Stambaugh
6c3ba1c20b
Coverity issue fixes.
...
Issues #332032 , #332086 , #332157 , and #332171 .
2021-07-09 10:56:35 -04:00
Jeff Young
473f10ab1f
Tooltips for Board Setup > Constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8764
2021-07-09 13:06:59 +01:00
Jeff Young
2bd735b631
A little more safety in setting the router idle mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8765
2021-07-09 10:26:12 +01:00
Jon Evans
00f1b609c4
PNS: Don't run fanout cleanup when manually forced
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8724
2021-07-08 19:56:42 -04:00
Jeff Young
e895af4ec6
Include arcs in create array. (Thanks to RigoLigoRLC.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6491
2021-07-08 18:28:21 +01:00
Wayne Stambaugh
65c7958293
Coverity issue fixes.
...
Issues #331869 , #331875 , #332203 , #332159 , #332171 , #332180 , and #332648 .
2021-07-08 08:33:08 -04:00
Marek Roszko
49e6b80fc5
Rollback searchctrl change for FOOTPRINT_VIEWER_FRAME
...
Fixes #8751
2021-07-08 07:26:42 -04:00
RigoLigoRLC
a15a91dc00
Turn Footprint Text on when user turn on Value or Ref
...
In the appearance panel the old implementation doesn't turn the meta-
control "Footprint Text" back on when you switch on "Footprint Value/
Reference" while "Footprint Text" is switched off. This is neither
logically correct nor making the elements rendered correctly (value/ref
swicthes would affects corresponding bottom texts, but doesn't affect the
meta-control).
I didn't find a corresponding GitLab issue around, so I'm not saying
"fixes" here.
2021-07-08 03:05:51 +00:00
Jon Evans
cafd42911e
Do not use opacity for zone outlines
...
The opacity is intended to aid seeing through
zone filled areas and applying it to outlines
makes them hard to see and select.
2021-07-07 22:04:11 -04:00
Jon Evans
edc2be9018
Update width status when user choice changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-07 21:26:21 -04:00
Jeff Young
66eb2ddeb5
Remove auto when not needed for line length.
2021-07-07 20:05:50 +01:00
Roberto Fernandez Bautista
4207165c26
Fix PNS deleting too many segments
...
Don't exit the loop pre-emptively. Need to update lastLink.
2021-07-07 19:54:19 +01:00
Roberto Fernandez Bautista
cda26bd57b
SHAPE_LINE_CHAIN::NextShape instead of explicitly calculating indices
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8738
2021-07-07 19:46:47 +01:00
jean-pierre charras
7a1e8520ae
Specctra export: Fix incorrect export of holes from mirrored footprints.
...
If a footprint is containing a closed shape on Edges.Cuts it is exported as Hole
(keepout zone). For flipped footprints the hole was incorrect.
Fixes #8753
https://gitlab.com/kicad/code/kicad/issues/8753
2021-07-07 16:40:19 +02:00
jean-pierre charras
17ab2c7197
.kicad_pcb files: minor enhancements: add missing new lines in file.
...
No actual change, this is only a cosmetic change.
2021-07-07 11:44:11 +02:00
Wayne Stambaugh
9d348d7e6d
Coverity issue fixes.
2021-07-06 13:32:34 -04:00
jean-pierre charras
cd476e1728
Gerber plotter: ensure filled areas using thick outlines have a closed outline.
...
Fixes #8735
https://gitlab.com/kicad/code/kicad/issues/8735
2021-07-06 13:59:05 +02:00
jean-pierre charras
1a23502e98
PAD::TransformShapeWithClearanceToPolygon(): better polygonal shapes:
...
- Oval and round pads ensure at least 16 segments per CIRCLE (like other shapes)
- For ERROR_OUTSIDE option, ensure the aarc approx error is the actual error,
not max allowed error.
These changes can be seen only for a large max allowed approx error, especially
when filling zones.
2021-07-06 10:50:46 +02:00
Roberto Fernandez Bautista
81fa40d659
Code style: Fix missing space
2021-07-05 20:39:42 +01:00
Roberto Fernandez Bautista
04ff8cde5e
Drag & Fillet Tracks: Ignore mouse up / click events until move / drag
...
Ensures that any click/mouse up events generated after clicking "OK"
in the "Override locks" dialog are ignored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8123
2021-07-05 20:29:25 +01:00
Roberto Fernandez Bautista
ce8132bf4f
Arc Track Drag & Fillet Tracks: Copy lock status to new track(s)
2021-07-05 20:29:25 +01:00
Jon Evans
b6e8beb38c
FP_TEXT: account for parent rotation when creating clearance shape
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8728
2021-07-05 13:49:40 -04:00
Jeff Young
ea6769b702
The REPORTER interface is inherently line-based.
...
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).
Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Marek Roszko
a92d337905
Use wxSearchCtrl in the footprint viewer/picker.
2021-07-04 22:06:01 -04:00
Jon Evans
67762a11f6
Don't double-process arcs if we get one first
2021-07-04 12:22:52 -04:00
Jon Evans
b291f36dae
ADDED: Convert tool can create polygons with arcs from contiguous line and arc segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5409
2021-07-04 12:10:59 -04:00
Jon Evans
576d70fab0
Fix file format syntax of arcs in polygons
...
No format bump as there is no way to create these files yet.
2021-07-04 12:10:59 -04:00
Jeff Young
0116e9c94e
Silence Altium polygon-needs-at-least-3-verticies warning.
...
Too many Altium files appear to have these. Just ignore them instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/8183
2021-07-04 11:02:59 +01:00
Jon Evans
e0146f73b9
PNS: Pick up complete lines between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7614
2021-07-03 20:00:54 -04:00
Jon Evans
91ea4a0569
PNS: Pick up segments directly between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7601
2021-07-03 19:50:04 -04:00
Jon Evans
ab38dfd7ae
Fix build
2021-07-03 19:47:58 -04:00
Jon Evans
77b68a827c
Remove unused variable
2021-07-03 19:20:54 -04:00
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jeff Young
126cd14715
Fix width setting bug in Net Inspector.
2021-07-03 21:16:15 +01:00
Jeff Young
6a0a38ec29
Prevent wxWidgets assertion.
2021-07-03 21:16:15 +01:00
Jeff Young
37fac6de35
Use ChangeValue() instead of SetValue() to keep from firing events.
...
Otherwise setting a filter also turns off the Show All Nets checkbox.
Also make sure that config values get saved when they're changed.
2021-07-03 21:16:15 +01:00
Jeff Young
4b07a55ef8
Fix net name to net code map to handle sorting and filtering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8714
2021-07-03 21:16:15 +01:00
Roberto Fernandez Bautista
3f73d8c2b5
SHAPE_LINE_CHAIN::Area() should always be positive
...
The algorithm relied on the assumption that the points were
ordered anti-clockwise. When ordered in a clockwise fashion, the
result was correct but negative.
Refer to https://www.mathopenref.com/coordpolygonarea2.html
for more information.
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
c3051ba48a
Refactor SHAPE_LINE_CHAIN to allow two shapes per point
...
m_shapes now has two possible indices. The first one is populated if
the point is associated with an arc and the second index is populated
if the point is shared between two arcs.
2021-07-03 19:37:50 +00:00
Seth Hillbrand
4f4deece6d
ADDED support for reading/writing arcs in polys
...
This adds support for reading and writing arc elements in polygons.
2021-07-03 19:37:50 +00:00
Jon Evans
252bf76452
Fix off-by-one in AssembleTuningPath
2021-07-03 14:37:52 -04:00
Jon Evans
3c59e452d6
PNS: Set tuned path correctly in skew tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8708
2021-07-03 14:06:30 -04:00
Jon Evans
1b9893841b
Add a tooltip explaining the track width dropdown
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8719
2021-07-03 13:36:18 -04:00
Jon Evans
277bf2b719
Add feedback showing current router state to the message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-03 13:21:51 -04:00
Jeff Young
bc65b7173f
Don't use SCH version number when inspecting PCB files.
2021-07-03 15:24:54 +01:00
Wayne Stambaugh
3f6811f413
Minor dialog layout improvements.
2021-07-02 11:36:06 -04:00
Jeff Young
400f4ae506
Code cleanup.
2021-07-02 15:54:26 +01:00
Jeff Young
780a8a5154
Fix another place disallowing internal microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8716
2021-07-02 15:54:26 +01:00
Marek Roszko
eff75b630f
Get rid of anonymous struct typedefs
...
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Seth Hillbrand
c23e39dbe7
Avoid adding invalid text to temporary fp
...
Adding values/references to footprint text is an assertion. This avoids
the assert when copying a full footprint by skipping the extra text
2021-07-01 11:57:29 -07:00
Jeff Young
24e54178db
Make sure pin hittest regions don't get too hard to hit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8616
2021-07-01 15:43:19 +01:00
Jeff Young
78d2e88f4b
Beautify export STEP dialog.
2021-07-01 15:43:19 +01:00
jean-pierre charras
740b028180
pns_line_placer: do not constraint the 45deg of current segment in free angle mode.
...
Fixes #8691
https://gitlab.com/kicad/code/kicad/issues/8691
2021-07-01 16:38:31 +02:00
Wayne Stambaugh
175b474c3e
Coverity issue fixes.
...
Fixes issues #280412 , #314755 , #329615 , #332459 , #332157 , #332167 ,
2021-06-30 18:08:49 -04:00
Jeff Young
e9c0920be2
Use a standard SHAPE_POLY_SET hittest for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8705
2021-06-30 22:36:29 +01:00
Jeff Young
6810912f09
Refuse to load schematics from the future.
...
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.
Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).
Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young
5cac8afe1d
Remove long-dead revision support for LIB_IDs.
2021-06-30 13:12:57 +01:00
Jeff Young
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
jean-pierre charras
17737af130
Fix some issues related to SHAPE_ARC:
...
- Some are related to shape errors when the allowed error to approximate circle
by segment is large and arc radius small.
- fix the actual error used in ConvertToPolyline().
- Use SHAPE_ARC::DefaultAccuracyForPCB() instead of a fixed value as extra margin
in zones. It should not change something, because it is also a fixed value
(5 micrometers), but it is not a magic number.
-TransformArcToPolygon() fix some issues and add a new algo, based on the arc actual
outline shape (initial algo is still available in code, just in case).
2021-06-30 13:33:49 +02:00
Seth Hillbrand
0d8f0d361e
Allow aligning pads in FP editor when locked
...
Locking is not a concept in the footprint editor. The signature for
checking is slightly different in the alignment tool, so we need to move
the check higher to allow aligning items in fpeditor
2021-06-29 16:48:31 -07:00
Wayne Stambaugh
c6e4dcbecf
Pcbnew: fix incorrect geographical annotation dialog message.
2021-06-29 17:11:37 -04:00
Wayne Stambaugh
e4c108ee3a
Pcbnew: minor geographical annotation dialog user message improvements.
...
Remove schematic from the completion message as it can no longer be
updated though the dialog.
Add a warning to synchronize the schematic with the annotation changes.
2021-06-29 15:17:00 -04:00
Roberto Fernandez Bautista
04b71f5167
Meander minimum spacing can be equal to track width + minimum clearance
...
2x track width was too constraining in some scenarios
Also better wording "Min Spacing" to indicate to the user that
the actual spacing could be larger if there are any constraints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8172
2021-06-29 19:30:01 +01:00
Roberto Fernandez Bautista
e402563087
Don't recalculate meander spacing. Use constrained value instead.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1776
2021-06-29 19:30:01 +01:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young
1db33c7b3a
More safety (and better impl) for not sharing FP table/info stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 12:46:16 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
Jeff Young
c159500101
Remove nags and make Sel Layer and add via commands uniform.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8686
2021-06-28 19:17:01 +01:00
jean-pierre charras
fa49b54f93
Fix minor issue in TransformCircleToPolygon() when aError is set to a large value.
...
pcb_painter.cpp: add (but not activate) compil option to show the conversion
of SHAPE_ARC::ConvertToPolyline as segments, for debug purposes.
2021-06-28 15:50:16 +02:00
jean-pierre charras
9a865b1989
Fix a typo and a minor compil warning
2021-06-28 14:37:35 +02:00
Jeff Young
d296bec5b8
Differentiate aSingleLine mode for SCINTILLA_TRICKS
...
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.
Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +01:00
Jeff Young
08fb05e522
Make sure HPGL and DXF drill map generators honour origin setting.
...
ADDED: also adds origin setting to Footprint Position File dialog
and generators.
Fixes https://gitlab.com/kicad/code/kicad/issues/8669
2021-06-27 17:40:20 +01:00
Jeff Young
4aa8318dc2
More error message regularization.
2021-06-27 14:24:02 +01:00
Jeff Young
70ac70f360
Don't attempt to round-trip netnames through wxListBox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8684
2021-06-27 12:02:21 +01:00
Jeff Young
1fcd7992a0
Performance improvement for adding/removing dielectric layers.
...
(Roughly a 10X speedup on Mac.)
2021-06-27 09:43:20 +01:00
Marek Roszko
b924c85f80
Start recording the precision of dxf imports
2021-06-27 00:38:19 -04:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young
0dfb5fcaf9
Error message cleanup.
...
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young
4c5df22eb0
Don't show busy cursor when dialogs (including progress) are in use.
...
Also removes a stale comment.
Also moves the progress reporters earlier to lessen need for busy cursor.
Also cleans up some error strings and makes other more easily translatable.
2021-06-26 22:53:24 +01:00
jean-pierre charras
310adedf85
Add GetCircleToSegmentError() to geometry/geometry_utils.
...
This function returns the error created by a circle to segment approximation.
2021-06-26 18:57:07 +02:00
Jeff Young
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +01:00
Thomas Pointhuber
e50eaed7b9
altium: Improve parsing of UTF-8 data
...
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Thomas Pointhuber
e6c047896c
altium: introduce progress reporting, fix possible nullptr when reading 3D models
2021-06-26 12:54:31 +02:00
Jeff Young
95ec9c786c
Board setup spacing.
2021-06-26 10:55:31 +01:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
jean-pierre charras
83b549741d
PCB_ARCS in zones: increase clearance to avoid DRC issues. This is a workaround,
...
but arcs in tracks are still not fully fixed.
The clearance is increased by only 4 microns, that should not create issues.
2021-06-25 19:45:32 +02:00
Jeff Young
9f51f7b055
Formatting and include cleanup.
2021-06-25 17:48:15 +01:00
jean-pierre charras
31d7a0a8d1
TransformArcToPolygon(): slightly better approximation of arc.
...
The error between the "right" shape and the polygon is slightly smaller.
The approximations of the inner arc and the outer arc are better, but not perfect.
Also add (for test and debug purpose only) the code to show the polygon when
drawing a PCB_ARC (currently disabled)
2021-06-25 18:46:16 +02:00
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
jean-pierre charras
4eafd2664a
FootprintWizardBase.py: fix use of cmp(), non existing in python3
...
Fixes #8677
https://gitlab.com/kicad/code/kicad/issues/8677
2021-06-25 09:04:49 +02:00
Jeff Young
27804e40e2
Go back to using space-width for tabs (instead of max-char-width).
...
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.
Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac. (This bug may also exist on the other
platforms, but each would need its own fix.)
Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
Jeff Young
232ffe97be
Diff pair gap only overrides netclass clearance when it's smaller.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8676
2021-06-24 16:56:53 +01:00
Jeff Young
744dadd412
Naming conventions and formatting.
2021-06-24 16:56:53 +01:00
Jeff Young
a89f6404b4
Fix logic bug found by Coverity.
2021-06-24 12:18:22 +01:00
Jeff Young
8502fd6877
Divide-by-zero safety.
2021-06-24 12:18:22 +01:00
Jeff Young
a8028e3bd1
Fix uninitialized variables.
2021-06-24 12:18:22 +01:00
Fabien Corona
95ab53d119
pcbnew: fix missing layer names and missing layers in stackup table
2021-06-24 08:52:51 +00:00
Roberto Fernandez Bautista
b532ecec52
Fix ALTIUM_RULE_TOKEN qa test failure
2021-06-24 05:58:24 +00:00
Jon Evans
a7eb611744
Fix leftover vias in shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8597
2021-06-23 22:13:35 -04:00
Wayne Stambaugh
27e9750507
Pcbnew: fix footprint selection bug.
...
Do not remove footprint objects from list of selected objects when there
are no drawable objects other than the reference and value text.
Increase the minimum size rectangle for footprints from 0.025mm to 1mm
when the footprint has no drawing objects so that it is easier to select
the footprint in this case.
Add some pretty colors to the footprint bounding box and hull outline
so that it's possible to tell the difference between selection areas.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8379
2021-06-23 19:46:33 -04:00
Jeff Young
50eea4f487
Import progress dialog for FabMaster.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5315
2021-06-24 00:21:37 +01:00
Jeff Young
5fa5a73c6d
File open/import progress dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6864
Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young
ae612a454e
Make blind via rendering more intuitive by putting top on top...
...
bottom on bottom, and the via colour larger.
2021-06-22 18:24:46 +01:00
Jeff Young
7efca0113d
Reset m_inDrawingTool on exit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8653
2021-06-22 13:02:45 +01:00
jean-pierre charras
a31b667e2a
Plotter: better shape for CHAMFERED_RECT and ROUNDRECT pads with margin.
...
The shape of the pad+clearance area is not similar to the shape drawn on screen
2021-06-21 18:55:33 +02:00
jean-pierre charras
9fb77473cd
pcb_painter.cpp: fix incorrect shape of CHAMFERED_RECT pads with negative clearance.
...
Negative clearance (for instance on mask or paste layer) was not taken in account
2021-06-21 18:52:57 +02:00
jean-pierre charras
00b4134eb8
pcb_painter.cpp: fix incorrect shape of ROUNDRECT pads with negative clearance.
...
If a negative clearance (for instance on mask or paste layer) is set to more
than the corner radius, the drawn shape was broken (fully incorrect size)
2021-06-21 13:44:30 +02:00
Jeff Young
685ee31c35
Workaround a few more OSX printf problems.
...
Also regularizes the frame title processing.
Also fixes a type where the library name wasn't processed for
variable expansion.
Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Jon Evans
de4eb1fcef
Convert to zone: take dest layer from editor active layer
...
Show non-copper zone properties if active layer is non-copper
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8646
2021-06-20 15:13:18 -04:00
Jeff Young
b72545a432
Implement more aggressive re-entrancy blocking for drawing tools.
...
A similar strategy was already implemented in Eeschema.
Also adds some safety around clearing of autopan and mouse capture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6909
2021-06-20 11:09:55 +01:00
Jeff Young
89718dd3ba
Naming conventions.
2021-06-19 19:36:53 +01:00
Jeff Young
c6606a0582
Hook up delete to undo last segment when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8362
2021-06-19 11:37:20 +01:00
Jeff Young
d26449cc29
Formatting.
2021-06-19 11:37:20 +01:00
Jon Evans
f8e9542004
Fix crash when opening board setup after zone filler exits
2021-06-18 12:23:12 -04:00
Jeff Young
3072422538
Allow caller to specify which library table to add library to.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8013
2021-06-18 11:39:18 +01:00
Jeff Young
e540752640
Allow all selected footprints/symbols to be changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7389
2021-06-17 23:34:56 +01:00
Jeff Young
16047b7419
3D preferences bug fixes.
...
1) Make sure prefs get saved when closing parent frame.
2) Add camera projection mode to settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/8110
Fixes https://gitlab.com/kicad/code/kicad/issues/8626
2021-06-17 12:22:18 +01:00
Jeff Young
1722bc03b0
Consistent terminology and punctuation.
2021-06-17 00:05:17 +01:00
Seth Hillbrand
cbd9208d73
Fix missing translation
2021-06-16 12:48:47 -07:00
Seth Hillbrand
7953a5c62b
Work around MacOS printf/format issues
...
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types. We avoid this by manually formatting
the string ourselves.
Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Jeff Young
c8444913df
Implement lock between zone filler and drc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8621
2021-06-16 16:12:01 +01:00
jean-pierre charras
db19ae226a
PANEL_PCBNEW_ACTION_PLUGINS: fix not working "open plugins folder" on Linux
2021-06-16 08:15:20 +02:00
Jon Evans
8f9800f760
Fix pad shape for certain legacy circular pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8615
2021-06-15 22:25:55 -04:00
Jeff Young
1a35d8ba5d
Setup layer mapping when importing Eagle library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7891
2021-06-15 19:20:17 +01:00
jean-pierre charras
5b8f32acd2
Python script sample: fix compatibility with recent changes in code.
2021-06-15 18:19:58 +02:00
jean-pierre charras
142dd48c99
SCRIPTING_TOOL::showPluginFolder(): fix wxWidgets3.14 compatibility (Linux mainly)
2021-06-15 18:19:58 +02:00
Eeli Kaikkonen
3616a8f0ee
Use polygon coordinates relative to the board.
...
Footprint polygon coordinates are relative to the footprint.
Translate to the board coordinates when doing hittest with
a (selection) rect.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8596
2021-06-15 15:04:11 +00:00
Michal Schulz
38f18d0505
Fixed according to KiCad Style Guide.
2021-06-15 14:59:04 +00:00
Michal Schulz
aed0352828
pcbnew: Replace CR inserted on macOS instead of LF when CTRL+Enter is pressed.
2021-06-15 14:59:04 +00:00
Jeff Young
4418707e5e
Add a few more overbar syntax conversion calls.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 13:09:18 +01:00
jean-pierre charras
fbbe723811
Fix board_item.i after recent changes in Pcbnew code.
...
(some class names changed)
2021-06-15 10:59:52 +02:00
jean-pierre charras
5d9ff0b9b7
Step export dialog: save 2 options in config file.
...
2 options (overwrite file and replace 3d shapes) were not saved previously.
2021-06-15 09:33:37 +02:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
jean-pierre charras
30f3d11355
fix possible incompatibilities of python scripts due to recent code cleaning
2021-06-14 18:57:05 +02:00
Jeff Young
2c1da70181
Write all variables to temp config file and have Kicad2Step use that.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
jean-pierre charras
0527dc6fe0
Fp editor: fix initialization of default courtyard line thickness.
...
When no config file found it was initialized to DEFAULT_SILK_LINE_WIDTH,
although it was initialized to DEFAULT_COURTYARD_WIDTH in board editor.
Fixes #8344
https://gitlab.com/kicad/code/kicad/issues/8344
2021-06-14 08:31:55 +02:00
Jon Evans
82f3df4086
Attempt to fix Python qa code after renames
2021-06-13 11:20:19 -04:00
Jeff Young
5bb6b1a3cc
Minor cleanup.
2021-06-12 11:39:28 +01:00
Seth Hillbrand
3644224cb6
Build smoothed area at outline
...
The clearance to board edge will be set by the knockout routine.
Clipping twice can leave small imperfections in the edge that need to
get triangulated
2021-06-11 14:26:38 -07:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Mikolaj Wielgus
ade38f48bc
Add conversion from old `~...~` to new `~{...}` notation
2021-06-11 18:40:57 +00:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
jean-pierre charras
5492fafdf4
Pcbnew: allows access Layers context menu when right clicking from below layers list
...
Fixes #6614
https://gitlab.com/kicad/code/kicad/issues/6614
2021-06-11 09:32:47 +02:00
Seth Hillbrand
d8b1e827c7
Check all previous merge events
...
Typo only continued merge loop when last element was successfully
merged, leaving tracks where multiple segments were colinear
Fixes https://gitlab.com/kicad/code/kicad/issues/5020
2021-06-10 16:59:35 -07:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
jean-pierre charras
1c3df973d6
Coverity warnings fixes.
2021-06-10 13:45:02 +02:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
david-beinder
410dbe17de
Fix inital predefined track width selection in track properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8578
2021-06-09 09:59:25 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
ffa87e69c6
Remove/replace some stdint.h includes
2021-06-08 21:17:57 -04:00
Seth Hillbrand
c650d47626
Add warning message on non-unity scaling
...
When exporting STEP model, warn the user if one of their footprints has
a non-unity scaled model as this compromises the integrity of the STEP
export.
Fixes https://gitlab.com/kicad/code/kicad/issues/1781
2021-06-08 16:38:47 -07:00
Seth Hillbrand
b891b5e1e2
Do not blindly substitute model names
...
Makes model substitution (VRML->STEP in STEP Export) optional. This can
prevent nasty surprises where the user doesn't see/can't affect the
outcome
Also, when substituting models, do not maintain scale factor. So a VRML
model with non-unity scaling will not be export as a STEP file (of the
same name) with non-unity scaling. This is the first step to address
https://gitlab.com/kicad/code/kicad/-/issues/1781
2021-06-08 16:38:47 -07:00
Marek Roszko
6e01ce84b9
Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars
2021-06-08 19:12:30 -04:00
Marek Roszko
c854811ac4
Parent frame already includes undo_redo_container.h
2021-06-08 19:12:30 -04:00
Jeff Young
2aaec31832
Don't put up "old version" warning for gerbview-generated PCBs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Jon Evans
75ce97e260
Fix the last cause of duplicate segments when completing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-07 20:34:09 -04:00
Marek Roszko
9268340dcc
Kick wx.h out of pcbnew
2021-06-07 18:38:51 -04:00
Jeff Young
97a2c4094b
Don't label free pads with connections as '*'.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8385
2021-06-07 23:36:37 +01:00
Jeff Young
3d32c096ab
Fix some problematic double-quotes.
2021-06-07 23:36:37 +01:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Johannes Maibaum
022dd6072c
Add utility method to resolve symlinks
...
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Johannes Maibaum
542c02046b
Write through symlinks for schematics and PCBs
2021-06-07 20:59:59 +00:00
Seth Hillbrand
891e200fc8
Use Python to test for modules (not CPython)
...
CPython call requires Python 3.8+, so we work around to keep the 3.6
users happy
Fixes https://gitlab.com/kicad/code/kicad/issues/8554
2021-06-07 13:56:31 -07:00
Seth Hillbrand
d4edc70f65
Remove magic numbers where possible
...
Constant scales will be pre-calculated during compilation, so we can
leave the actual formula in place without penalty
2021-06-07 13:56:31 -07:00
Jeff Young
3ff670d2a4
Disable ACTIONS::openPreferences for now.
...
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
jean-pierre charras
6cfc2755ed
Remove a useless "#include wx/wx.h" from wx_html_report_panel.h
2021-06-07 09:26:13 +02:00
Jon Evans
49c5130123
PNS: Implement final cleanup pass for redundant colinear segs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-06 21:52:35 -04:00
Jon Evans
83080b67f5
Fix build on wx 3.0
2021-06-06 20:21:21 -04:00
Jon Evans
3c6b98a0d5
PNS: preserve auto-detected track width when changing via sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8046
2021-06-06 20:18:09 -04:00
Jon Evans
99710aba48
PNS: use slightly less greedy algo to reset the mouse trail
2021-06-06 19:47:52 -04:00
Marek Roszko
0bc0f2265e
dialog_board_statistics.h shouldn't leak confirm.h
2021-06-06 19:34:53 -04:00
Jon Evans
6cb8154ec0
PNS: Remove code that broke width changes during placement
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8334
2021-06-06 19:21:52 -04:00
Marek Roszko
5bb6f8c5e3
hashtables.h doesn't need eda_item.h
2021-06-06 19:11:35 -04:00
Marek Roszko
33bbf85a3e
Use the parent frame GetSettings helper rather than including for Pgm()
2021-06-06 19:05:12 -04:00
Jon Evans
6789dac20b
PNS: Keep most recent good placement around for a rainy day
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8562
2021-06-06 18:56:33 -04:00
Jon Evans
c9bc45f7ed
PNS: Limit the maximum walkaround distance factor
...
The constant chosen is somewhat arbitrary and may need
further tuning or a more complex algorithm, but in general
this will prevent churning when solutions can't be found or
a solution can be found but it is unrealistic (going around
the entire board)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 16:03:03 -04:00
Jon Evans
d32b9c1c25
Use debug group for line placer debug
2021-06-06 15:44:53 -04:00
Jon Evans
f5185f6927
Revert part of the anti-churn change, it causes bad side-effects
...
Further performance tuning could be useful but the part that
remains helps the most when hugging in large designs
2021-06-06 15:44:53 -04:00
Marek Roszko
66640f6144
Try and fix fedora build
2021-06-06 15:30:42 -04:00
Marek Roszko
8377ebb0e1
Fix msvc warnings
2021-06-06 15:30:31 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
e4530fcf0d
PCB_MARKER does not need pcb_base_frame
2021-06-06 15:03:42 -04:00
Jon Evans
5349f47f95
PNS: Prevent walkaround churn in unsolvable situations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 14:57:52 -04:00
Jon Evans
3475d0cebd
PNS: Grab start item based on clearance if no direct hits found
...
Fixes annoying "routing start point violates DRC" messages when
entering the router from the hotkey and not directly over a track.
2021-06-06 14:57:52 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Jeff Young
0d7e48d5b1
Coverity fix.
2021-06-06 17:57:46 +01:00
Jon Evans
17da050e69
Improve walkaround results when last point is inside the hull
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8563
2021-06-06 12:55:32 -04:00
Jon Evans
be61bf29dd
Use more accurate hull shapes for round solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8561
2021-06-06 09:53:51 -04:00
Marek Roszko
581ba21865
Remove wx includes out of cadstar_archive_loader.h
2021-06-06 09:28:02 -04:00
Marek Roszko
b610b905fc
Cleanup track.h includes
2021-06-06 09:06:55 -04:00
Jon Evans
3b7480c1c1
PNS: Invalidate start/end items after finishing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8555
2021-06-06 08:52:39 -04:00
Marek Roszko
2d584ca5ec
board_item.h already included via board_connected_item.h
2021-06-06 08:47:59 -04:00
Marek Roszko
17d680de08
netinfo.h does not need to be in board_connected_item.h
2021-06-06 08:45:38 -04:00
Marek Roszko
4712d7a918
Remove a leaky wx/msgdlg.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
e6c09b55a9
Remove unnecessary reporter.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
dd9b8a9f73
Remove pcbnew.h includes in headers
2021-06-06 08:25:28 -04:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
Johannes Maibaum
06e967354f
Fix symlink read-/write-through code
...
Use `realpath(3)` instead of `readlink(3)`, which offers support for
relative and absolute symlinks alike, since all symbolic links will be
resolved to the absolute path of the linked-to file.
Fixes #8082
2021-06-05 14:22:50 +00:00
david-beinder
86add3bb85
Fix MSVC C4312 warnings when casting 32bit ints to pointer types on 64bit builds
2021-06-05 02:57:51 +00:00
Jeff Young
d32d107923
Fix local ratsnest tooltip to mention "toggle".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8415
2021-06-04 23:17:54 +01:00
Tomasz Wlostowski
ab04e24f9a
router: rhMarkObstacles should return a correct error status
...
Long story short: a few days ago I fixed error handling in routeStep(), so it actually started to recognize the wrong error status returned
by rhMarkObstacles() and think that the trace is always incorrect.
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8557
2021-06-04 23:58:56 +02:00
Wayne Stambaugh
f57ef55cd6
Pcbnew header housekeeping round 3.
2021-06-04 13:50:08 -04:00
Wayne Stambaugh
c69c68a558
Pcbnew header housekeeping round 2.
2021-06-04 12:21:48 -04:00
Wayne Stambaugh
2a6c7a7c0f
Pcbnew header housekeeping round 1.
2021-06-04 09:08:38 -04:00
Ian McInerney
2533fb22b3
Add the new pcb item container header to the SWIG wrapper
2021-06-04 12:49:11 +01:00
Jon Evans
d8499e4914
I fixed the wrong typo in 6e272429
, heh
2021-06-03 22:39:14 -04:00
Jon Evans
6e2724294a
Fix typo in action description
2021-06-03 21:27:28 -04:00
Ian McInerney
0c879eead3
Cleanup headers in pcbnew pcad importer
2021-06-04 01:28:40 +01:00
Ian McInerney
f94816fbd4
Cleanup wx includes in the filter reader
2021-06-04 01:26:58 +01:00
Seth Hillbrand
3d4ce0796e
Add Gerber plot for SHAPE_ARC and SHAPE_LINE_CHAIN
2021-06-03 17:12:56 -07:00
Jeff Young
00791e1e37
Fix compile issues on clangd.
2021-06-03 23:41:06 +01:00
Marek Roszko
1c1ba25ffd
Use char_str instead of c_str in previous commit
2021-06-03 18:13:35 -04:00
Marek Roszko
daf510344f
Fix build error due to pns changes
2021-06-03 18:05:48 -04:00
Marek Roszko
4e94b1fe86
Remove the universal sockets include
2021-06-03 17:59:46 -04:00
Jeff Young
6f5cb1f97d
Fix printing of hidden refs and/or values.
...
IsLayerVisible() is patched to always return true when printing
(even when "print according to appearance settings" is checked, and
that's too risky to change at this point. So we also look to see
if the layer colour is set to the background colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/8548
2021-06-03 22:44:04 +01:00
Tomasz Wlostowski
63fc7a1908
router: support for drag/walkaround/shove for joints between lines of different widths.
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/1773
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
af26eab5fb
router: even more debug in SHOVE
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
a744857267
router: fix array out-of-bound error in HullIntersection()
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8538
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
3e98c44636
router: LOGGER now stores UUIDs, not pointers to BOARD_ITEMs.
...
Caused occasional crashes when saving the debug event log, as some of the BOARD_ITEMS could have been deleted before SaveLog call.
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
e5e588ebba
router: temporarily export LINE::Walkaround() debug global variables
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
70ed5c1ae8
router: introduce concept of 'virtual' vias as a base for shoving/dragging joints of lines of different widths.
2021-06-03 22:44:53 +02:00
Ian McInerney
4f05262705
Cleanup includes in board.h and footprint.h
2021-06-03 20:19:52 +01:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Ian McInerney
7bbf1b07b7
Fixup to expose PCB_GROUP in Python
2021-06-03 20:00:45 +01:00
Jean-Samuel Reynaud
e2e963d14a
Adding PCB_GROUP to python interface
2021-06-03 18:55:46 +00:00
Jeff Young
49d65a0765
Fix some includes.
2021-06-03 18:33:59 +01:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Seth Hillbrand
f40f696c37
Don't extract dp segment info from minimal-length
...
segments with 1IU of length are approximately parallel to everything and
the distance projections break down into rounding errors
Fixes https://gitlab.com/kicad/code/kicad/issues/8541
2021-06-03 08:44:17 -07:00