kicad/common
Jeff Young 437d2c4589 Overhaul of remove-unconnected's zone filling and drawing strategies.
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state.  Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.

2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.

3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.

4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).

Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
..
cli Coverity fixes. 2022-10-17 15:30:20 -04:00
database Remove call that crashes MySQL connector sometimes 2022-09-23 19:28:04 -04:00
dialog_about Update contributions 2022-09-28 13:49:30 -07:00
dialogs Pcbnew, Print preview frame: remember last size & pos during a session. 2022-10-17 16:57:19 +02:00
drawing_sheet Allow text variable resolution through properties in drawing sheet text. 2022-09-20 15:28:05 +01:00
font Add/fix some variable initializations 2022-09-25 00:48:38 +01:00
gal Work around more instances of the wxWidgets color string locale bug. 2022-09-30 20:56:25 +01:00
jobs Fix some issues in STEP exporter 2022-10-07 18:53:31 +02:00
kicad_curl Fix various typos 2022-07-21 16:31:41 +00:00
libeval Formatting. (No functional changes.) 2022-10-13 13:05:51 +01:00
libeval_compiler Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
plotters Coverity fixes. 2022-10-17 15:30:20 -04:00
plugins Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
preview_items Make arc endpoint theta consistent with polar coordinate system. 2022-10-07 08:35:14 +03:00
project Store netclass visibility separately from nets 2022-10-01 19:54:13 -04:00
settings Increase dynamic ratsnest opacity for better visibility. 2022-10-07 21:50:12 +00:00
swig Minor fixes. 2022-10-01 18:42:02 +02:00
tool Text size sanity checking for TEXT_ITEMS_GRID. 2022-10-06 13:19:08 +01:00
view ADDED: Focus follows mouse between SCH and PCB editors (option). 2022-09-30 18:32:06 +00:00
widgets Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
CMakeLists.txt Patch out the install for argparse 2022-10-12 23:17:05 -04:00
advanced_config.cpp Properties panel: post-rebase fixes and hide by default 2022-08-22 21:32:33 -04:00
array_axis.cpp Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Cleanup memory in the asset archive reader 2021-03-19 21:23:35 +00:00
base64.cpp Plot SVG embedded 2019-12-08 08:57:33 -08:00
base_screen.cpp Remove unused m_crossHairPosition 2021-06-15 21:25:27 -04:00
bin_mod.cpp Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
bitmap.cpp Add a quantized scaling mode for bitmaps. 2021-09-11 23:40:31 +01:00
bitmap_base.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
bitmap_info.cpp ADDED: Pack and Move Footprints, improved footprint spread algorithm. 2022-09-28 13:37:23 +00:00
bitmap_store.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
board_printout.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
build_version.cpp Remove KICAD_OCC build option 2022-08-18 17:06:29 -07:00
callback_gal.cpp Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
commit.cpp Cleanup compile warnings 2022-06-21 17:04:56 -07:00
common.cpp Remove tilde expansion 2021-09-27 16:10:36 +00:00
config_params.cpp Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
confirm.cpp Move IsOK() to wxRichMessageDialog so it handles <ESC> properly. 2022-09-11 12:21:16 +01:00
dialog_shim.cpp ADDED: Focus follows mouse between SCH and PCB editors (option). 2022-09-30 18:32:06 +00:00
draw_panel_gal.cpp Ensure dtor throws into catch block 2022-09-29 15:26:39 -07:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp Handle leading whitespace with std::from_chars 2022-08-15 19:30:43 -04:00
eda_base_frame.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Fix eda_doc not looking for schematic locally 2022-05-10 21:28:48 -04:00
eda_draw_frame.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_item.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
eda_pattern_match.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_shape.cpp Eeschema: edit arc: keep arc angle <= 180 degrees when moving a arc end. 2022-10-06 09:22:59 +02:00
eda_text.cpp Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp Formatting and commenting. 2022-10-06 13:19:08 +01:00
env_paths.cpp Cleanup & performance enhancements. 2022-08-01 13:09:51 +01:00
env_vars.cpp Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
exceptions.cpp Refuse to load schematics from the future. 2021-06-30 18:32:07 +01:00
executable_names.cpp Clean up some TODOs. 2021-12-24 21:10:28 +00:00
filehistory.cpp Ensure "Open Recent" and "Clear files" menu titles are updated after language change. 2022-04-11 11:09:05 +02:00
filename_resolver.cpp Don't use the 3d resolver config anymore 2022-10-08 14:27:10 -04:00
filter_reader.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
footprint_filter.cpp Formatting. 2022-10-16 18:39:37 +01:00
footprint_info.cpp ADDED: Threadpool 2022-06-24 22:59:24 +00:00
fp_lib_table.cpp fix a few compil warnings 2022-09-23 18:30:42 +02:00
gbr_metadata.cpp Other -> Unspecified and a couple of other terminology improvements. 2022-09-27 12:15:18 +01:00
gestfich.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
getrunningmicrosecs.cpp Cleanup: Replace C-only deprecated headers 2019-12-05 11:03:15 -08:00
gl_context_mgr.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
gr_basic.cpp Bug fixes in arc & textbox printing. 2022-01-31 20:00:47 +00:00
gr_text.cpp Separate text-thickness clamping into strict and lenient modes. 2022-09-08 00:28:30 +01:00
grid_tricks.cpp Implement add-new-on-return for some of our grids. 2022-09-09 13:41:13 +01:00
hash_eda.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
hotkey_store.cpp Gerber Viewer: gerbview -> Gerber Viewer in Settings 2022-07-26 18:42:55 +00:00
hotkeys_basic.cpp Hotkeys: show user config for unloaded KiFACEs 2022-07-05 13:37:45 +00:00
html_window.cpp Formatting. 2021-10-15 12:45:43 +01:00
kiface_base.cpp Update default paths for symbols/footprints 2021-10-17 16:07:46 -07:00
kiid.cpp Fix broken constructor 2022-08-14 12:57:22 -04:00
kiway.cpp Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
kiway_express.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_player.cpp Ensure the socket server is killed during destruction of the kiway player 2022-09-28 21:37:19 -04:00
languages_menu.cpp Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
launch_ext.cpp Fix opening files with spaces on Linux 2021-11-07 14:31:14 +00:00
layer_id.cpp Remove atrophied PCB NO_CONNECTS layer and its colour. 2022-09-08 00:28:31 +01:00
lib_id.cpp Add support for sub-libraries concept 2022-08-27 18:47:39 -04:00
lib_table.keywords Allow hiding symbol library tables from symbol chooser 2022-08-26 20:18:40 -04:00
lib_table_base.cpp PCM: autoload libs from installed packages to global lib tables 2022-09-23 16:16:13 +00:00
lib_table_grid_tricks.cpp Add Make selected active/inactive actions to the symbol libraries 2022-06-21 23:32:02 +00:00
lib_tree_model.cpp Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
lib_tree_model_adapter.cpp Formatting. 2022-10-16 18:39:37 +01:00
locale_io.cpp Fix various typos 2022-07-21 16:31:41 +00:00
lockfile.cpp Formatting. 2022-10-16 18:39:37 +01:00
lset.cpp Remove atrophied PCB NO_CONNECTS layer and its colour. 2022-09-08 00:28:31 +01:00
marker_base.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
markup_parser.cpp Remove unused vars 2022-09-18 08:49:07 -04:00
netclass.cpp Remove some more 2022-09-16 21:09:26 -04:00
netlist.keywords Transmit pin electrical types through to pads. 2021-01-23 00:10:01 +00:00
newstroke_font.cpp Add "Letter-like character" Omega for Unicode x2126 2022-10-01 16:39:00 -07:00
observable.cpp Add const specifiers 2020-11-18 19:50:36 +00:00
origin_transforms.cpp Add more consts all over the place 2020-10-27 11:03:35 +00:00
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
painter.cpp Only apply B&W printer fixes when printing. 2021-02-02 15:37:30 +00:00
paths.cpp Get 3d plugins working for running from build dir 2022-09-08 21:49:10 -04:00
pcb.keywords Overhaul of remove-unconnected's zone filling and drawing strategies. 2022-10-18 13:05:42 +01:00
pcb_plot_params.keywords Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pg_properties.cpp Formatting. 2022-10-16 18:39:37 +01:00
pgm_base.cpp Hotglue the unit tests to work for now 2022-10-05 17:12:32 -04:00
printout.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
project.cpp fix a few compil warnings 2022-09-23 18:30:42 +02:00
properties.cpp
property_mgr.cpp Hook libeval compiler up to rule parser 2020-07-20 22:11:53 +01:00
ptree.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
rc_item.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
refdes_utils.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
render_settings.cpp Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
reporter.cpp Add RPT_SEVERITY_DEBUG for developer-type messages 2022-09-09 17:21:47 -07:00
richio.cpp Use fgetc directly under msvc in richio 2022-08-14 16:19:24 +00:00
scintilla_tricks.cpp Fix typo. 2022-09-22 10:53:42 +01:00
search_stack.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
searchhelpfilefullpath.cpp Respect KICAD_DOCS when searching for help files 2021-04-21 19:19:25 +00:00
single_top.cpp New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
status_popup.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
streamwrapper.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
string_utils.cpp Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
stroke_params.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
strtok_r.c
systemdirsappend.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
template_fieldnames.cpp Remove ID from property fields 2022-09-30 17:19:53 -07:00
template_fieldnames.keywords Variable substitution framework. 2020-03-30 14:15:59 +01:00
textentry_tricks.cpp Evict the last bits of wx.h 2021-06-07 20:23:27 -04:00
thread_pool.cpp tread_pool: create it on the heap, because creating it static generate a DTOR issue on mingw. 2022-07-08 19:07:21 +02:00
title_block.cpp Allow recursion up the sheet hierarchy for text variable resolution. 2022-09-10 00:04:20 +01:00
trace_helpers.cpp Add debugging support for KiCad2Step command line generation. 2022-09-12 14:30:07 -04:00
transform.cpp Fix TRANSFORM::MapAngles (Third time lucky?) 2022-09-04 23:21:29 +02:00
undo_redo_container.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
utf8.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
validators.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
wildcards_and_files_ext.cpp Formatting. 2022-10-16 18:39:37 +01:00
wx_filename.cpp Add utility method to resolve symlinks 2021-06-07 20:59:59 +00:00
wx_stl_compat.cpp Blacklist hashes for 2d integer elements 2022-08-26 08:43:37 -07:00
wxdataviewctrl_helpers.cpp Formatting. 2022-10-16 18:39:37 +01:00
xnode.cpp