kicad/common
John Beard 8297ab24e4 DRC: Break out courtyard overlap function
Introduce the concept of a DRC_PROVIDER which allows
to separate the various DRC functions to their own
areas. This allows, amongst other things, a slimmer core
DRC class, and allows DRC functions to be separately testable.

The courtyard DRCs (overlap, missing and malformed)
are the first victims, so instrumentation can be added to this function.

Add some unit tests on this DRC function, as well a few re-usable PCB-based
utility functions in a library (qa_pcbnew_utils) that could be shared between
unit tests and other utilities.
2019-01-23 13:27:52 -05:00
..
dialog_about Add initial support for Phoenix (new wxPython binding) 2018-10-26 13:21:11 +02:00
dialogs Lay groundwork for loading the initial global footprint library table. 2019-01-20 13:09:49 -05:00
gal GAL: Add transparency for bitmaps and Cairo draw 2019-01-04 13:40:19 -08:00
geometry polygon: Fix missing steiner removal and fracture 2019-01-18 09:19:39 -08:00
kicad_curl Remove useless includes and more fixes to avoid including curl.h in files, when not mandatory. 2017-09-05 08:07:31 +02:00
legacy_gal modedit: Allow name input for new footprint library 2019-01-22 15:40:10 -08:00
legacy_wx modedit: Allow name input for new footprint library 2019-01-22 15:40:10 -08:00
libeval Libeval: Use add_custom_target so grammar.c won't be cleaned 2019-01-05 07:44:06 -08:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
plotters Gerber plotter: rename UseX2Attributes() to UseX2format, and fix incorrect/outdated comments. 2018-12-09 10:23:07 +01:00
preview_items pcbnew: Fix zone cutout duplication 2019-01-23 06:42:07 -08:00
swig swig: clear up some warnings 2018-12-20 11:04:55 -08:00
system Switched coroutine library from Boost libcotext to custom libcontext. 2017-03-07 11:45:29 -05:00
tool Replace DIM() macro 2019-01-06 08:43:12 -08:00
view pcbnew: Cut only copied objects 2019-01-11 17:27:29 -08:00
widgets Custom grid editors: cancel changes on escape. 2019-01-19 14:54:58 -05:00
CMakeLists.txt DRC: Break out courtyard overlap function 2019-01-23 13:27:52 -05:00
advanced_config.cpp Disable legacy canvas on GTK3 2018-12-28 11:36:09 -05:00
base_screen.cpp Add shortcuts to setting dialogs for track widths, via sizes and grid sizes. 2018-11-17 00:35:06 +00:00
base_struct.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
base_units.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
basic_gal.cpp DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list. 2018-04-07 19:57:26 +02:00
bezier_curves.cpp DXF import: add import of DXF splines that are converted to Bezier curves. 2018-07-22 18:39:47 +02:00
bin_mod.cpp Fixed memory leaks 2018-12-20 10:05:58 +01:00
bitmap.cpp Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
bitmap_base.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
board_printout.cpp When printing, pads are not always printed (especially on tech layers) 2018-12-22 13:44:49 +01:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
colors.cpp Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
colors_design_settings.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
commit.cpp Fix issue with prev d83cff63f 2018-06-27 16:40:57 -07:00
common.cpp Coding policy fixes in common/common.cpp. 2019-01-15 12:23:26 -05:00
config_params.cpp Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
confirm.cpp Make ModEdit and LibEdit library tree actions more consistent. 2018-10-03 22:46:41 +01:00
convert_basic_shapes_to_polygon.cpp Fix a few minor Coverity warnings 2018-02-15 10:16:17 +01:00
dialog_shim.cpp Dialog: Esc key closes a grid editor first. 2019-01-19 14:55:15 -05:00
displlst.cpp Move symbol management to a standard Save As... model. 2018-07-25 14:41:20 +01:00
dlist.cpp Fixed an assert in DHEAD::append() 2018-05-11 10:23:40 +02:00
draw_graphic_text.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
draw_panel_gal.cpp gal: Save canvas type unconditionally 2019-01-09 10:36:01 -08:00
dsnlexer.cpp Revert "Don't be pedantic about the file format." 2018-03-16 18:11:36 +00:00
eagle_parser.cpp Eeschema: Copy attributes from eagle. 2018-07-31 11:58:01 -07:00
eda_base_frame.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
eda_dde.cpp Keep track of open sockets and dispose of them in d'tor. 2018-04-04 12:02:40 +01:00
eda_doc.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
eda_dockart.cpp eeschema-gal: temporarily disable scrollbar code (causes crashes after Jeff's changes) 2018-10-09 11:08:55 +01:00
eda_pattern_match.cpp Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_size_ctrl.cpp Clean up units infrastructure after g_UserUnit removal. 2018-07-17 15:12:36 +01:00
eda_text.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
env_paths.cpp Fixed normalizeAbsolutePaths() condition 2018-05-25 11:07:51 +02:00
env_vars.cpp Centralise utilities for env variables. 2018-10-03 11:53:10 -04:00
exceptions.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
executable_names.cpp Move executable name constants to own file 2017-03-23 09:23:45 -04:00
filename_resolver.cpp Fold 3D Search Paths dialog into Configure Paths. 2018-07-17 15:11:01 +01:00
filter_reader.cpp richio.h, class LINE_READER: prefix variable member names by "m_", like in other classes in Kicad. 2017-11-12 18:29:56 +01:00
footprint_filter.cpp Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
footprint_info.cpp Null pointer check in FOOTPRINT_LIST::GetInstance() 2018-10-12 23:51:31 +02:00
fp_lib_table.cpp Make ModEdit and LibEdit library tree actions more consistent. 2018-10-03 22:46:41 +01:00
gbr_metadata.cpp Drill files generation: add 3 structured comments in NC (Excellon) drill files and remove duplicate code. 2018-11-24 08:51:58 +01:00
gestfich.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
getrunningmicrosecs.cpp Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h. 2017-01-02 13:49:36 +01:00
gl_context_mgr.cpp Dealing with inconsistent wxGLCanvas::IsDisplaySupported() 2018-06-11 12:26:59 +02:00
gr_basic.cpp Add line style drawing. 2018-10-09 11:08:56 +01:00
grid_tricks.cpp Fix a compil warning 2019-01-22 18:01:04 +01:00
hash_eda.cpp Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hotkey_store.cpp Add some hotkey store tests 2018-09-28 08:27:57 -04:00
hotkeys_basic.cpp Add read-only option for hotkey list, use for list dialog 2018-10-04 07:47:21 -04:00
html_messagebox.cpp Release mouse before closing HTML_MESSAGE_BOX. 2018-05-21 13:18:41 +01:00
incremental_text_ctrl.cpp Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
kiface_i.cpp Removed old debug output 2017-12-17 18:43:43 +01:00
kiway.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
kiway_express.cpp Teach cvpcb about new KIWAY based cross-probing, factor out MAIL_T into mail_type.h 2014-04-22 10:16:19 -05:00
kiway_holder.cpp Switch UNIT_BINDER and DIALOG_SHIM to local units. 2018-07-17 15:09:53 +01:00
kiway_player.cpp Unified preferences dialog framework. 2018-07-17 15:11:17 +01:00
lib_id.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
lib_table.keywords Added "enabled" parameter for LIB_TABLE_ROW 2017-11-21 08:18:06 -05:00
lib_table_base.cpp Treat ${...} and $(...) envvar references uniformly. 2018-05-05 23:40:40 +01:00
lib_tree_model.cpp More performance enhancements. 2018-08-06 13:49:27 +01:00
lib_tree_model.h More performance enhancements. 2018-08-06 13:49:27 +01:00
lib_tree_model_adapter.cpp Highlight only leaf nodes when filtering lib tree. 2018-08-19 17:59:32 +01:00
lib_tree_model_adapter.h More performance enhancements. 2018-08-06 13:49:27 +01:00
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
marker_base.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
md5_hash.cpp fix minor compil warnings 2017-12-05 18:02:53 +01:00
msgpanel.cpp Remove colours from message text items. 2018-07-17 15:11:40 +01:00
netlist.keywords Fix Bug #1381287 (CvPCB ignores the footprint filter field on aliased components) 2015-01-02 08:52:29 +01:00
newstroke_font.cpp all: new Russian GOST patch - author Konstantin Baranovskiy 2013-03-28 00:38:20 +04:00
observable.cpp Coverity fixes (mostly initializing variables) 2017-02-01 17:31:55 +01:00
origin_viewitem.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp Wire m_showPageLimits control up to GAL canvas. 2018-07-17 15:13:29 +01:00
pcb.keywords Revert "Allow 5.0 to read 6.0 files with hole-to-hole clearance settings." 2018-03-16 22:22:15 +00:00
pcb_plot_params.keywords Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
pgm_base.cpp fix a minor wxWidgets assert. 2019-01-10 16:23:52 +01:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
printout.cpp Removed default line width setting from the printing dialog 2018-10-31 19:17:30 +01:00
project.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
reporter.cpp Optionally sort reporter messages 2018-05-22 13:55:02 -07:00
richio.cpp Fix compile error on Linux. 2018-08-14 14:57:42 +01:00
search_stack.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
searchhelpfilefullpath.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
selcolor.cpp Clean up file locations and names. 2018-09-22 16:23:13 +01:00
settings.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
single_top.cpp Revert absolute-path asserts and fix off-by-one bug. 2018-09-15 22:36:09 +01:00
status_popup.cpp status_popup: Allow VECTOR2I input 2018-12-13 12:32:58 -08:00
streamwrapper.cpp Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
string.cpp Turn off escaping names for now. 2018-09-27 17:21:49 +01:00
strtok_r.c Add strtok_r.c 2013-12-10 17:52:51 -06:00
systemdirsappend.cpp Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members. 2015-05-15 14:49:11 +02:00
text_utils.cpp change UTF8& operator+=( wchar_t ch ) to UTF8& operator+=( unsigned ch ), because swig does not like wchar_t. 2017-12-08 17:57:53 +01:00
trace_helpers.cpp Break zoom control into a self-contained controller 2018-11-26 14:40:09 -05:00
undo_redo_container.cpp fix code after file renaming 2018-01-31 09:24:02 +01:00
utf8.cpp UTF8: Fix MSVC builds 2018-10-18 11:35:45 -07:00
validators.cpp Fix ENV_VAR_NAME_VALIDATOR typing characters backwards 2018-10-22 15:07:44 +02:00
wildcards_and_files_ext.cpp Wildcards: unify handling of all files wildcards 2019-01-09 08:57:42 -05:00
worksheet.cpp eeschema-gal: Base refactoring before GALification of the eeschema legacy canvas. 2018-10-09 11:08:52 +01:00
worksheet_viewitem.cpp pcbnew: Draw title block normally even when the view is flipped 2018-10-31 19:17:30 +01:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00