kicad/pcbnew/router
Jeff Young 3f6af59cac Avoid selection disambiguation menu when possible.
Some actions, such as select trivial connection, don't need the
user to choose which trace at a corner to start from -- either
one will do.  Same for moving a simple trace corner.

Likewise, Edit in Footprint Editor shouldn't ask if you mean the
footprint or the pad.  Obviously it's the footprint.

This change adds a CLIENT_SELECTION_FILTER which allows clients
to do tool- or action-specific filtering of the selection before
the disambiguation menu is run.

It also removes some tool- and action-specific code which was
in the selection_tool and shouldn't have been.

Fixes: lp:1708869
* https://bugs.launchpad.net/kicad/+bug/1708869
2018-01-18 09:09:25 +01:00
..
CMakeLists.txt pcbnew - refactor move exactly tool (3/2) 2017-07-19 11:36:35 +02:00
length_tuner_tool.cpp Cosmetic enhancement: Add icons to track length tuner menu. 2017-12-14 14:33:20 +01:00
length_tuner_tool.h Prevent creating too many transitions by TOOL_MANAGER 2017-07-31 15:09:19 +02:00
pns_algo_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_algo_base.h Coverity fixes 2017-03-11 22:20:08 +01:00
pns_debug_decorator.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_diff_pair.cpp Fix loop variable copy in for-range loop, use const reference instead 2018-01-09 19:18:44 -05:00
pns_diff_pair.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_diff_pair_placer.cpp Router recognizes busses of differential pairs 2017-06-30 11:16:24 +02:00
pns_diff_pair_placer.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_dp_meander_placer.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_dp_meander_placer.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
pns_dragger.cpp Coverity fixes 2017-11-01 10:24:26 +01:00
pns_dragger.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_index.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_item.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_item.h Fixed a hidden overloaded virtual function warning in PNS 2017-01-18 13:22:18 +01:00
pns_itemset.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_itemset.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_joint.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_kicad_iface.cpp Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_kicad_iface.h Remove some extra semicolons 2017-11-09 19:52:18 +01:00
pns_layerset.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_line.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_line.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_line_placer.cpp Fix unnecessary copy initialization detected by clang-tidy 2018-01-09 18:22:10 -05:00
pns_line_placer.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_logger.cpp Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_logger.h Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
pns_meander.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer.cpp Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.) 2016-09-06 16:06:06 +02:00
pns_meander_placer.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
pns_meander_placer_base.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_placer_base.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_meander_skew_placer.cpp Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.) 2016-09-06 16:06:06 +02:00
pns_meander_skew_placer.h Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
pns_node.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_node.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_optimizer.cpp Make the segment-ref container a true member of PNS::LINE 2016-09-06 16:06:06 +02:00
pns_optimizer.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_placement_algo.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_router.cpp pcbnew: avoid segfault reported on certain OSX builds 2018-01-02 00:49:59 +01:00
pns_router.h Remove some extra semicolons 2017-11-09 19:52:18 +01:00
pns_routing_settings.cpp Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_routing_settings.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_segment.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
pns_shove.cpp Fix a crash when dragging a via attached to a locked track (PNS) 2016-09-21 14:47:14 +02:00
pns_shove.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_sizes_settings.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_sizes_settings.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_solid.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_solid.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
pns_tool_base.cpp refactoring: remove PNS router dependency on PCB_EDIT_FRAME 2017-11-03 20:02:06 +01:00
pns_tool_base.h Few improvements to the GAL router: 2017-08-07 14:28:46 +02:00
pns_topology.cpp pns: fix assertion fail when placing diff pairs 2017-01-18 15:55:46 +01:00
pns_topology.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_tune_status_popup.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_tune_status_popup.h Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_utils.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_utils.h Fix a few doxygen warnings 2017-06-22 09:09:52 +02:00
pns_via.cpp Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
pns_via.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
pns_walkaround.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
pns_walkaround.h Add more "override" markers. 2016-09-25 13:59:41 -04:00
range.h Code formatting. 2015-02-18 17:53:46 +01:00
ranged_num.h Code formatting. 2015-02-18 17:53:46 +01:00
router_preview_item.cpp Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04:00
router_preview_item.h Display clearance for routed tracks (GAL) 2017-01-27 19:11:12 +01:00
router_tool.cpp Avoid selection disambiguation menu when possible. 2018-01-18 09:09:25 +01:00
router_tool.h Avoid selection disambiguation menu when possible. 2018-01-18 09:09:25 +01:00
time_limit.cpp Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00
time_limit.h Move PNS router code into namespace PNS 2016-09-06 16:06:06 +02:00