Tomasz Włostowski
60fdc6229d
router: fixed inline dragging & settings dialogs inconsistency
2017-08-22 16:44:58 +02:00
Tomasz Włostowski
2d9ab80b4e
Few improvements to the GAL router:
...
- missing 'break track' functionality
- 'drag 45 degree' and 'drag free angle' context menu shorcuts, both in the router tool and in the default context menu
- bugfix: length tuner tool can now be used again
Fixes: lp:1708386
* https://bugs.launchpad.net/kicad/+bug/1708386
Fixes: lp:1708402
* https://bugs.launchpad.net/kicad/+bug/1708402
2017-08-07 14:28:46 +02:00
Maciej Suminski
76bd05a69b
Prevent creating too many transitions by TOOL_MANAGER
...
- added TOOL_INTERACTIVE::resetTransitions()
- made protected and moved TOOL_BASE::setTransitions() to TOOL_INTERACTIVE
- TOOL_MANAGER calls TOOL_INTERACTIVE::resetTransitions() instead of
setTransitions()
2017-07-31 15:09:19 +02:00
Maciej Suminski
7b88dac4b7
Consistent track removal for PNS and selection tool
...
Fixes: lp:1705676
* https://bugs.launchpad.net/kicad/+bug/1705676
2017-07-27 16:20:19 +02:00
Fabrizio Tappero
deeeed38a1
deleted several redundant icons in right-click menu. The objective is to get to a more uniforme right click menu look
...
Signed-off-by: Fabrizio Tappero <fabrizio.tappero@gmail.com>
2017-07-21 10:28:42 -04:00
Maciej Suminski
805bfb048b
pcbnew: Configurable hotkeys for PNS
...
- routing options
- custom track/via size
- differential pair dimensions
- increase/decrease via size
2017-06-30 15:46:27 +02:00
Tomasz Włostowski
3cba1007eb
Removed legacy connectivity/ratsnest algorithm, replaced with the new one. No legacy autorouting for the moment
2017-06-23 11:12:37 +02:00
jean-pierre charras
6ed4f9b208
Make EDA_DRAW_FRAME::SetToolID and mouse cursor shape setting working in GAL canvases, and uses same mouse cursor shapes in legacy and gal canvases.
...
Starting fixing incorrect UI behavior of Zoom to selection in Pcbnew.
2017-06-12 15:16:09 +02:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
John Beard
8f3423b803
Add Select Layer And Add Via actions to GAL router tool
...
On these actions, invoke the layer select dialog and set the via layer
pairs accordingly.
Fixes: lp:1672820
* https://bugs.launchpad.net/kicad/+bug/1672820
2017-03-28 15:13:27 +02:00
John Beard
69115e4b9d
Signal via actions with flags, not event equality checking
...
This allows actions to encode both via type and other behaviours
intrisically witohut having to individually test for each action.
2017-03-28 15:13:24 +02:00
Julius Schmidt
29eb696ef7
Fix crash when switching from dragging to routine (PNS router)
...
The attached patch fixes a bug where triggering InlineDrag while routing
is in progress will crash pcbnew. The problem is that the InlineDrag
event does not terminate performRouting. Once InlineDrag is finished
it will call StopRouting which deletes the m_placer. The Wait() in
performRouting will then return and it will crash as soon as it tries
to access the m_placer.
2017-03-07 13:56:44 +01:00
Jon Evans
fd4e2b042c
Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common
...
SELECTION now holds EDA_ITEMs not BOARD_ITEMs so various places had to
change to casting the selected items to BOARD_ITEMs.
Fixed compilation warnings on clang (Tom)
2017-02-28 14:47:20 +01:00
Maciej Suminski
d3edc4f843
Disable router menu when the tool is stopped
2017-02-24 13:32:47 +01:00
John Beard
c001c6114f
Add cancel interactive tool action to GAL
...
This is used to provide menu entries that allows cancellation of
interactive drawing and routing tools without needing the keyboard.
It is provided in the drawing tools and the router tool.
The cancel event doesn't have any new functionality (e.g. track rip-up
for the PNS router - lp:1448460), this just adds it to the menu, where
it behaves the same as an Escape keypress.
2017-02-24 10:37:07 +01:00
Jon Evans
4c83b0a94d
Move TOOL_ACTIONs to their corresponding tools; create COMMON_TOOLS
...
Some grid/zoom tools are left in PCBNEW_CONTROL because they currently
depend on Pcbnew-specific class members. Once refactoring is done to
make it possible to use all zoom and grid controls outside of pcbnew,
these last tools can be moved to common to match their ACTIONs.
2017-02-22 10:32:48 +01:00
Jon Evans
167f45ca2b
Refactor COMMON_ACTIONS into a base and derived class
...
New virtual class ACTIONS is added as a member to EDA_DRAW_FRAME so
that the TOOL_DISPATCHER can have access to the appropriate derived
version of TranslateLegacyId()
2017-02-22 10:32:48 +01:00
John Beard
a8eea6155a
Move bitmaps.h out of base_struct.h
...
bitmaps.h was included in nearly every file in the project due to it
being included by base_struct.h
Only about 130 files actually use the XPM definitions defined there, and
many of those already included bitmaps.h themselves, or via
menu_helpers.h. However, touching bitmaps.h would result in over 400
rebuilt files for pcbnew alone.
This commit moves the bitmap-related types like BITMAT_DEF out to a new
header, which is still included by base_struct.h, which is less
avoidable for now, it's it's used in the interface.
The icon list is still in bitmaps.h. This has the side effect that's
it's now easier to automatically generate this file.
Many classes in pcbnew and eeschema needed some functions moved
to the implementaitons from the headers too.
2017-02-21 09:50:15 -05:00
Maciej Suminski
7806cb7bca
Drag tracks/vias menu entry (GAL)
2017-02-09 12:03:28 +01:00
Maciej Suminski
1102eb0d0d
Store menu titles in CONTEXT_MENU
...
Previously a title had to be provided when a submenu was added,
but this led to storing the same title in many places.
2017-01-23 14:52:11 +01:00
Maciej Suminski
682da70a86
Fixed the issue of creating and event handling in context menus (GAL).
...
When creating a copy of CONTEXT_MENU, always a CONTEXT_MENU instance was
constructed, whereas an inherited type should be used. Solved with
CONTEXT_MENU::create() that has to be overridden in inheriting classes.
Event & update handlers are now virtual functions, instead of setting
the handlers with Set{Event,Update}Handler().
2017-01-23 11:40:59 +01:00
jean-pierre charras
2de913797a
Fix a UI policy issue. Very minor cosmetic change: give same look to Zoom and Grid selection in 2 menus.
2017-01-20 11:35:24 +01:00
jean-pierre charras
adb679dc46
ROUTER_TOOL_MENU: add zoom selection to this menu.
2017-01-20 08:51:12 +01:00
jean-pierre charras
d51d53c6b9
CONTEXT_TRACK_WIDTH_MENU EventHandler: better filtering of received events ID.
...
This is mandatory because currently, on Windows, this handler is also called when clicking on an other menu with submenus like the grid menu.
2017-01-20 08:29:24 +01:00
Maciej Suminski
75fb04d650
TOOL_ACTIONs are handled with transitions, no handlers needed in the event loops
...
There used to be a number of TOOL_ACTIONs that had entries both in
SetTransitions() and the event loop, which seemed redundant and
troublesome.
Now it is not necessary anymore, transitions setup is enough to execute
associated actions.
2017-01-18 14:20:39 +01:00
John Beard
3448698849
Add grid menu to routing context menu
...
This is a missing GAL feature (though grid cycling by hotkey was already
working fine).
Fixes: lp:1519973
* https://bugs.launchpad.net/kicad/+bug/1519973
2017-01-10 11:18:25 +01:00
jean-pierre charras
b8b08dafd6
Code cleaning: remove pcbcommon.* which contains nothing really useful. The very few lines of code are moved to a better place.
2016-12-31 12:56:21 +01:00
Tomasz Włostowski
1c1f4e9a50
Refactoring of VIEW/VIEW_ITEM classes:
...
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
Maciej Suminski
524dddaf70
Sync the PNS model when its changed
2016-11-28 15:51:18 +01:00
jean-pierre charras
7051b6d21f
Fixes: lp:1635723 (pcbnew: allows sometimes to draw tracks in non copper layers in Gal Mode)
...
https://bugs.launchpad.net/kicad/+bug/1635723
2016-11-13 19:02:44 +01:00
Maciej Suminski
abbd47e2f2
Remove an unused variable and a debug printf
2016-09-30 09:31:40 +02:00
Tomasz Włostowski
3257f1a863
pns: fixed inline drag grid snapping & undo-related assertion failure
...
Fixes: lp:1628697
* https://bugs.launchpad.net/kicad/+bug/1628697
2016-09-30 09:29:49 +02:00
Maciej Suminski
3623421912
Fixed a PNS crash after undoing the last operation while routing
2016-09-23 13:58:33 +02:00
decimad
6a9c1cb6a1
Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state.
2016-09-23 13:29:25 +02:00
Maciej Suminski
17806b58f6
Fixed unused variable warnings
2016-09-13 10:06:49 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
5c0605f6dc
Mute a few warnings
2016-09-12 11:50:06 +02:00
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
2016-09-06 16:06:06 +02:00
decimad
de6281e977
Move PNS router code into namespace PNS
...
update copyright messages
2016-09-06 16:06:06 +02:00
Maciej Suminski
78050c05e2
Changed PNS logging routine to wxLogTrace
2016-08-17 16:00:21 +02:00
Maciej Suminski
0ef866ee74
Code formatting
2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
456c02c800
router: multiple fixes - fixed crash when trying to drag a locked via - prompt when the user attempts to drag a locked via/segment - removed remains of PICKED_ITEMS_LIST from the PNS_ROUTER class
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
0700178d07
P&S: enable delete & backspace shortcuts while router is active
2016-08-15 17:16:47 +02:00
Tomasz Wlostowski
9c8bdcc894
P&S refactor: removed most of Kicad-dependent code from PNS internal classes
2016-08-15 17:16:47 +02:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00
Maciej Suminski
553899b79b
PNS: Do not create an undo buffer entry when there is nothing to save.
2016-06-07 14:42:42 +02:00
Matthew Petroff
db54f3e7a7
Correct multiple UI spelling errors
2016-05-02 10:01:43 -04:00
Rohan Agrawal
8d659b3e02
removed unnessacary curly braces
2016-02-11 19:26:03 -08:00
Rohan Agrawal
31a6a4adf0
Run fix_route until routing ended in EndTrack
...
Should fix Bug 1424003, by making making sure the routing is completed when endtrack is triggered.
2016-02-11 18:26:40 -08:00
Maciej Suminski
d373915340
Fixed crash when context menu is invoked during track dragging (GAL).
2015-12-03 14:26:12 +01:00
Tomasz Wlostowski
72b0593fdb
Pcbnew: push and shove router fixes.
...
* Fix segfault caused by invalidation of the end item by
PNS_LINE_PLACER::UpdateSizes().
* GAL zone drawing tool updates the ratsnest after zone drawing is complete.
* Fixed performance issue in zones processing using strict simplification
only for the final filled area.
2015-11-18 09:35:17 -05:00
Thomasz Wlostowski
6e470ece1d
Pcbnew: fix push and shove router segfault bug.
2015-11-03 11:19:42 -05:00
jean-pierre charras
9aba2f2683
Add tool tips in pns settings dialogs. Use default events handlers in cancel and ok buttons and close window.
...
Fia an incorrect sentence in general board editor options dialog.
2015-10-16 17:56:50 +02:00
Maciej Suminski
a3786fd6d8
router; Changed 'custom track via/size' hotkey to Q (to avoid conflict with cycling through defined track widths).
2015-10-07 11:10:34 +02:00
Maciej Suminski
2607497b37
Code formatting.
2015-10-05 18:28:41 +02:00
Maciej Suminski
480cf85102
router: Layer switching uses the layer pair settings when placing a through-hole via.
2015-10-05 13:28:32 +02:00
Maciej Suminski
f2807035df
router: Improved via placement code. - Blind/buried vias going through all layers are converted to TH vias. - If current layer is not set in the pair, router switches to the top layer instead of keep using the same layer. - Microvias switch between one of the outer layers and the adjacent one.
2015-09-24 18:34:22 +02:00
Maciej Suminski
504cf55642
Minor code formatting corrections.
2015-09-24 18:34:22 +02:00
Maciej Suminski
41e96e03d6
router: Added messages explaining why a blind/buried/microvia cannot be placed.
2015-09-24 11:04:42 +02:00
Maciej Suminski
4636d8d615
PNS router changes layer on 'Place Via' hot key while it is not laying out a track.
2015-09-03 18:25:48 +02:00
Tomasz Wlostowski
95c59c8060
router: multiple fixes:
...
- PNS_ITEMSET now keeps ownership info (does not rely on PNS_ITEM::Owner(), avoiding the risk of dangling pointers)
- fixed vias losing connected traces when dragging in mark obstacles mode
- fixed rare segfault when board item returned null netclass
2015-08-19 17:27:23 +02:00
Tomasz Wlostowski
f6689f75a8
router: fixed loop removal issue
2015-08-18 11:38:17 +02:00
Maciej Suminski
d624115f35
Fixed failing undo while routing.
2015-08-04 23:08:13 +02:00
Tomasz Wlostowski
86b07d89a7
PNS: fixed crash on via dragging
2015-08-04 11:37:16 +02:00
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
2015-08-03 21:11:51 +02:00
Maciej Suminski
d010703eaf
Fixed cursor freeze in pcbnew (GAL).
2015-07-24 10:58:47 +02:00
Maciej Suminski
d6bc33bd42
Removed a few more memory leaks and fixed crash on exit.
2015-07-24 09:42:46 +02:00
Maciej Suminski
a530ffad50
Code formatting.
2015-07-10 23:42:05 +02:00
Tomasz Wlostowski
a7613b6d6a
Fixed cancelling inline track dragging.
2015-07-10 12:14:27 +02:00
Maciej Suminski
df15be4f01
CONTEXT_TRACK_VIA_SIZE_MENU: generic context menu that displays track/via sizes.
2015-07-07 18:36:56 +02:00
Maciej Suminski
3a908b8b8a
PNS: fix hotkey conflict (Diff Pair Dimensions vs Drag).
2015-07-07 18:36:54 +02:00
Maciej Suminski
2dc9d2ae66
PNS: hide cursor after inline dragging.
2015-07-07 18:36:47 +02:00
Maciej Suminski
5b7d08f2fd
PNS: initalize starting point.
2015-07-07 18:36:45 +02:00
Maciej Suminski
766da1e494
Code formatting.
2015-07-02 16:11:15 +02:00
Tomasz Wlostowski
171d39c8d0
router: invoke interactive drag when dragging traces/vias in edit tool (disabled by default)
2015-07-02 16:09:56 +02:00
Tomasz Wlostowski
a86fda1d37
tools: added TOOL_SETTINGS class for storing persistent tool settings in config file (just a wrapper for wxConfigBase) router: free angle mode (mark obstacles only) & persistent settings
2015-07-02 16:09:51 +02:00
jean-pierre charras
4f71260319
Fix micro via size incorrect when adding it in pns router
2015-06-18 20:22:23 +02:00
Maciej Suminski
26ee2092af
PNS router uses the legacy canvas hot key bindings.
2015-05-18 13:48:11 +02:00
Maciej Suminski
15cefcda9f
Code formatting.
2015-05-18 13:48:11 +02:00
Maciej Suminski
99e5228948
Moved the list of TOOL_ACTIONs to ACTION_MANAGER.
2015-05-05 20:39:41 +02:00
jean-pierre charras
425ddb92a7
Cosmetic enhancements in dialogs and menus
2015-05-03 20:43:07 +02:00
Maciej Suminski
06b978b829
Refactored CONTEXT_MENU, added handler for updating.
2015-04-30 10:46:05 +02:00
Maciej Suminski
4be876a13a
Expandable CONTEXT_MENUs (GAL). Minor CONTEXT_MENU
2015-04-30 10:46:04 +02:00
jean-pierre charras
569c2be354
Minor fixes: dialog rescue: make strings translatable. Remove a few coverity warnings (not initialized members). Very minor other changes.
2015-04-28 17:07:36 +02:00
Maciej Suminski
b1cd83c197
Icons in GAL context menus.
2015-04-02 16:09:48 +02:00
Maciej Suminski
6083f3b011
Internationalization of GAL dialogs & menus.
2015-04-02 16:09:26 +02:00
Maciej Suminski
589dd442f5
Clippy returns home.
2015-04-02 09:18:45 +02:00
Maciej Suminski
8be73ad05a
KiCad assistant.
2015-03-31 23:45:02 +02:00
Maciej Suminski
4fb9bce354
Code formatting.
2015-02-18 17:53:46 +01:00
Tomasz Włostowski
112adccbcb
router: differential pairs & length tuning support
2015-02-18 01:29:54 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
Maciej Suminski
2647fdfd89
Fixed context submenus event handlers (GAL/Windows).
2015-01-25 19:11:02 +01:00
jean-pierre charras
9cfb97d8b4
Add hight contrast option in Modedit. In hight contrast mode, solder masks and solder paste are shown.
...
this option was possible only by modifying the way display options are managed.
before these changes, display options were a global DISPLAY_OPTIONS class instance.
Now each EDA_DRAW_FRAME(and derivated classes) includes its own DISPLAY_OPTIONS class instance.
As a consequence, some duplicate display option variables in these classes have been removed, because there were just duplicate variables of the DISPLAY_OPTIONS class instance.
2015-01-10 11:27:49 +01:00
Maciej Suminski
9245b90392
Code formatting.
2014-11-14 20:19:00 +01:00
Tomasz Wlostowski
80adf9d85b
router: multiple changes
...
- re-worked PNS_LINE_PLACER and PNS_ROUTER classes a bit, removing duplicate class members
- cleaned up Andrew's blind/buried via fixes
- fixed 'custom via width' dialog bug updating the width even when closed/cancelled
- fixed incorrect radius of drawn microvias
2014-11-14 19:15:58 +01:00
Andrew Zonenberg
45a8e4da74
pns_router: Support for blind/buried vias.
2014-09-30 16:46:19 +02:00
jean-pierre charras
24ed7f50f5
Pcbnew: fix Bug #1370321 (Change Segment function applies last netclass used).
...
Also update main toolbar track width and via size info in pns router mode, when starting a track, and other very minor update issue.
2014-09-28 16:44:47 +02:00
jean-pierre charras
5a38d2b657
Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files.
...
code cleanup.
2014-08-24 09:05:07 +02:00