kicad/pcbnew/tools
John Beard fa7e842c8c Rework item distribution
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.

The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.

The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.

This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.

Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
..
board_editor_control.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
board_editor_control.h Move Net Inspector dialog to a widget panel in pcbnew 2024-03-19 01:02:01 +00:00
board_inspection_tool.cpp ADDED allow physical_clearance between courtyards & zone fills. 2024-05-01 13:49:41 +01:00
board_inspection_tool.h Move Net Inspector dialog to a widget panel in pcbnew 2024-03-19 01:02:01 +00: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 const& performance improvements. 2024-05-03 18:03:51 +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 Build time optimizations. 2024-04-27 23:49:13 +03:00
drawing_tool.cpp Improve consistency in free-via ambiguity tests. 2024-05-01 10:24:34 +01:00
drawing_tool.h ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
drc_tool.cpp Clean and standardize cross-probing action 2024-03-11 17:50:44 -07:00
drc_tool.h ADDED: DRC JSON report 2023-08-13 14:59:10 -04:00
edit_tool.cpp ADDED: Polygon simplify 2024-04-29 17:48:32 -07:00
edit_tool.h ADDED: Polygon simplify 2024-04-29 17:48:32 -07:00
edit_tool_move_fct.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
footprint_editor_control.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
footprint_editor_control.h ADDED: library tree context menu option to open sym/fp library files from the defined text editor. 2024-02-29 19:01:59 +00:00
generator_tool.cpp Re-factor frame pointer out of generator API. 2023-12-16 16:11:45 +00:00
generator_tool.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
generator_tool_pns_proxy.cpp Fix build; renaming. 2023-11-28 22:18:37 +03:00
generator_tool_pns_proxy.h Fix build; renaming. 2023-11-28 22:18:37 +03:00
global_edit_tool.cpp Fix layer swapping for multi-layer items. 2024-03-17 12:14:21 +00:00
global_edit_tool.h Add some safety to layer swapping 2024-03-12 19:32:40 -04:00
group_tool.cpp Fix two unrelated bugs in ungroup. 2023-12-21 22:47:23 +00:00
group_tool.h
item_modification_routine.cpp Limit where the intersection of two lines can be 2024-03-01 15:57:24 -08:00
item_modification_routine.h performance efficiencies 2023-12-18 17:39:29 +00:00
pad_tool.cpp Do not re-number aperture pads 2024-03-01 13:04:19 -08:00
pad_tool.h Streamline explodePad undo. 2024-02-09 10:08:37 +00:00
pcb_actions.cpp Rework item distribution 2024-05-05 03:35:09 +08:00
pcb_actions.h Rework item distribution 2024-05-05 03:35:09 +08:00
pcb_control.cpp Handle orientation when pasting footprint items. 2024-05-03 21:31:27 +01:00
pcb_control.h Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
pcb_edit_table_tool.cpp Make sure to initialize cell start location. 2024-03-10 21:49:54 +00:00
pcb_edit_table_tool.h Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
pcb_editor_conditions.cpp Remove bad static_cast. 2022-07-24 23:41:41 +01:00
pcb_editor_conditions.h
pcb_grid_helper.cpp ADDED: Selection filter for schematic editor 2024-02-25 17:44:10 -05:00
pcb_grid_helper.h ADDED: Selection filter for schematic editor 2024-02-25 17:44:10 -05:00
pcb_picker_tool.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
pcb_picker_tool.h
pcb_point_editor.cpp RIP LIB_TEXTBOX and LIB_SHAPE. 2024-04-16 16:31:16 +01:00
pcb_point_editor.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
pcb_selection.cpp Ignore hidden text fields when cross-probing 2024-05-02 10:57:25 -07:00
pcb_selection.h Ignore hidden text fields when cross-probing 2024-05-02 10:57:25 -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 Mostly formatting, but also include shapes with nets when selecting connection. 2024-05-03 13:31:15 +01:00
pcb_selection_tool.h Table selections for PCBNew. 2024-03-09 22:18:19 +00:00
pcb_tool_base.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
pcb_tool_base.h TOOL_EVENT: make command string non-optional 2022-09-19 10:23:09 -04:00
pcb_viewer_tools.cpp Add toggleHV45Mode item to the measure tool's context menu 2024-03-23 21:24:13 +08:00
pcb_viewer_tools.h Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
placement_tool.cpp Rework item distribution 2024-05-05 03:35:09 +08:00
placement_tool.h Rework item distribution 2024-05-05 03:35:09 +08:00
position_relative_tool.cpp Improve encapsulation of group internals. 2023-11-09 14:05:35 +00: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 Build time optimizations. 2024-04-27 23:49:13 +03: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 Use 64-bit type to represent microseconds. 2024-03-03 21:40:26 +03:00
zone_filler_tool.h Don't allow quit while zone filler is running. 2023-01-16 16:01:45 +00:00