kicad/pcbnew/tools
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
..
drawing_tool.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
drawing_tool.h Immediate actions for PlEditor, PcbNew, etc. 2019-06-25 11:34:28 +01:00
drc.cpp Performance enhancements to zone filling & track DRC. 2019-06-25 11:34:28 +01:00
drc.h Performance enhancements to zone filling & track DRC. 2019-06-25 11:34:28 +01:00
drc_clearance_test_functions.cpp Performance enhancements to zone filling & track DRC. 2019-06-25 11:34:28 +01:00
edit_tool.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
edit_tool.h Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
footprint_editor_tools.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
footprint_editor_tools.h Reconcile tool and menu for Enumerate Pads. 2019-06-10 23:46:01 +01:00
global_edit_tool.cpp Implement I18N for ACTIONs. 2019-06-17 10:45:23 +01:00
global_edit_tool.h Move global commands to ACTIONs. 2019-06-03 21:08:30 +01:00
grid_helper.cpp Eradicate globals for PCB_GENERAL_SETTINGS. 2019-06-26 21:54:03 +01:00
grid_helper.h pcbnew: Ensure source snapping 2019-02-03 04:23:24 +01:00
microwave_tool.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
microwave_tool.h 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
pad_tool.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
pad_tool.h Reconcile tool and menu for Enumerate Pads. 2019-06-10 23:46:01 +01:00
pcb_actions.cpp Fix bug with accidental modification of legacy hotkey name. 2019-06-27 11:29:05 +01:00
pcb_actions.h Re-implement sch->pcb cross-probing using net highlighting architecture. 2019-06-26 21:54:03 +01:00
pcb_bright_box.cpp Refactor BRIGHT_BOX to common so it can be used by other programs 2017-03-11 21:38:01 +01:00
pcb_bright_box.h Refactor BRIGHT_BOX to common so it can be used by other programs 2017-03-11 21:38:01 +01:00
pcb_editor_control.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
pcb_editor_control.h Re-implement sch->pcb cross-probing using net highlighting architecture. 2019-06-26 21:54:03 +01:00
pcb_selection_conditions.cpp pcbnew: Rename PCB_ZONE_T and remove from connectivity 2018-09-29 15:09:15 -07:00
pcb_selection_conditions.h Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common 2017-02-28 14:47:20 +01:00
pcb_tool_base.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
pcb_tool_base.h Fix dangerous static_cast-ing to wrong type. 2019-06-10 23:46:01 +01:00
pcbnew_control.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
pcbnew_control.h Real-time highlighting for Pcbnew and ModEdit delete tools. 2019-06-25 21:10:21 +01:00
pcbnew_picker_tool.cpp Real-time highlighting for Pcbnew and ModEdit delete tools. 2019-06-25 21:10:21 +01:00
pcbnew_picker_tool.h Real-time highlighting for Pcbnew and ModEdit delete tools. 2019-06-25 21:10:21 +01:00
pcbnew_selection.cpp Convert separate-compilation of selection.cpp to polymorphism. 2019-06-10 23:46:00 +01:00
pcbnew_selection.h Convert separate-compilation of selection.cpp to polymorphism. 2019-06-10 23:46:00 +01:00
placement_tool.cpp Implement I18N for ACTIONs. 2019-06-17 10:45:23 +01:00
placement_tool.h Move hotkeys to ACTION architecture. 2019-06-10 23:46:00 +01:00
point_editor.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
point_editor.h Implement ACTION_TOOLBAR and update some of the menus to ACTION_MENU. 2019-05-15 17:50:52 +01:00
position_relative_tool.cpp Implement I18N for ACTIONs. 2019-06-17 10:45:23 +01:00
position_relative_tool.h Move hotkeys to ACTION architecture. 2019-06-10 23:46:00 +01:00
selection_tool.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
selection_tool.h Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
tool_event_utils.cpp More modern toolset context menu work. 2019-05-05 17:12:59 +01:00
tool_event_utils.h More modern toolset context menu work. 2019-05-05 17:12:59 +01:00
zone_create_helper.cpp Implement a more robust tool stacking architecture. 2019-06-27 17:01:31 +01:00
zone_create_helper.h Immediate actions for PlEditor, PcbNew, etc. 2019-06-25 11:34:28 +01:00
zone_filler_tool.cpp Implement I18N for ACTIONs. 2019-06-17 10:45:23 +01:00
zone_filler_tool.h 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