Jeff Young
505d764f25
Set board modify bit only when necessary after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5685
2020-10-13 23:11:29 +01:00
Jon Evans
cb1d416e5a
Use settings keys, not error codes, for ERC/DRC reports
...
Error codes can shift around if the enum ordering is
not maintained, which is more fragile than the settings
key which should never be changed after a new code is
created.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6001
2020-10-13 18:03:07 -04:00
Jeff Young
ef3b7052e0
Remove layer nag dialogs and just ignore non-shapes on Edge_Cuts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5812
2020-10-13 20:22:31 +01:00
Tomasz Wlostowski
ac8b072284
router: fix assertion failure when starting a route on an empty board
2020-10-13 19:36:36 +02:00
Jeff Young
04f61fb1f2
Rebuild groups as a separate pass (required for nested groups).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5858
2020-10-13 17:58:24 +01:00
Jeff Young
e789ad9fb2
Don't use clone to copy an EDA_ITEM. Use Duplicate().
...
Even if you give the clone a new KIID, all its children will still
be clones.
Fixes https://gitlab.com/kicad/code/kicad/issues/5982
2020-10-13 16:54:26 +01:00
jean-pierre charras
0cf57c7b1f
Fix minor compil warnings (shadowed vars)
2020-10-13 17:35:54 +02:00
jean-pierre charras
a7173e8ab0
Fix incorrect rendering of Vias when displaying the net name.
2020-10-13 17:35:54 +02:00
Jeff Young
3fc1a0c314
Fix faulty copper-checking logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5978
2020-10-13 16:32:54 +01:00
Jeff Young
1703729269
Require explicit decl of maxError and errorLocations.
...
This should reduce both performance issues and clearance issues.
2020-10-13 13:49:07 +01:00
Jeff Young
58ba5a5cc1
Add some more syntax examples.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5963
2020-10-13 10:18:34 +01:00
Jon Evans
cb4ef5a619
Fix various rendering issues with non-through vias
...
Correctly hide netnames in high contrast mode
Correct highlighting for blind/buried/micro via drills
Repaint vias when needed to support stacked microvias
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2593
2020-10-12 22:47:31 -04:00
Jon Evans
2abce40553
Better selection heuristics for highlight tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4011
2020-10-12 22:47:31 -04:00
Jon Evans
f9cff177a2
Don't dim selected items in high contrast mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5259
2020-10-12 22:47:31 -04:00
Jeff Young
2e6968e7eb
Board edges tester also needs to check silk text for visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5989
2020-10-13 00:58:38 +01:00
Marek Roszko
83d231cd49
Fix test under msvc
2020-10-12 19:47:36 -04:00
Jeff Young
8c4197db2a
Netclass track widths and via sizes are opts, not mins.
2020-10-13 00:34:10 +01:00
Jeff Young
cd1a5ed6fb
Implement progress reporting for DRC RTree.
...
Also fixes a bug in silk-to-mask checking which wasn't checking
zones on the mask layer.
Also a perfomance fix for the DRC RTree to use a hash table (std::map)
instead of a std::set for keeping track of known collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/5851
2020-10-13 00:03:58 +01:00
Jeff Young
5afae757ff
Remove silk_clearance == 0 hack now that we have implied rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5977
2020-10-12 21:13:26 +01:00
Jeff Young
3759c71558
Allow copy-track-width to co-exist with current-track-width.
2020-10-12 21:00:13 +01:00
Jeff Young
44dbe3577b
Create proxy items for PNS when needing to query clearances.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5929
2020-10-12 20:59:19 +01:00
Jeff Young
1024584cac
Don't show netclass placeholders in track & via props dialog.
...
We have a separate checkbox for that.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-12 18:57:00 +01:00
Jeff Young
70c3c5c514
Retire the two-item version of BOARD_CONNECTED_ITEM::GetClearance().
2020-10-12 18:40:03 +01:00
Jeff Young
af90642440
Hook board edge clearance constraints up to zone filling.
...
Also hooks them up to the clearance resolution reporter, and makes
some general improvements to reporting.
Fixes https://gitlab.com/kicad/code/kicad/issues/5947
2020-10-12 18:31:00 +01:00
Jeff Young
32dffd27ab
Add silk clearance to board setup constraints.
2020-10-12 18:31:00 +01:00
qu1ck
e784743284
Fix pcbnew drawings api
...
Add some basic tests
2020-10-12 16:38:32 +00:00
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00:00
Michael Kavanagh
70fcc139ec
Cleanup: Move P-CAD files into plugins folder
2020-10-12 16:36:08 +00:00
Michael Kavanagh
f45ca7179b
Cleanup: Move GEDA PCB files into plugins folder
2020-10-12 16:36:08 +00:00
Jeff Glass
d40faf836e
pcbnew: Fixing misleading "Rescue Layer" message
...
Change wording of Undefined Layers dialog to indicate that
rescued layers will be denoted 'User.Comments' rather than
the deprecated 'Cmts.User'
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5967
2020-10-12 10:39:08 -05:00
Jeff Young
1bcefe420a
Move compound graphics tests back out to the shared path.
2020-10-12 11:46:08 +01:00
jean-pierre charras
380534807b
Plotters: better support of filled circles having a thickness set to 0.
...
Setting a line thickness = 0 for graphic objects (circle, rect, line) is
allowed but creates issues for circles that were plotted a non filled shapes
but having a outline thickness = 0.
2020-10-12 11:30:43 +02:00
Jeff Young
b92cb5c930
Hook up PNS via command to new rule system.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-12 00:14:32 +01:00
Jeff Young
72f6127e53
Clean up terminology so it matches the user message better.
2020-10-12 00:14:32 +01:00
Seth Hillbrand
5fac21161c
Revert "Remove footprint browser from pcbnew."
...
The footprint browser loads much faster than the add a footprint dialog,
so should remain until/unless we fix the loading speed.
This reverts commit 4d8ee4685d
.
2020-10-11 12:17:47 -07:00
Jeff Young
37568d10ec
Min width is smallest width it *can* be, not largest it *can't*.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5966
2020-10-11 19:17:19 +01:00
Marek Roszko
03074ae6ed
Kick the selection tool to activate (and thus update cursors) on exiting some picker tools
2020-10-11 13:12:29 -04:00
jean-pierre charras
57da733f56
Avoid loss of data when saving a board having duplicate UUID
...
Some (old) boards used for panelisation can have duplicate UUID
(timestamp). duplicate timestamps create loss of data when saving these boards.
Fixes #5969
https://gitlab.com/kicad/code/kicad/issues/5969
2020-10-11 19:07:28 +02:00
Jeff Young
7fb767653c
Performance enhancements.
...
Don't redraw all pads when active layer is set unless it has
really changed.
2020-10-11 17:17:21 +01:00
Jeff Young
8e70381be3
Don't try and infer optimum widths for board minimums.
...
It doesn't work well with sorting the implicit rules by clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-11 17:17:21 +01:00
Seth Hillbrand
8fcb6c6f05
Exit fix loop in cleanup tracks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5968
2020-10-11 08:00:51 -07:00
Jeff Young
af28ef9d56
Add silk clearance checking to Resolve Clearances...
...
Also fixes a bug in order of RTrees in silk collision checker.
2020-10-11 14:18:11 +01:00
Jeff Young
42eecdfd3a
Collapse silk constraints down to one.
...
Also updates the rule syntax help and code-completion with a bunch
of diff-pair and other stuff that hadn't been updated yet.
2020-10-11 13:19:23 +01:00
Jeff Young
bcebb19665
Add implied diffpair netclass rules.
2020-10-11 13:19:23 +01:00
Marek Roszko
558f4b4b51
Add new place cursor, fix cursor hotpoints again
2020-10-10 23:45:21 -04:00
Jeff Young
79f91481f3
Fix missing break stmt.
2020-10-11 01:11:55 +01:00
Jeff Young
614d452f12
Resolve trackwidth[0]/viasize[0] to be the netclass values.
...
If we don't have a netclass use the default netclass.
Fixes https://gitlab.com/kicad/code/kicad/issues/5957
2020-10-11 00:54:49 +01:00
Jeff Young
f680ff17d6
Need an item to pick a netclass value.
2020-10-11 00:14:42 +01:00
Jeff Young
22cde88ba9
Allow chamfering/filleting of zone/board edge intersections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5947
2020-10-10 23:09:43 +01:00
Mark Roszko
a8bd0a9b84
Handle Windows manifests ourselves and add dpi awareness option
2020-10-10 19:08:23 +00:00
Jon Evans
6c6a3ff465
Remove API removed in 04c4012e
from Python helpers
2020-10-10 15:05:38 -04:00
Jon Evans
c1a724377f
Fix AUI pane caption colors for dark mode
2020-10-10 14:55:32 -04:00
Jeff Young
04c4012ee6
Make track/via sizes UI more predictable and compatible with DRC.
...
Two main changes: netclass values need to go through the DRC engine
so they can interact with other rules. They're also now dependent
on the layer being routed as well as the start object.
Also make the controls adjust to each other better. For instance,
copy-track-width needs to turn off when you select a particular
track width, and a particular track width needs to zero out when
you choose copy-track-width.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-10 19:32:30 +01:00
Jeff Young
fdeb340d21
Defensive code against missing nets.
...
Also adds net re-parenting code to Repair Board.
Fixes https://gitlab.com/kicad/code/kicad/issues/5935
2020-10-10 16:54:19 +01:00
Jeff Young
527d5f1290
Disallow external fillets on self, not just interacting zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5947
2020-10-10 16:54:19 +01:00
Michael Kavanagh
b2124a34dc
Add grid properties context menu to grid toolbar
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5663
2020-10-10 14:44:03 +00:00
jean-pierre charras
213a74cbe6
Gerber, Dialog plot: add option to disable Aperture Macro use.
...
Some broken Gerber readers cannot handle Aperture Macros without errors
although this feature exists since the beginning of RS274X format.
2020-10-10 16:42:21 +02:00
Ian McInerney
1df13ce32b
Dismiss the layer selector grid combobox when it loses focus
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5943
2020-10-10 15:24:35 +01:00
Ian McInerney
5aa796b5fe
Cleanup compiler warnings
2020-10-10 15:24:35 +01:00
Jeff Young
90baed7e82
Fix typo of transposed semi-colon and comma.
...
Also eases translation of strings while we're here.
Fixes https://gitlab.com/kicad/code/kicad/issues/5933
2020-10-10 12:25:22 +01:00
jean-pierre charras
c5f01501c1
PnS, router/router_preview_item: fix incorrect size of SH_RECT shape when drawing it.
...
The width of the rectangle was used instead of the width of outline (usualy 0) to
draw the shape (when dragging the pad for instance)
Fixes #5944
https://gitlab.com/kicad/code/kicad/issues/5944
2020-10-10 10:03:23 +02:00
Jeff Young
7f3ed1479e
Back out fromOtherCommand handling.
...
It's only needed in PlaceModule() and creates problems here. Also
adds a comment regarding the encapsulation leak that makes all this
hard to maintain.
Fixes https://gitlab.com/kicad/code/kicad/issues/5932
2020-10-09 23:41:30 +01:00
jean-pierre charras
411914dffb
Fix python footprint wizards after recent changes in code
2020-10-09 20:48:13 +02:00
Seth Hillbrand
4d8ee4685d
Remove footprint browser from pcbnew.
...
This is still used to choose footprint in eeschema, so the frame remains
2020-10-09 08:46:08 -07:00
jean-pierre charras
dd929c7b2e
Gen drill map file: ensure plot works when the edge cut layer is not visible
...
Fixes #5912
https://gitlab.com/kicad/code/kicad/issues/5912
2020-10-09 17:33:43 +02:00
jean-pierre charras
f60954c232
Gerber export: add support for flashed chamfered rect (with no rounded corner) pads
2020-10-09 16:47:34 +02:00
Jeff Young
b31470012a
Previous check didn't account for router dragging.
2020-10-09 14:30:55 +01:00
Jeff Young
2ca819a627
Don't assume a DRC_CONSTRAINT has a parent rule.
...
It will still have a name, though.
2020-10-09 14:26:09 +01:00
Jeff Young
1cb0cbff2e
Fix crash when router gets notifed but has no current m_placer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5935
2020-10-09 14:26:04 +01:00
Jeff Young
1fc94c7a2d
Fix printf arg mismatch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5933
2020-10-09 13:57:49 +01:00
Jeff Young
afe5d9ae05
Don't flip group name when flipping board view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5915
2020-10-09 13:45:05 +01:00
Jeff Young
e1eabac5e2
Fix name-change in DRC rules syntax help.
2020-10-09 11:31:30 +01:00
jean-pierre charras
7f1c376128
Fix a minor wxWidgets alert
2020-10-09 08:40:47 +02:00
Marek Roszko
bd30a4a406
Add selection lasso and window cursors
2020-10-08 21:25:21 -04:00
Jon Evans
966730710e
Partial fix for routing with no start item
2020-10-08 20:38:08 -04:00
Jeff Young
0c7630f8b4
Get rid of wxWidgets assert.
2020-10-09 00:31:29 +01:00
Jeff Young
298d5b6a11
Report units in clearance/width/etc. resolution reports.
2020-10-09 00:16:30 +01:00
Jeff Young
4f2e574f4b
Move IsADiffPair to drc_engine.cpp for now.
...
Otherwise we have to include drc_test_provider_diff_pair_coupling.cpp
in CVPCB, which isn't ideal either.
I'll let Tom figure out the best plan going forward, but this should
at least get things compiling/linking again.
2020-10-09 00:05:22 +01:00
Jeff Young
ce7794d9b6
Refresh after a Select All (without having to wait for mouse move).
2020-10-08 23:59:07 +01:00
Jeff Young
6550e01318
Sort synthetic netclass rules by min clearance.
...
This way when 'A' and 'B' have different netclasses the largest will
fire (rather than just a random one of the two).
Fixes https://gitlab.com/kicad/code/kicad/issues/5926
2020-10-08 23:41:27 +01:00
Tomasz Wlostowski
38cef95da9
router: initial support for V6 Design Rules (width/clearance/diff pair width/diff pair gap). Still a lot of work to do!
2020-10-09 00:01:26 +02:00
Tomasz Wlostowski
9bef95418e
router: wip on less intrusive dragged trace optimization
2020-10-09 00:01:26 +02:00
Tomasz Wlostowski
b5fa523a11
PCB_EXPR_EVALUATOR: added isDiffPair() API method
2020-10-09 00:01:26 +02:00
Tomasz Wlostowski
5c2c66dd07
drc: sane default rules for via diameters/diff pair widths/diff pair gaps (required by the P&S)
2020-10-09 00:01:26 +02:00
Tomasz Wlostowski
5e4fb46aef
MINOPTMAX: added OptThenMin() method as syntax sugar
2020-10-09 00:01:26 +02:00
Jeff Young
ea387f2f28
Don't segfault after doing a cutout which removes entire zone.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5532
2020-10-08 20:33:54 +01:00
Jeff Young
5ee302d2dc
Fix spacing issue in Plot dialog.
2020-10-08 18:11:06 +01:00
Jeff Young
80ba02caf5
Fix iterator bug in group selection filtering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5804
2020-10-08 14:15:10 +01:00
Jeff Young
9c6977a994
Remember mirror setting in print dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5909
2020-10-08 14:15:10 +01:00
Jeff Young
d305e9c715
Line width safety for PSLIKE plotter and some cleanup.
2020-10-08 14:15:10 +01:00
Marek Roszko
f820dc990e
Make the delete tool use KICURSOR
2020-10-08 07:40:14 -04:00
Jeff Young
a534f24fb6
Repair deleting of groups in modedit.
2020-10-08 11:33:32 +01:00
Jeff Young
6752fdd58b
Fix bug with adding items to group in modedit.
2020-10-08 11:33:32 +01:00
Jeff Young
2f49db49bf
Fix fly-off arc handles and move Arc Properties to start/end/angle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5791
2020-10-08 11:33:32 +01:00
Jeff Young
77aa48b825
Fix COMMIT handler for deleting PCB_GROUPs in footprint editor.
2020-10-08 11:33:32 +01:00
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
2020-10-07 23:26:14 -04:00
Marek Roszko
93376fa80e
Use the central SetIfPresent helper
2020-10-07 22:13:46 -04:00
Roberto Fernandez Bautista
09ac5e0fdc
Make GetCenter() in arcs return the center of the arc
...
Currently GetPosition() calculates the center of the arc
2020-10-08 01:41:37 +00:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Ian McInerney
50405b558e
Make the gerbview ruler tool more like the pcb ruler tool
...
* Allow the ruler to persist after clicking once on the canvas
2020-10-08 00:45:47 +01:00