Commit Graph

11601 Commits

Author SHA1 Message Date
Wayne Stambaugh 329fc18732 Convert component chooser dialog over to use symbol library table.
Change all of the component tree helper objects to use LIB_IDs instead of
LIB_ALIAS pointers.  LIB_ALIAS pointers are dangerous to use because they
can be deleted in the symbol library editor while the component chooser
dialog has copies of them.  With LIB_IDs, the LIB_ALIAS pointer is found
on demand and can be guaranteed to be valid.

Update the chooser dialog to load the symbol library table instead of the
libraries defined in the project file and return a LIB_ID instead of a
LIB_ALIAS pointer.

Modify SCH_BASE_FRAME::SelectComponentFromLibrary() to handle the LIB_IDs
returned from the component chooser dialog.
2017-11-09 18:50:18 -05:00
Wayne Stambaugh 81e8d8fd89 Symbol library table remapping fixes.
Use GetPath() instead of GetFullPath() when initializing environment
variable table entries KICAD_SYMBOL_DIR and KICAD_PTEMPALTE due to
unexpected trailing path separator which was causing find libraries
by URI to fail.

Don't create a project symbol library table when there are no libraries
not found in the global symbol library table.

Don't add non-existent libraries to project symbol library table.

Clear symbol library table when loading a new schematic.

Minor remapping status message improvements.
2017-11-09 18:50:18 -05:00
Wayne Stambaugh 0cf2df51c6 Convert symbol library viewer over to symbol library table.
Remove all instances of PART_LIBS and replace them with SYMBOL_LIB_TABLE
except for the CMP_TREE_MODEL_ADAPTER which requires updating as well.

Return the selected symbol using the LIB_NICKNAME:SYMBOL_NAME format when
viewer is launched as modal.

Add code to SYMBOL_LIB_TABLE object to allow enumerating symbol library
power symbols only.

Add a non-const version of LIB_TABLE::findRow().

Remove redundant information from Doxygen comments.
2017-11-09 18:50:17 -05:00
Wayne Stambaugh 96c3d5ff21 Enable symbol library table remapping.
Check the if the schematic being loaded has been remapped (no symbol
library table nicknames defined) and remap accordingly.

Fix issues when resolving the library symbol links in the schematic
symbols.

Add cache library fallback when resolving symbols that cannot be
remapped.

Add remap complete message to remap dialog.

Add HasLibrary() helper to LIB_TABLE_BASE.

Fix issues when loading library symbols using symbol library table.

Add hashing function to symbol library table.

Improve the symbol panel message to warn user when cache library is
used to resolve symbol.
2017-11-09 18:50:17 -05:00
Maciej Suminski 636298b5dc Fixed 2 warnings in eeschema/sch_plugin.cpp
- removed an implicit conversion of NULL to boolean false
- removed an unused variant of not_implemented() function
2017-11-10 00:33:26 +01:00
Maciej Suminski d8f4e35c9a Minor cleanups and improvements
Just a set of small code cleanups to fix a bunch of warnings
and remove dead code.
Other than that the 'build:' commits avoid/remove/fix the
installation of certain files:
 - it doesn't make much sense to install the INSTALL.txt
 - *.bat scripts shouldn't be installed on UNIX systems
 - use CMAKE_INSTALL_* consistently to install files in the
   correct places
2017-11-10 00:19:14 +01:00
Marvin Schmidt 5e013e916b Use std::remove_pointer instead of own implementation (NFC) 2017-11-09 19:52:18 +01:00
Marvin Schmidt 273437641c Remove some else-after-return's 2017-11-09 19:52:18 +01:00
Marvin Schmidt c36d666dde Remove duplicate #include 2017-11-09 19:52:18 +01:00
Marvin Schmidt 69974b73db Remove some extra semicolons 2017-11-09 19:52:18 +01:00
Marvin Schmidt 20f3cdaaea Remove orphaned code files 2017-11-09 19:52:18 +01:00
Marvin Schmidt a155a5c780 Remove some dead code 2017-11-09 19:52:17 +01:00
Marvin Schmidt 7daaa3e9d9 Remove unused #define 2017-11-09 19:52:17 +01:00
Marvin Schmidt 2b78183bb4 Fix a typo 2017-11-09 19:52:17 +01:00
Marvin Schmidt c21a2a8a55 build: Don't install *.bat scripts on Unix 2017-11-09 19:52:17 +01:00
Marvin Schmidt 8a62aeb18d build: Remove dead code 2017-11-09 19:52:17 +01:00
Marvin Schmidt f9516cb48c build: Use CMAKE_INSTALL_DATADIR 2017-11-09 19:52:17 +01:00
Marvin Schmidt b6c3d4eb32 build: Don't install INSTALL.txt 2017-11-09 19:52:17 +01:00
jean-pierre charras 87d06e5269 Very minor fixes in some sentences (remove trailing space and add missing period). 2017-11-09 14:34:16 +01:00
Adam Wolf 558150c112 Added patch for wxwidgets for macOS High Sierra (10.13) 2017-11-09 07:58:05 -05:00
Maciej Suminski cd21218c34 Fixed a memleak in libedit undo buffer, minor code cleanup
In LIB_EDIT_FRAME::GetComponentFrom{Undo,Redo}List() methods, the
PICKED_ITEMS_LIST object which was retrieved from undo/redo list has not
been destroyed.

Rewritten SCH_SCREEN::ClearUndoORRedoList() to be easier to read.

Minor whitespace formatting.
2017-11-08 17:32:59 +01:00
jean-pierre charras e985fc18e0 Fix a corner case in richio.cpp that creates a memory allocation overrun (allocate more space).
Also allows more space in memory allocation to read strings.

Could fix this bug:
Fixes: lp:1730861
https://bugs.launchpad.net/kicad/+bug/1730861
2017-11-08 13:11:51 +01:00
Maciej Suminski 40129d2244 Fixed cursor freeze after canceling a tool with cursor over a drag point
Fixes: lp:1716702
* https://bugs.launchpad.net/kicad/+bug/1716702
2017-11-08 11:41:45 +01:00
jean-pierre charras 7d24a576e4 Avoid drawing into a non valid gl context when closing the DIALOG_PAD_PROPERTIES dialog
Fixes: lp:1729843
https://bugs.launchpad.net/kicad/+bug/
2017-11-07 18:33:53 +01:00
Oliver c932e4af1b Added IGES replacement option
- If no STEP substitute is found, look for IGES
2017-11-07 08:34:38 -05:00
jean-pierre charras aefa0bf3b4 Avoid 0 sized grid in dialog_pad_properties.cpp 2017-11-07 10:18:13 +01:00
jean-pierre charras 81ad3366f5 Avoid division by 0 in GAL::GetGridPoint( const VECTOR2D& aPoint ) 2017-11-07 09:45:03 +01:00
jean-pierre charras 1c356899ab Fix wxWidget warning in panel_prev_3d_base.cpp dialog 2017-11-07 09:43:27 +01:00
Oliver 30455092c8 Replace WRL files with STEP equivalent
- Use simple filename matching
- If a STEP file is found, use that instead
- Similar behaviour to the infamous StepUp tool

Fixes lp:1710796

https://bugs.launchpad.net/kicad/+bug/1710796
2017-11-06 18:41:40 -05:00
Eldar Khayrullin 9df4ae65ea pcad2kicadpcb: import solder mask for Mounting Holes
Fixes: lp:1730173
* https://bugs.launchpad.net/kicad/+bug/1730173
2017-11-06 10:23:23 +01:00
jean-pierre charras bf013f5b63 Fix minoe compil warnings (missing override) 2017-11-06 10:23:00 +01:00
Marvin Schmidt ad9916e2cc box2: Remove wrong use of typename keyword 2017-11-05 23:03:52 +01:00
Marvin Schmidt a6ca44d9f0 vector2d: Fix traits usage and use std::numeric_limits 2017-11-05 23:03:52 +01:00
Marvin Schmidt fc08c58059 vector2d: Remove duplicate #include 2017-11-05 23:03:52 +01:00
Tomasz Włostowski 1959af1ad1 refactoring: forgot to add VIEW/VIEW_CONTROLS initialization in gerber, causig a crash. Fixing. 2017-11-05 22:09:56 +01:00
jean-pierre charras 78fa31315c Better Dxf import dialog:
Better look.
Better management of user offset settings (used only in Legacy mode).
The default width of lines and circle can be set.
2017-11-05 15:20:34 +01:00
Wayne Stambaugh d5290bdfe0 Fix malformed symbol libraries when importing Eagle schematics.
KiCad library symbol text objects cannot contain carriage returns and/or
line feeds which isn't the case with Eagle symbol libraries.  Otherwise,
the library file will be corrupt when it is saved.  Fixing this in the
legacy plugin would break the current file format so just replace them
with underscores.  Ideally these text objects should be broken into
multiple text objects but the current plugin design doesn't support
this.
2017-11-04 21:36:47 -04:00
Tomasz Włostowski dcb75a9b24 qa/pcb_test_window: fix build with GITHUB_PLUGIN disabled 2017-11-05 01:18:50 +01:00
Maciej Suminski ecaf1789c7 Fix builds without Github plugin enabled 2017-11-05 00:13:24 +01:00
Tomasz Włostowski a67d24a34e revert link-time plugin registration causing plugins to be incorrectly enumerated 2017-11-04 21:00:42 +01:00
Maciej Suminski f5c561e281 Fix build error due to missing optional::value_or() 2017-11-04 11:29:55 +01:00
Maciej Suminski 6cc1f66dfd Added missing include directories to qa 2017-11-04 11:11:04 +01:00
Tomasz Włostowski 9932ff32ae refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
Tomasz Włostowski 3292d622c1 qa: added simple GAL+Tool Framework test program 2017-11-03 20:02:06 +01:00
Tomasz Włostowski b945d2a708 cleanup: replace CLASS_MIRE with CLASS_PCB_TARGET for naming clarity 2017-11-03 20:02:06 +01:00
Tomasz Włostowski 3170eba801 refactoring: implemented SELECTION_TOOL's own GetCollectorsGuide() to avoid dependency on PCB_BASE_FRAME 2017-11-03 20:02:06 +01:00
Tomasz Włostowski c9817df9db refactoring: implemented BOARD-specific view Add()/Remove()/Update() methods in PCB_VIEW, moved to libpcbcommon 2017-11-03 20:02:06 +01:00
Tomasz Włostowski 0245912c34 refactoring: split BOARD_ITEM::SwapData to use polymorphic per-item methods 2017-11-03 20:02:06 +01:00
Tomasz Włostowski 26f862a9d0 refactoring: remove PNS router dependency on PCB_EDIT_FRAME 2017-11-03 20:02:06 +01:00
Tomasz Włostowski d0ef881a53 refactoring: make BOARD_COMMIT independent from pcbnew 2017-11-03 20:02:06 +01:00