kicad/common
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 warnings. 2024-04-20 20:09:17 +03:00
database DbLib: Fill entire table if cache is empty when loading one part 2024-05-03 21:04:13 +00:00
dialog_about Build time optimizations. 2024-04-27 23:49:13 +03:00
dialogs Remove the disabling of UseNativeColHeader now that we fixed our wx fork 2024-05-01 20:56:27 -04:00
drawing_sheet Restore accidentally deleted text size constraint algo. 2024-05-03 22:12:34 +01:00
font Don't assume all glyphs are outline with an outline font. 2024-03-18 22:21:01 +00:00
gal Improve moving, rendering and plotting of very small angle arcs. 2024-04-03 00:40:18 +03:00
git Can't use forward declare with std::vector 2024-04-13 08:22:20 -04:00
http_lib HTTP Libraries: Add support for descriptions of sublibraries 2024-04-30 11:57:00 +00:00
import_gfx Don't import invalid polygons. 2024-02-25 12:28:19 +00:00
io EasyEDA Std/Pro: import (some) component metadata for symbols. 2024-05-03 00:37:59 +03:00
jobs ADDED: XAO export for SALOME / Gmsh workflows. 2024-04-26 01:53:43 +03:00
kicad_curl ADDED: KiCad update check 2023-12-13 20:47:40 -05:00
libeval Silence the assert in NUMERIC_EVALUATOR on windows due to unicode 2024-04-13 15:05:09 -04:00
libeval_compiler Handle backslash-escaped quotes in libeval. 2023-09-30 17:38:44 +01:00
plotters Build time optimizations. 2024-04-27 23:49:13 +03:00
preview_items Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
project Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
properties wxWidgets 3.3 compatibility: properties API 2024-03-20 22:02:40 -04:00
settings Add optional reporting of non-KiCad design issues 2024-05-04 15:27:52 +00:00
swig Add VECTOR2L to Swig. 2024-04-23 23:37:45 +03:00
tool Ignore hidden text fields when cross-probing 2024-05-02 10:57:25 -07:00
view Improvements when working closer to 32-bit integer limits. 2024-04-23 16:34:07 +00:00
widgets ADDED: Reset option for Library tables 2024-05-02 21:31:59 +00:00
CMakeLists.txt Build time optimizations. 2024-04-27 23:49:13 +03:00
advanced_config.cpp ADDED: A new IPC API based on protobuf and nng 2024-04-02 19:34:36 -04:00
array_axis.cpp Some more wxS 2023-01-15 21:32:23 -05:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
background_jobs_monitor.cpp Fix some warnings. 2024-04-14 01:19:39 +03:00
base_screen.cpp Remove wchar mixed into ostream output 2024-04-12 20:00:38 -04:00
bin_mod.cpp
bitmap.cpp REMOVED: manual icon scale preference 2023-10-22 14:02:06 -04:00
bitmap_base.cpp Coverity warning fixes. 2023-12-18 16:09:13 -05:00
bitmap_info.cpp Rework item distribution 2024-05-05 03:35:09 +08:00
bitmap_store.cpp ADDED: Icon scaling for toolbars only 2023-10-22 14:02:06 -04:00
board_printout.cpp Fail GAL on its header leaking audit 2023-09-18 19:52:27 -04:00
build_version.cpp Add locale information to the Version Info 2024-04-18 12:41:31 -07:00
callback_gal.cpp Improve appearance of stroked knockout text. 2023-05-26 19:53:38 +01:00
cli_progress_reporter.cpp ADDED: ERC over cli....mostly 2023-08-13 20:31:19 -04:00
commit.cpp Fix overly agressive assert. 2023-12-16 16:20:36 +00:00
common.cpp Transparently support old versioned env vars for symbol and footprint libs 2024-02-15 15:31:08 +00:00
config_params.cpp config_params doesnt need color4d 2023-09-14 19:21:55 -04:00
confirm.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
dialog_shim.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
dpi_scaling_common.cpp Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
draw_panel_gal.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp dsnlexer can live in kicommon 2024-01-03 23:18:31 -05:00
eda_base_frame.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Move two pgm_base method definitions back to pgm_base.cpp 2023-12-28 08:26:10 -05:00
eda_draw_frame.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
eda_item.cpp Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
eda_pattern_match.cpp Fix bug in wildcard search handling. 2023-06-17 23:53:37 +01:00
eda_shape.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
eda_text.cpp Flip symbol editor's Y axis to match other editors. 2024-04-27 13:47:56 +01:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp Revert "Remove trailing zeros from all values" 2024-04-23 11:08:14 -07:00
env_paths.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
env_vars.cpp Remove hard-coded versioned env vars in most places 2024-02-15 15:31:08 +00:00
exceptions.cpp More defensive coding for KICAD-YP. 2024-03-24 19:22:05 +00:00
executable_names.cpp wxS more things 2023-01-22 09:41:42 -05:00
file_history.cpp Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.cpp Remove hard-coded versioned env vars in most places 2024-02-15 15:31:08 +00:00
filter_reader.cpp
footprint_filter.cpp Formatting. 2023-08-31 11:36:39 +01:00
footprint_info.cpp Deconflict some LIB_TREE_ITEM APIs so they can remain non-const. 2024-04-04 13:18:55 +01:00
fp_lib_table.cpp Attempt to prevent KICAD-YP. 2024-03-24 18:12:58 +00:00
gal_display_options_common.cpp Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
gbr_metadata.cpp Fix wrong path slash 2023-09-07 22:09:26 -04:00
gestfich.cpp 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
gr_basic.cpp Fix my commit d07738a06c. 2023-02-25 19:06:46 +01:00
gr_text.cpp RIP LIB_PIN. 2024-04-20 12:10:31 +01:00
grid_tricks.cpp Close active cell editor when showing/hiding columns. 2024-03-24 10:09:27 +00:00
hash_eda.cpp ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
hotkey_store.cpp Add autocomplete accept & cancel to the hotkeys list. 2024-03-15 00:40:17 +00:00
hotkeys_basic.cpp Add autocomplete accept & cancel to the hotkeys list. 2024-03-15 00:40:17 +00:00
json_conversions.cpp Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
kidialog.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
kiface_base.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
kiid.cpp ADDED: A new IPC API based on protobuf and nng 2024-04-02 19:34:36 -04:00
kiway.cpp Get rid of code path that has been unreachable for many years 2024-04-03 19:54:07 -04:00
kiway_express.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.cpp Banish ignore.h to core 2023-04-18 22:44:04 -04:00
kiway_player.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
launch_ext.cpp Require wxWidgets 3.2 2023-08-23 22:02:56 +00:00
layer_id.cpp Add SCH_RULE_AREA shapes to eeschema 2024-04-25 14:24:46 +00:00
lib_id.cpp Remove atrophied terminology (logical -> nickname) 2024-02-05 15:49:57 +00:00
lib_table.keywords Add versioning to lib tables 2023-01-23 22:21:12 +00:00
lib_table_base.cpp Make sure database library has updated pointer to library table 2024-05-03 15:39:33 +00:00
lib_table_grid_tricks.cpp Add batch edit for visible flag. 2023-09-26 00:31:37 +01:00
lib_tree_model.cpp Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL. 2024-04-04 13:18:55 +01:00
lib_tree_model_adapter.cpp Silence some GCC warnings 2024-04-16 11:11:50 +00:00
locale_io.cpp Move locale_io to kicommon 2023-09-11 21:51:58 -04:00
lset.cpp Add board layer view stack up sequence from front layer to back layer. 2023-12-11 15:07:58 -05:00
marker_base.cpp Small performance improvement for DRC. 2024-01-30 13:19:04 +00:00
markup_parser.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
netclass.cpp pcbnew: Change some of the default settings in board setup and netclasses 2023-01-29 23:20:40 +00:00
netlist.keywords
newstroke_font.cpp Add the fraction numeric form glyphs. 2023-07-25 16:58:16 +00:00
notifications_manager.cpp Lambda capture this for a callafter 2024-04-12 19:52:42 -04:00
origin_transforms.cpp
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp PAGE_INFO: use double instead of int to store the page size. 2023-10-31 13:47:32 +01:00
paths.cpp Add a new plugin system for the new API 2024-04-02 19:51:16 -04:00
pcb.keywords ADDED: textbox and tablecell margins. 2024-02-24 20:05:51 +00:00
pcb_plot_params.keywords ADDED: optional PDF metadata from AUTHOR and SUBJECT variables. 2024-03-14 17:40:04 +00:00
pgm_base.cpp Add weirdly missing header for msvc 2024-04-28 22:22:24 -04:00
printout.cpp
project.cpp Do not mess with KIPRJMOD when loading aux projects 2024-02-08 18:28:20 -05:00
ptree.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
rc_item.cpp ADDED: ERC/DRC exclusion comments. 2024-02-24 20:05:51 +00:00
refdes_utils.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
render_settings.cpp Don't skip highlighting selected NPTH/via holes 2024-01-24 08:23:26 -05:00
reporter.cpp Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible. 2023-10-14 23:51:37 +01:00
richio.cpp Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
scintilla_tricks.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
search_stack.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
searchhelpfilefullpath.cpp Don't use SystemDirsAppend on windows for finding the docs 2023-01-29 20:50:16 -05:00
single_top.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
status_popup.cpp Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
streamwrapper.cpp
string_utf8_map.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
string_utils.cpp Performance optimizations for database libraries. 2024-02-23 20:29:18 +03:00
stroke_params.cpp Implement STROKE_PARAMS::Stroke() for SH_RECT. 2024-03-22 12:22:30 +00:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
systemdirsappend.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
template_fieldnames.cpp Collapse LIB_FIELD into SCH_FIELD. 2024-04-13 15:42:13 +01:00
template_fieldnames.keywords
textentry_tricks.cpp Add select-all to TEXT_ENTRY_TRICKS. 2023-04-09 21:25:09 +01:00
title_block.cpp Resolve double-indirection CURRENT_DATE in title blocks. 2024-03-05 13:43:41 +00:00
trace_helpers.cpp Minor net navigator improvements. 2024-04-17 14:31:50 -04:00
ui_events.cpp Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
undo_redo_container.cpp Store group id rather than group 2024-02-28 13:27:38 -08:00
validators.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
wildcards_and_files_ext.cpp ADDED: XAO export for SALOME / Gmsh workflows. 2024-04-26 01:53:43 +03:00
wx_filename.cpp wx_filename.cpp: replace include macro.h by include string_utils.h 2023-09-09 09:38:44 +02:00
xnode.cpp Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00