mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
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.
KiCad README ============ For specific documentation like Compiling, GUI translation, old changelogs see the Documentation subfolder. Files ----- AUTHORS.txt - The authors, contributors, document writers and translators list CMakeList.txt - Main CMAKE build tool script COPYRIGHT.txt - A copy of the GNU General Public License Version 2 CTestConfig.cmake - Support for CTest and CDash testing tools Doxyfile - Doxygen config file for KiCad INSTALL.txt - The release (binary) installation instructions TODO.txt - Todo list (looks outdated) uncrustify.cfg - Uncrustify config file for uncrustify sources formatting tool Subdirectories -------------- 3d-viewer - Sourcecode of the 3D viewer bitmap2component - Sourcecode of the bitmap to pcb artwork converter bitmaps_png - Menu and program icons CMakeModules - Modules for the CMAKE build tool common - Sourcecode of the common library cvpcb - Sourcecode of the CvPCB tool demos - Some demo examples Documentation - Developer documentation. Old changelogs etcetera. eeschema - Sourcecode of the schematic editor gerbview - Sourcecode of the gerber viewer helpers - Helper tools and utilities for development include - Interfaces to the common library kicad - Sourcecode of the project manager lib_dxf - Sourcecode of the polygon library new - Staging area for the new schematic library format pagelayout_editor - Sourcecode of the pagelayout editor patches - Collection of patches for external dependencies pcbnew - Sourcecode of the printed circuit board editor plugins - Sourcecode of the new plugin concept polygon - Sourcecode of the polygon library potrace - Sourcecode of the potrace library qa - Testcases using the python interface resources - Resources for freedesktop mime-types for linux scripting - SWIG Python scripting definitions scripts - Helper scripts for various things template - Project and pagelayout templates tools - Other miscellaneous helpers for testing utils - Small utils for kicad, e.g. IDF tools
Languages
C++
61.9%
C
36.3%
CMake
0.8%
Python
0.6%
SWIG
0.1%