Jeff Young
0a2a3c9903
Fix Coverity-discovered typo.
2021-01-19 10:57:07 +00:00
Michael Kavanagh
7461b96dea
Hide the selection tool submenu in the FP Editor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7164
2021-01-19 00:30:44 +00:00
Jeff Young
12fe44d4b3
Snap arc center *by* the grid, not *to* the grid.
...
Also fixes a bug with editing an arc endpoint because the cursor pos
was being forced before the arc constraints stuff had been run (in
updateItem()).
2021-01-19 00:26:31 +00:00
Seth Hillbrand
b8dfcb34c4
Revert "Use less-sophisticated arc editing math."
...
This reverts commit 3b424d3868
. And fixes
issue with rouding causing arc errors
2021-01-18 12:44:27 -08:00
Jon Evans
1e33928b96
Fix issues with zone filling connectivity locking
...
Two issues found with the locking system used to prevent access to
stale connectivity data during the zone fill process:
1) a std::mutex has undefined behavior if you try to use it to guard
against access from the same thread. Because of the use of wx event
loops (and coroutines) it is entirely possible, and in some situations
inevitable, that the same thread will try to redraw the ratsnest in the
middle of zone refilling.
2) The mutex was only guarding the ZONE_FILLER::Fill method, but the callers
of that method also do connectivity updates as part of the COMMIT::Push.
Redrawing the ratsnest after the Fill but before the Push will result in
stale connectivity pointers to zone filled areas.
Fixed (1) by switching to a trivial spinlock implementation. Spinlocks would
generally not be desirable if the contention for the connectivity data crossed
thread boundaries, but at the moment I believe it's guaranteed that the reads
and writes to connectivity that are guarded by this lock happen from the main
UI thread. The writes are also quite rare compared to reads, and reads are
generally fast, so I'm not really worried about the UI thread spinning for any
real amount of time.
Fixed (2) by moving the locking location up to the call sites of
ZONE_FILLER::Fill.
This issue was quite difficult to reproduce, but I found a fairly reliable way:
It only happens (for me) on Windows, MSYS2 build, with wxWidgets 3.0
It also only happens if I restrict PcbNew to use 2 CPU cores.
With those conditions, I can reproduce the issue described in #6471 by
repeatedly editing a zone properties and changing its net. The crash is
especially easy to trigger if you press some keys (such as 'e' for edit)
while the progress dialog is displayed. It's easiest to do this in a debug
build as the slower KiCad is running, the bigger the window is to trigger this
bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7048
2021-01-18 13:22:12 -05:00
Michael Kavanagh
479487ceb1
Tidy up context menus a bit
...
Try and put the common actions in the same places
2021-01-17 22:42:03 +00:00
Jon Evans
6bb9aeab4b
Position relative: store discarded pad for use as the selection anchor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6996
2021-01-17 14:25:52 -05:00
Jeff Young
68efdb2fff
Push shared parts of GRID_HELPERs into common.
2021-01-16 23:18:10 +00:00
Jeff Young
3b424d3868
Use less-sophisticated arc editing math.
...
While it doesn't do the tangent retention that the old version did,
this one I can at least make work.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-16 20:46:14 +00:00
Roberto Fernandez Bautista
00918c68f5
Don't do clever snapping logic when drawing a circle
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7131
2021-01-16 08:39:20 +00:00
Jon Evans
38455c25ef
Bring back consideration of world scale to PcbNew snapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7125
2021-01-15 12:29:47 -05:00
Jon Evans
6cc39d8011
Don't allow moving locked pads with Position Relative dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6996
2021-01-14 22:14:00 -05:00
Jeff Young
36508807e7
Give the pad placement tool a context menu.
...
ADDED: allow pad properties to be edited while placing pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/6953
2021-01-15 00:52:03 +00:00
Mikolaj Wielgus
0129c7ae52
Notify appearance panel when net is (un)hidden by board inspection tool
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7039
2021-01-14 17:22:41 +00:00
Jeff Young
3e920c665f
Special case via area generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7105
2021-01-14 12:48:44 +00:00
Seth Hillbrand
13a4717aed
Add center handles to rectangle edits
...
Allows changing a single dimension at a time. Matching the polygon edit
tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/7085
2021-01-13 14:04:21 -08:00
Jeff Young
ffdff21f45
Use a sloppier hittest for the collector as well as the actual hittest.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7079
2021-01-13 21:22:24 +00:00
Jeff Young
0bce280424
Make sure design rules get recompiled after netclass changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Seth Hillbrand
6ed2a831d8
Don't override the router tool with drag actions
...
Before processing the select tool actions, we check if the router is
currently active and if it is, pass the event for processing in other
tools
Fixes https://gitlab.com/kicad/code/kicad/issues/7021
2021-01-12 15:44:20 -08:00
Michael Kavanagh
32f7f30958
Icons: remove where they don't make sense
...
Also avoid icon reuse
2021-01-11 23:31:25 +00:00
Michael Kavanagh
8fba0c257b
Icons: remove more inconsistencies around Select
...
Missed from 5d9b2d3fea
2021-01-11 23:31:24 +00:00
Seth Hillbrand
740df93808
Don't dereference board groups in fp editor
...
The Footprint editor group resolution should stop at the footprint level
to avoid breaking into groups that cannot be accessed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7049
2021-01-11 14:58:33 -08:00
Jeff Young
50889a9ed6
Promote mouse drag settings to full enums.
2021-01-11 22:09:36 +00:00
Seth Hillbrand
c09dc5abdd
Prevent locking items in footprint editor
...
Adding footprints to the board now has a preference for whether we want
pads locked or unlocked by default
2021-01-11 11:23:26 -08:00
Jeff Young
6c648df4c6
Support 3 drag vs. select options, and unifiy with other drag prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
Jeff Young
9ce6c2be80
Group global editors under tools menu.
...
Also improves some terminology in Remove Unused Pads.
2021-01-11 11:50:14 +00:00
Jeff Young
ed7b3373d1
Disentangle copper- and board-edge-clearances in Clearance Resolution...
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6983
2021-01-09 16:44:03 +00:00
Jeff Young
78dcfb2392
Honour locks inside groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6841
2021-01-09 13:47:24 +00:00
Seth Hillbrand
cf2dd0bd38
Fix edit_tool pad handling
...
Check for footprint editor
Promote pad edits to footprint edits iff
- Pad is locked
- Footprint is not
Otherwise, handle the pad normally and prompt for locked items if found
2021-01-08 19:46:14 -08:00
Seth Hillbrand
1c9d8a9f4c
Don't warn on locked conversion
2021-01-08 16:49:47 -08:00
Seth Hillbrand
51f02ecc51
Fix alignment tool with locked footprints
2021-01-08 13:58:26 -08:00
Seth Hillbrand
721155165d
Don't move locked footprint if pads are locked
2021-01-08 13:58:26 -08:00
Jeff Young
d0af4e9f9d
Save a cancel value when asked if it's not being used to cancel.
...
Many, many KIDIALOGs use OK/Cancel and then rename both buttons to
confirm or deny some action. In those cases we *do* want to store
the deny actions if they check "Do Not Show Again".
Fixes https://gitlab.com/kicad/code/kicad/issues/6979
2021-01-08 21:32:19 +00:00
Jeff Young
3467e643e5
Move pad locking from footprint to pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Seth Hillbrand
9424d66d22
Move footprint when selecting locked pad
...
Prompting to unlock is obtrusive and blocks the common action of
dragging from a pad to align footprints. The less common action of
editing pads in layout can be accomplished after unlocking the pads
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-07 19:46:06 -08:00
Jon Evans
24435df6b0
Don't update 3D view on cursor movement
...
Our rendering pipeline is not set up for this kind of speed,
and this is a blocking operation at the moment.
Note that we will get an update at the end of the move
because OnModify does it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6819
2021-01-07 20:43:14 -05:00
Jeff Young
3fd128a75b
Performance enhancements.
2021-01-08 00:46:55 +00:00
hoijui
6ca9a42251
Removes 3 other instances of a potential encoding problem
...
Signed-off-by: hoijui <hoijui.quaero@gmail.com>
2021-01-07 17:36:49 +00:00
Seth Hillbrand
c0f940438a
Clarify Flip action
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6954
2021-01-06 13:02:44 -08:00
Jeff Young
2a088e5c7b
Add conversion of circles to zones and enable in footprint editor.
...
Also rule areas, of course.
Fixes https://gitlab.com/kicad/code/kicad/issues/6966
2021-01-06 17:21:49 +00:00
Jeff Young
70967bfebd
Hierarchical menu parents don't get ...'s.
...
Also moves the Convert menu up a level. Nested hierarchical menus
should be avoided whenever possible.
2021-01-06 17:21:49 +00:00
Michael Kavanagh
6fd718fbd8
Icons: replace old with new
2021-01-06 00:35:20 +00:00
Michael Kavanagh
5d9b2d3fea
Icons: new filter icon
...
+ remove icons where they don't make sense.
2021-01-06 00:35:20 +00:00
Michael Kavanagh
54724096ea
Icons: consistency between Eeschema and Pcbnew
2021-01-06 00:35:20 +00:00
Seth Hillbrand
71a93c71f7
Prevent footprint editor snapping to footprint
...
Inside the footprint editor, we only want snap points from the base
elements
Fixes https://gitlab.com/kicad/code/kicad/issues/6948
2021-01-05 16:08:30 -08:00
Michael Kavanagh
b40e3a39f5
Minor cleanup.
2021-01-04 23:59:36 +00:00
Michael Kavanagh
154e19b6e7
Icons: use common prefix for small 16x16
2021-01-02 23:16:33 +00:00
Michael Kavanagh
5a3f4f52df
Icons: add new icon for Pcbnew 'Special Tools...'
2021-01-02 23:16:33 +00:00
Jeff Young
018c17399d
SNR.
2021-01-01 23:17:49 +00:00
Jeff Young
8ee72853fb
Be more targetted on when we load DRC Rules for better performance.
2021-01-01 23:17:49 +00:00
Seth Hillbrand
a69a4be853
Fix build error with icon names
2021-01-01 13:13:33 -08:00
Seth Hillbrand
72c27b2e33
Make expand selection stop at vias
...
During the first expansion, we are supposed to stop at vias and branches
(where three track ends connect). This needs to account for the number
of vias and tracks not just tracks
2021-01-01 09:31:44 -08:00
Seth Hillbrand
5a3e5781bf
Allow polygon drawing on edge cuts and courtyard
...
Prevents line splitting behavior needed in v5 when drawing polygons on
courtyards. Also provide property dialog with some smarts to handle
special layers
Fixes https://gitlab.com/kicad/code/kicad/issues/6900
2020-12-30 14:10:30 -08:00
PJM
94bf88d820
Pcbnew: Prevent selections jumping when dragged after flip or rotate
...
CHANGED: If you flip or rotate an item or selection of items, move
the mouse, press 'M' and start moving the mouse, the selection jumps
to where the mouse is. This MR fixes that so it doesn't happen.
This bug was reported against the 5.1.x branch but also affects the
5.99 branch. This MR is for the 5.99 branch.
Fixes https://gitlab.com/kicad/code/kicad/issues/4069
2020-12-30 01:02:04 +00:00
Jeff Young
35a5781f68
Don't look at project layer visibilities for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6873
2020-12-29 17:03:43 +00:00
Jeff Young
efd16dca66
Fix a bunch of issues with group selection and highlighting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6686
2020-12-29 12:41:24 +00:00
Jeff Young
f7a6dc26e9
Give GROUP_PROPERTIES_DIALOG its own files.
2020-12-29 12:41:24 +00:00
Jon Evans
55394f343d
Don't use snapping for a selection interaction
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6856
2020-12-28 17:26:39 -05:00
Jeff Young
10e51bfea7
Don't apply "normal" locking strategy to alignment options.
...
It's much more useful to use the locked items as targets.
Also fixes some issues with commits getting the wrong items when
pads are promoted to footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/6859
2020-12-27 15:02:25 +00:00
Jeff Young
e3d95cc2c8
Formatting.
2020-12-27 15:02:25 +00:00
Jeff Young
7a081b7c04
Naming consistency.
2020-12-25 16:59:41 +00:00
Jon Evans
a9ff98bccc
Allow selecting locked pads at all times
...
Locked pads are a bit different from other locked items
and there are sufficient reasons to need to select them
that it makes sense to introduce this inconsistency.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6837
2020-12-24 14:35:44 -05:00
Jeff Young
5fffde09d4
Improve SNR and formatting.
2020-12-24 10:36:29 +00:00
Michael Kavanagh
6489781408
Icons: use correct icons for show/hide ratsnest
...
- Remove old icon remnants
- Recolour show/hide_ratsnest to match KiCad style
2020-12-24 01:02:02 +00:00
Jeff Young
ffe7d2ea49
Only draw group boxes when selected.
...
Also ignore footprint groups when in board editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/6826
2020-12-23 21:43:32 +00:00
PJM
32f1e79c28
Pcbnew: Fix ctrl-MMB double click to perform 'Zoom to Objects'
...
CHANGED: Ctrl-middle mouse button double click should perform
'Zoom to Objects' in Pcbnew, but a change in modifier key handling
broke it. This MR restores the functionality.
Fixes https://gitlab.com/kicad/code/kicad/issues/6740
2020-12-20 23:20:09 +00: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
Wayne Stambaugh
f311831c27
Coverity fixes.
...
280252, 314742, 314745, 314747, 314755, 314756, 314757, 314758,
314935, 314936
2020-12-20 13:24:47 -05:00
Jon Evans
dc1c80beb8
Allow highlighting from locked items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6758
2020-12-20 11:24:19 -05:00
Jon Evans
a6e595dbda
Don't start dragging unselected zones from their filled areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6795
2020-12-20 10:41:02 -05:00
Jeff Young
d9bbdffd99
Don't offer point-based pad editing in PCBNew.
2020-12-19 19:51:51 +00:00
Jeff Young
e840e9d997
Use themeable colours for snap helpers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6664
2020-12-19 19:51:51 +00:00
Marek Roszko
9b0a137d6c
Stop bludgeoncompiling dialog_page_settings
...
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Wayne Stambaugh
08cf9a1e20
Move headers from common folders to appropriate include folders round 1.
2020-12-17 08:12:18 -05:00
Ian McInerney
fc20eaa083
Fix some compiler and Coverity warnings
2020-12-17 00:30:22 +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
Seth Hillbrand
b7875e4d41
Setup file_* icons
...
Don't use the same "post_*" icon in the treeview. The badge gives an
action that doesn't apply in the treeview.
Also renames different file blobs to the "file_*" prefix.
2020-12-15 14:48:09 -08: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
Seth Hillbrand
dad2e317e9
Modify edit text & graphics to use pencil
2020-12-14 17:03:35 -08:00
Jeff Young
4faa4931ae
Fix missing gerber icon.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6727
2020-12-15 00:15:03 +00:00
Jeff Young
22a6b36257
Don't allow dbl-click to leak through to other tools.
...
This only applies if the tool doesn't handle properties (which also
handles double-click events).
Fixes https://gitlab.com/kicad/code/kicad/issues/6735
2020-12-14 22:15:43 +00:00
Seth Hillbrand
2bf0eb1e3a
Add convert icon
2020-12-12 11:14:58 -08:00
Michael Kavanagh
dce4d04113
Add 24x24 size refresh icon
...
Previously 16x16 was being used alongside 24x24
2020-12-12 18:51:55 +00:00
Michael Kavanagh
cf6f0b9b92
Use trash icon where appropriate
2020-12-11 17:05:11 -08:00
Wayne Stambaugh
dd4298bb94
Coverity fixes: 280374, 313611, 313648, 313649, and 314720.
2020-12-11 13:29:52 -05:00
Jeff Young
6898dadd1c
Don't activate measure tool when it's already running.
...
In this case it's reactivated when the move command ends; only the
move command was ended because of activating the measure tool so it
gets activated twice.
Fixes https://gitlab.com/kicad/code/kicad/issues/6321
2020-12-10 22:14:52 +00:00
Jeff Young
98330098ac
Yet another overhaul to locking.
...
This unifies everything under a single architecture with a "don't
show again" dialog. Since everything now goes through the same
path it should be reasonably easy to make it do whatever we want
in the future.
Right now it presents 3 options: modify only unlocked items, override
locks and modify all items, or cancel command.
2020-12-10 17:36:19 +00:00
Jeff Young
9113f93ebe
Uniformly apply current locking strategy.
...
I make no claims that this is the right strategy, but at least it's
consistent now.
Fixes https://gitlab.com/kicad/code/kicad/issues/6369
2020-12-10 01:34:37 +00:00
Jeff Young
90d58c8509
Fix typo. (Thanks Graham!)
2020-12-10 00:08:05 +00:00
Jeff Young
c6b17a0175
Enable lock menu for all selections.
...
It doesn't pay to try and be too smart as it just confuses people.
When the bugs come in that it doesn't dim I'll just be marking them
as "as designed". :)
Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Jeff Young
df4f4560be
Change lock toggle to put selection in uniform state.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Jeff Young
65782d5c5a
Move delete-again-to-delete-locked-objects to hypertext in infobar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Jeff Young
431c8dba3c
Adjust undo when deleting members of a group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6678
2020-12-09 00:18:36 +00:00
Jeff Young
5e9d9f5753
Special handling for presence of Ref or Value in groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6677
2020-12-09 00:18:36 +00:00
Seth Hillbrand
799e1efba2
Update group icons
2020-12-08 12:22:18 -08:00
jean-pierre charras
9c4eef2cef
Fix a missing view update when loading a footprint from the fp viewer.
...
For some reason, a footprint loaded from the fp viewer did not have its
view parameters fully updated (view bounding box not moved to the right place).
The fix ensure these parameters are updated.
2020-12-08 17:52:30 +01:00
Jeff Young
60ecd4698c
Nets don't have properites; netclasses do.
2020-12-08 13:05:39 +00:00
Jeff Young
2260597236
Fix more accidental event capturing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5844
2020-12-06 13:33:23 +00:00
jean-pierre charras
16c92f4134
Fp editor: Add a tool tip in the vertical toolbar
2020-12-06 13:35:21 +01:00
Jeff Young
de082e9be7
Make footprints mostly covered in pads easier to select.
...
If all the uncovered space is at the very edge it doesn't feel like
there's anywhere to click but the disambiguation menu doesn't come
up.
Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 23:02:45 +00:00
Jeff Young
d6c3c6f7fa
Use footprintRect not ViewBBox for determining footprint bounds.
2020-12-05 19:44:02 +00:00
Seth Hillbrand
3704c1cdb7
New icons for v6
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2542
2020-12-05 11:17:15 -08:00
Jeff Young
4e100b8d03
Handle groups in clearance report, and make sure zone bboxes are cached.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6571
2020-12-04 20:49:14 +00:00
Jeff Young
fd5e1fbdd4
Formatting and cleanup.
2020-12-04 14:01:54 +00:00
jean-pierre charras
2f3ca60c5e
Pcbnew, modifiers for left click behavior: re-add highlight net option.
...
Due to last changes fixing the ALT key problems, the highlight net is
CTRL+SHIFT + left click on Windows and Linux
CTRL+ALT + left click on OSX
Fixes #6595
https://gitlab.com/kicad/code/kicad/issues/6595
2020-12-04 10:25:05 +01:00
Jeff Young
09bfb76545
Make sure dissallow constraints get added to rule.
...
Also improves some error reporting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6566
2020-12-03 23:08:51 +00:00
Jeff Young
e882753ebf
Grid snapping fixes.
...
1) Uniformly honour the GAL grid snap settings
2) Make more uniform use of GRID_HELPERs
3) Smarten EDIT_LINE for mid-point snapping
Fixes https://gitlab.com/kicad/code/kicad/issues/6558
2020-12-03 19:55:58 +00:00
Jeff Young
43fe228367
Hook up a bit more of the EE_GRID_HELPER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5985
2020-12-02 23:18:33 +00:00
Jeff Young
96c9680922
Separate width adjustments between single track and diff pair.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6572
2020-12-02 16:24:33 +00:00
Jeff Young
1cd8426bcb
Fix latent dyn_cast bug. And a bunch of formatting issues.
2020-12-02 00:29:00 +00:00
Jeff Young
f70153b849
Implement Group Properties in Footprint Editor.
...
Also fixes a pair of typos that were keeping delete of a group in the
Footprint Editor from working.
Fixes https://gitlab.com/kicad/code/kicad/issues/6579
Fixes https://gitlab.com/kicad/code/kicad/issues/6578
2020-12-01 23:43:53 +00:00
Jeff Young
df262eaa06
Make prev/next marker work reliably on all platforms.
...
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).
While there we might as well add a command to exlucde markers.
ADDED Prev Marker, Next Marker, Exclude Marker
Fixes https://gitlab.com/kicad/code/kicad/issues/6575
Fixes https://gitlab.com/kicad/code/kicad/issues/5501
2020-12-01 22:37:07 +00:00
Jeff Young
3c521942ed
Smarten isEmpty checks to include nothing-but-whitespace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6567
2020-12-01 16:39:06 +00:00
Jeff Young
d50d1d84da
Fix some issue with group in selection logic.
2020-12-01 14:04:01 +00:00
Jeff Young
3a9a6e22bc
Fix issues in reporting netclasses.
...
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Wayne Stambaugh
1f8b7b6149
Pcbnew: change block selection and heuristic context menu modifier keys.
...
Do not use the alt modifier key to force the display of the heuristic
context menu. This causes a conflict with menu selection on windows
and immediately dismisses the disambiguation context menu.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1873
2020-11-30 08:51:09 -05:00
Jeff Young
b171d381f0
Collapse Redraw3DView and Update3DView into a single routine.
...
Also fixes some errors about what the flag meant (model changed,
NOT redraw immediately).
Fixes https://gitlab.com/kicad/code/kicad/issues/6478
2020-11-29 21:08:30 +00:00
Jeff Young
889408c96a
More improvements to new selection disambiguation.
...
Also a rationalization of text polygon generators, with the "standard"
version inherited from BOARD_ITEM now giving the bounding box. This
requires callers who want the (much) more expensive stroke-based one
to call it explicitly (and brings PCB_TEXT in line with the was FP_TEXT
already was.
Fixes https://gitlab.com/kicad/code/kicad/issues/6525
2020-11-29 14:02:46 +00:00
Jeff Young
3c25abbf2f
Ignore netcode when expanding track selections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6529
2020-11-29 10:57:45 +00:00
Jeff Young
b1adb93c16
PCB_GROUP_Ts need to be added and removed from view.
...
The SELECTION_TOOL's m_enteredGroup also needs to be updated when
said group is deleted via undo or redo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6493
2020-11-27 23:34:58 +00:00
Jeff Young
896ad4a749
Rewrite PCBNew selection disambiguation based on shapes.
...
The new shape architecture gives us the opportunity to make text
selection much more intuitive by actually looking at the glyph
shapes. Before text would be selected when you clicked in the
descenders area (which was usually blank given uppercase letters
and digits).
Fixes https://gitlab.com/kicad/code/kicad/issues/6525
2020-11-27 22:03:14 +00:00
Jeff Young
0293f880ec
Fix a bunch of group issues with importing graphics.
...
Groups do not own their children; they only reference them. That
being said, they do own *selection* and *moving* of their children.
This might address some of 6493, but in any case will be a
pre-requisite for fixing it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6493
2020-11-27 22:03:14 +00:00
jean-pierre charras
5c08ad1ab9
Fix a few issues when copying a footprint from fp editor to clipboard, and paste it:
...
- ref and value texts were converted to user texts.
- fpid was left empty, thus creating a potential issue if pasted in the board editor.
Now:
- ref and value texts are no changed, and not copied is pasted in the footprint editor
(these texts already exist)
- a dummy fpid (clipboard:<md5 string>) is added if pasted in board editor
(Pasting a (partial) footprint from fp editor to a board editor is certainly not
a good idea but is possible)
2020-11-25 17:13:35 +01:00
Ian McInerney
d50d728d19
Cleanup compiler warnings
2020-11-25 00:08:09 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
1391774f64
Re-factor boundary/courtyard checker error handling.
...
ADDED Footprint Checker dialog to display the results in.
Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-21 20:57:35 +00:00
jean-pierre charras
22bbe9618e
French translation update
2020-11-21 19:58:13 +01: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
b123318cf6
Encourage use of full DRC for board & footprint malformed outlines.
...
It shows much more detail. Removes some nag dialogs and places
hypertext links in others.
Also fixes the auto-layer-showing to correctly show Edge.Cuts or
F.CrtYd or B.CrtYd for errors relating to them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-20 17:24:52 +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
Jeff Young
876b87b64e
Minor performance fixes for PCBNew selections.
2020-11-19 17:23:02 +00:00
Jeff Young
04c84fa842
Remove some expensive trace calls.
2020-11-19 15:47:32 +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
Jeff Young
c1d1c12b41
Simplify message panel code.
...
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young
bb3cbe3fa4
Pretty-up report a bit.
2020-11-18 00:17:07 +00:00
Jeff Young
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Jeff Young
dff5173baf
Exorcise some instances of "modedit".
2020-11-17 16:05:48 +00:00
Jeff Young
1ce1e493d6
A rule zone is not really a BOARD_CONNECTED_ITEM.
...
Or at least it shouldn't always be treated as one.
Fixes https://gitlab.com/kicad/code/kicad/issues/6382
2020-11-15 20:23:15 +00:00
Jeff Young
d094f86b1a
Finish module cleanup (except for xpms).
2020-11-14 22:00:12 +00:00
Jeff Young
61bca4aaa4
A bit of "module" erradication, nameing conventions, and formatting.
2020-11-14 21:21:54 +00:00
Jeff Young
666c11965a
Clean up some more MODULE terms.
2020-11-14 19:56:06 +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
86b6afd14b
More cleanup of MODULE to see if it fixes SWIG error.
2020-11-13 21:07:36 +00:00
Roberto Fernandez Bautista
b29cd8e3a1
Rewrite EDIT_TOOL::FilletTracks to only carry out the operation when one item is connected to the anchors
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6103
2020-11-13 17:43:21 +00:00
Roberto Fernandez Bautista
bdc89df333
EDIT_TOOL::FilletTrack Change STATUS_TEXT_POPUP messages to an infobar instead
2020-11-13 17:43:21 +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
43001cae38
Simplify Net Inspector. (Remove via length and group sorting ctrls.)
...
Also renames files & classes to fit dialog title and updates method
names to match coding guidelines.
2020-11-11 14:41:17 +00:00
Jeff Young
812b714ccd
More Module -> Footprint and a bit of formatting cleanup.
2020-11-10 20:53:12 +00:00
Jeff Young
6e0a40e32e
Cleanup. Push more editing functions to toolset.
...
Also cleans up some more Module -> Footprint items.
2020-11-10 20:14:26 +00:00
Jeff Young
5c309f0fef
KeepUpright should enforce 0..90, not -90..90.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5537
2020-11-09 22:50:29 +00:00
Jeff Young
4dc877d0e9
Module -> Footprint.
2020-11-08 21:43:19 +00:00
Jeff Young
f33e44e630
Drop selection when creating new text item.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6310
2020-11-08 00:14:43 +00:00
Jeff Young
0ebea4be53
Cleanup and naming conventions.
2020-11-07 18:50:30 +00:00
Jeff Young
7c60c2e404
Module -> footprint.
2020-11-07 18:50:30 +00:00
Jeff Young
bfd8a62852
Formatting and naming conventions.
2020-11-07 18:50:30 +00:00
Jeff Young
23d6cde0b0
Don't swally properties command when tool has no current item.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6311
2020-11-06 13:21:29 +00:00
Jeff Young
8b295a3bd7
Handle properties dialog while creating an arc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6215
2020-11-05 20:21:06 +00:00
Jeff Young
a6552f14f1
Improve SNR (code, status bar and user messages).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6304
2020-11-05 16:38:04 +00:00
Jeff Young
3216256b49
Turn off zone fill up-to-date checker in DRC.
...
The individual DRC errors will catch it, and the user can always
choose to fill zones first.
2020-11-04 18:32:27 +00:00
Jeff Young
8c782506b9
Appy units updating more consistently to editing assistants.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6283
2020-11-04 14:11:25 +00:00
Ian McInerney
dd84ec1b51
Hide the convert submenu when there are no conversion tools available
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6092
2020-11-04 01:31:52 +00:00
Ian McInerney
d5f83d2685
Ensure dimension units are updated when being placed
...
* Fix the display of dimension units in the properties dialog. It was
previously not showing automatic units in the dialog.
* When placing dimension items (e.g. from paste or append), update the
units to the board units when the dimension uses automatic units.
Fixes https://gitlab.com/kicad/code/kicad/issues/6267
2020-11-04 01:31:52 +00:00
Jeff Young
5ede4061e3
Bug fixes and enhancements for dimensions.
...
1) Make them easier to select.
2) Mirror text when flipping to other side of board.
3) Flip around a more "known" point (the text position isn't really
here nor there).
Fixes https://gitlab.com/kicad/code/kicad/issues/6219
2020-11-03 22:48:57 +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
4e5dd6952e
Fix arc flipping behaviour.
...
Also fixes flipping of a dragged selection to be around the anchor
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/6217
2020-11-01 15:26:55 +00:00
Jeff Young
f720b8aa2a
Don't allow selecting of invisible zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6225
2020-10-31 22:49:48 +00:00
Jeff Young
8bfde9db6c
Fix typo in recent group commit fix.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6247
2020-10-31 22:24:20 +00:00
Jeff Young
33e54f136b
Proper commit handling for group children.
2020-10-31 17:25:22 +00:00
Jeff Young
6bf29deb7f
Improve formatting.
2020-10-31 17:25:08 +00:00
Jeff Young
115fd1d7f3
Move track-to-zone testing to RTrees.
...
Also implemente pad-to-zone testing and removes the control in the
GUI (now that it's fast).
2020-10-31 15:45:41 +00:00
Jeff Young
cd93dbd324
Naming cleanup.
2020-10-31 15:45:41 +00:00
Jeff Young
d5addb692c
Move a bunch of DRC tests to RTrees.
2020-10-31 15:45:41 +00:00
Seth Hillbrand
a551a500bb
Fix crash when pasting to view-only frames
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6233
2020-10-30 16:33:57 -07:00
Jeff Young
203c8df909
Respect locked flag when inline dragging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6117
2020-10-30 17:58:37 +00:00
Jeff Young
45618327cf
Fix crash bug closing schematic with sheet selected.
2020-10-30 15:26:07 +00:00
Jeff Young
66d2cf172d
Clear point editor on undo/redo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6224
2020-10-29 22:55:33 +00:00
Jeff Young
fc6fc88219
Zone fill fixes for divots and hatching + more debug layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6203
2020-10-29 21:20:34 +00:00
Jeff Young
bc23fd0530
Mark footprint tests as run even if netlist is empty.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6125
2020-10-28 19:56:58 +00:00
Werni
a7d5d1f091
Add more consts all over the place
2020-10-27 11:03:35 +00:00
Ian McInerney
0948d67e56
Break wait loops on null TOOL_EVENT
...
The Wait() function will return a null TOOL_EVENT when the tool
stack is shutting down, so we can't just always pass the event,
instead we must check for null and end the looping if a null
event appears.
2020-10-27 00:32:41 +00:00
Ian McInerney
dc542be91d
Fix parentage of groups
...
In the footprint editor, we must parent the group to the module
not the board.
Fixes https://gitlab.com/kicad/code/kicad/issues/6181
2020-10-26 23:53:38 +00:00
Jeff Young
41c6de45e4
Use our Refresh() call, not wxWidgets'.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6071
2020-10-26 15:36:07 +00:00
jean-pierre charras
f74ffc5623
Pcbnew: Fix incorrect position of the graphic crosshairs cursor in H,V,45deg
...
forced mode, when the graphic polygon tool is active, but a graphic item is not started.
(The code was using the last created point, but it does not exist before starting
a line)
Fixes #6079
https://gitlab.com/kicad/code/kicad/issues/6079
2020-10-26 11:56:09 +01:00
Jon Evans
e490b8eda4
Bring back Copy with Reference as a new action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5916
2020-10-25 17:09:58 -04:00
Jeff Young
386cefbe84
Do footprint keepouts by courtyard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6162
2020-10-25 18:17:58 +00:00
Jeff Young
07b8a03432
Improve translatability and add keepout inspection.
2020-10-25 18:17:58 +00:00
Jon Evans
09ade9fe51
Inhibit point editor while drag-selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6155
2020-10-25 12:13:25 -04:00
jean-pierre charras
13baea4900
Fp editor: fix crash when converting a rect to lines
...
Avoid adding menuitems in convert context menus having no meaning in fp editor
Fixes #6158
https://gitlab.com/kicad/code/kicad/issues/6158
2020-10-25 14:51:08 +01:00
jean-pierre charras
34179cd039
Add missing icon in menu, and fix them in other menus
2020-10-25 14:51:08 +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
jean-pierre charras
fdf6547f5f
Pcbnew: Select/Expand connection (U) does not propagate with fillet tracks
...
Fixes #6136
https://gitlab.com/kicad/code/kicad/issues/6136
2020-10-23 18:51:05 +02:00
Jeff Young
af184e58b5
Make sure newly-added footprint's pads get Default net.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6108
2020-10-22 11:49:15 +01:00
jean-pierre charras
4326e99b08
Pcbnew: "Select all tracks in net" must select track segments and track arcs.
...
Fixes #6101
https://gitlab.com/kicad/code/kicad/issues/6101
2020-10-21 20:32:52 +02:00
jean-pierre charras
36f68dd39f
Pcbnew: make option Tracks filled/sketch working for track arc shaped.
...
Fixes #6096
https://gitlab.com/kicad/code/kicad/issues/6096
2020-10-21 19:43:14 +02:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Roberto Fernandez Bautista
006c462d8f
ADDED: Fillet Tracks tool in pcbnew
...
Select two or more track segments and run the "Fillet Tracks" tool.
2020-10-20 21:23:05 +00:00
Seth Hillbrand
661e85d705
Standardize "Key words" to "Keywords"
2020-10-20 13:18:48 -07: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
6cbe2131ab
Simplify string processing and ease translation.
2020-10-20 19:42:37 +01:00
Jeff Young
07f5428951
Fix issues pasting groups into ModEdit.
2020-10-20 13:38:09 +01:00
Seth Hillbrand
c9d14700a7
Restore missing MW shape icon
2020-10-19 14:28:27 -07:00
Jon Evans
e832a94a9c
Turn on zone visibility when you start drawing a zone
...
It's disconcerting to have the zone turn invisible when
you finish drawing and drop the selection.
2020-10-17 15:53:02 -04:00
Jeff Young
51ab639ce4
Implement a better interface between inspectors and DRC rule editor.
2020-10-17 10:58:08 +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
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Jeff Young
fad0916f0b
Make sure inspection dialogs get raised.
2020-10-15 21:21:34 +01:00
Jeff Young
6b7749658e
Report all implicit rules for resolution reports.
2020-10-15 20:53:27 +01:00
Jeff Young
92d84b0d67
Naming updates.
2020-10-15 01:35:16 +01:00
Jon Evans
a0c0bda1db
Fix crash when highlighting via
2020-10-13 21:45:09 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -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
jean-pierre charras
0cf57c7b1f
Fix minor compil warnings (shadowed vars)
2020-10-13 17:35:54 +02: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
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
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
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00: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
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
Marek Roszko
558f4b4b51
Add new place cursor, fix cursor hotpoints again
2020-10-10 23:45:21 -04: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
Ian McInerney
5aa796b5fe
Cleanup compiler warnings
2020-10-10 15:24:35 +01: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
Marek Roszko
bd30a4a406
Add selection lasso and window cursors
2020-10-08 21:25:21 -04:00
Jeff Young
298d5b6a11
Report units in clearance/width/etc. resolution reports.
2020-10-09 00:16:30 +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
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
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
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
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
2020-10-07 23:26:14 -04: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
Jon Evans
c3da54b741
Allow editing properties of locked pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5861
2020-10-06 17:54:50 -04:00
Jeff Young
305fe54971
Drawing tool needs to pass resetLocalCoords event after recording it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5879
2020-10-06 12:08:31 +01:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Ian McInerney
3a570c27f0
Update unit handling in the preview ruler
...
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Seth Hillbrand
8e515d0069
Standardize default hotkey refresh
2020-10-04 05:48:26 -07:00
Jeff Young
bb753aaadf
Clean up terminology around active & high contrast layers.
2020-10-03 22:55:34 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jeff Young
81154c9270
Back out check-for-mouse-in-selection-bbox for PCBNew.
...
Unlike eeschema, PCBNew has had a selection model for two major
releases so folks have gotten used to RMB acting on the selection
rather than what's under the mouse.
Plus it makes RMB after a drag-select nearly useless as your mouse
by definition ends up outside the selection bbox.
Fixes https://gitlab.com/kicad/code/kicad/issues/5857
2020-10-03 18:50:49 +01:00
jean-pierre charras
0b23cb7dbb
more cleanup about removing useless include
2020-10-03 15:26:03 +02:00
Jeff Young
ba26e056ec
Implement groups for modedit.
...
This uncovered a memory corruption bug in MODULE's move operator,
several bugs in MODULE's move and copy constructors, and a bug in
BOARD's GetItem() call.
It also bumps the file format for saving/restoring groups inside
footprints.
2020-10-03 12:19:50 +01:00
Jon Evans
a25d091b6c
Add Convert Shapes tool to footprint editor
2020-10-02 18:42:41 -04:00
Jeff Young
732f588d83
Don't hit-test groups; allow only selection promotions from members.
...
Also fixes some bugs were the selection filters weren't getting
applied correctly on drag-selects.
Fixes https://gitlab.com/kicad/code/kicad/issues/5668
Fixes https://gitlab.com/kicad/code/kicad/issues/5804
2020-10-02 13:50:16 +01:00
Jon Evans
71ed7ee707
Revert "Drag preselected items even when "prefer selection to dragging" enabled"
...
This reverts commit d530e2c2cd
.
2020-10-01 18:23:30 -04:00
Ian McInerney
481026e901
Move microwave tools into a group on the main drawing toolbar
...
ADDED: Drawing group for microwave tools on main drawing toolbar
REMVOED: Microwave toolbar no longer exists
2020-10-01 19:47:55 +01:00
Jon Evans
d530e2c2cd
Drag preselected items even when "prefer selection to dragging" enabled
...
Not being able to drag an already-selected item feels broken
2020-09-30 20:10:13 -07:00
Jeff Young
6abe68fff0
Cleanup. No changes to execution.
2020-09-30 23:07:12 +01:00
Seth Hillbrand
bf3cb0b1d0
Standardize pad type enums
2020-09-30 08:38:35 -07:00
Jon Evans
31549cdc10
Clean up some things about pad locking
...
Allow selecting pads on a locked footprint (but not editing)
Don't create point editor for pads that should be locked
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5829
2020-09-29 18:53:49 -04:00
Jon Evans
4bb3e9dd98
Better handling of rounded pad shapes in GRID_HELPER
2020-09-28 23:59:44 -04:00
Jon Evans
30663c293c
GRID_HELPER: allow snapping to collinear points
2020-09-28 21:38:08 -04:00
Jon Evans
fe0f6b5ac7
ADDED: snapping to pad shape endpoints and midpoints
...
ADDED: snapping to rectangle midpoints
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4749
2020-09-28 21:38:08 -04:00
Jon Evans
e4ca4a2a47
REMOVED: "Delete twice to delete locked" action
...
Now that it is possible to disable selection of locked
items, it is better to just prevent accidental editing
of locked items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5793
2020-09-28 21:38:08 -04:00
Jon Evans
74b0e1fa47
Break apart locked items from the rest of the selection filter
...
Disable selection of locked items by default
See discussion in https://gitlab.com/kicad/code/kicad/-/issues/5793
2020-09-28 21:38:08 -04:00
jean-pierre charras
c21883c8c9
fix minor I18n issues.
2020-09-28 20:52:55 +02:00
Mario Luzeiro
456112de03
Request redraw of 3D-Viewer when moving a footprint
2020-09-28 02:26:25 +00:00
Mario Luzeiro
5a362dfeeb
Request redraw of 3D-Viewer when a selection from Schematic is made
2020-09-28 02:26:25 +00:00
Mario Luzeiro
a1e94c2583
3D-Viewer: request a redraw when a footprint is selected in pcbnew
2020-09-28 02:26:25 +00:00
Jeff Young
23938356b9
Move "selection copied" to the status bar.
2020-09-27 00:26:18 +01:00
Jeff Young
7f33c229d8
Allow selection of nested items (ie: pads) inside an entered group.
...
Also moves some group-related functionality from BOARD to PCB_GROUP.
2020-09-26 20:35:52 +01:00
Jon Evans
b6e4b7bf7d
Fix order of initializing tools when loading board
...
Also add a few safeguards against invalid situations
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5801
2020-09-26 14:45:16 -04:00
Jeff Young
7300640da0
Reload DRC rules on MODEL_RELOAD.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5794
2020-09-26 16:49:09 +01:00
Jeff Young
f8875bc5a6
Move std::contains to alg::contains.
2020-09-26 14:42:40 +01:00
Jeff Young
035abe960c
Fix copy/paste of groups.
...
We can't check for selected on parent groups because the order isn't
defined (and the parent may not yet have been selected). Check for
inclusion instead.
2020-09-26 12:40:48 +01:00
Jeff Young
d7e80f8008
Add std::contains() to simplify a lot of code.
2020-09-26 12:40:32 +01:00
Jeff Young
44af3978af
Re-implement undo/redo of group ops in a pointer-safe way.
2020-09-26 10:03:13 +01:00
Jon Evans
f4a8275f3e
Allow selecting pads of locked footprints when filter allows
...
Before the selection filter, this heuristic made sense, but
now there is an explicit toggle to disable selection of locked
items, so we want to be able to select pads when that toggle
is enabled.
2020-09-25 21:28:04 -04:00
Jeff Young
ba0bed7a45
Groups don't go in the view, but they do go in an overlay when entered.
2020-09-25 22:51:16 +01:00
Jeff Young
2ae4fecaea
Paste items into group when group has been "entered".
2020-09-25 22:48:40 +01:00
Jeff Young
6fde9ea8a5
Don't leave stale pointers in groups when exchanging modules.
...
Also simplifies groups so that other areas of code that have to know
about them at least don't have to know as much. One of the simplifications
is to not worry so much about empty groups until save time; others are in
the access logic to parent groups.
Also simplifies user model slightly by removing Merge and Flatten
(which are just ungroup/group and ungroup/ungroup/.../group).
Also allows multiple groups to have the same name. This is useful when
using groups for a classification system.
Fixes https://gitlab.com/kicad/code/kicad/issues/5788
2020-09-25 18:43:19 +01:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
Jon Evans
0783669633
CHANGED: Design rules files now use .kicad_dru extension
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5763
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5444
2020-09-24 21:26:23 -04:00
Jeff Young
5ad76a237e
Moving checking the rules up a level so we can properly exit DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5778
2020-09-24 15:17:46 +01:00
Jeff Young
dba42ebed0
ADDED Properties Dialog for groups.
...
ADDED memberOf() function for DRC rule expressions.
Also fixes a bug in several of the pickers where the event wasn't
being correctly passed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5647
2020-09-24 14:41:02 +01:00
Jon Evans
690575e2b6
Improve edit point legibility with a hover state
2020-09-23 21:27:23 -04:00
Jeff Young
6dae769944
Progress reporting for connectivity tests.
...
Also makes via annulus terminology more consistent.
2020-09-23 16:28:00 +01:00
Jeff Young
167ae374fd
Don't allow two DRC runs at the same time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5745
2020-09-23 14:10:07 +01:00
Jeff Young
6d18f20093
ADDED constraints reporter for diagnosing constraints.
...
Also fixes an issue with via type property and makes property
comparisons in rule case-insensitive.
Fixes https://gitlab.com/kicad/code/kicad/issues/5754
2020-09-23 01:14:35 +01:00
PJM
e77b7e3360
Make MMB double click perform 'Zoom to Fit'
...
ADDED: Make middle mouse button double click do a 'Zoom to Fit'
in Eeschema, Pcbnew, and Gerbview. Ctrl-MMB does a 'Zoom to Objects'
in Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/1988
2020-09-22 23:21:44 +00:00
Jon Evans
acf13a1869
ADDED: Orthogonal dimension object
2020-09-21 23:55:02 -04:00
Jon Evans
18e17abd6a
Rename "Keepout" to "Rule Area"
...
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
2020-09-21 23:55:02 -04:00
Seth Hillbrand
ffa1947056
pcbnew: Simplify copy routine
...
Choose a decent copy reference from the mouse position when copying.
Don't break UX standards by requiring mouse action when activating copy.
2020-09-21 13:28:21 -07:00
Jeff Young
4badcba4c2
Zone fill performance improvements
...
1) better load-balancing for deferred zones
2) sort zones by priority before filling
3) retire BOARD::GetZoneList() which had a horrible performance profile
4) implement a zone bounding box cache
5) better checks for IsCancelled() so long fills can be exited
Fixes https://gitlab.com/kicad/code/kicad/issues/5738
2020-09-21 21:09:58 +01:00
Ian McInerney
d3dd1c45b6
Disable editing tools on the canvas when DRC is running
2020-09-21 20:39:46 +01:00
jean-pierre charras
492a634413
Fp editor: Fix bug when moving fp anchor: pad shapes where not updated on screen.
2020-09-21 14:43:26 +02:00
Ian McInerney
542f447daa
DRC tool: Ensure all calls to the dialog are guarded by null checks
2020-09-21 12:04:41 +01:00
Jeff Young
d9a94dc538
Don't allow selection of PCB_NETINFO_T.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5729
2020-09-20 16:41:39 +01:00
Ian McInerney
89dcc46898
Coverity cleanup and remove unused variables
2020-09-20 02:20:41 +01:00
Jeff Young
67b5d24995
Support ESC & Cancel for DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5698
2020-09-18 22:14:00 +01:00
Jeff Young
53297c78a6
Don't eat commands we don't need in move tool.
...
This also fixes the dynamic ratsnest issue.
Fixes https://gitlab.com/kicad/code/kicad/issues/5692
2020-09-18 13:14:08 +01:00
Ian McInerney
a53f3899d4
Initialize variables properly
2020-09-18 11:17:37 +01:00
PJM
5feb4d3a7a
Pcbnew: Check if user wants to warp mouse to origin of moved object
...
CHANGED: When moving a footprint, Pcbnew was always warping the mouse
to the origin of the moved object regardless of the state of the "Warp
mouse to origin of moved object" checkbox. This MR now honors the
state of the checkbox when moving footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/5279
2020-09-18 02:47:59 +00:00
Jeff Young
8dd725469f
Process properties command locally within drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5612
Fixes https://gitlab.com/kicad/code/kicad/issues/5615
2020-09-17 22:32:22 +01:00
Jon Evans
e9b627bfd8
ADDED: Center marker dimension type
2020-09-16 20:55:11 -04:00
Jon Evans
5109857883
Disable deselect net from main context menu
...
Right now we can't track the intended item to deselect
when there's an active selection already.
Having this feature available just from the appearance panel
should be fine.
2020-09-16 20:55:11 -04:00
Jon Evans
4a25db599e
ADDED: Deselect net action
...
You can now deselect nets and netclasses (i.e. remove them from the
active selection) via the context menus in the appearance panel
2020-09-16 19:10:12 -04:00
Jeff Young
2b43ffd12d
Better error reporting; better nullptr safety.
...
Also clears the marker lists before running a DRC, and sets
the drcRun flags afterwards so that the notebook tab counts
get updated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5659
2020-09-16 22:14:41 +01:00
Jon Evans
db40e0c595
Fix dimension point editor ordering
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5656
2020-09-16 12:05:30 -04:00
Jeff Young
ce3819abf8
Remove redundant clearances from DRC dialog. Fold progress bar in.
2020-09-16 16:06:29 +01:00
Jon Evans
75ffce1a0b
ADDED: Leader dimension object
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5555
2020-09-15 23:37:38 -04:00
Jeff Young
e2e229da96
Finish exorcising the old DRC system.
...
This moves the various BOARD_ITEM calls to the new system, and make
the DRC_ENGINE long-lived so that it can field those queries.
2020-09-15 20:15:46 +01:00
Seth Hillbrand
67a7aa8ba4
Make snapping size grid-dependent
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5638
Fixes https://gitlab.com/kicad/code/kicad/issues/5588
2020-09-15 12:07:34 -07:00
Seth Hillbrand
08bf5f4b4e
ADDED: 45° snapping for rectangles aka Squares
...
The snap obeys only the Ctrl key and not the global preference setting
for drawsegments because rectangles are _always_ on H/V lines when drawn
Fixes https://gitlab.com/kicad/code/kicad/issues/5607
2020-09-15 11:22:26 -07:00
Jeff Young
514da2f886
Move DRC dialog to new DRC engine.
2020-09-14 22:39:36 +01:00
Jon Evans
d7e9411049
Filter out footprints that are larger than the viewport in either direction
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2448
2020-09-12 13:16:10 -04:00
Jon Evans
3940e20fcb
Expose extension offset and zero suppression settings
2020-09-12 11:52:59 -04:00
Seth Hillbrand
1703657fb5
Decrease default snap range
...
The snap range needs tuning to preference and monitor resolution. This
shifts the default range down for users until the customization bits are
implemented.
2020-09-12 08:34:21 -07:00
Jon Evans
e40287d327
Fix auto units to work when drawing new dimensions
2020-09-12 10:30:33 -04:00
Jon Evans
0e9997d9ca
Add new dimension features to board design defaults
2020-09-11 21:12:36 -04:00
Jon Evans
76c4c959e6
Implement new dimension properties
...
- Automatic units mode (follow UI units)
- New text and number formatting options
- Automatic/manual text orientation control
- New text positioning options (inline and manual)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4280
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4497
2020-09-11 21:12:36 -04:00
Jon Evans
b11e315d10
Refactor DIMENSION to hide internal details; add some new properties
...
This is a board file format change to account for the new properties.
Also, we now only store the critical information about the dimension's
geometry in the board, rather than storing every drawn line.
The DIMENSION object is now an abstract base, and ALIGNED_DIMENSION
is the implementation that exists today (we will add more dimension
types in the future)
2020-09-11 21:12:36 -04:00
Jeff Young
5be887a60f
Iron out some wrinkles in the DRC migration.
2020-09-12 01:57:37 +01:00
Jeff Young
8ac7288696
Fix a crash bug loading DRC rules.
...
Also moves the clearance report to the new DRC engine.
2020-09-12 00:46:55 +01:00
Seth Hillbrand
d14c6ba71f
Keep snap line alignment before new snaps
...
Also fixes the alignment line that was supposed to be dashed and not
solid.
2020-09-11 14:22:41 -07:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Jeff Young
fc1665ff28
ADDED Clearance Inspector.
2020-09-10 20:58:38 +01:00
Seth Hillbrand
4026904cc4
Make grid snapping depend on grid visibility
...
Turning the grid view on enables snapping to the grid. Turning it off
removes the snap and allows free draw
2020-09-09 10:18:15 -07:00
Seth Hillbrand
173b4ff588
Add snapping to eeschema
...
This generalizes both the SetPosition() function and ORIGIN_VIEWITEM
class away from the pcbnew-centric.
2020-09-09 10:18:15 -07:00
Jon Evans
3d5b216d1d
Allow rectangles to be converted to lines
2020-09-08 08:41:33 -04:00
Jeff Young
9ea96ee64e
Update pad layer testing for selectability.
...
My only guess is the old code predated the introduction of
GetLayerSet(). In any case it was long-winded and still didn't
catch the case of being on copper layers other than front or back
(which might be hidden).
2020-09-08 11:02:09 +01:00
Seth Hillbrand
7e2a6a9b64
Block undo/redo while editing points
...
We need to keep a stable board while modifying items.
Fixes https://gitlab.com/kicad/code/kicad/issues/5533
2020-09-06 15:30:38 -07:00
Jeff Young
1be1205734
Repair missing checkVisibilityOnly test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5516
2020-09-05 19:12:07 +01:00
Jeff Young
adfcdc89af
Repair parent pointer after SwapData() nukes it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5523
2020-09-05 18:51:56 +01:00
Jeff Young
7893af2c60
insideArea should be outline-based, not fill-based.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5499
2020-09-05 00:25:19 +01:00
jean-pierre charras
2babcd5936
Do not translate debug strings
2020-09-04 20:29:22 +02:00
Jeff Young
2736becb8b
Fix typo in Toggle Layers action and add descriptions to hotkeys lists.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5494
2020-09-04 17:45:07 +01:00
Jeff Young
b0081606f7
Fix crash bug in Select All / Delete.
...
We only expect footprint edge selections in the Footprint Editor.
They cause PCBNew's undo architecture to wrap itself in knots.
2020-09-03 15:03:09 +01:00
Ian McInerney
cb36006406
First round of cleanup for the PCB groups
...
ADDED: Leave group action
Fixes https://gitlab.com/kicad/code/kicad/issues/5299
2020-09-02 02:10:26 +01:00
Jeff Young
6e72f609f0
Make sure router and via tools update when sizes change.
...
Also adds a size menu to the context menu for the Via tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/5321
2020-08-31 23:33:02 +01:00
Michael Kavanagh
108936079b
Fix default hotkey clash on "Delete Full Track"
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3710
2020-08-31 15:48:29 +00:00
Jeff Young
1fa96b794a
Update some strings for Appearance manager.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5431
2020-08-31 16:38:11 +01:00
Jeff Young
88635ee5b6
Clean up error messages.
...
Convert a lot of nags to InfoBar errors/warnings/messages, and some
that never should have been exposed to wxFAIL_MSGs.
2020-08-31 14:19:57 +01:00
Fabien Corona
4a0d6297ab
pcbnew: Add an alternate edit method for arcs
...
The alternate edit methods keeps the radius constant
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5369
2020-08-29 22:59:11 +00:00
Jon Evans
fa8655511e
Enable converting segments to arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1957
2020-08-29 12:13:51 -04:00
Jon Evans
a390b19f97
Move actions around
2020-08-29 10:43:05 -04:00
Jon Evans
19832c7599
ADDED: Tool for converting shape types in PcbNew
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2406
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2507
2020-08-28 21:16:06 -04:00
Jeff Young
9e12ea9bb6
Cleanup some dead code and make better use of iterators.
...
Also applies coding style around auto and lambdas.
2020-08-28 11:05:58 +01:00
Jeff Young
b8aee85b94
Don't drop selection on an undo/redo.
...
We want to be able to restore it back to the way it was.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-28 11:05:58 +01:00
Seth Hillbrand
1e461c2259
ADDED: Improved center point dragging
...
The center point on polygons now maintains the axis of the dragged line
and, optionally with Ctrl pressed, maintains the slope of the adjacent
segments as well.
This also fixes a longstanding issue that prevented the ctrl-snapping
from using the original point rather than the last updated point when
constraining.
Fixes https://gitlab.com/kicad/code/kicad/issues/2465
2020-08-27 10:34:12 -07:00
Seth Hillbrand
0dc0536cbf
pcbnew: Fix Select All copy-pasta
...
Adds condition to footprint editor and corrects condition for both
modedit and pcbnew
2020-08-26 17:19:32 -07:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
Jeff Young
1138c32bf3
Don't pass Cancel event where there was a specific action cancelled.
...
For instance, if during a move the user hits ESC they only want the
move cancelled, not (for instance) the selection dropped.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-25 12:54:40 +01:00
Jeff Young
b8bbe72e48
Another attempt to fix the select-reference-point toolstack thing.
...
This time remove the push/pop from the picker tools as that's
responsible for the issue of trying to re-activate the move action
when its popped. Instead do the push/pop from the client code
of other actions that need it, and not at all from the move-with-
reference action.
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 22:47:24 +01:00
Jeff Young
50b182574d
Missing change from last commit.
2020-08-24 21:59:43 +01:00
Jeff Young
5a0db6802a
Use IsOnLayer(); GetViewLayers() now returns synthetic ZONE layers.
...
Also uses IsPadOnLayer() for pads so that it will drop layers which
have had their pads removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5349
2020-08-24 20:20:04 +01:00
Jeff Young
a4ff339a1e
Clear toolstack after cancel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 19:28:53 +01:00
Jeff Young
8eda4d93ee
Use LAYER_VIAS instead of via-type-specific layers for visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5344
2020-08-24 14:00:46 +01:00
Jeff Young
502f2ca2ef
Fix some snarled up event processing.
...
See the bug for details. It's complicated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 13:20:29 +01:00
PJM
dd374e12ad
Pcbnew: Fix bug when mouse moves off clarification menu
...
CHANGED: This code fixes an issue where bringing up the clarification
menu and moving off it while keeping the button pressed the entire
time caused an assertion.
Fixes https://gitlab.com/kicad/code/kicad/issues/5250
2020-08-22 16:48:19 -07:00
Jeff Young
c71bb246e6
Don't allow preview to try and draw empty polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5314
2020-08-22 23:46:56 +01:00
Jeff Young
a2341f0f33
Pin dragged pad edges to hole (if it has one).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5317
2020-08-22 20:45:54 +01:00
Jeff Young
e92f58bb4f
Implement "fromOtherCommand" for PlaceModule() too.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5281
2020-08-21 23:24:29 +01:00
Seth Hillbrand
20de1b2b4f
Minor code tightening
2020-08-20 20:18:31 -07:00
PJM
29ddc73d6c
Pcbnew: Allow rects to have overlapping end corner locations
...
CHANGED: If a rectangle is drawn and the location of the second corner
is the same as another rectangle's second corner, Pcbnew crashes. The
reason is that a call is made to DRAWSEGMENT::GetLength(), but that
function only handles shapes of type S_CURVE and S_SEGMENT. This code
checks if the overlapping end points are from a rectangle and if so
it doesn't call DRAWSEGMENT::GetLength().
Fixes https://gitlab.com/kicad/code/kicad/issues/5282
2020-08-21 02:58:32 +00:00
Seth Hillbrand
1e315bc3fe
pcbnew: Add "Select All" Action to pcbnew and fpedit
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2497
2020-08-20 16:07:10 -07:00
Jeff Young
38a994975b
Output resolved text from PCBNew BOM generator.
2020-08-20 13:41:50 +01:00
Ian McInerney
c479deaf02
Use groups when doing graphics import
...
ADDED: Allow DXF/SVG graphics to be imported as a group
Also, cleanup the placement routine to allow the edit tool's flip
and rotate routines to be used when placing the items.
2020-08-20 01:22:48 +01:00
Jeff Young
631b5a9340
Don't allow point editor inversion when editing pad shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5272
2020-08-19 23:27:16 +01:00
Jeff Young
95591669f1
Merge board properties when appending board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5255
2020-08-19 19:32:20 +01:00
Jeff Young
2bf4fcae2a
Cancel preceeding command if Move was called to place it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5252
2020-08-19 13:18:53 +01:00
Jeff Young
f2a902c0b1
Remove extraneous drag actions.
2020-08-18 19:05:30 +01:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Marek Roszko
294de666a4
Don't update msgpanel while dragging zone points
2020-08-18 13:11:47 +00:00
Marek Roszko
d2086eecdd
Don't update panel while drawing a dimension
2020-08-18 13:11:47 +00:00
Marek Roszko
73b2a10cab
Don't try updating msgpanel while segments.
2020-08-18 13:11:47 +00:00
Marek Roszko
a417da4ce0
Split selecteditemmodified to a selecteditemmoved to reduce updatemsgpanel spam
2020-08-18 13:11:47 +00:00
Marek Roszko
3696064f6f
Don't post update events twice and on motion for movement of items
...
Fix #4880
Fix #4741 (hopefully)
2020-08-18 13:11:47 +00:00
Marek Roszko
a0956fbf97
text tool: msgpanel on motion is the same as msgpanel on not moved text....
2020-08-18 13:11:47 +00:00
Jon Evans
3c66f932bf
Synchronize flip board checkbox
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5224
2020-08-17 21:48:11 -04:00
Ian McInerney
e825a99b9a
Consolidate some UI conditions from context menu enabling
...
These conditions are for enabling/disabling a control,
so place them inside the new UI conditions framework instead
of the separate update routine.
2020-08-17 23:21:25 +01:00
Seth Hillbrand
0debaa5866
Update selection ratsnest should do slow updates sometimes
...
When rotating/mirroring/etc, the selection ratsnest should be
recalculated to keep the lines correctly connected for the fast tree
move.
Fixes https://gitlab.com/kicad/code/kicad/issues/5194
2020-08-16 13:31:50 -07:00
Ian McInerney
4491f24d5e
Ripout the old SyncToolbars infrastructure reminants
...
The tool framework no longer needs to request updates of the UI
state for the controls, wxWidgets will do it for us.
2020-08-16 19:10:26 +00:00
Ian McInerney
e8b11c911e
Migrate Pcbnew/footprint viewer/footprint editor to the new UI update system
2020-08-16 19:10:26 +00:00
Ian McInerney
d19ff3e595
Unify the UI IDs for actions between the menus and toolbars
...
By unifying the IDs so that an action only has one UI ID,
it will receive only one update event that will work for
all controls using the action.
2020-08-16 19:10:24 +00:00
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
...
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
jean-pierre charras
e4021a9ffa
Fix some I18n issues.
...
Strings used for debug and strings containing only a print format like "%i"
are not translated
2020-08-15 17:56:32 +02:00
Seth Hillbrand
a0c54951db
pcbnew: Clean up group move
...
SetPosition() only changes the base position of tracks, we need to use
Move() to move the whole element.
This also cleans up white space and group handling in ratsnest
Fixes https://gitlab.com/kicad/code/kicad/issues/5188
2020-08-14 19:47:03 -07:00
Seth Hillbrand
b8b3d5c16d
pcbnew: Remove all threading from dynamic ratsnest
...
The last remaining threaded operation in dynamic ratsnest was the
recalculation of the dynamic connectivity map. Because we do not
require any of the extra features of the connectivity map, we can get
away with a lightweight move of the anchors to update the ratsnest. The
resulting connectivity tree is not valid but it is not needed for the
ratsnest, which only needs a list of nets/anchors.
2020-08-14 17:48:33 -07:00
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
a6d44676b3
Move commit handling outside of ZoneFiller.
...
This allows us to rever the commit on a cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/5107
2020-08-12 22:20:07 +01:00
Qbort
b41892e4da
Rename class GROUP in pcbnew to PCB_GROUP
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5156
2020-08-12 15:36:08 +01:00
Seth Hillbrand
ab58b67842
Adding triangulation viewing to AC
...
This adds a helper routine to visualize the quality of our
triangulation. It also renames an excessively long variable name for
the arc editor
2020-08-12 06:22:45 -07:00
Joshua Redstone
ee428876ec
ADDED: Group/Ungroup function
...
This implements the group/ungroup functions to mark a set of EDA_ITEMs as a unit, allowing them to be moved and rotated as a unit
2020-08-11 19:37:07 +00:00
Jeff Young
a0f95855d1
ADDED board repair tool.
...
Currently it just fixes duplicate UUIDs.
2020-08-11 15:02:27 +01:00
Jeff Young
5ab39b7c06
Clean up reannotation UI.
2020-08-11 15:02:27 +01:00
Ian McInerney
e03f6a3b49
Pcbnew: Route all display options updates through the frame
...
The frame contains the main option set that is used for setting the UI
state, so it must be updated. The frame also updates the view when set,
so calling the view separately to update the options isn't needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5069
2020-08-11 01:20:11 +01:00
Seth Hillbrand
211cbadc24
pcbnew: MODULEs are not BOARD_CONNECTED_ITEMS
...
Handling ratsnest requires first checking for modules, handling their
pads and then checking that the remaining elements derive from
BOARD_CONNECTED_ITEM
Fixes https://gitlab.com/kicad/code/kicad/issues/5131
2020-08-10 11:01:03 -07:00
jean-pierre charras
23a5b0ca5f
fix a few compil warnings and a Coverity warning.
2020-08-10 18:32:44 +02:00
Jeff Young
34705fd8b2
More clone vs duplicate bugs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5120
2020-08-10 14:45:01 +01:00
Jeff Young
692aeff334
Fix a bunch of usages of copy ctor that really meant duplicate.
...
In particular, "duplicate" means "with a new KIID".
Fixes https://gitlab.com/kicad/code/kicad/issues/5127
2020-08-10 14:23:11 +01:00
Seth Hillbrand
5fc6b74c89
ADDED: Remove unused pads
...
This option removes copper layers from pads and vias where they are not
connected to other board elements. This allows the inner layers to be
more closely routed if the via landing pad is not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/1835
2020-08-10 03:27:26 +00:00
Fabien Corona
133d082cc5
Pcbnew fix arc edition
2020-08-09 23:03:31 +00:00
bjpiccioni
d08bf90576
ADDED: Geographic Reannotation
2020-08-09 12:43:05 -04:00
Jeff Young
4317881012
Improve delete-unused-layers to better handle multi-layer items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5116
2020-08-09 15:39:51 +01:00
Jeff Young
5c3fddffa6
Handle module keepout zones on internal layers.
...
Make sure the Keepout Zone dialog allows specifiying them and make
sure they're selectable.
Fixes https://gitlab.com/kicad/code/kicad/issues/5113
2020-08-09 00:24:53 +01:00
Jeff Young
e5b50d90a7
Update DRC rules to new layer and disallow grammars.
...
Also adds support for hooking rules up to named zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2041
2020-08-07 21:49:36 +01:00
Seth Hillbrand
406de56964
pcbnew: Prevent use of non-connected item in ratsnest
...
We need to be careful in the connectivity system to always use
dyn_cast/dynamic_cast and check the return when dealing with board
items. Getting non-connected items will result in null nets when
propagated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5082
2020-08-07 13:38:51 -07:00
Jeff Young
00e77d1ba4
Implement pad & via aprons for hatched zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2519
2020-08-07 15:15:43 +01:00
Jeff Young
4b51184678
Don't try and select if we don't have a location.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5088
2020-08-06 01:22:59 +01:00
Jeff Young
e2ec9d9f00
A more fail-safe way to disallow editing while routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4413
Fixes https://gitlab.com/kicad/code/kicad/issues/5067
2020-08-05 16:51:58 +01:00
Jeff Young
59ba793096
Disable various combinations of router and editing commands.
...
They just confuse each other.
Fixes https://gitlab.com/kicad/code/kicad/issues/5067
2020-08-04 14:32:02 +01:00
Jeff Young
7108a25278
Fix issues flipping text.
...
This is a really hard problem to get right. This algorithm won't
look quite right if you assemble a paragraph from disjoint text
objects and flip them all top-to-bottom (as it will re-order the
text). But this is really the nature of the problem (and has to
stay that way to correctly flip disjoint graphic items or mixed
text and graphic items). The real fix here is to support text
wrapped in a single text box.
Fixes https://gitlab.com/kicad/code/kicad/issues/4480
2020-08-02 17:05:13 +01:00
Jeff Young
dae40d5c9f
Don't use std::set_difference which assumes sorted lists.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4968
2020-08-01 22:15:53 +01:00
Jeff Young
b2dc592bf1
Clear UUID and path when pasting board items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4992
Fixes https://gitlab.com/kicad/code/kicad/issues/4041
2020-07-30 18:06:42 +01:00
Jeff Young
be957e0105
Convert parent-less module items to board items on paste.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4938
2020-07-27 19:53:42 +01:00
jean-pierre charras
6f7d5f5e2b
Footprint editor: fix some issues in flip and mirror commands.
...
more about fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-25 18:10:24 +02:00
Ian McInerney
50b2271f84
Fix missing variable initialization
2020-07-18 23:56:39 +01:00
Ian McInerney
da6d0c9de6
Add cancel to the selection context menu if a tool is running
...
The selection tool's context menu is displayed during the move tool,
so it should contain the ability to cancel the current action.
2020-07-16 15:12:58 +01:00
Jeff Young
7340c97ef9
Undo for schematic-wide operations.
...
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2122
Fixes https://gitlab.com/kicad/code/kicad/issues/4869
Fixes https://gitlab.com/kicad/code/kicad/issues/3933
Fixes https://gitlab.com/kicad/code/kicad/issues/4871
Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Jon Evans
2f31bf278b
Fix layer hotkey dispatch
...
Hotkeys received by more than one tool need AF_NOTIFY
2020-07-11 21:59:16 -04:00
Jon Evans
5d118b0700
More visibility settings infrastructure
...
ADDED: Three-state high contrast mode action
ADDED: Save contrast mode in local settings
Also some initial infrastructure for layer presets
2020-07-11 21:59:07 -04:00
Jon Evans
72b08f2b18
ADDED: Hide ratsnest for specific nets
...
List of hidden nets stored in project local settings
Hide/Show actions in context menu only for now, will
add them to some more GUI places soon.
Ref https://gitlab.com/kicad/code/kicad/-/issues/1951
2020-07-10 21:06:17 -04:00
Jon Evans
bb596ac139
Add Move with Reference to Special Tools menu
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4838
2020-07-09 12:02:26 -04:00
Seth Hillbrand
7cea4b23f1
ADDED: Expand selection in context menu
...
Break out the context menu with heuristically limited choices being
appended to the main list rather than re-selecting
Fixes https://gitlab.com/kicad/code/kicad/issues/4799
2020-07-07 14:18:35 -07:00
Jon Evans
a3655225cd
Save selection filter state in project local settings
2020-07-06 21:53:12 -04:00
Jon Evans
707ce66cc6
ADDED: Move with Reference action
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4755
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2304
2020-07-06 19:33:14 -04:00
jean-pierre charras
1463dd10b2
Pcbnew fix: Select/Expand Connection can be used only once on the same segment
...
Was due to a incorrect cleared flag in calculations.
Fixes #4767
https://gitlab.com/kicad/code/kicad/issues/4767
2020-07-05 12:42:12 +02:00
Jon Evans
0148c1db84
Support layer switch hotkeys while routing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4699
2020-07-03 19:49:19 -04:00
Thomas Pointhuber
7ba6a77c94
Improve arc geometry manager to choose the direction which makes more sense
...
As long as the arc angle stays below <60°, it will automatically choose between
clockwise and counter clockwise. This allows the user to choose the direction
with a simple mouse movement.
2020-07-03 15:05:17 +00:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
jean-pierre charras
bba5cfe17e
fix a minor compil warning
2020-07-01 18:52:42 +02:00
Jeff Young
8c4bfed001
Slight improvement on function names.
2020-07-01 16:57:00 +01:00
Jeff Young
7b042f4a75
Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
...
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.
Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.
The Aux Origin tool can come back once we have multi-select toobar
buttons.
Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +01:00
Jeff Young
e91b7cf18f
Separate the two offset strategies for PointEditor Pad editing.
...
This doesn't indicate what I think we should do with them; it will
just make whatever we decide easier to do.
2020-06-29 23:25:13 +01:00
Jeff Young
36e94773a3
Adjustments to point-editing of pads.
...
1) Don't offset pad with no hole and no offset: move them instead.
2) Don't allow editing of locked pads in board editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 19:22:38 +01:00
Jeff Young
516de9c85e
Point editor hookup for non-custom-shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 11:50:44 +01:00
Jon Evans
65f5ebd8f2
ADDED: Persistent selection filter UI for PcbNew
2020-06-28 15:12:47 +00:00
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04:00
Jeff Young
367fd79b5f
Don't try and second-guess the user.
...
(Especially now that polygons are useful on copper layers for custom
pad shapes.)
2020-06-27 22:08:13 +01:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Jeff Young
da2b7071b4
WYSISYG custom pad editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
Fixes https://gitlab.com/kicad/code/kicad/issues/2305
2020-06-27 14:37:01 +01:00
Jon Evans
129c16cf7d
Fix unselected event not firing when clicking empty space
2020-06-26 22:00:12 -04:00
Peter Montgomery
19b7755ab7
Coverted Gerbview files to version in master so hotkey_rollover repo only contains changes for the hotkey fix
2020-06-25 22:43:29 +00:00
Seth Hillbrand
a893d19d26
pcbnew: Allow slow ratsnest to turn off
...
Depending on where you move the selection, the slow ratsnest might turn
on. This prevents that setting from being sticky, reverting to smooth
movement.
2020-06-24 17:16:07 -07:00
Jeff Young
e376750f62
Flatten CS_PAD_PRIMITIVE out in favour of reusing DRAWSEGMENT.
...
(In prep for the eventual replacement of DRAWSEGMENT internals with
SHAPE.)
2020-06-24 12:22:42 +01:00
Seth Hillbrand
1a7c270dcd
Fix invalid dereference on first highlight
...
When highlighting nets we don't save the previous net when there isn't a
previous net highlighted.
2020-06-23 20:36:05 -07:00
Jon Evans
2ab9ceaf02
Pick up net for new zone from selection if no net is highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4706
2020-06-23 17:16:34 -04:00
Jeff Young
d01b29ab37
Cleanup pad geometry handling.
...
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
Jon Evans
c0175c48af
ADDED: Setting to control track mouse drag behavior
...
Default is now to perform a 45-degree drag
2020-06-21 15:39:39 -04:00
Jon Evans
713cd4a47a
Point editor: show dragged points with a highlight
...
Take points editor colors from color theme
Also fix an issue where the edited object sometimes didn't
update when a point is dragged.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4600
2020-06-21 14:43:41 -04:00
Jon Evans
a16c9df79c
Delete the right object in arc cleanup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4694
2020-06-21 13:03:14 -04:00
jean-pierre charras
ad69e449fe
Fix a collision name in drawing_tool.h with a msys2 header
2020-06-21 10:36:01 +02:00
Jeff Young
b779715996
Don't whack original pad shape when converting to custom.
...
Rectangles and circles convert easily, but a chamfered rectangle
(for instance) needs more careful handling.
2020-06-19 14:10:41 +01:00
Jeff Young
cae493fe65
More infrastructure work for shape editor.
2020-06-18 15:38:01 +01:00
Seth Hillbrand
eb89d1c68b
pcbnew: Minor update to ratsnest calc
...
BuildConnectivity updates the ratsnest after it completes. By compiling
the ratsnest before connectivity, we update it twice with the dirty flag
being reset after connectivity updates.
2020-06-17 19:43:11 -07:00
Jeff Young
a7703d1207
Cleanup Graphics to parallel Cleanup Tracks & Vias.
...
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
Jeff Young
a3cab09fb4
Make it clearer that drawSegment() can modifiy the current seg pointer.
...
This might also quiet the Coverity warning, but I've also marked it as a
false positive (as it might still mess up on the new code).
2020-06-17 18:44:39 +01:00
Seth Hillbrand
8c57821e9b
pcbnew: Move ratsnest items to separate folder
2020-06-16 11:15:14 -07:00
Jeff Young
aeed8e6e2c
Finish implementation of DRAWSEGMENT::C_RECT.
...
It's currently only supported in the Footprint Editor. It could be
easily added to the board editor (all the code is there), but the board
editor is a little short on room in the drawing tools toolbar.
2020-06-15 20:51:31 +01:00
Eli
2a334a5c59
Updates wording used in alignment submenu to make the actions clearer when icons are missing. Also reorganises the order of items in the submenu.
2020-06-15 16:49:36 +00:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
Seth Hillbrand
899496baaa
pcbnew: Remove item from edit selection in favor of parent
2020-06-14 07:29:44 -07:00
Seth Hillbrand
491ac0256d
pcbnew: Add a number of missing handles for module zones
2020-06-14 07:23:10 -07:00
Seth Hillbrand
09eee84a3e
pcbnew: Handle module zone area in delete
...
Selections containing zone areas need to be handled separately by
modifying the parent rather than the item itself
Fixes https://gitlab.com/kicad/code/kicad/issues/4653
2020-06-14 07:05:14 -07:00
Jeff Young
47ab7c78a6
Divorce GRID_HELPER from the parent frame.
...
This moves GRID_HELPER fully into the tool framework.
2020-06-13 22:44:16 +01:00
Seth Hillbrand
4d4d24fc61
Don't snap to arc midpoints
...
This removes the extra snap points in the arcs, ensuring the endpoint
snaps connect to the correct location on an arc.
2020-06-13 11:23:14 -07:00
Jeff Young
f84406009b
Push a couple of layers of indirection out of grid settings.
2020-06-13 11:35:56 +01:00
Ian McInerney
a843c74529
Add new kiplatform library for platform-specific code
...
* Implement ReparentQuasiModal for OSX natively
* Implement ForceFocus of OSX natively
This change means we no longer rely on the kicad-specific functions in our osx wx fork.
2020-06-03 14:58:54 +00:00
jean-pierre charras
e3c3dae776
Fix PCBnew crash when show local ratsnest and selecting a footprint with no pads
...
Fixes #4506
https://gitlab.com/kicad/code/kicad/issues/4506
2020-06-01 09:09:40 +02:00
Jon Evans
5250215d97
Use the calculated bbox for zoomFitSelection
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4120
2020-05-29 16:38:25 -04:00
Jeff Young
d99febba6c
Treat sketch mode module items and board items the same.
2020-05-26 23:21:38 +01:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
Mikołaj Wielgus
ecec7192fc
Add "Select All" in schematic & layout disambiguation popup menu
...
ADDED: "Select All" in schematic editor disambiguation menu
ADDED: "Select All" in layout edtor disambiguation menu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3877
2020-05-24 23:35:04 +00:00
Ian McInerney
e18a9d4aa3
Fix mac compile issue introduced in 66929358
2020-05-24 23:53:55 +01:00
Jon Evans
c7daf8a8f3
ADDED: Cross-probe highlighting of bus members
...
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
2020-05-24 13:30:23 -04:00
Ian McInerney
4ecf99e7c8
Give the footprint viewer a toolbar and remove the options dialog
...
CHANGED: Cvpcb fpviewer and the pcbnew fpviewer no longer have an options dialog
ADDED: Add a side toolbar to the pcbnew footprint viewer (and the measure tool)
This also cleans up some of the settings structs in the viewers, since
it was somewhat confusing before.
Fixes https://gitlab.com/kicad/code/kicad/issues/2205
2020-05-24 11:58:33 +01:00
Ian McInerney
6692935808
Consolidate common viewer actions across cvpcb and pcbnew frames
...
* Consolidate the measure tool into one tool (this gives cvpcb
unit changing and snapping capabilities in its measure tool)
* Transition cvpcb to use actions for the sketch modes
* Replumb how magnetic items settings are stored and used
2020-05-24 11:58:33 +01:00
Jon Evans
f2e003147e
ADDED: Enable color themes for PcbNew printing
2020-05-16 13:19:43 -04:00
jean-pierre charras
1d914133c9
Pcbnew, context menu: move createArray,moveExact,positionRelative in a submenu
2020-05-16 16:09:00 +02:00
jean-pierre charras
c805b52c39
Tool pad enumerate: show it only in footprint editor.
...
In board editor, its use makes no sense, and crash Pcbnew.
2020-05-16 15:52:47 +02:00
Jeff Young
935cab160b
A bit of defensive code for an unreproducible bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4376
2020-05-09 14:14:38 +01:00
Jeff Young
19dc1f8b69
Make sure text gets drawn after placing even if the mouse isn't moved.
2020-05-09 14:14:38 +01:00
Michael Kavanagh
8418ac34bc
Allow fp text to be group selected in HC mode
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2259
2020-05-07 21:57:37 +00:00
Jeff Young
889b6cb1b1
Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename.
2020-05-03 20:56:32 +01:00
Jeff Young
56946f4db1
Fix pad name increment to use last edited pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1882
2020-05-03 08:59:51 +01:00
Jeff Young
199bb2ffb0
Add hittesting for worksheets in Pcbnew and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4282
2020-05-03 00:07:38 +01:00
Jeff Young
fec0c235d9
Hook up Footprint Text Line Mode action to handler.
2020-04-27 00:24:57 +01:00
Michael Kavanagh
e05f36f9a7
Convert graphic polygons on CrtYd layers to lines
...
Same restriction as Edge_Cuts, due to their intended purpose polygons
don't make sense.
2020-04-26 18:51:47 +00:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Ian McInerney
f649204c04
Allow graphic polygons/keepouts to be closed automatically
...
ADDED: Auto close option for graphic polygons/keepouts/cutouts
ADDED: Delete last point option for graphic polygons/keepouts/cutouts
Fixes https://gitlab.com/kicad/code/kicad/issues/2350
2020-04-24 18:35:43 +01:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
jean-pierre charras
825d202480
Fix some strings to help translation.
...
Remove translation mark for strings used in debug, or strings
that cannot be translated (for instance because they are char strings
instead of wide char strings)
2020-04-23 07:40:19 +02:00
Jon Evans
b22ff26688
Rename List Nets to Net Inspector to better reflect function
2020-04-21 20:24:27 -04:00
Jeff Young
f113370e1e
Edit worksheet properties when no other selection is available.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4044
2020-04-21 21:17:59 +01:00