kicad/pcbnew/tools
John Beard 8e0e9ce752 Generalise fillet tool
Describe the actions of the fillet tools is a generic way, so that the
same general pattern can be used for other tools that modify shapes on
the BOARD.

Basically, an "ITEM_MODIFICATION_ROUTINE" is defined, which is
configured and called multiple times, calling back to the EDIT_TOOL when
it modifies or creates an item.

The motivation here is to make it easier to slot in new line-based
tools like chamfer, extend and so on without having to redo the
complicated item, selection and commit handling each time, and keep the
core "routines" simple and decoupled from the EDIT_TOOL's
internals.

This also resolves #15094 because the new commit handling does the right
thing when items were "conjured up" for the fillet (e.g. when a
rectangle is decomposed into lines).

Fixes: #15094
2023-07-12 19:21:26 +01:00
..
board_editor_control.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
board_editor_control.h ADDED: Search/inspect pane 2022-09-14 02:59:57 +00:00
board_inspection_tool.cpp ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
board_inspection_tool.h ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
board_reannotate_tool.cpp Cleanup & performance enhancements. 2022-08-01 13:09:51 +01:00
board_reannotate_tool.h Array creator tool: Add option to assign unique reference designators 2021-10-25 22:38:49 +01:00
convert_tool.cpp Create filled polygons when centerline is chosen. 2023-07-12 10:41:46 +01:00
convert_tool.h ADDED: user-specified gap and linewidth for bounding hull creation. 2023-02-12 23:16:45 +00:00
drawing_stackup_table_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
drawing_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
drawing_tool.h Unify go-back-one-step processing for drawing tools (and router). 2023-06-19 17:14:32 +01:00
drc_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
drc_tool.h Re-create missing exclusion markers if DRC was cancelled. 2023-06-11 12:14:27 +01:00
edit_tool.cpp Generalise fillet tool 2023-07-12 19:21:26 +01:00
edit_tool.h Avoid inheriting for POSITIONING_TOOLS_MENU 2023-07-06 21:11:51 +01:00
edit_tool_move_fct.cpp Pcbnew moveIndividually ctrl-M mangles 2+ tracks 2023-07-08 09:11:53 +00:00
footprint_editor_control.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
footprint_editor_control.h Enable properties panel in footprint editor 2023-02-17 20:35:56 -05:00
global_edit_tool.cpp Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
global_edit_tool.h Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
group_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
group_tool.h Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
item_modification_routine.cpp Generalise fillet tool 2023-07-12 19:21:26 +01:00
item_modification_routine.h Generalise fillet tool 2023-07-12 19:21:26 +01:00
pad_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
pad_tool.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_actions.cpp ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
pcb_actions.h ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
pcb_control.cpp Fix a compil and Coverity warnings 2023-07-07 10:28:01 +02:00
pcb_control.h Remove EDIT_TOOL's quasi-global BOARD_COMMIT. 2023-06-27 17:04:18 +01:00
pcb_editor_conditions.cpp Remove bad static_cast. 2022-07-24 23:41:41 +01:00
pcb_editor_conditions.h Move 45° limit to hotkey 2021-09-05 13:42:51 -07:00
pcb_grid_helper.cpp PCB: introduce PCB_FIELD_T 2023-06-20 18:34:52 +00:00
pcb_grid_helper.h Honour selection filter when picking move anchors. 2022-11-08 16:27:18 +00:00
pcb_picker_tool.cpp Picker Tools: make sure we know what tool we are 2023-05-01 12:43:09 -04:00
pcb_picker_tool.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_point_editor.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
pcb_point_editor.h pcbnew: Support dragging arc center in "Keep endpoints" mode. 2022-12-12 13:00:44 +03:00
pcb_selection.cpp Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
pcb_selection.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
pcb_selection_conditions.cpp PCB Editor: make locking menu items conditional 2022-12-21 10:34:54 -05:00
pcb_selection_conditions.h PCB Editor: make locking menu items conditional 2022-12-21 10:34:54 -05:00
pcb_selection_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
pcb_selection_tool.h Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_tool_base.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
pcb_tool_base.h TOOL_EVENT: make command string non-optional 2022-09-19 10:23:09 -04:00
pcb_viewer_tools.cpp PCB: introduce PCB_FIELD_T 2023-06-20 18:34:52 +00:00
pcb_viewer_tools.h Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
placement_tool.cpp Correctly sort positions for default align 2022-10-14 16:15:06 -07:00
placement_tool.h Some more wxPoint/EDA_RECT yeeting. 2022-08-31 00:44:33 +01:00
position_relative_tool.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
position_relative_tool.h Don't keep value of user or grid anchors between invocations. 2022-11-17 00:51:52 +00:00
tool_event_utils.cpp Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter 2023-06-20 21:52:50 +01:00
tool_event_utils.h Fix a few more doxygen errors (no actual code change) 2023-04-19 20:24:42 +02:00
zone_create_helper.cpp Separate immediate and delayed action dispatch 2023-06-27 00:57:59 +01:00
zone_create_helper.h Choose the first unused priority value for zones 2022-08-25 10:05:30 -07:00
zone_filler_tool.cpp Make pad & via teardrops 1st-class citizens (props of the pad/via) 2023-05-19 18:02:03 +01:00
zone_filler_tool.h Don't allow quit while zone filler is running. 2023-01-16 16:01:45 +00:00