kicad/common
Jeff Young 74acb76e7f Switch UNIT_BINDER and DIALOG_SHIM to local units.
The general idea is to support user-units inheritance.  The
UNIT_BINDER allows wrapped controls to inherit units from their
parent dialog, while KEYWAY_HOLDER and DIALOG_SHIM allow child
KEYWAY_HOLDERs or DIALOG_SHIMs to inherit units from their
parent.

The GetUserUnits() method signature has to move to KEYWAY_HOLDER
rather than KEYWAY_PLAYER (where it makes more sense) as it’s the
only common ancestor of KEYWAY_PLAYER and DIALOG_SHIM.

As long as we'll be using the UNIT_BINDER more widely, it also
makes sense to move evaluation and validation into it.

This commit also provides eeschema’s DIALOG_LABEL_EDITOR and
pcbnew’s DIALOG_TRACK_VIA_PROPERTIES and DIALOG_SET_GRID as
models of how to use the new user-units inheritance, eval, and
validation.

Fixes: lp:593795
* https://bugs.launchpad.net/kicad/+bug/593795

(cherry picked from commit c8bc53e)
2018-07-17 15:09:53 +01:00
..
dialog_about Correct my name in AUTHORS.txt and About dialog 2018-06-13 23:10:27 -06:00
dialogs Dialog consistency and beautification. 2018-07-17 15:09:01 +01:00
gal fix misspelled 'allow to' -> 'allow one to' 2018-07-11 10:35:14 -04:00
geometry Code formatting 2018-06-23 01:59:49 +02: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
libeval Switch UNIT_BINDER and DIALOG_SHIM to local units. 2018-07-17 15:09:53 +01:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
plotters HPGL plotter fix incorrect scaling factor 2018-05-25 20:50:00 +02:00
preview_items Fix window/crossed selection mode recognition in flipped view 2018-04-30 14:57:38 +02:00
swig Defining time_t for Python 2018-03-27 09:43:23 -07:00
system Switched coroutine library from Boost libcotext to custom libcontext. 2017-03-07 11:45:29 -05:00
tool fix misspelled 'Toogle' -> 'Toggle' 2018-07-11 10:34:53 -04:00
view Don't center objects behind the DRC dialog. 2018-07-17 15:09:43 +01:00
widgets Switch UNIT_BINDER and DIALOG_SHIM to local units. 2018-07-17 15:09:53 +01:00
CMakeLists.txt DIALOG_FILE_DIR_PICKER: dialog to select both files and directories 2018-05-25 08:51:45 +02:00
base_screen.cpp Fix a number of untranslated strings. 2018-06-12 17:05:25 -07:00
base_struct.cpp Organize trace debugging code for ease of maintenance. 2018-04-13 09:59:01 -04:00
base_units.cpp Implement user units uniformly in EDA_DRAW_FRAME 2018-07-17 15:09:51 +01: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 Changed negative recursion level argument to positive 2018-04-19 08:39:46 +02:00
bin_mod.cpp Remove old, empty header 2016-01-12 10:35:27 -05:00
bitmap.cpp Fix overflow on 32-bit machine 2018-06-04 16:41:16 -07:00
bitmap_base.cpp Update code after file renaming 2018-01-29 09:39:49 +01:00
block_commande.cpp Fix code after renaming files 2018-01-29 11:37:29 +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 Save through hole pads color to config file 2018-06-22 11:34:56 -04:00
commit.cpp Fix issue with prev d83cff63f 2018-06-27 16:40:57 -07:00
common.cpp Fix user configuration path bug on Linux. 2018-05-07 18:23:41 -04:00
config_params.cpp Fix code after renaming files 2018-01-29 16:40:22 +01:00
confirm.cpp Fix message mismatch in YesNoCancelDialog. 2018-05-02 21:49:57 +01:00
convert_basic_shapes_to_polygon.cpp Fix a few minor Coverity warnings 2018-02-15 10:16:17 +01:00
copy_to_clipboard.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
dialog_shim.cpp Switch UNIT_BINDER and DIALOG_SHIM to local units. 2018-07-17 15:09:53 +01:00
displlst.cpp Fix default button and focus for ModEdit save. 2018-03-09 00:52:45 +00:00
dlist.cpp Fixed an assert in DHEAD::append() 2018-05-11 10:23:40 +02:00
draw_frame.cpp Implement user units uniformly in EDA_DRAW_FRAME 2018-07-17 15:09:51 +01:00
draw_graphic_text.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
draw_panel.cpp Revert broken hotkey fix. 2018-04-14 08:24:25 -04:00
draw_panel_gal.cpp Bug fixes in Length Tuning UI. 2018-05-20 23:48:29 +01:00
dsnlexer.cpp Revert "Don't be pedantic about the file format." 2018-03-16 18:11:36 +00:00
eagle_parser.cpp Use default for attribute "display" if not found. 2018-05-11 16:11:38 +01:00
eda_base_frame.cpp At very first launch, old settings/config does not exist 2018-05-01 09:19:27 -04: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 More forgiving keyword search. 2018-05-10 12:16:00 +01:00
eda_graphic_text_ctrl.cpp Fix code after renaming files 2018-01-29 16:40:22 +01:00
eda_pattern_match.cpp Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_text.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
env_paths.cpp Fixed normalizeAbsolutePaths() condition 2018-05-25 11:07:51 +02: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
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 Update footprint filter type-in to be implicit * 2018-05-08 10:44:14 -07:00
footprint_info.cpp Async hardening 2018-06-04 15:08:40 -07:00
fp_lib_table.cpp fp_lib_table: explicit assumption by assert 2018-06-29 19:36:58 -04:00
gbr_metadata.cpp gerber plot: fix incorrect string attribute for BGA pads on copper layer 2018-05-29 12:30:52 +02:00
gestfich.cpp Fix unnecessary copy initialization detected by clang-tidy 2018-01-09 18:22:10 -05: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 Do not draw circles of 0 radius 2018-02-06 17:28:56 +01:00
grid_tricks.cpp Notify clients when GRID_TRICKS toggles checkboxes. 2018-03-24 13:13:57 +00:00
hash_eda.cpp Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hotkeys_basic.cpp hotkeys: Don't import v4 hotkeys automatically 2018-06-29 11:20:11 -07: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 eeschema: workaround for 64kByte string length limit in wxString::Format() causing segfaults in netlist update under Windows 2018-03-12 18:26:25 +01: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 fix misspelled 'an other' -> 'another' 2018-04-08 13:24:37 -04:00
layer_box_selector.cpp fix code after file renaming 2018-01-31 09:24:02 +01:00
lib_id.cpp Rewrite test for valid characters in names 2018-06-29 09:42:10 +02: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
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Partial revert of 3804f6 to correct assert change 2018-05-30 09:17:51 -07:00
marker_base.cpp Implement selection brightening for DRC. 2018-07-17 15:09:40 +01:00
md5_hash.cpp fix minor compil warnings 2017-12-05 18:02:53 +01:00
msgpanel.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +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 origin viewitem needs to account for size zoom 2018-06-20 12:08:57 -07:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04: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 Use paths relative to the executable on Windows 2018-06-27 11:02:48 +02:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
project.cpp Make sure Cvpcb doesn't use its own FP_LIB_TABLE. 2018-05-01 21:49:03 +01: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 quotes in UI messages 2017-12-15 07:33:07 -05:00
search_stack.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
searchhelpfilefullpath.cpp Add explicit file:// URI scheme for html help files 2018-03-28 17:18:15 -04:00
selcolor.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +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 Convert symbol library editor over to use symbol library table. 2017-11-09 18:50:20 -05:00
status_popup.cpp Bug fixes in Length Tuning UI. 2018-05-20 23:48:29 +01:00
streamwrapper.cpp Fix a few doxygen warnings and add a few comments. 2017-07-04 11:08:27 +02:00
string.cpp Move Fields Editor to wxGrid. 2018-04-17 11:39:44 +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 Replace printf debugging output in common/project.cpp with wxLogTrace. 2018-04-30 15:18:09 -04:00
trigo.cpp Revise TestSegmentHit to catch missing hits 2018-03-30 17:26:34 -07:00
undo_redo_container.cpp fix code after file renaming 2018-01-31 09:24:02 +01:00
utf8.cpp Fix warnings for unreferenced local variables 2018-04-18 15:08:37 -04:00
validators.cpp DIALOG_ENV_VAR_CONFIG: allows using lowercase chars when typing an env var name. these lowercase chars are converted to uppercase on the fly. 2018-04-10 20:23:49 +02:00
wildcards_and_files_ext.cpp UI string normalization. 2017-12-24 10:04:32 -05:00
worksheet.cpp page layout editor: fix a crash on block move. 2018-03-10 10:25:07 +01:00
worksheet_viewitem.cpp Gerbview: GAL mode: shows the page worksheet, similar to legacy mode. 2018-06-01 09:11:43 +02: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
zoom.cpp Legacy canvas: fix issue when zooming in/out using mousewheel: slightly shifts screen up/down. 2018-06-19 19:53:00 +02:00