Jon Evans
2cdf9875b9
PNS: fix off-by-one in dragCorner45
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6644
2020-12-27 15:58:36 -05:00
Jon Evans
c615b7a49b
PNS: make initial direction behavior consistent with fix-all enabled
2020-12-27 15:21:55 -05:00
Peter Montgomery
1c79e3174c
Pcbnew: Prevent footprint jumping when starting to drag it
...
CHANGED: When dragging a footprint, if the mouse isn't directly over the
footprint anchor when 'D' is pressed, the footprint center will jump to
the mouse position when dragging begins. This MR uses the current
mouse position instead of the footprint anchor as the inital reference
point when starting to drag.
Fixes https://gitlab.com/kicad/code/kicad/issues/6813
2020-12-27 17:43:52 +00:00
Jon Evans
8ad89ae457
PNS: fix manual posture mode
2020-12-24 17:31:54 -05:00
Jon Evans
8a2667c4c3
PNS: Fix all segments by default (and make optional)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5920
2020-12-23 21:55:43 -05:00
Jon Evans
8c247fc97c
PNS: Add a setting to disable posture solver
...
PNS: Prevent autoposture flutter when trail has little area
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6797
2020-12-23 21:02:17 -05:00
Jon Evans
912657dd23
Component dragger: make relaxed segment pickup work for PTH pads
2020-12-22 22:43:44 -05:00
Jon Evans
70c6314c67
Component dragger: be more generous about picking up tracks
...
We now pick up tracks that end anywhere in the pad, not just
at the pad anchor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5945
2020-12-22 22:28:24 -05:00
Jon Evans
70c397a9b4
Implement free vias fully
...
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)
CHANGED: stitching vias can be placed on footprint pads and pick up their nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05:00
Jeff Young
cd162a8f58
Honour m_placingVia when avoiding collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3773
2020-12-20 20:36:19 +00:00
Jon Evans
e8f38e3c18
Snap to footprint origin when dragging
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6633
2020-12-20 15:15:48 -05:00
Jon Evans
ac793618f9
Set start item for inline dragging so that snapping works properly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6796
2020-12-20 11:13:09 -05:00
Jeff Young
46314f6483
Only compare collision-corrected routes when looking for shortest.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6511
2020-12-19 23:20:27 +00:00
Jeff Young
acfbcb4beb
Make distinction between PCBNew-wide tools and Board-specific tools.
...
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
Jeff Young
5f9ed2583c
Don't put up double lock confirmation dialogs.
...
Also removes EditToolSelectionFilter which was misused in more places
than it was used correctly. The original point of the client filter
was to move the logic to the point of use, which the
EditToolSelectionFilter sort of obviated anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/6751
2020-12-15 22:34:24 +00:00
Jeff Young
c0a9742b3a
Apply 0ef63aca47
to diff pairs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-12 03:43:41 +00:00
Wayne Stambaugh
dd4298bb94
Coverity fixes: 280374, 313611, 313648, 313649, and 314720.
2020-12-11 13:29:52 -05:00
Jeff Young
0ef63aca47
Don't reset tail when changing track width/via sizes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-11 17:58:36 +00:00
Jeff Young
7cb2d19814
Honour alt-means-disable-grid-snapping in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6679
2020-12-11 13:11:47 +00:00
Jeff Young
d304f12284
Formatting.
2020-12-11 12:48:04 +00:00
Jeff Young
73b7b104cd
Fix some issues with Infobar sizing.
...
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Ian McInerney
be4b6ec06a
Cleanup compiler warnings
2020-12-09 23:13:33 +00:00
Jeff Young
b1f0bf7334
More consistent naming.
2020-12-08 13:05:39 +00:00
Jeff Young
aa3e29ee7c
Don't re-enter router on subsequent X key.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6656
Fixes https://gitlab.com/kicad/code/kicad/issues/4504
2020-12-08 00:13:29 +00:00
Jeff Young
f09ca9ceee
Pass unhandled events when dragging in the router tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6630
2020-12-06 12:30:29 +00:00
Jeff Young
7b347d793b
Change gears on no-connect net generation. See bug rpt.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
Fixes https://gitlab.com/kicad/code/kicad/issues/6615
2020-12-04 18:25:48 +00:00
Jeff Young
00edc85f4f
Allow layer switching when routing from pad.
...
Additionally, don't process layer events from both main loop and
transitions -- it makes for a mess.
Fixes https://gitlab.com/kicad/code/kicad/issues/4832
2020-12-02 21:17:56 +00:00
Jeff Young
f2ac6fcd44
Treat net 0 items as each being in their own net.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6534
2020-12-02 20:05:47 +00:00
Jeff Young
d06d35a74d
Formatting.
2020-12-02 20:05:47 +00:00
Jeff Young
288ab7ed6f
Minor formatting cleanup.
2020-12-01 14:04:01 +00:00
Jeff Young
06b9439dbf
Edge Cuts shapes have zero width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6517
2020-11-26 17:42:46 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
jean-pierre charras
976c6262f4
French translation update (fix also trailing spaces in a few sentences)
2020-11-23 11:42:25 +01:00
qu1ck
b32c2a6c90
Refactor EDA_TEXT::TransformToSegmentList() to return a vector of points
...
This allows reading text object as it is rendered through python API.
2020-11-23 07:50:54 +00:00
Jeff Young
ff3bd7e72a
Fix a crash bug in DRC, and equate Margin to Edge.Cuts.
2020-11-20 21:22:27 +00:00
Jeff Young
9e9946628a
Go back to arrow cursor on a cancel (or finish).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
2020-11-19 20:09:28 +00:00
Dominik Wernberger
99da663e82
Remove unused variables plus some more fixes from CppCheck
...
Remove unused variables plus a few more fixes from CppCheck
Remove unused variables plus a few more fixes from CppCheck
2020-11-19 02:28:47 +00:00
Werni
0e44f5128c
Add const specifiers
2020-11-18 19:50:36 +00:00
Jeff Young
795e45836d
Fix assert in DRC.
2020-11-17 17:41:57 +00:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +00:00
Jeff Young
ec020dd19f
First-class support for filled shapes.
2020-11-14 01:40:32 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
3451ac3088
PCB_MODULE_T -> PCB_FOOTPRINT_T
2020-11-13 15:16:24 +00:00
Jeff Young
52a46341db
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
Jeff Young
da5cfb5df1
Improve commenting.
2020-11-11 17:52:15 +00:00
Jeff Young
5e569e81e7
Performance enhancements for PNS.
2020-11-11 15:32:30 +00:00
Ian McInerney
d88eaaf477
Fix various compiler and Coverity warnings
2020-11-11 00:41:02 +00:00
Jeff Young
ce3b2921bd
Sort potential start candidates by distance from cursor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1926
2020-11-10 23:50:57 +00:00
Jeff Young
bd63c018c9
Don't snap synthetic priming event.
...
We need to let the consumer of the event do snapping (so that, for
instance, it can also snap to tracks, pads, etc.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4365
2020-11-09 17:21:47 +00:00
Jeff Young
64876a2761
PNS_DRAGGER should report its layers.
...
Also, don't use ViewGetLayers() for visibility checking. For some
things (like vias) it deals with synthetic layers, not board layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6328
2020-11-08 17:19:37 +00:00
Jeff Young
81ea71fb80
More safety when fetching via sizes.
2020-11-07 18:50:30 +00:00
Jeff Young
ae9afdd169
SNR. (Mostly for progammers, but a little for user messages.)
2020-11-02 16:20:00 +00:00
Jeff Young
76ac8b5acf
Preflight routing so we can give a warning if it's not going to work.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4975
2020-11-02 00:10:21 +00:00
Jeff Young
8bfb255c96
Put a warning when routing can't start due to DRC violation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4975
2020-11-01 23:46:42 +00:00
Jeff Young
409cd9d4ee
Formatting.
2020-11-01 20:25:36 +00:00
Jeff Young
f6c92ab1ea
DRAGGER needs to report it's nets.
...
Otherwise things like snapping don't work.
Fixes https://gitlab.com/kicad/code/kicad/issues/4147
2020-11-01 19:57:42 +00:00
Jeff Young
a95e2184da
A more generic error message when route start pt violates DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1812
2020-11-01 18:23:07 +00:00
Jeff Young
2c1b6e42e0
Repair ARC copy constructor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6176
2020-11-01 00:10:08 +00:00
Jeff Young
fab87fb97b
Handle proxy items for the second PNS_ITEM as well.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6193
2020-10-31 23:23:54 +00:00
Jeff Young
843974b0bf
Cleanup and formtting.
2020-10-31 15:50:06 +00:00
Jeff Young
ba4d711356
I should have known better than to use a global....
...
When the board is closed and reopened the dummy items belong to a
freed board.
2020-10-31 15:50:06 +00:00
Jeff Young
c17ceb5875
Make sure proxy items at least get the right net for clearance lines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5980
2020-10-30 23:37:35 +00:00
Werni
a7d5d1f091
Add more consts all over the place
2020-10-27 11:03:35 +00:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
jean-pierre charras
d6f91c810f
Fix a few compil and Coverity warnings.
2020-10-25 10:02:07 +01:00
Marek Roszko
81a7afc76e
Use kicad_algo directly rather than common.h
2020-10-24 08:53:11 -04:00
Marek Roszko
8d7feb3d72
Nip some common.h from headers
2020-10-24 08:28:03 -04:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young
3045dbd6e8
Minor code clean-up.
2020-10-20 13:38:09 +01:00
Jeff Young
d7ea70ba02
Don't assume a valid constraint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6059
2020-10-18 20:58:53 +01:00
Jeff Young
02cbcb99df
Fix broken logic in ImportSizes().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6049
2020-10-18 12:08:16 +01:00
Jeff Young
827699bed2
Just because we have a startItem doesn't mean it can find a width.
...
For instance, a pad with no other tracks attached will return 0.
Fixes https://gitlab.com/kicad/code/kicad/issues/6019
2020-10-17 13:57:07 +01:00
Jeff Young
23d9e2e74a
New rules engine needs non-connected items as well.
2020-10-17 13:52:18 +01:00
Jeff Young
1ee3df61c9
Improve robustness of infobar button handling.
2020-10-16 17:07:59 +01:00
Jeff Young
eea7957e16
Inform user of bad DRC rules when filling zones.
...
ADDED: facility for hypertext links in infobar.
Also made use of this for via constraint errors when routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5800
2020-10-16 12:44:20 +01:00
Marek Roszko
9656bd310b
Remove eda_item and gr_basic from eda_text.h
2020-10-13 22:46:39 -04:00
Jon Evans
cea73fe510
Restore net highlighting to router tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5962
2020-10-13 20:30:38 -04:00
Jon Evans
fd4b9f0efa
PNS: ratlines need to not be debug graphics
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5995
2020-10-13 20:04:47 -04: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
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
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00: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
bcebb19665
Add implied diffpair netclass rules.
2020-10-11 13:19:23 +01:00
Jeff Young
79f91481f3
Fix missing break stmt.
2020-10-11 01:11:55 +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
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
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
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
Jon Evans
966730710e
Partial fix for routing with no start item
2020-10-08 20:38:08 -04: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
5e4fb46aef
MINOPTMAX: added OptThenMin() method as syntax sugar
2020-10-09 00:01:26 +02:00
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
2020-10-07 23:26:14 -04:00