Commit Graph

2034 Commits

Author SHA1 Message Date
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