Michael Kavanagh
80dbc24326
Icons: remove superfluous icon
...
Remove icons where menu text gives context
2021-01-19 22:57:25 +00:00
Jeff Young
35978adef9
Don't run dimension updates while parsing files.
...
They mess up the geometry when only partial values are provided.
Fixes https://gitlab.com/kicad/code/kicad/issues/7177
2021-01-19 16:09:44 +00:00
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
Oleg Endo
80e40b862c
destroy window when list nets dialog is closed
...
avoid potential performance issues when the dialog is still listening to
the board updates and refreshing its data and view structures.
it seems useful to keep the settings of the dialog across dialog
open-close cycles.
2020-04-21 13:23:56 +00:00
Oleg Endo
980f4a1f6a
make select net dialog non-modal
...
also make sure to call BOARD::HighLightON before/after calling
BOARD::SetHighLightNet
2020-04-21 13:23:56 +00:00
Oleg Endo
137fe48d88
rewrite select net dialog
2020-04-21 13:23:56 +00:00
Oleg Endo
e3aec20f82
move PCB_INSPECTION_TOOL::ListNets into pcb_inspection_tool.cpp, split out dialog_select_net_from_list.h
2020-04-21 13:23:56 +00:00
Michael Kavanagh
7db355e34a
ADDED: TOOL_ACTION for switching PNS router mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2249
2020-04-19 22:44:05 +00:00
Jeff Young
cb708aaadb
Fix some memory leaks.
2020-04-16 21:57:07 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Simon Richter
5aac36dba9
New enum for trace selection mode
...
This avoids giving KICAD_T another meaning, which is especially messy here
as "select up to the next via" is encoded as SCH_JUNCTION_T, which belongs
to eeschema.
Also, document what is happening.
2020-04-15 11:17:51 +00:00
Ian McInerney
37a4dd927b
Allow deletion of zone cutout areas
...
ADDED: Ability to delete zone cutout areas
Fixes https://gitlab.com/kicad/code/kicad/issues/4188
2020-04-14 17:57:47 +01:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
Jeff Young
e016b629d3
Be smarter about determining if there are modules in the selection list.
...
The old algorithm would delete modules if another module was in the
list, which was not the intention.
Fixes https://gitlab.com/kicad/code/kicad/issues/4175
2020-04-09 00:06:17 +01:00
jean-pierre charras
25fb2595c8
Fix fully broken selection of items of the same sheet, in pcbnew and from eeschema.
...
Previously, the full UUID path used to select footprints was full broken.
2020-04-02 14:21:09 +02:00
Ian McInerney
0d79ada3ec
Show the pencil cursor when placing an item, but it isn't created yet
2020-04-01 18:24:58 +01:00
Ian McInerney
4b647ba6b1
Refactor microwave parts into the microwave tool
2020-04-01 18:24:31 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
Jeff Young
204f2cd580
Reference -> reference designator.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-17 16:09:25 +00:00
Jeff Young
3b97993daf
Another attempt to fix offset issues when pasting board items to ModEdit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4032
2020-03-16 18:45:55 +00:00
jean-pierre charras
78a7c7dfe0
Zones: fix a crash when adding a zone cutout to a zone having already holes.
...
Fixes #4039
https://gitlab.com/kicad/code/kicad/issues/4039
2020-03-12 14:42:32 +01:00
Jeff Young
51b9944667
Fix pasting of items from board to Footprint Editor.
...
In particular, map the netlist info to the orphaned item, and
adjust the position of module graphic items to no longer be
module-relative.
Fixes https://gitlab.com/kicad/code/kicad/issues/4032
2020-03-10 23:07:01 +00:00
Seth Hillbrand
12088f240d
Fix a couple crashes with small canvases
...
The canvas size is not guaranteed to be strictly > 0, so we need to
enforce a minimum returned size before dividing by it or passing to GAL
initialization
2020-03-04 14:33:42 -06:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Andrew Downing
a8dea9274f
modify behavior of position relative tool
...
CHANGED: The reset buttons now set the X or Y offset to the current
offset from the reference position. Selecting individual pads as the reference item is now also possible.
2020-03-02 20:55:06 +00:00
Tomasz Wlostowski
4525a17076
router: backspace key to undo last fixed segment(s)
2020-02-27 22:02:56 +01:00
Jeff Young
cdad62022b
Bug fix for double-click in DRC dialog.
...
Also better clean-up of highlighting in board editor window.
2020-02-25 12:18:24 +00:00
Seth Hillbrand
8c19b4b6ae
pcbnew: Adding arcs to PNS
...
This is allows ARCs in tracks to be synchronized with
the PNS router. Note this does not yet include the UI components
to route curved traces
2020-02-21 16:11:41 -08:00
Jeff Young
ea025a35e5
Change KUUID to KIID.
2020-02-21 22:20:42 +00:00
Jon Evans
e8e3b4f11e
Rename UUID to KUUID to fix MSVC build
...
Also add another newly-required boost flag
2020-02-20 22:07:17 -05:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
Jon Evans
e59a3d981e
Implement a new settings framework across all of KiCad
...
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme
Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras
625249322e
Pcbnew: regroup drc files to the already existing drc folder.
2020-02-19 10:31:32 +01:00
Jeff Young
2017389f2d
Pinning for library trees in FPEditor and SymbolEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2288
2020-02-14 00:10:40 +00:00
Ian McInerney
8b7d4c2a55
Put tool graphics back on the stack
...
Now that the tool framework gracefully shutdowns the tools, graphics
can be created on the stack inside a tool function.
This reverts commit f6881ce3de
.
2020-02-05 22:23:44 +00:00
Ian McInerney
b1240b5b1e
Gracefully shutdown tools when frames are closed
...
If the tools are not gracefully exited, then the stack variables are
never destroyed, so variable lifetime issues can occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/1753
2020-02-05 22:23:24 +00:00
Jeff Young
d8cd48aa7f
Allow duplication of module texts from board editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3829
2020-02-05 22:21:16 +00:00
Ian McInerney
34e5b76c5f
Add virtual constructors to some classes that should have them
...
This is more for safety from undefined deletion behavior than
anything else (it also silences the Clang -Wnon-virtual-dtor warning).
2020-02-05 22:19:14 +00:00
Seth Hillbrand
e94f356ad5
pcbnew: Correct stop condition for expand
...
Typo in selection tool caused expansion past vias.
2020-02-05 14:14:50 -06:00
Jeff Young
fbeb0709ef
Formatting cleanup.
2020-02-03 19:35:48 +00:00
Jeff Young
f1b1c91961
Be a little more friendly towards SMD footprints.
...
Increase the coverage ratio a bit so that footprints that still
have 10% of their area available for selection won't bring up the
disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/3721
2020-02-03 19:35:48 +00:00
Jeff Young
d02c0da3ab
Remove preferred layer disambiguation for multiple modules.
...
The preferred list isn't actually in use anymore at this point, so
it currently has no effect other than to mess things up since we
aren't keeping track of which modules have been rejected when we
check the module count.
Fixes https://gitlab.com/kicad/code/kicad/issues/3721
2020-02-03 19:35:48 +00:00
Jeff Young
89dfee9ebe
Employ an accuracy when hittesting (particularly for lines).
...
Also fixes a bug where the parent module was being hit-tested
for its children.
Fixes https://gitlab.com/kicad/code/kicad/issues/3750
2020-02-03 15:08:01 +00:00
jean-pierre charras
fd0728becf
Fix an other crash similar to f6881ce3
.
2020-01-31 16:41:47 +01:00
jean-pierre charras
f6881ce3de
Fix crash after calling EDIT_TOOL::pickCopyReferencePoint()
...
An instance of STATUS_TEXT_POPUP was created on the stack.
But it crashes pcbnew when closing the current main frame,
perhaps due to stack switching in coroutines.
It is now created on the heap.
2020-01-31 16:08:18 +01:00
Alexander Shuklin
3d0b3a51f3
Eeschema: Adding back annotation
...
ADDED: Back annotation algorithm,
eeschema back annotation dialog
CHANGED: added some minor helper methods to SCH_REFERENCE_LIST and SCH_REFERENCE,
split SCH_REFERENCE_LIST::CheckAnnotation on 2 parts to reuse code
2020-01-29 16:33:57 +00:00
jean-pierre charras
48ae188b15
Zone filler: fix a few issues, in Smoothed Polygons mode.
...
- Fix non optimal shape of solid polygons after inflate transform.
- Add a small extra clearance ((2 microns) when creating clearance areas
(especially, convert arc to polygons create small differences)
- Add a small threshold (1 micron) in drc test distances to avoid false positives
- fix a minor issue in TransformOvalToPolygon that created sometimes a not perfect shape
Fixes #3812
https://gitlab.com/kicad/code/kicad/issues/3812
2020-01-26 18:19:24 +01:00
jean-pierre charras
d12e8479f2
Pcbnew: fix crash when trying to select the previous copper layer.
...
The function that calculates the previous layer id was using a illegal value
in some cases.
Fixes #3805
https://gitlab.com/kicad/code/kicad/issues/3805
2020-01-24 10:13:18 +01:00
Seth Hillbrand
7c296fbcb7
GRID_HELPER: Provide alignment axes from snap points
...
ADDED: alignment lines from item snap points
Alignment lines are shown when moving the cursor horizontally or
vertically from a possible snap point.
2020-01-18 20:43:40 -08:00
Jeff Young
9df2cfb328
More uninitialized variables.
2020-01-13 20:16:40 +00:00
Jeff Young
91d1508c16
Fix some Coverity identified issues.
2020-01-13 20:16:40 +00:00
Ian McInerney
34bc0a4e96
pcbnew_control: Replace C casts with C++ casting
2020-01-13 14:19:44 +00:00
Ian McInerney
e2853862e5
Cleanup redundant type casting
2020-01-13 14:00:45 +00:00
Ian McInerney
8fc434be19
Formatting change for dynamic cast tests
2020-01-13 01:48:57 +00:00
Jeff Young
94f8aafec5
Fix missing variable initialization.
2020-01-13 00:18:49 +00:00
Jeff Young
8d0f31f6f4
Clean a bunch of legacy code out of the Filter Selection dialog.
2020-01-12 20:53:56 +00:00
Jeff Young
127c66285b
Rename old DIALOG_BLOCK_OPTIONS to DIALOG_FILTER_SELECTION....
...
... which is what it has done for some time now.
2020-01-12 20:30:58 +00:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Jeff Young
e03281a9ae
Allow exclusive-or selections on OSX.
2020-01-10 22:32:49 +00:00
Seth Hillbrand
16026e75cf
pcbnew: Don't compare across containers
...
std:: defines cross-container comparison as invalid and is not
guaranteed to work. This breaks the comparison out into separate
steps, each for the separate containers.
2020-01-07 16:03:32 -08:00
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
...
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
2020-01-07 17:12:59 +00:00
Ian McInerney
5d46e721e5
pcbnew: Cleanup includes of pcbnew_id.h
...
* Remove unused IDs from the enum
* Remove the include statements from files that no longer need it
2020-01-03 15:39:05 +00:00
Fabien Corona
496f3d49e4
pcbnew: When using '+' and '-' hotkeys, skip non-visible layers
...
CHANGED: pcbnew: When using '+' and '-' hotkeys, skip non-visible layers
Fixes https://gitlab.com/kicad/code/kicad/issues/3443
2019-12-29 23:37:25 +00:00
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
2019-12-28 00:55:11 +00:00
jean-pierre charras
a12b803af5
Add missing option to show footprint texts in fill or sketch (line) mode.
...
This option is settable in stable version, but not in master.
So, this option set from the stable version could be modified in master version.
2019-12-23 18:11:45 +01:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
jean-pierre charras
cc185e4b8a
Pcbnew: fix crash when deleting pads in the board editor
...
Fixes # |3684 https://gitlab.com/kicad/code/kicad/issues/3684
2019-12-17 13:56:17 +01:00
jean-pierre charras
6bc8005d60
Pcbnew: fix strange behavior when editing board setup, if a zone is currently selected.
...
The zone was silently deleted.
Fixes #3673 | https://gitlab.com/kicad/code/kicad/issues/3673
2019-12-16 12:44:53 +01:00
Jeff Young
d40019210f
Allow undo during a drag.
2019-12-15 21:33:58 +00:00
Jeff Young
1f07505b27
Fix long-standing issue with arrow keys moving in both axes.
2019-12-15 14:29:47 +00:00
jean-pierre charras
d14950c3f8
Pcbnew: Add missing options to show graphics in fill or sketch mode.
...
These options where settable in stable version, but not in master.
So, the options set from the stable version cannot be modified in master version.
2019-12-15 13:56:26 +01:00
Seth Hillbrand
c4d853c1e8
SHAPE_LINE_CHAIN: Remove element access
...
This is the first step to allowing non-segments in the line chain.
External routines cannot be allowed to change the line chain without
going through the internal routines. To accomplish this, we remove the
Vertex() and Point() access routines and only leave the const versions.
Transformations are given for both points as well as the chain itself.
2019-12-12 13:54:48 +00:00
Seth Hillbrand
6983c56cf8
Use const references where possible
...
This avoids copy cost on local vars where we only read.
2019-12-05 14:40:22 -08:00
Seth Hillbrand
a2edf9c442
Unified update to C++14 std::make_unique
...
This update replaces the existing uses of unique pointer creation with
the C++14 std::make_unique call that provides proper memory release in
event of an exception.
2019-12-05 10:43:55 -08:00
Jeff Young
a9da0c6ecf
Update local coords when editing EDGE_MODULEs.
...
Fixes: lp:1853726
* https://bugs.launchpad.net/kicad/+bug/1853726
2019-12-02 20:01:44 +00:00
jean-pierre charras
c186e7d391
Cosmetic and usability enhancements.
...
- Better menu texts
- do not show pad edit options in board editor,
when they are used only in the footprint editor.
2019-11-26 19:53:00 +01:00
jean-pierre charras
c34dfc4230
fix a minor compil warning
2019-11-23 18:36:40 +01:00
Jeff Young
13df645af9
Fold down select/expand connection/copper to a single action.
...
Fixes: lp:1832902
* https://bugs.launchpad.net/kicad/+bug/1832902
2019-11-22 19:30:36 +00:00
Jeff Young
523de87b45
Re-implement copper selection algorithms.
...
Fixes: lp:1832902
* https://bugs.launchpad.net/kicad/+bug/1832902
2019-11-22 19:30:36 +00:00
jean-pierre charras
6f2cbe5982
Pcbnew: housekeeping: move netlist code to netlist_reader sub directory.
2019-11-17 13:58:38 +01:00
Jeff Young
490bc2874f
Clean up board commit a bit.
...
This change makes it so that we don't run the event loop inside
the commit. It's not clear this is an issue, but it seems safer
not to.
Fixes: lp:1852589
* https://bugs.launchpad.net/kicad/+bug/1852589
2019-11-16 22:32:52 +00:00
Seth Hillbrand
6625d0721e
Implement Get/Set display options
...
The pointer passing for display options is deprecated. This removes the
excess casting as the EDA_FRAME didn't need the base call with no value.
All requests for display options are now returned const and are updated
with a Set() routine after modification.
In Gerbview, this resolves an issue where the display options were not
stored because it was receiving the NULL from EDA_FRAME.
2019-11-07 08:26:44 -08:00
Seth Hillbrand
19c643b29a
pcbnew: Prevent extra selection
...
We want to avoid selecting items that are disabled in the item list.
Our standard method is in the GetViewLOD() that performs both size and
visibility. This extends the check to module text and via.
Fixes: lp:1851133
* https://bugs.launchpad.net/kicad/+bug/1851133
2019-11-05 12:24:29 -08:00
Jeff Young
1c153c55c0
Add default units and precision for new dimension objects.
...
Fixes: lp:1846376
* https://bugs.launchpad.net/kicad/+bug/1846376
2019-11-05 17:22:51 +00:00
Jeff Young
872826085a
Filter PCBNew contents when pasting into Footprint Editor.
...
Fixes: lp:1850724
* https://bugs.launchpad.net/kicad/+bug/1850724
2019-11-05 17:22:51 +00:00
Jeff Young
48c8ac9663
Added new action for "Change Track Width".
...
Default out-of-the-box is no hotkey. Removed all the preference stuff.
Note that the new implementation is a little different: the old one only
operated on a selection with a single item where the new one operates on
all selected items. So if you want the whole track do a 'U' before the 'W'
(or whatever you have Change Track Width assigned to).
Fixes: lp:1844023
* https://bugs.launchpad.net/kicad/+bug/1844023
2019-11-05 17:22:51 +00:00
Seth Hillbrand
dc5e8aa609
pcbnew: Performance improvement on moving items
...
This adjusts the fix for 1813038 to focus on the duplicate ghost,
preventing the need to unselect/reselect in every cycle. This improves
large move speeds substantially
2019-11-01 10:00:38 -07:00
Seth Hillbrand
868ff5bb2c
Right click gets a new object if the mouse has moved
...
Right click is a pointing operation combined with a request for the
context menu. We need to highlight the user's intended object when they
have moved their mouse to a new element instead of showing the context
menu for the selected object.
However, in cases where the selection is difficult to make, it is
sometimes helpful to select the item first, then right-click. In these
cases, we keep the selection where the mouse remains inside the selected
object's bounding box.
2019-10-29 16:11:06 -07:00
jean-pierre charras
bc5dcf182f
keepout in footprint: fix some crashes and issues. Create a specific type (PCB_MODULE_ZONE_AREA_T) for zones in footprint. The new class (MODULE_ZONE_CONTAINER) is the same as ZONE_CONTAINER, but the type ID is PCB_MODULE_ZONE_AREA_T instead of PCB_ZONE_AREA_T.
...
This is mandatory because these zones must be handled differently in many functions.
2019-10-29 11:24:57 +01:00
Ross Schlaikjer
64a42ffa35
Add keepout in footprints: Starting point.
2019-10-29 11:24:30 +01:00
Seth Hillbrand
39241dc0ff
Footprint browser: Handle frame calls
...
The frame() call requires an edit frame but the browser is derived from
PCB_BASE_FRAME.
Fixes: lp:1849962
* https://bugs.launchpad.net/kicad/+bug/1849962
2019-10-26 08:27:27 -07:00
Seth Hillbrand
bae50fab9f
pcbnew: Fix 45° snapping polygons
...
The constrained draw was constraining the polygon size to fit the
existing points rather than extending the existing points to fit the
user's intent.
This adds a 90° double-joint for the completion polygon that allows the
user to complete common constrained polygons visually based on the
preview with a double-click to finish.
2019-10-24 16:01:14 -07:00
jean-pierre charras
4813eb12e6
DIALOG_POSITION_RELATIVE: fix some issues: wxWidgets alerts and unit selection not taken in account after the first run.
...
Fixes: lp:1849231
https://bugs.launchpad.net/kicad/+bug/1849231
2019-10-22 14:09:11 +02:00
Seth Hillbrand
8f1c1cf298
pcbnew: Don't limit editing of the polygons
...
45 deg contraints are not saved per polygon, so don't limit per polygon.
The constraint is only enforced during creation.
Fixes: lp:1847722
* https://bugs.launchpad.net/kicad/+bug/1847722
Fixes: lp:1846029
* https://bugs.launchpad.net/kicad/+bug/1846029
2019-10-20 09:29:42 -07:00
Seth Hillbrand
2e1af66a2b
pcbnew: Commit polygon points to new constrained zone
...
Adds leader points if they are not already existing in the zone
Fixes: lp:1846028
* https://bugs.launchpad.net/kicad/+bug/1846028
2019-10-20 09:29:35 -07:00
Jeff Young
e73e7bdc23
Process via size inc/dec commands while running via tool.
...
Fixes: lp:1846320
* https://bugs.launchpad.net/kicad/+bug/1846320
2019-10-17 20:17:26 +01:00
Jeff Young
0995433601
Map nets (if possible) from clipboard to destination.
...
Fixes: lp:1795057
* https://bugs.launchpad.net/kicad/+bug/1795057
2019-10-17 18:04:07 +01:00
Seth Hillbrand
cecfeea947
pcbnew: Remove snapping to hidden items
...
Items and layers that are hidden in the view should not be used as snap
points. This happens in multiple locations:
1) Grid Helper for normal tools
2) TOOL_BASE::snapToItem for router
Resolves KiPro Issue #116
Fixes: lp:1833128
* https://bugs.launchpad.net/kicad/+bug/1833128
2019-10-10 09:37:25 -07:00
Ian McInerney
0aa5424511
pcbnew: Switch over some drawing tools to use PrimeTool
...
Before, if the tools were activated from the context menu,
they would start drawing where the menu item was selected
instead of where the menu was opened.
2019-10-03 19:04:36 +01:00
Jeff Young
b58df5e777
Flip Start0 etc. when in ModEdit.
...
ModEdit and PCBNew use Start0/End0/etc. differently so care must
be taken when flipping.
Fixes: lp:1845402
* https://bugs.launchpad.net/kicad/+bug/1845402
2019-10-01 11:02:52 +01:00
Jeff Young
4bf2b6a9f7
Performance enhancements for cross-probing.
...
While found when profiling cross-probing, many of these will also
improve other things.
2019-09-27 19:58:16 +01:00
jean-pierre charras
072ea9a33e
Pcbnew: flip command: when flipping only one item, flip it around its anchor instead of its bounding box.
...
This is the behavior of previous 5.1 version.
Using the bounding box has advantages, but unfortunately in many cases the footprint position is moved.
If a lot of flip commands are made on the same footprint, it is moved far from its initial position.
2019-09-17 10:06:39 +02:00
Jeff Young
7dc9beaf11
Add type filter to push pad properties.
...
Fixes: lp:1827820
* https://bugs.launchpad.net/kicad/+bug/1827820
2019-09-08 23:50:36 +01:00
Jeff Young
44a1cf9f1b
Implement quiet-mode for selection clearing.
...
Also adds comments for exising quiet-mode calls.
Fixes: lp:1843177
* https://bugs.launchpad.net/kicad/+bug/1843177
2019-09-08 19:45:35 +01:00
Jeff Young
10c25a2290
Update frame type enum to match current class names.
2019-09-06 23:38:20 +01:00
Jeff Young
6688e80131
Update description in footprint tree when it's edited.
...
Also implements a more useful message panel for Footprint Editor.
Fixes: lp:1842660
* https://bugs.launchpad.net/kicad/+bug/1842660
2019-09-04 17:19:25 +01:00
Jeff Young
720de6bae1
Cleanup.
2019-09-03 17:16:27 +01:00
Jeff Young
9a6c534e60
Another try at the duplicate-then-move ghosting bug.
...
Fixes: lp:1813038
* https://bugs.launchpad.net/kicad/+bug/1813038
2019-09-03 16:51:00 +01:00
Jeff Young
4c9e4c947c
Fix for move-after-duplicate only needs the extra update once.
...
This version will be quite a bit more performant.
Fixes: lp:1813038
* https://bugs.launchpad.net/kicad/+bug/1813038
2019-09-02 20:46:06 +01:00
Jeff Young
315a99e0fe
Use Move() instead of SetPosition() so that the second pt gets updated too.
...
Fixes: lp:1841989
* https://bugs.launchpad.net/kicad/+bug/1841989
2019-08-30 23:32:17 +01:00
Jeff Young
79d062aefc
Don't allow selection dragging when a picker tool is running.
...
Fixes: lp:1841691
* https://bugs.launchpad.net/kicad/+bug/1841691
2019-08-30 10:33:34 +01:00
Jeff Young
d2cd659471
Be better about cleaning up mouse capture.
...
Fixes: lp:1841996
* https://bugs.launchpad.net/kicad/+bug/1841996
2019-08-29 23:56:16 +01:00
Jeff Young
359cf384de
Import graphics is a one-shot, not a tool.
...
Fixes: lp:1841975
* https://bugs.launchpad.net/kicad/+bug/1841975
2019-08-29 23:56:16 +01:00
Seth Hillbrand
64c012c175
modedit: Enable snapping on anchors
...
The selection of footprint anchor should obey normal snapping paradigm.
2019-08-28 10:38:27 -07:00
Jeff Young
a5a237ac32
Improve readability of flag checking.
2019-08-27 19:23:07 +01:00
Seth Hillbrand
b3615b36bb
pcbnew: Retain 45° constraint
...
This also finishes the polygon with 45° lines when chosen as a create
option.
Fixes: lp:1833673
* https://bugs.launchpad.net/kicad/+bug/1833673
(cherry picked from commit fccce265aa
)
2019-08-26 14:36:23 -07:00
Jeff Young
03da721030
Move events to wxFormBuilder and fix the missing hookup.
...
Fixes: lp:1841361
* https://bugs.launchpad.net/kicad/+bug/1841361
2019-08-25 20:48:47 +01:00
Jeff Young
2622f875ee
Simplify the pad tool menus a bit.
2019-08-24 17:13:35 +01:00
Seth Hillbrand
8576668eba
pcbnew: Snap items to grouped layers
...
When moving a group of items, the allowed snapping layers should be each
layer in the group, not just the first item's LSET.
Fixes: lp:1830164
* https://bugs.launchpad.net/kicad/+bug/1830164
2019-08-21 12:32:13 -07:00
Jeff Young
aaa44b7348
Honor the {0, 0} reference on the clipboard.
...
Fixes: lp:1840819
* https://bugs.launchpad.net/kicad/+bug/1840819
2019-08-20 19:57:36 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young
b219fbc3d2
Implement undo/redo for lock/unlock/toggle lock.
...
Fixes: lp:1840770
* https://bugs.launchpad.net/kicad/+bug/1840770
2019-08-20 16:39:40 +01:00
Jeff Young
1bfefc61ea
Allow mouse drag to initiate a router drag if over a track or via.
...
Fixes: lp:1840694
* https://bugs.launchpad.net/kicad/+bug/1840694
2019-08-19 21:09:44 +01:00
Seth Hillbrand
959a4bdded
pcbnew: Don't stack same tool handler
...
The Get and place tool used to live in selection tool and could activate
the edit tool by stacking calls. Now that it is itself in the edit
tool, we cannot stack another call to the edit tool that runs
immediately, instead we allow the GetAndPlace to finish before beginning
the next tool (Move)
2019-08-14 17:12:00 -07:00
Jeff Young
045f5f6a61
Move some functions out of SELECTION_TOOL that don't really belong there.
2019-08-13 13:29:18 +01:00
Jeff Young
dd938b02df
New move tool doesn't require GetAndPlace to jump through hoops.
...
And at least one of those hoops leaves the cursor forced.
Fixes: lp:1839877
* https://bugs.launchpad.net/kicad/+bug/1839877
2019-08-13 10:01:47 +01:00
Jeff Young
f3f0a6899f
Invoke move by ACTION; the EDIT_TOOL does lots of other stuff too.
...
Fixes: lp:1839877
* https://bugs.launchpad.net/kicad/+bug/1839877
2019-08-12 22:21:09 +01:00
Jeff Young
3bf24fae7a
Set selection reference point to top-left item.
...
Fixes: lp:1771016
* https://bugs.launchpad.net/kicad/+bug/1771016
2019-08-12 22:21:09 +01:00
Jeff Young
cc0bd9a171
Even out PCB_EDITOR_CONTROL and PCB_INSPECTION_TOOL.
2019-08-12 22:21:09 +01:00
Michael Kavanagh
79b2ff7551
Refactor deleteTool ACTION removing duplicates
2019-08-12 13:49:55 -04:00
Jeff Young
c836cc9cf8
Don't use activate to move as the edit tool must activate for other ops.
...
Fixes: lp:1839534
* https://bugs.launchpad.net/kicad/+bug/1839534
2019-08-10 11:58:05 +01:00
Jeff Young
c60118b6a4
Ativate delete tool so it can display the selection clarification menu when needed.
...
Fixes: lp:1835371
* https://bugs.launchpad.net/kicad/+bug/1835371
2019-08-03 22:17:31 -06:00
Jeff Young
01e78b04c6
Save last-used-paths in export dialogs.
...
Also fixes the export GenCAD dialog so that browse correctly updates
the textbox.
Fixes: lp:1793761
* https://bugs.launchpad.net/kicad/+bug/1793761
2019-08-02 21:03:48 -06:00
Jeff Young
b8a03be869
Flip block around center instead of first item's anchor.
...
Fixes: lp:1789775
* https://bugs.launchpad.net/kicad/+bug/1789775
2019-08-02 16:07:25 -06:00
Jeff Young
3f28a1d1cb
Cleanup after cancelled add text dialog.
...
Fixes: lp:1838452
* https://bugs.launchpad.net/kicad/+bug/1838452
2019-07-31 23:10:13 -06:00
Jeff Young
987642eb8c
Apply selectable logic to delete tool.
...
Fixes: lp:1838191
* https://bugs.launchpad.net/kicad/+bug/1838191
2019-07-28 12:31:18 -06:00
Jeff Young
5347c2ad3d
Clear selection when running drawing tools.
...
Fixes: lp:1837796
* https://bugs.launchpad.net/kicad/+bug/1837796
2019-07-26 23:38:37 -06:00
Jeff Young
7314acf053
Renaming.
2019-07-26 13:19:17 -06:00
Jeff Young
77334628c4
Change default tool behaviour to skip unhandled events.
...
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly. wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do. (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)
I played around with a couple of ways to fix wxEVT_CHAR_HOOK. Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.
So I’m changing it so that most tools now skip at the end of their
event loops. I left out a couple that I felt were high risk (length
tuning, for instance). But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.
Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young
815602d1af
Fix missing AF_ACTIVATE flags on some tools.
...
Fixes: lp:1813659
* https://bugs.launchpad.net/kicad/+bug/1813659
2019-07-26 12:21:24 -06:00
Jeff Young
460b03372d
Implement preference for immediate actions.
...
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
jean-pierre charras
30c724e858
Pcbnew: Mark some strings translatable in menu and/or hotkey list.
2019-07-23 11:53:55 +02:00
Jeff Young
1808d8bd40
Add hole-to-hole-minimum checking to via placement.
...
Courtesy of Frank Severinsen.
Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-21 21:21:11 -06:00
Jeff Young
2ca379b281
Copy ratsnest flags when exchanging modules.
...
Fixes: lp:1834214
* https://bugs.launchpad.net/kicad/+bug/1834214
2019-07-21 19:49:13 -06:00
Jeff Young
b858fa38c4
Fix crash bugs in picker tools.
2019-07-21 19:06:06 -06:00
Alexander
bb290abe91
added board statistics dialog, which shows info for production and assembly
2019-07-20 14:39:08 -06:00
Jeff Young
d746ba892d
Make sure the postion relative tool gets activated when used.
...
Fixes: lp:1836978
* https://bugs.launchpad.net/kicad/+bug/1836978
2019-07-19 20:14:40 -06:00
Jeff Young
02eb1d2c62
Don't try and run drawing tools in ModEdit with no module selected.
...
Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
Jeff Young
0b08e4dcd2
Deactivate other tools when running one based on a PICKER.
...
In particular, if the last one was a PICKER tool, then we're going
to assert on "click-handler-already-set".
Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
jean-pierre charras
b4fc78fc0d
kicad_plugin.cpp: fix incorrect detection of existing footprints in PCB_IO::FootprintExists(), when fp names contain a point.
...
Fixes: lp:1837221
https://bugs.launchpad.net/kicad/+bug/1837221
2019-07-19 18:16:07 +02:00
Jeff Young
3de00eef5f
Cleanup.
2019-07-17 21:45:43 +01:00
Jeff Young
d67c2d13c7
Fix re-entrancy problem in cross-probing.
...
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940
Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Jeff Young
7c1049d86b
Fix event-loop issue with some pickers.
...
RunAction returns immediately even when called with "run now" flag.
Fixes: lp:1836905
* https://bugs.launchpad.net/kicad/+bug/1836905
2019-07-17 21:35:28 +01:00
Jeff Young
ba7ad7ddf4
Fix bug with PCBNEW_PICKER_TOOL not doing a push/pop.
...
PICKER_TOOL got updated but PCBNEW_PICKER_TOOL didn't.
2019-07-16 20:25:25 +01:00
Jeff Young
e816a0c29d
Push Eeschema & PLEditor PICKER_TOOLs down into common.
...
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young
58ca5b71a9
A more robust fix for 36f1d023f0
.
...
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young
a3c74051c2
Allow edits to self-intersecting polygons.
...
1) Intermediate states might be self-intersecting, and we shouldn't
be policing our users on what order to do things in
2) The polygon might already be self-intersecting, at which point we're
preventing the user from fixing it.
Also includes better const management for SHAPE_POLY_SET API.
Fixes: lp:1833831
* https://bugs.launchpad.net/kicad/+bug/1833831
2019-07-14 18:18:48 +01:00
Jeff Young
fe188489c7
A better hack for the post-ProgressReporter-loss-of-focus issue.
2019-07-14 18:18:48 +01:00
Jeff Young
928d6c5dff
Implement preserved-corners to prevent divots when filling adjacent zones.
...
Fixes: lp:1460787
* https://bugs.launchpad.net/kicad/+bug/1460787
2019-07-14 18:18:48 +01:00
Jeff Young
560fda70a2
Update position before first mouse-move-event.
...
Fixes: lp:1780426
* https://bugs.launchpad.net/kicad/+bug/1780426
2019-07-14 10:39:38 +01:00
Jeff Young
1dbaa89f95
Fix a bug in tool activation/deactivation and another illegal static_cast.
...
Fixes: lp:1836419
* https://bugs.launchpad.net/kicad/+bug/1836419
2019-07-14 10:39:38 +01:00
Jeff Young
37af3adffb
Add preference for flip axis.
...
Fixes: lp:1836267
* https://bugs.launchpad.net/kicad/+bug/1836267
2019-07-14 10:36:48 +01:00
Jeff Young
2d17d2b91f
Cleanup and commenting.
2019-07-14 10:36:48 +01:00
Seth Hillbrand
f2f2b4bcf9
Explode/Combine in terms of visible elements
...
When generating a complex pad, this allows the user to combine with a
rotated pad and explode rotated pads without needing to rotate elements
to 0 orientation first.
Fixes: lp:1808137
* https://bugs.launchpad.net/kicad/+bug/1808137
2019-07-12 16:55:41 -07:00
Seth Hillbrand
c86b4928a7
Fix assert in footprint editor
...
PCB_EDIT_FRAME does not return for footprint editor. The
PCB_EDIT_BASE_FRAME is needed for common fns between pcbnew and modedit
2019-07-12 13:34:30 -07:00
Jeff Young
ecc5fc9894
Cleanup.
2019-07-10 01:38:02 +01:00
Jeff Young
13d61e4b2b
Cleanup.
2019-07-10 01:14:21 +01:00
Jeff Young
483dc24e87
Homogenize selection tools around our HIG.
...
In particular make addative and exclusive-or selections work the
same way.
Also give Highlight Net a hotkey now that it can't use ctrl-click
anymore.
2019-07-09 21:59:46 +01:00
Jeff Young
b0b9c5ab63
Fix copy/paste error.
2019-07-09 16:54:02 +01:00
Jeff Young
36f1d023f0
Make sure Push/PopTool() go in the right order.
...
Because the pickers are called with an Activate()/Wait() pair, any
usurping tool gets in between the picker handling the cancel (due
to activation) and the picker client doing a PopTool(). The new
tool is therefore pushed before the old tool is popped.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
2019-07-09 15:03:23 +01:00
Jeff Young
3a8f32c380
Convert ShowEEschema to an ACTION so it can get a hotkey assignment.
...
Fixes: lp:1686010
* https://bugs.launchpad.net/kicad/+bug/1686010
2019-07-09 00:43:41 +01:00
Jeff Young
b8013648d2
Change behaviour of increase/decrease track width & via size when there's a selection.
...
They now modifiy the selection if it contains only tracks and/or vias,
and modify the current widths/sizes otherwise.
Fixes: lp:1814908
* https://bugs.launchpad.net/kicad/+bug/1814908
2019-07-08 22:18:25 +01:00
Jeff Young
183687c69e
Cleanup and a big hack to prevent keyboard focus loss.
...
Fixes: lp:1810993
* https://bugs.launchpad.net/kicad/+bug/1810993
2019-07-08 20:45:42 +01:00
Jeff Young
772dff7a01
Removed post-page-settings ZoomFitToScreen() calls.
...
Fixes: lp:1834608
* https://bugs.launchpad.net/kicad/+bug/1834608
2019-07-08 00:06:28 +01:00
Jeff Young
a11f3a0b80
Make <esc> unhighlight nets, but only after all tools have been cleared.
...
Also moves the Highlight Net hotkey from activating the tool to just doing
a one-shot highlight.
Fixes: lp:1835658
* https://bugs.launchpad.net/kicad/+bug/1835658
2019-07-08 00:02:25 +01:00
Jeff Young
986392d88e
Update item at start of drag to erase original location.
...
Fixes: lp:1813038
* https://bugs.launchpad.net/kicad/+bug/1813038
2019-07-07 22:30:18 +01:00
jean-pierre charras
a833aeeacb
Pcbnew: cosmetic enhancement: add missing icons to 2 menuitems in "Route" menu
2019-07-07 18:12:04 +02:00
Jeff Young
70ca02537d
Don't split track when via is placed at one of its ends.
...
Zero-length tracks are just a pain.
Fixes: lp:1813077
* https://bugs.launchpad.net/kicad/+bug/1813077
2019-07-06 22:54:31 +01:00
Jeff Young
a991625f56
Don't refill zone from external change.
...
We may later add an Automatic Zone Fill option which would restore
this, but for now I'm turning it off to see if it fixes the crash
bug.
Fixes: lp:1834718
* https://bugs.launchpad.net/kicad/+bug/1834718
2019-07-06 22:38:25 +01:00
Jeff Young
174c276883
Expose TrackWidthNext/Prev and ViaSizeNext/Prev in hotkey list.
...
Fixes: lp:1835616
* https://bugs.launchpad.net/kicad/+bug/1835616
2019-07-06 20:47:39 +01:00
Jeff Young
50f6844e71
Move Zone Display hotkey because Z is already in use (reset grid origin).
...
Fixes: lp:1835471
* https://bugs.launchpad.net/kicad/+bug/1835471
2019-07-06 00:04:54 +01:00
Jeff Young
f20335cefe
Apply fix from 5.1 branch.
...
Fixes: lp:1834111
* https://bugs.launchpad.net/kicad/+bug/1834111
2019-07-05 14:45:15 +01:00
Jeff Young
a9c66e15ea
Common-ize EE_ACTIONS::refreshPreview and use it after cursor actions.
...
Fixes: lp:1818667
* https://bugs.launchpad.net/kicad/+bug/1818667
2019-07-05 14:45:15 +01:00
Jeff Young
bcd48d4bc2
Use common actions where possible.
2019-07-05 14:45:15 +01:00
jean-pierre charras
becd6a6f9d
Microwave tools: better tooltips
2019-07-04 11:28:41 +02:00
Jeff Young
1548dcfe8d
Fix typo in Pad Enumeration tool.
...
Fixes: lp:1831950
* https://bugs.launchpad.net/kicad/+bug/1831950
2019-07-03 18:53:13 +01:00
Jeff Young
0eed5175cc
Fix crash in Pcbnew drawing tools.
...
Couple of typos: return !cancelled instead of cancel, and some breaks
on the wrong side of the braces.
Fixes: lp:1835172
* https://bugs.launchpad.net/kicad/+bug/1835172
2019-07-03 11:44:30 +01:00
Jeff Young
d03041b565
Cleanup.
2019-07-02 21:36:42 +01:00
Seth Hillbrand
9460f207f5
Fix misc build warnings
...
This removes unused static function in page layout editor, unused
variable in pcb_painter and restors the gcc unitialized fix for
pcbnew's drawing_tool.
2019-07-02 10:32:49 -07:00
Jeff Young
da71a51029
Cleanup.
2019-07-02 00:48:05 +01:00
Jeff Young
faa730dfb1
Fix highlight bug.
...
Fixes: lp:1834960
* https://bugs.launchpad.net/kicad/+bug/1834960
2019-07-01 22:15:25 +01:00
Jeff Young
9effd24f3a
Allow move tool to run on top of other tools.
...
Fixes: lp:1784480
* https://bugs.launchpad.net/kicad/+bug/1784480
2019-07-01 22:15:25 +01:00
Jeff Young
ad26ece8d4
Add Global Edit Text and Graphics Properties to Eeschema.
...
Fixes: lp:1801150
* https://bugs.launchpad.net/kicad/+bug/1801150
2019-07-01 22:15:25 +01:00
Seth Hillbrand
743c650129
Move zone refill to action
...
This unifies the zone refill across architecture into the tool-based
architecture. Also provides ZONE_FILLER-based progress managment for
tools.
(cherry picked from commit be9cd98cb1
)
2019-07-01 09:27:04 -07:00
Jeff Young
a498d7e9c5
Try out a new arc-editing paradigm for LibEdit.
...
This is based on the notion that in Kicad the start and end-points
are far more important (as they usually connect to other segments)
than the center is.
2019-06-29 16:10:58 +01:00
Jeff Young
981072598b
Overhaul cursor code for new tool/action framework.
...
Includes the addition of an onSetCursor() handler which must be called
from both the GAL canvas AND the GAL backend (at least on OSX) to prevent
cursor flickering between (for instance) pencil and arrow.
Also includes new architecture for point editors which allows them to
coordiate cursors with the editing tools (so we can switch to an arrow
when over a point).
2019-06-27 22:37:11 +01:00
Jeff Young
2f23aa9556
Implement a more robust tool stacking architecture.
...
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop. (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)
The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
Jeff Young
e175eb25b8
Fix bug with accidental modification of legacy hotkey name.
2019-06-27 11:29:05 +01:00
Jeff Young
fa84babefe
Re-implement sch->pcb cross-probing using net highlighting architecture.
...
Fixes: lp:1827853
* https://bugs.launchpad.net/kicad/+bug/1827853
2019-06-26 21:54:03 +01:00
Jeff Young
e785c140b9
Eradicate globals for PCB_GENERAL_SETTINGS.
...
Fixes: lp:1832896
* https://bugs.launchpad.net/kicad/+bug/1832896
2019-06-26 21:54:03 +01:00
Jeff Young
4eaba20cd3
Real-time highlighting for Pcbnew and ModEdit delete tools.
2019-06-25 21:10:21 +01:00
Jeff Young
7ce38ee6f8
Performance enhancements to zone filling & track DRC.
...
Significant improvement in fetch time for item clearances. On large
boards with lots of nets, maybe 10% faster zone fills and about
2x speedup on track-to-track DRC.
2019-06-25 11:34:28 +01:00
Jeff Young
f9702aab87
Immediate actions for PlEditor, PcbNew, etc.
2019-06-25 11:34:28 +01:00
Jeff Young
a19c668891
Add tooltip for local ratsnest tool.
2019-06-25 11:34:27 +01:00
Jeff Young
f70ab6203b
Make all inner layers available for hotkey assignments.
...
Fixes: lp:1787073
* https://bugs.launchpad.net/kicad/+bug/1787073
2019-06-25 11:34:27 +01:00
Jeff Young
ba7cf09ad5
Add zone display mode toggle action.
...
Fixes: lp:1759574
* https://bugs.launchpad.net/kicad/+bug/1759574
2019-06-25 11:34:27 +01:00
Seth Hillbrand
4a18f9db3a
pcbnew: Enforce maximum movement in Move Exact
...
This checks the movement against a maximum value that would place the
selection outside of the valid area for the footprint or board.
Fixes: lp:1833478
* https://bugs.launchpad.net/kicad/+bug/1833478
(cherry picked from commit 845833e8fd
)
2019-06-20 06:40:33 -07:00
Jeff Young
c8f254ff92
Don't deselect on activate event; only cancel events.
...
Fixes: lp:1833268
* https://bugs.launchpad.net/kicad/+bug/1833268
2019-06-19 00:19:45 +01:00
Jeff Young
aaa7661b94
Check that there's something selected in the tree before exporting.
...
Fixes: lp:1833295
* https://bugs.launchpad.net/kicad/+bug/1833295
2019-06-18 21:50:53 +01:00
Jeff Young
dcbd897a95
Push/pop tools even when selected from the toolbar.
2019-06-18 20:24:15 +01:00
Jeff Young
7dd247f1dc
Make better use of TOOL_EVENT parameters.
2019-06-18 20:24:15 +01:00
Jeff Young
7cfe19d9fd
Cleanup.
2019-06-17 22:15:20 +01:00
Jeff Young
1f35ec5521
Beware of copying events and losing the m_passEvent flag.
...
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Jeff Young
5d7739a662
Handle '&'s in menu labels.
...
Fixes: lp:1832904
* https://bugs.launchpad.net/kicad/+bug/1832904
2019-06-17 10:45:23 +01:00
Jeff Young
e6d5110ccf
Implement I18N for ACTIONs.
...
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro. We do still want it in the
code, however, because the string harvesting is based off of it.
Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Jeff Young
e4fbd003e0
Make m_passEvent event-specific rather than global.
...
If a tool called something like clearSelection while processing a
MOUSE_CLICK, the SELECTION_TOOL will pass the clearSelection
COMMAND_EVENT because it handles it as a transition, not as an
event. Because m_passEvent is effectively global, the tool manager
would then interpret that as passing the MOUSE_CLICK and we'd end
up processing the click by multiple tools.
2019-06-16 12:06:49 +01:00
Jeff Young
6d335f2a82
While Seth fixed the main issue, repeated Activate() calls probably still aren't a good idea.
...
(The main issue was addressed here: 552815d48617c08a6ec29f22c7ecdf1906988e11.)
2019-06-16 11:03:56 +01:00
Jeff Young
0f4bdbd184
Tighten down the POINT_EDITORs a bit more.
2019-06-16 01:33:39 +01:00
Jeff Young
945eaceb91
Try and keep POINT_EDITOR and SELECTION_TOOL from fighting with drawing tool.
...
Set the IS_NEW flags so the POINT_EDITOR doesn't try an poke its head
in, and apply the EE_SELECTION_TOOL hack for mouse clicks leaking
through to the underlying tools.
Fixes: lp:1832911
* https://bugs.launchpad.net/kicad/+bug/1832911
2019-06-15 20:43:52 +01:00
Jeff Young
19aba615c2
Remove selection condition from conditional menu separators.
...
We don't allow duplicate separators anyway so all they really do
is complicate the code.
2019-06-15 20:43:51 +01:00
Jeff Young
5610261dce
Immediate-action hotkeys (and context menu actions) for eeschema.
2019-06-15 20:43:51 +01:00
Seth Hillbrand
77643fe9b6
pcbnew: Restore select items filter
...
This restores the distinction between selecting tracks and selecting
items in the expand call. It does not yet fully address lp:1832902
2019-06-15 10:08:36 -07:00
Seth Hillbrand
2dd82cbca7
Revert the ClearIfOutside logic.
...
This workflow needs better indicators before it will be anything but
confusing.
Fixes: lp:1832714
* https://bugs.launchpad.net/kicad/+bug/1832714
2019-06-14 20:10:04 -07:00
Jeff Young
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Jeff Young
f0cd7a5fd9
Clean up duplicted Find action processing.
2019-06-13 15:51:32 +01:00
Jeff Young
ce1f35a1be
Cleanup some left-over vestiages of the legacy canvas architecture.
2019-06-13 15:51:32 +01:00
Jeff Young
df08f9921f
Make place drill origin and place grid origin one-shot commands.
...
Fixes: lp:1751747
* https://bugs.launchpad.net/kicad/+bug/1751747
2019-06-13 15:51:32 +01:00
Jeff Young
ae8daee83c
Don't let point editor interrupt other operations.
...
Fixes: lp:1832416
* https://bugs.launchpad.net/kicad/+bug/1832416
2019-06-13 15:51:32 +01:00
Seth Hillbrand
daad58e511
pcbnew: Add option to show ratsnest while moving
...
Re-works ratsnest display options in the configuration parameters rather
than the board file. Moves ratsnest options to central preferences
location.
Fixes: lp:1826440
* https://bugs.launchpad.net/kicad/+bug/1826440
Fixes: lp:1821183
* https://bugs.launchpad.net/kicad/+bug/1821183
2019-06-12 17:36:02 -07:00
Seth Hillbrand
0571ff6ce2
pcbnew: Centralize selection clearing
...
Also adds check for items before getting BBox.
Fixes: lp:1832601
* https://bugs.launchpad.net/kicad/+bug/1832601
2019-06-12 09:06:23 -07:00
Seth Hillbrand
e691704a82
pcbnew: Edit when cursor in in selection
...
Prevents certain edit tools from handling the action unless the cursor
remains inside the selection bounding box.
For now this is a UX test but the behavior may be expanded into Eeschema
as well.
Fixes: lp:1827242
* https://bugs.launchpad.net/kicad/+bug/1827242
2019-06-12 05:28:48 -07:00
Jeff Young
2348537769
Add a command to toggle between last two highlighted nets.
2019-06-12 12:43:12 +01:00
Seth Hillbrand
60b98a8b4f
Suppress non-Mac warning
...
The return variable is unused, so passing the pointer to a null lambda
drops the warning without incurring compile penalty.
2019-06-11 10:12:00 -07:00
Seth Hillbrand
32052d953f
pcbnew: Fix STL blunder when deleting
...
Deleting objects from a container will invalidate the iterator that
contains the object. Correct deleting requires capturing the iterator
returned by the erase function.
Fixes: lp:1832331
* https://bugs.launchpad.net/kicad/+bug/1832331
2019-06-11 10:12:00 -07:00
Jeff Young
7726b039b2
Re-jigger standard submenus so they both link AND work.
2019-06-11 18:03:16 +01:00
John Beard
9625cea57f
Fix hotkey debug spew
...
Two issues:
* Unassigned hotkeys were being passed to WX in the menu strings as
"<unassigned>". WX doesn't recognise this, and prints debug each time.
Unassigned hotkeys are no longer rare or naughty, so we shouldn't provoke
debug spew. Suppress by not appending hotkey strings for actions with 0
(i.e. unassigned) hotkey IDs.
* The zone cutout tool uses GR_KB_SHIFT, not MD_SHIFT. This causes
"unknown hotkey" spew from WX.
2019-06-11 14:40:57 +01:00
Jeff Young
b36f982272
Fix typo introduced in DLIST erradication.
...
Fixes: lp:1832030
* https://bugs.launchpad.net/kicad/+bug/1832030
2019-06-11 01:00:43 +01:00
Jeff Young
6623ab91a8
Fix issue with picker tool activation.
2019-06-11 00:25:38 +01:00
Jeff Young
e9017ce0b1
Update status bar when selected items are modified.
...
Fixes: lp:1831801
* https://bugs.launchpad.net/kicad/+bug/1831801
2019-06-10 23:46:01 +01:00
Jeff Young
31ee95c683
Reconcile tool and menu for Enumerate Pads.
...
Fixes: lp:1831950
* https://bugs.launchpad.net/kicad/+bug/1831950
2019-06-10 23:46:01 +01:00
Jeff Young
bb96255a03
Fix dangerous static_cast-ing to wrong type.
2019-06-10 23:46:01 +01:00
Jeff Young
1f6a5c92d7
Make sure placement menu has a pointer back to its tool.
...
Fixes: lp:1831730
* https://bugs.launchpad.net/kicad/+bug/1831730
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
765606012f
Convert separate-compilation of selection.cpp to polymorphism.
2019-06-10 23:46:00 +01:00
Jeff Young
e606587ff6
Move remaining Symbol Tree ctx menu cmds to ACTIONS.
...
Also moves the various Player instantiators down into COMMON_TOOLS
for better sharing.
2019-06-10 23:46:00 +01:00
Seth Hillbrand
81c5ba257b
pcbnew: Ensure cursor remains set during tool activity
...
Mouse capture end is called by some actions such as save board. This
resets the cursor image but doesn't change the current tool. Resetting
the cursor image during action prevents this.
(cherry picked from commit 35e87128f5
)
Fixes: lp:1831888
* https://bugs.launchpad.net/kicad/+bug/1831888
2019-06-08 10:25:24 -07:00
jean-pierre charras
f1f26a9197
drc_clearance_test_functions.cpp: remove a stupid "optimization code" that creates broken tests (sorry to be rude)
...
Fixes: lp:1831776
https://bugs.launchpad.net/kicad/+bug/1831776
2019-06-06 13:13:37 +02:00
Jeff Young
6fab7cc025
Remove a bunch of ugly mutex hacks now that we don't use wxString's UTF8 mode anymore.
2019-06-05 21:23:41 +01:00
Jeff Young
2d40425e4d
Move footprint & symbol tree context menus to tool infrastructure.
...
Fixes: lp:1831692
* https://bugs.launchpad.net/kicad/+bug/1831692
2019-06-05 20:16:48 +01:00
Jeff Young
15241b7fcf
ACTION-ize toolbar/palette control.
2019-06-04 22:31:42 +01:00
Jeff Young
1222f3cc72
ACTION-ize fab outputs.
2019-06-04 22:31:42 +01:00
Jeff Young
1ea5b04e22
More ACTIONS work. Nearly done now.
2019-06-04 22:31:42 +01:00
Jeff Young
4e11dcfa31
Better error reporting for board edge collisions.
2019-06-04 13:56:54 +01:00
Jeff Young
fbfbb64387
A bit of cleanup of stale DRC code.
2019-06-04 13:56:54 +01:00
Jeff Young
1bf04d1722
More ACTIONs work.
2019-06-04 00:51:16 +01:00
Jeff Young
584ed9e204
Add files accidentally left out of last commit.
2019-06-04 00:51:16 +01:00
Jeff Young
59a01789ff
Show board info in status bar when seleciton isn't a single object.
...
Fixes: lp:1831402
* https://bugs.launchpad.net/kicad/+bug/1831402
2019-06-03 21:52:59 +01:00
Jeff Young
3912c7407f
Move global commands to ACTIONs.
...
Also fixes a crash bug opening Edit Tracks and Vias dialog.
2019-06-03 21:08:30 +01:00
Jeff Young
568c8c336b
Move DRC control to a tool; move assorted commands to ACTIONS.
2019-06-03 21:08:30 +01:00
Jeff Young
9f1e2e34b7
Move some dupicated tools to common tools.
2019-06-03 21:08:30 +01:00
jean-pierre charras
be54f357eb
Better tooltip, more easy to translate
2019-06-03 18:27:17 +02:00
Seth Hillbrand
95ab0b1813
pcbnew: Hide dynamic ratsnest after canceling edit
...
The dynamic ratsnest is shown while moving items but this needs to be
hidden after cancelling. Previously this was handled by the
SelectionClear event but we've changed this to (correctly) keep the
previous selection when canceling.
Fixes: lp:1831350
* https://bugs.launchpad.net/kicad/+bug/1831350
2019-06-02 20:25:02 -07:00
Seth Hillbrand
1f30d0c803
pcbnew: remove the last dlist components from pcbnew
2019-06-02 20:06:11 -07:00
Seth Hillbrand
99756efea5
Use GetFirstModule() for call that can be NULL
2019-06-02 20:06:11 -07:00
Ian McInerney
cbea5149cb
pcbnew: Cleanup context menu ordering
2019-06-02 21:10:56 +01:00
Jeff Young
da4fe27447
More ACTIONS work.
2019-06-02 21:10:56 +01:00
Jeff Young
33773bad4d
Yet more command conversions to ACTIONs.
2019-06-02 21:10:56 +01:00
Jeff Young
6ac273264d
Move Show3DViewer to common action.
2019-06-02 16:21:44 +01:00
Ian McInerney
208a8553a5
pcbnew: Add context menu to measure tool
...
Fixes: lp:1831063
* https://bugs.launchpad.net/kicad/+bug/1831063
2019-06-02 07:55:29 -07:00
Seth Hillbrand
6a45446496
pcbnew: Remove the last dlist from modules/pcbnew
2019-06-01 20:55:32 -07:00
Seth Hillbrand
9163ac543a
pcbnew: Move pads to std::deque
2019-06-01 16:23:54 -07:00
Seth Hillbrand
888c01d11b
pcbnew: Move tracks to std::deque
2019-06-01 09:53:23 -07:00
Seth Hillbrand
d1877d7c1b
Moving modules from DLIST to std::deque
2019-06-01 09:53:23 -07:00
Seth Hillbrand
961b22d603
pcbnew: Changing drawings from dlist to std::deque
2019-06-01 09:51:57 -07:00
Jeff Young
f67df4bf11
Collapse ARRAY_CREATOR into single class now that legacy instance is gone.
...
Also removes AllowLegacyCanvas ADVANCED_CONFIG option.
2019-06-01 16:29:12 +01:00
Jeff Young
c1298570cb
Remove legacy routing options.
2019-06-01 16:29:12 +01:00
Jeff Young
7553cc2651
Clean up some dangling legacy odds and ends.
2019-06-01 01:17:46 +01:00
jean-pierre charras
30ad8e9369
Pcbnew, file menu: fix missing initialization of Append Board menuitem
2019-05-31 18:28:31 +02:00
Jon Evans
d0926cce58
PcbNew: prevent crash in point editor if selection gets invalidated
2019-05-29 21:27:59 -04:00
Jeff Young
1e9da7f57b
Remove CurItem() architecture and legacy routers and drawing code.
2019-05-29 00:26:30 +01:00
Jeff Young
0260b32125
Push resetLocalCoords down into COMMON_TOOLS.
...
Fixes: lp:1830693
* https://bugs.launchpad.net/kicad/+bug/1830693
2019-05-29 00:26:29 +01:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jon Evans
638ac3838c
PcbNew: Fix layer alpha overrides being overwritten by color changes
...
Fixes: lp:1827518
* https://bugs.launchpad.net/kicad/+bug/1827518
(cherry picked from commit cb3edf2607
)
2019-05-26 20:20:53 -04:00
jean-pierre charras
568d4e2b19
Avoid including id.h in a lot of files that do not use it.
2019-05-26 08:14:25 +02:00
Jeff Young
85f984ccd9
Add point-editor activation for immediate-mode drawing.
2019-05-24 19:49:09 +01:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +01:00
jean-pierre charras
75cea18f07
Pcbnew, toolbars: fix incorrect icons
2019-05-23 11:07:55 +02:00
Jeff Young
67cc2aac2e
Rework Eeschema find/replace for modern toolset.
...
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274
Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Jeff Young
b90b454ada
Remove legacy block operations.
2019-05-18 00:21:49 +01:00
Jeff Young
1a3d0492f5
Push polar coords down into COMMON_TOOLS.
2019-05-18 00:21:49 +01:00
Jeff Young
97445f1714
Don't go into interactive move when position was set in creation dialog.
...
Fixes: lp:1822569
* https://bugs.launchpad.net/kicad/+bug/1822569
2019-05-16 19:57:06 +01:00
Jeff Young
fbb807f3bb
Move some more menu & toolbar items to modern toolset.
2019-05-16 19:57:06 +01:00
Jeff Young
69afa27a5f
Implement ACTION_TOOLBAR and update some of the menus to ACTION_MENU.
...
This gives us better separation of MVC in line with the design of
the modern toolset. It also reduces a whole bunch of duplicated
data.
2019-05-15 17:50:52 +01:00
Jeff Young
f9e4ee1fc9
CONTEXT_MENU -> ACTION_MENU. (Now used for menu-bar menus too.)
2019-05-15 17:50:52 +01:00
Jeff Young
eb3a201d39
Move some PCBNew and GerbView actions to their COMMON equivalents.
2019-05-15 17:50:52 +01:00
Jeff Young
ef5c69167a
Start moving some LibEdit and SchEdit menubar menus to actions.
...
Also includes a bunch of bug fixes that got intermingled.
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828793
* https://bugs.launchpad.net/kicad/+bug/1828793
2019-05-13 21:44:29 +01:00
Jeff Young
f602ccd814
Insert EE_TOOL_BASE under SchEdit and LibEdit tools, and fix errant rename scope which clobbered PCBNew's PICKER_TOOL.
2019-05-12 13:47:08 +01:00
Jeff Young
7995b5cc3c
Restore selection on abort and undo/redo.
...
Also includes a related bug fix to not create an undo record for
the initial schematic cleanup.
Fixes: lp:1825975
* https://bugs.launchpad.net/kicad/+bug/1825975
2019-05-11 15:38:49 +01:00
Martin McNamara
7200f4d7b5
PCBnew: Fixes crosshair issue with "Place Text" and "Add Dimension".
...
When using "Place Text" the crosshair was freezing if cancelled before
placing text.
After the crosshair freezes, the next uses of the "Place Text" or
"Add Dimension" caused the crosshair to jump to the screen location
where the previously the crosshair was frozen.
Cancelling the "Add Dimension" caused the crosshair to jump to the
screen location where the crosshair was when cancelled on the next use
of the "Place Text" or "Add Dimension".
Fixes: lp:1822578
* https://bugs.launchpad.net/kicad/+bug/1822578
2019-05-11 06:44:40 -07:00
Jeff Young
c1539ae014
Naming changes to reflect sharing between SchEdit and LibEdit.
2019-05-10 19:56:20 +01:00
Jeff Young
ea0941cab3
Implement modern tools for LibEdit.
2019-05-10 16:11:57 +01:00
Seth Hillbrand
f7c042a357
pcbnew: Allow curves in custom pads
...
Updates custom pad functions to permit adding arbitrary curves to the
primitives
2019-05-08 15:54:26 -07:00
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
...
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
2019-05-05 17:14:30 +01:00
Jeff Young
ed0e6af66d
Move to direct tool registration.
...
It was confusing that the primary frames registered their tools
differently than the other frames. In addition, since the other
frames also added their own tools, foo_actions::RegisterAllTools()
didn't really register all tool but rather those used by the
principal frame (PCB_EDIT_FRAME, SCH_EDIT_FRAME, etc.)
2019-05-05 17:14:30 +01:00
Jeff Young
f81007f74b
Some clean-up and moving message panel update to selection event.
2019-05-05 17:12:59 +01:00
Jeff Young
902be18a04
More modern toolset context menu work.
...
Text/label type changes and bus entry shape changes. And some
context menu bug fixing.
2019-05-05 17:12:59 +01:00
Jeff Young
42383ae871
Build out some of the modern toolkit context menus.
2019-05-05 17:12:59 +01:00
Jeff Young
4e0208dfba
Move duplicate item and block to modern toolset.
2019-05-05 17:12:59 +01:00
Jon Evans
722edda83c
Make it easier to select footprints that overlap pads on opposite side
2019-05-04 22:59:56 -04:00
Jeff Young
a967adbf26
Don't toggle selection twice when trying to select.
...
Also fixes issues with trying to use a CONTEXT_MENU as a wxMenu.
2019-04-23 14:19:55 +01:00
Jeff Young
1a007c3e4b
Implement SCH_SELECTION_TOOL (but still with legacy semantics).
2019-04-22 22:08:18 +01:00
Jeff Young
e885d739a4
Simiplify VECTOR2 -> wxPoint conversions.
...
There has always been an operator specified, but it's explicit so
most folks don't notice it.
2019-04-22 22:08:18 +01:00
Jon Evans
1d2db311b2
Set new module parent early enough to allow pad clearance to be shown
...
Fixes: lp:1824587
* https://bugs.launchpad.net/kicad/+bug/1824587
2019-04-14 14:25:38 -04:00
Jeff Young
b63fab92cf
Move Eeschema net highlighting to modern toolset.
2019-04-14 12:10:48 +01:00
Jeff Young
94a948fdd1
Move grid selection for both Eeschema and Pcbnew to COMMON_TOOLS.
2019-04-13 18:43:35 +01:00
Jeff Young
fc7f5630c7
Move eeschema zoom operations to modern toolset.
2019-04-13 18:43:26 +01:00
Jeff Young
dae41b7460
Remove legacy segment-based zones.
...
Give the user the option of cancelling a file open if there are
segment zones; otherwise they're converted to polygon fills.
Fixes: lp:1823087
* https://bugs.launchpad.net/kicad/+bug/1823087
2019-04-12 20:19:23 +01:00
Jon Evans
3d9b5daf9c
Improve selection behavior of DRC markers in DRC dialog list
...
Fixes: lp:1813373
* https://bugs.launchpad.net/kicad/+bug/1813373
2019-04-12 11:01:38 -04:00
MaPePeR
e7d32c54b9
pcbnew: Draw Ratsnest with arcs to avoid overlap
...
Adds a toggle button that allows switching between straight lines and
curves for the ratsnest lines.
Fixes: lp:1766597
* https://bugs.launchpad.net/kicad/+bug/1766597
2019-04-12 00:28:58 +01:00
Jeff Young
3c11b89e4c
Hook up refresh buttons to library tree synchronisation.
...
Fixes: lp:1820057
* https://bugs.launchpad.net/kicad/+bug/1820057
2019-04-11 19:45:10 +01:00
Seth Hillbrand
c8118e3ce4
pcbnew: Allow click+drag of tracks
...
This behavior existed in 5.0.x but did not properly exit the edit tool
in 5.1. This removes stops the edit tool when we begin dragging a track
using the interactive router.
Fixes: lp:1820312
* https://bugs.launchpad.net/kicad/+bug/1820312
2019-04-07 20:59:06 -07:00
Seth Hillbrand
24bf838392
pcbnew: Allow arc editing via midpoint
...
This permits changing the radius of the arc by adjusting the center
point of the arc. The arc end points are fixed in this operation.
2019-04-07 06:50:25 -07:00
Jeff Young
77284e82c8
Replace switch-to-non-copper-layer for DIMENSION and POLYGON.
...
These still aren't handled by DRC.
Fixes: lp:1796500
* https://bugs.launchpad.net/kicad/+bug/1796500
2019-04-03 19:14:45 +01:00
Jeff Young
920d9e3d46
Don't switch to non-copper layer when drawing text & graphics.
...
We now allow these items on copper layers (and do the necessary
DRC, etc.)
Fixes: lp:1796500
* https://bugs.launchpad.net/kicad/+bug/1796500
2019-04-03 10:18:11 +01:00
Seth Hillbrand
7ee12d674e
pcbnew: Clear items before deleting vertex
...
Reverting changes causes the item to become invalid. This can cause
issues when we have dangling pointers for the VIEW routines left over.
Until we implement a method of passing the reverted element back up to
the calling routine, we need to remove the selection for each Revert()
call.
Fixes: lp:1821909
* https://bugs.launchpad.net/kicad/+bug/1821909
2019-04-02 13:15:10 -07:00
Seth Hillbrand
940aef77af
pcbnew: Update points before refresh
...
When removing a point from the polygon, the vertex is removed before it
is tested for validity. If it fails validation, the edit is reverted
and the point count doesn't change, so the view update only modifies the
existing points. But the revert may also have changed the shared
pointer to the point array, invalidating the view's copy.
Fixes: lp:1821909
* https://bugs.launchpad.net/kicad/+bug/1821909
2019-04-02 09:55:28 -07:00
jean-pierre charras
b558366a4e
Pcbnew: disable commit 3692c511
on non Windows platforms
...
A zone refill display progress bar is shown when deselecting the zone after geometry changes.
However, on Linux, there are some artifact between the progress bar refresh and the board view refresh:
the filled areas are incorrectly shown: the insulated islands remain displayed,
although they are removed from the actual filled areas list
So it is disabled until a fix is found.
2019-03-17 08:31:00 +01:00
jean-pierre charras
353d9d7c9e
Pcbnew, Zone refill: avoid useless refilling, when zone parameters are not modified.
...
Previously, in many cases the selected zone was refilled on exit selection, even if the zone was not modified.
This is annoying, because the zone fill can be really time consuming, and cannot be called without a good reason.
Now the refilling is made only if a zone parameter is actually modified.
2019-03-14 17:33:25 +01:00
jean-pierre charras
3692c511d0
Zone fill: display progress bar when refilling a zone after edition.
...
Previously, refilling a zone after edition was made silently,
thus creating not understandable but very noticeable freeze time for complex zones.
2019-03-14 10:18:50 +01:00
jean-pierre charras
26acd39129
Fix a few Coverity warnings.
2019-03-07 20:01:47 +01:00
Seth Hillbrand
3dfa57fe1d
pcbnew: Clear highlight cross-probe
...
When highlighting a new net, clear the Eeschema highlight before
selecting items
Fixes: lp:1815147
* https://bugs.launchpad.net/kicad/+bug/1815147
2019-03-04 12:00:59 -08:00
Seth Hillbrand
1be759c5c1
pcbnew: Force rotation to grid
...
When setting the modification point of a group, we get the grid-snapped
coordinate
Fixes: lp:1674835
* https://bugs.launchpad.net/kicad/+bug/1674835
2019-02-23 14:48:12 -08:00
Seth Hillbrand
1f7022cb64
pcbnew: Do not source highlight from non-copper pads
...
Highlight connections is meant to show the copper connections on a
board. We remove the non-copper pads from our selection when attempting
to source the net for highlighting.
Fixes: lp:1815898
* https://bugs.launchpad.net/kicad/+bug/1815898
2019-02-14 15:20:49 -08:00
jean-pierre charras
e6a200b09e
Pcbnew: avoid integer overflow when displaying local coordinates.
...
Minor cleanup in code.
2019-02-14 10:57:22 +01:00
Seth Hillbrand
b461fc44ef
pcbnew: Ensure source snapping
...
Choosing the drag origin should not be dependent on the snap settings in
pcbnew. Snap settings are sensible when you are designating a target
only. Additionally, when dragging a module, we do not want the
footprint's pads to be used as targets for snapping.
Fixes: lp:1814402
* https://bugs.launchpad.net/kicad/+bug/1814402
2019-02-03 04:23:24 +01:00
Seth Hillbrand
05483a06c6
pcbnew: Re-attach snap options
...
Snapping to item options were partially disconnected when unifying
framework. This re-attaches the options and adds the additional option
for graphical items.
Fixes: lp:1801377
* https://bugs.launchpad.net/kicad/+bug/1801377
2019-01-29 13:36:17 -08:00
Seth Hillbrand
184711beb4
pcbnew: Fix via snapping to multiple tracks
...
Rather than selecting an arbitrary track to snap, we select the closest
track to our point, allowing the via to be placed along the full track
length.
Fixes: lp:1813324
* https://bugs.launchpad.net/kicad/+bug/1813324
2019-01-25 09:13:18 -08:00
Seth Hillbrand
4247e32cd6
pcbnew: Disallow new via where DRC is violated
...
Prior to placing the via, we check if the resulting via will pass too
close to different nets on different layers.
Fixes: lp:1718827
* https://bugs.launchpad.net/kicad/+bug/1718827
2019-01-23 10:20:59 -08:00
Seth Hillbrand
efe880bb79
pcbnew: Fix zone cutout duplication
...
When creating the zone cutout, we delete the old zone and add a new one
with each cutout. This requires resetting the source zone and clearing
our previous selection if we would like to continue using the cutout
tool on the new zone.
Fixes: lp:1812339
* https://bugs.launchpad.net/kicad/+bug/1812339
2019-01-23 06:42:07 -08:00
Seth Hillbrand
7551613826
pcbnew: Don't duplicate TOOL_EVENT
...
There is some odd interaction in the default copy constructor for
TOOL_EVENT using boost::optional under gcc. Avoid this by explicitly
constructing the event needed for cut
Fixes: lp:1812848
* https://bugs.launchpad.net/kicad/+bug/1812848
2019-01-22 08:36:56 -08:00
jean-pierre charras
a1d1354bcc
footprint_editor_tools.cpp: Better code in Placepad.
2019-01-21 21:33:37 +01:00
jean-pierre charras
4d88cd3a0a
Footprint editor: add missing local coordinate initialization in Add Pad.
2019-01-21 21:03:36 +01:00
Seth Hillbrand
4cf4600a23
pcbnew: Discard delete action when routing
...
Prevent the action from being handled on the next transition.
Fixes: lp:1810611
* https://bugs.launchpad.net/kicad/+bug/1810611
2019-01-17 19:38:01 -08:00
Seth Hillbrand
5182fe15d3
Minor code formatting
2019-01-17 19:17:34 -08:00
Tomasz Włostowski
9657039af2
pcbnew: multiple fixes concerning track->pad net propagation used by Track/Via properties dialog:
...
- Added ignore netcode option to CONNECTIVITY_DATA::GetConnectedItems()
- PlaceModule() now ensures the module added to the board (and thus to the connectivity database) has correct bounding box necessary for R-trees to work
- Use recursive connected pad search so that the new net is propagated to all pads
Fixes: lp:1787961
* https://bugs.launchpad.net/kicad/+bug/1787961
2019-01-18 02:53:29 +01:00
Seth Hillbrand
8b5127d9bc
modedit: Renumber pads should hold removed numbers
...
When renumbering pads, you can click on a pad the second time to restore
the pad to its original value. This did not allow a user to then place
the removed number on the correct pad (assuming a mistake). This commit
ensures that removed pad numbers are remembered and allow the user to
place in the correct pad.
2019-01-17 09:58:22 -08:00
Seth Hillbrand
6b1b4bb43a
pcbnew: Add cursor help to renumber pads
...
Renumber pads command is abstruse so add a small popup help to guide
users when renumbering.
2019-01-17 09:58:22 -08:00
jean-pierre charras
1c4b0337c2
Footprint editor, GAL mode: add missing initialization of local coordinates when creating graphic items
...
Fixes: lp:1812233
https://bugs.launchpad.net/kicad/+bug/1812233
2019-01-17 17:59:00 +01:00
Seth Hillbrand
e270b5d266
modedit: Mirror custom pads
...
Fixes mirror command to correctly handle custom pads.
Fixes: lp:1808135
* https://bugs.launchpad.net/kicad/+bug/1808135
2019-01-17 08:55:59 -08:00
Tomasz Włostowski
d50bc6a85f
EDIT_TOOL: correctly handle locked items in Rotate/Flip/Mirror functions when the selection is already being dragged
...
Fixes: lp:1812009
* https://bugs.launchpad.net/kicad/+bug/1812009
2019-01-16 17:00:51 +01:00
Seth Hillbrand
0f1a11ef38
pcbnew: Cut only copied objects
...
Fixes a bug where objects where accessed after being freed by the cut
Fixes: lp:1811456
* https://bugs.launchpad.net/kicad/+bug/1811456
2019-01-11 17:27:29 -08:00