kicad/include
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
..
api Fix capture lambda 2024-04-13 07:47:02 -04:00
bitmaps Rework item distribution 2024-05-05 03:35:09 +08:00
cli Remove unused header 2023-09-07 20:46:08 -04:00
core Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
database DbLib: Fill entire table if cache is empty when loading one part 2024-05-03 21:04:13 +00:00
dialogs Fix build on Linux. 2024-04-28 02:06:12 +03:00
drawing_sheet Add prettification to pl_editor; bump version 2023-11-29 16:17:41 +00:00
font Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
gal Add the option to use alternating row colors in tables/grids 2024-04-01 21:59:37 +01:00
http_lib HTTP Libraries: Add support for descriptions of sublibraries 2024-04-30 11:57:00 +00:00
io Make import/export flags explicit 2024-04-25 09:21:15 -07:00
kicad_curl ADDED: KiCad update check 2023-12-13 20:47:40 -05:00
libeval Add um support to the unit binder 2023-11-26 00:03:09 +00:00
libeval_compiler Handle backslash-escaped quotes in libeval. 2023-09-30 17:38:44 +01:00
plotters ADDED: optional PDF metadata from AUTHOR and SUBJECT variables. 2024-03-14 17:40:04 +00:00
plugins Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
preview_items Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
project Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
properties Lets try C++20 2024-04-12 23:32:18 -04:00
settings Add optional reporting of non-KiCad design issues 2024-05-04 15:27:52 +00:00
tool Ignore hidden text fields when cross-probing 2024-05-02 10:57:25 -07:00
view Disable infinite panning when using XWayland. 2024-03-12 10:31:23 +03:00
widgets Add optional reporting of non-KiCad design issues 2024-05-04 15:27:52 +00:00
3d_enums.h ADDED: PCB 3D image raytracing rendering from CLI. 2024-03-08 14:38:18 +00:00
advanced_config.h ADDED: A new IPC API based on protobuf and nng 2024-04-02 19:34:36 -04:00
array_axis.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
array_options.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
asset_archive.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
background_jobs_monitor.h Fix some warnings. 2024-04-14 01:19:39 +03:00
base_screen.h
base_units.h Make sure users don't run into min text size. 2024-03-23 15:50:45 +00:00
bin_mod.h
bitmap_base.h Allow multiple format image saving 2023-09-06 12:12:32 -07:00
bitmap_store.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
bitmaps.h
board_design_settings.h pcbnew: Added default master pad properties 2024-03-02 00:13:39 +00:00
board_item.h Separate Compare Footprints from DRC. 2024-04-28 23:05:54 +01:00
board_printout.h
build_version.h Use a version string without the extra packaging info in drawing sheets. 2024-02-29 01:24:39 +00:00
callback_gal.h performance efficiencies 2023-12-18 17:20:34 +00:00
class_draw_panel_gal.h Evict the Pgm() dependency in GAL 2023-09-06 20:13:46 -04:00
cli_progress_reporter.h ADDED: ERC over cli....mostly 2023-08-13 20:31:19 -04:00
collector.h Use explicit this capture in COLLECTOR m_inspector lambda 2024-04-12 20:03:07 -04:00
commit.h Replace stale pin references with UNDO copy 2024-04-24 12:55:02 -07:00
common.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
config_map.h
config_params.h Move configparams to kicommon 2023-09-23 20:06:58 -04:00
confirm.h Build time optimizations. 2024-04-27 23:49:13 +03:00
dialog_shim.h Build time optimizations. 2024-04-27 23:49:13 +03:00
dpi_scaling_common.h Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
dsnlexer.h dsnlexer can live in kicommon 2024-01-03 23:18:31 -05:00
eda_base_frame.h Refactor autosave prefix into FILEEXT. 2024-04-22 04:06:04 +03:00
eda_dde.h
eda_doc.h
eda_draw_frame.h Build time optimizations. 2024-04-27 23:49:13 +03:00
eda_item.h Fold LIB_ITEM into SCH_ITEM. 2024-04-08 10:24:50 +01:00
eda_item_flags.h More undo cleanup. 2023-07-16 14:43:29 +01:00
eda_list_dialog.h Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
eda_pattern_match.h Move EDA_PATTERN_MATCH to kicommon 2023-12-27 22:08:11 -05:00
eda_search_data.h Allow EDA_COMBINED_MATCHER use in KiCad find architecture. 2023-06-10 14:50:06 +01:00
eda_shape.h RIP LIB_TEXTBOX and LIB_SHAPE. 2024-04-16 16:31:16 +01:00
eda_text.h Flip symbol editor's Y axis to match other editors. 2024-04-27 13:47:56 +01:00
eda_tools.h
eda_units.h Clamp ratio properties 2023-11-25 18:40:14 -05:00
enum_vector.h Make comparison operators const. 2023-06-21 08:49:26 +00:00
env_paths.h
env_vars.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
executable_names.h
file_history.h
filename_resolver.h
filter_reader.h
fmt.h
footprint_editor_settings.h ADDED: Selection filter for schematic editor 2024-02-25 17:44:10 -05:00
footprint_filter.h Dont leak richio into everything 2023-09-07 22:29:40 -04:00
footprint_info.h Deconflict some LIB_TREE_ITEM APIs so they can remain non-const. 2024-04-04 13:18:55 +01:00
fp_lib_table.h Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
frame_type.h Grid properties for GerbView. 2024-03-10 18:21:50 +00:00
gal_display_options_common.h Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
gbr_metadata.h Cleanup. No (intentional) functional changes. 2023-06-06 12:30:35 +01:00
gbr_netlist_metadata.h
gestfich.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
gr_basic.h
gr_text.h Build time optimizations. 2024-04-27 23:49:13 +03:00
grid_tricks.h
hash_eda.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
hashtables.h
hotkey_store.h Minor Coverity and compil warnings fixes. 2023-07-17 16:19:22 +02:00
hotkeys_basic.h Hotkeys: add support for alternate hotkeys 2023-07-13 10:11:46 -04:00
i18n_utility.h
id.h Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
import_export.h Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
inspectable.h Add system for property change notifications 2023-12-02 19:22:59 -05:00
json_common.h Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
json_conversions.h Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
ki_exception.h Parse generator_version and improve error output on mismatch 2023-11-29 16:17:41 +00:00
kicommon.h Start a kicommon shared lib 2023-09-09 18:04:50 -04:00
kidialog.h Build time optimizations. 2024-04-27 23:49:13 +03:00
kiface_base.h Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
kiface_ids.h Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
kiid.h ADDED: A new IPC API based on protobuf and nng 2024-04-02 19:34:36 -04:00
kiway.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_express.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_holder.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_mgr.h
kiway_player.h Build time optimizations. 2024-04-27 23:49:13 +03:00
launch_ext.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
layer_ids.h Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
lib_id.h Remove atrophied terminology (logical -> nickname) 2024-02-05 15:49:57 +00:00
lib_table_base.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
lib_table_grid.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
lib_table_grid_tricks.h Add batch edit for visible flag. 2023-09-26 00:31:37 +01:00
lib_tree_item.h Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL. 2024-04-04 13:18:55 +01:00
lib_tree_model.h Show all library children if library name matches search 2024-04-02 22:51:41 +00:00
lib_tree_model_adapter.h Try reusing the TOOL_DISPATCHER menu hack for libtree previews. 2024-01-05 14:20:33 +00:00
locale_io.h Move locale_io to kicommon 2023-09-11 21:51:58 -04:00
lockfile.h Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
logging.h
macros.h Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
macros_swig.h
mail_type.h ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER. 2023-09-29 17:03:50 +01:00
marker_base.h ADDED: ERC/DRC exclusion comments. 2024-02-24 20:05:51 +00:00
markup_parser.h MARKUP_PARSER kicommon 2023-09-13 21:37:35 -04:00
netclass.h netclass can be in kicommon 2023-12-27 17:57:02 -05:00
newstroke_font.h newstroke_font can live in kicommon 2023-09-18 07:40:02 -04:00
notifications_manager.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
origin_transforms.h
origin_viewitem.h
outline_mode.h
pad_shapes.h wxWidgets 3.3 compatibility: explicit wxString conversion 2024-03-20 22:02:41 -04:00
page_info.h Move PAGE_INFO to kicommon 2024-01-09 07:26:04 -05:00
panel_hotkeys_editor.h Add more missing destructor event cleanups 2023-10-02 07:22:00 -04:00
panel_text_variables.h Implement changed notifiers for textvar, netclasses and severities. 2023-09-17 17:35:15 +01:00
paths.h Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
pcb_base_frame.h Build time optimizations. 2024-04-27 23:49:13 +03:00
pcb_display_options.h
pcb_screen.h
pgm_base.h Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
policy_keys.h Add policy to alter curl revoke settings on windows 2023-07-13 19:01:04 -04:00
printout.h
progress_reporter.h kicommon PROGRESS_REPORTER 2023-12-25 23:22:39 -05:00
project.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
project_pcb.h Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
ptree.h Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
rc_item.h ADDED: ERC/DRC exclusion comments. 2024-02-24 20:05:51 +00:00
rc_json_schema.h Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
refdes_utils.h
render_settings.h Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL. 2024-04-04 13:18:55 +01:00
reporter.h Use external REPORTER for EESCHEMA_JOBS_HANDLER / PCB_JOBS_HANDLER 2023-06-10 23:35:32 +02:00
richio.h Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
scintilla_tricks.h Performance improvements for multi-page dialogs. 2024-03-10 12:18:50 +00:00
scoped_set_reset.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
search_stack.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
status_popup.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
streamwrapper.h
string_any_map.h Add STRING_ANY_MAP. 2023-10-08 02:41:17 +00:00
string_utf8_map.h Fix wrong path slash 2023-09-07 22:09:26 -04:00
string_utils.h Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
stroke_params.h Implement STROKE_PARAMS::Stroke() for SH_RECT. 2024-03-22 12:22:30 +00:00
systemdirsappend.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
template_fieldnames.h Add QA tests and expand serialization for API 2024-04-02 19:51:18 -04:00
textentry_tricks.h
title_block.h
trace_helpers.h Minor net navigator improvements. 2024-04-17 14:31:50 -04:00
ui_events.h Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
undo_redo_container.h Store group id rather than group 2024-02-28 13:27:38 -08:00
units_provider.h Centralize min/opt/max printing. 2023-10-15 22:46:23 +01:00
validators.h Improve grid cell editors appearance. 2024-04-13 23:26:01 +03:00
wildcards_and_files_ext.h ADDED: XAO export for SALOME / Gmsh workflows. 2024-04-26 01:53:43 +03:00
wx_filename.h wx_filename to kicommon 2023-09-13 21:16:27 -04:00
wx_fstream_progress.h Coverity fixes 2023-11-27 11:57:31 -08:00
wxstream_helper.h
xnode.h
zoom_defines.h Add a "hyperzoom" mode for debugging "up close". 2023-06-20 14:19:21 +01:00