kicad/common
Chris Pavlina f8415633bd Switch component chooser to wxDataViewCtrl, refactor
This refactors COMPONENT_TREE_SEARCH_CONTAINER into a Model-View-Adapter
architecture comprising:

- eeschema/cmp_tree_model.h
    - CMP_TREE_NODE: Base class representing a searchable library
        set with scoring and sorting

        - CMP_TREE_NODE_UNIT
        - CMP_TREE_NODE_ALIAS
        - CMP_TREE_NODE_LIB
        - CMP_TREE_NODE_ROOT

- eeschema/cmp_tree_model_adapter.h
    - CMP_TREE_MODEL_ADAPTER: mediator between wxDataViewCtrl (via
        wxDataViewModel) and CMP_TREE_NODE*

                   +---+                      +------------------+
 +---+  Generates  | A |                      |       VIEW       |
 | M |  from libs  | D |   wxDataViewModel    |------------------|
 | O | <---------- | A | <------------------> |  wxDataViewCtrl  |
 | D |             | P |                      |------------------|
 | E | <---------> | T | <------------------- |    wxTextCtrl    |
 | L | UpdateScore | E | UpdateSearchString() |------------------|
 +---+             | R |                      |                  |
                   +---+                      +------------------+

Representing the data with a proper model allows the wxDataViewCtrl to
be updated in bulk, which is significantly faster than the old method of
populating it one item at a time. This also adds flexibility if more
data is to be added in the future (which may come in handy with the
upcoming .sweet format, as that adds more ways components can be related
to each other).

Replacing the wxTreeListCtrl with a wxDataViewCtrl also significantly
reduces the general GUI quirkiness, as wxDataViewCtrl is much more well
behaved.
2017-03-06 09:50:48 -05:00
..
dialog_about Remove KICAD_USE_SCH_IO_MANAGER build option from docs and build info. 2017-02-10 11:58:15 -05:00
dialogs Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
gal Revert "Fix setting the background color in OPENGL_GAL" 2017-03-04 08:51:35 +01:00
geometry router: snap to clearance boundaries in Highlight Collisions mode 2017-01-19 17:47:15 +01:00
kicad_curl Narrow assumption on OpenSSL use 2016-05-28 13:11:24 -04:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout Removed a few more headers from base_struct.h 2017-02-22 17:54:01 +01:00
swig Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
tool Store VIEW_CONTROLS settings on a stack 2017-03-06 15:04:27 +01:00
view Store VIEW_CONTROLS settings on a stack 2017-03-06 15:04:27 +01:00
widgets Don't init wxBitmaps before GUI is ready 2017-03-01 13:28:10 +01:00
CMakeLists.txt Break row indicators out to own class 2017-03-01 09:44:41 +01:00
base_screen.cpp Make undo/redo limits user configurable. 2015-08-05 10:28:27 -04:00
base_struct.cpp Removed a few more headers from base_struct.h 2017-02-22 17:54:01 +01:00
base_units.cpp Remove code since minimum wxwidgets version is 3.0.0. 2016-07-10 23:10:03 -04:00
basic_gal.cpp Give all GAL canvases access to a GAL_DISPLAY_OPTIONS structure instance 2017-02-20 10:52:34 +01:00
basicframe.cpp Icons options menu: code rework 2017-03-03 14:18:25 +01:00
bezier_curves.cpp Add missing source file licenses and code policy fixes. 2014-10-19 16:20:16 -04:00
bin_mod.cpp Remove old, empty header 2016-01-12 10:35:27 -05:00
bitmap.cpp Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +01:00
block_commande.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
class_bitmap_base.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
class_colors_design_settings.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
class_layer_box_selector.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
class_marker_base.cpp Plot solder mask layer: fix incorrect margin of zones drawn on this layer (zone areas were slighly larger than the actual areas) 2015-08-01 12:20:23 +02:00
class_page_info.cpp Fix Bug #1536427 ("User (Custom)" size selection in"Page Settings" issue in non English languages). 2016-01-21 11:15:13 +01:00
class_plotter.cpp Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02:00
class_undoredo_container.cpp Unified undo buffer handling code for PCB & module editor. 2016-09-12 11:50:06 +02: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
commit.cpp Fixed a crash when removing zones using the Global Deletion dialog 2016-10-20 17:15:50 +02:00
common.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
common_plotDXF_functions.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
common_plotGERBER_functions.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
common_plotHPGL_functions.cpp Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02:00
common_plotPDF_functions.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
common_plotPS_functions.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
common_plotSVG_functions.cpp Removed a few more headers from base_struct.h 2017-02-22 17:54:01 +01:00
common_plot_functions.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
config_params.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
confirm.cpp Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
convert_basic_shapes_to_polygon.cpp Gerbview: Fix 2 (minor) issues in aperture macro "moire". Add a .gbr test file for this aperture macro. 2016-10-13 10:26:49 +02:00
copy_to_clipboard.cpp Enable plot in clipboard on Linux and OSX in eeschema, and copy in clipboard in 3d viewer ( was existing on Windows, but disabled on other OS ). 2015-05-31 13:51:50 +02:00
dialog_shim.cpp Removed a few more headers from base_struct.h 2017-02-22 17:54:01 +01:00
displlst.cpp Replace dangerous cast of pointer->long 2016-01-16 22:56:58 -05:00
dlist.cpp Hide m_galCanvas and m_galCanvasActive behind accessors. Fix DLIST concatonation API corner case. 2013-12-26 16:36:43 -06:00
draw_frame.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
draw_panel.cpp Wrong type of arguments in wxPen constructor 2017-02-22 14:12:58 -05:00
draw_panel_gal.cpp Fix GAL focus bug 2017-03-05 13:58:31 -05:00
drawtxt.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
dsnlexer.cpp coverity common folder fixes (mainly not initialized members). 2015-03-11 17:04:20 +01:00
eda_dde.cpp Fix a few shadowed local vars, and coding style issues. 2016-04-22 12:44:08 +02:00
eda_doc.cpp Make doc extension (pdf) case insensitive. 2017-01-22 10:40:37 -05:00
eda_pattern_match.cpp Switch component chooser to wxDataViewCtrl, refactor 2017-03-06 09:50:48 -05:00
eda_text.cpp Removed a few more headers from base_struct.h 2017-02-22 17:54:01 +01:00
exceptions.cpp Clean up file format error message a bit more 2017-01-27 07:27:53 -05:00
filter_reader.cpp Add Pcbnew GEDA PCB module plugin support. 2012-12-28 15:52:12 -05:00
findkicadhelppath.cpp.notused improve help file finding after kiway breakage. 2014-04-14 13:49:52 -05:00
footprint_info.cpp Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
fp_lib_table.cpp Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
gbr_metadata.cpp Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02:00
gestfich.cpp Removed the space in the error message after the new line 2016-01-05 06:12:37 +13: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 Reverted 6912 with minor changes (LockCtx requires to specify canvas that locks a context). 2016-06-13 16:43:33 +02:00
gr_basic.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
grid_tricks.cpp Add missing C++ stdlib headers 2016-05-28 12:46:29 -04:00
hotkeys_basic.cpp Fixed a memleak in ReadHotkeyConfig() 2017-03-04 08:38:35 +01:00
html_messagebox.cpp Fix graphics rendering on RTL systems (lp:1559545) 2016-03-22 14:53:50 -04:00
incremental_text_ctrl.cpp Add a class to govern an "incrementing" text control 2017-02-20 10:52:34 +01:00
kiface_i.cpp OSX build improvements. 2014-10-02 19:03:52 -04:00
kiway.cpp Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +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 License for KIWAY_HOLDER 2016-08-11 14:41:15 +02:00
kiway_player.cpp Icons options menu: code rework 2017-03-03 14:18:25 +01:00
lib_id.cpp Eeschema: fix schematic I/O plugin symbol name issue. 2017-02-11 13:44:17 -05:00
lib_table.keywords Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
lib_table_base.cpp Ensure paths and filenames are always stored with '/' as separator in fp_lib_table, like in other kicad files. 2017-01-23 11:32:58 +01:00
lockfile.cpp Use XDG_CONFIG_DIR for lock file path on Linux. 2015-01-07 10:04:57 -05:00
lset.cpp Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02: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 GAL: fix grid origin and grid rendering in flipped view mode 2016-12-12 16:45:52 +01:00
painter.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
pcb.keywords pcbnew: added diff pair gap & width to Design Rules dialog & PCB file format. 2016-08-15 17:16:49 +02:00
pcb_plot_params.keywords Prepare Plot Gerber file to include advanced aperture and net attributes. 2016-09-19 13:01:36 +02:00
pgm_base.cpp Icons options menu: code rework 2017-03-03 14:18:25 +01:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
project.cpp Fix very minor issues: compil warnings (mainly deprecated and shadowed vars warnings). 2016-05-22 19:39:20 +02:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Eeschema: extend max number of units per package to 52 and clean code to easily extend this value upto 26x26 (but 52 is a reasonable max value). 2015-04-07 13:52:29 +02:00
reporter.cpp Added lazy rendering mode for HTML reporter widget (allows a faster report creation, when the report has many lines) 2015-07-24 17:47:48 +02:00
richio.cpp Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:18 -04:00
search_stack.cpp Fix windows help path bug. (fixes lp:1313412) 2015-09-20 14:23:17 -04:00
searchhelpfilefullpath.cpp Fix windows help path bug. (fixes lp:1313412) 2015-09-20 14:23:17 -04:00
selcolor.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
single_top.cpp Add more "override" markers. 2016-09-25 13:59:41 -04:00
streamwrapper.cpp Workaround for non-ASCII filenames in Windows 2017-03-03 14:30:47 -05:00
string.cpp Display more information in component selector 2017-02-07 15:01:20 -05: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
trigo.cpp Clarify atan2 overloads 2016-01-17 10:59:24 -05:00
utf8.cpp Initial KIWAY (modular-kicad) work. Various tweeks. 2014-02-03 09:10:37 -06:00
validators.cpp Envrionment variable dialog improvments. 2015-08-16 20:30:29 -04:00
wildcards_and_files_ext.cpp Pcbnew: remove dead macro code. 2016-04-18 11:03:59 -04:00
worksheet.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
worksheet_viewitem.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
wx_status_popup.cpp Code formatting. 2015-02-18 17:53:46 +01:00
wx_unit_binder.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
wxunittext.cpp Code cleanup: Remove outdated decimils to/from iu defines and conversion functions (decimils are no more in use since a long time). 2016-06-05 13:49:25 +02:00
wxwineda.cpp * KIWAY Milestone A): Make major modules into DLL/DSOs. 2014-03-19 19:42:08 -05:00
xnode.cpp Make KiCad compile with minimal warnings against SVN HEAD of wxWidgets as of today. 2014-01-07 19:34:04 -06:00
zoom.cpp Fix a UI policy issue. Very minor cosmetic change: give same look to Zoom and Grid selection in 2 menus. 2017-01-20 11:35:24 +01:00