Dick Hollenbeck
1edaa773d3
Fix minor SWIG issues due to git rebase issues.
2016-09-20 21:52:48 -04:00
Dick Hollenbeck
1718ac1083
More SWIG improvements.
...
SWIG support for BOARD_ITEM_CONTAINER.
Split board.i into smaller included *.i files.
Add depencies on these smaller *.i files to CMakeLists.txt
2016-09-20 21:48:44 -04:00
Chris Pavlina
c57fd7ccbf
Fix signed/unsigned comparison warning in PNS::LINE::ClipVertexRange
2016-09-20 14:26:16 -04:00
Dick Hollenbeck
d957670034
Add more HANDLE_EXCEPTIONS(), board.i refactoring.
2016-09-20 12:00:17 -04:00
Dick Hollenbeck
7311f07eaf
SWIG Improvements
...
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
which is to be applied to any function which needs C++ to python
exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
which rebuilds the swig generated *.cxx file when one of its dependencies
change.
*) Re-architect the board.i file so that it can be split into multiple *.i
files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
phase III.
2016-09-20 11:59:43 -04:00
Dick Hollenbeck
9ad49dc2d1
Split IO_ERROR out of richio.* and store Problem() and Where() separately
2016-09-20 11:56:18 -04:00
Maciej Suminski
4bb16afc9e
Fixed text placement tool in FP editor
...
Fixes: lp:1625304
* https://bugs.launchpad.net/kicad/+bug/1625304
2016-09-20 10:19:33 +02:00
Maciej Suminski
61e415bdb9
Deboostified ratsnest model in GAL
2016-09-19 17:25:31 +02:00
jean-pierre charras
6edee2ae1d
Prepare Plot Gerber file to include advanced aperture and net attributes.
...
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
2016-09-19 13:01:36 +02:00
Maciej Suminski
7f9380af26
Update the status panel after every commit.
2016-09-19 12:08:29 +02:00
Maciej Suminski
4ffd3c8511
Fix ratsnest after running DRC
...
Fixes: lp:1624000
* https://bugs.launchpad.net/kicad/+bug/1624000
2016-09-19 12:08:29 +02:00
Simon Richter
6689c7e75e
Include header instead of full source
2016-09-16 09:29:44 +02:00
Maciej Suminski
48c3f577a9
Do not include ratsnest_viewitem.cpp in two CMakeLists.
2016-09-15 22:04:07 +02:00
Maciej Suminski
5e9b2247eb
Fixed SWIG interface
...
Now Add()/Remove() methods are provided via BOARD_ITEM_CONTAINER
interface.
2016-09-15 16:14:38 +02:00
Maciej Suminski
8590809c7a
Selection tool fix to enable selecting overlapping items
...
Fixes: lp:1499022
* https://bugs.launchpad.net/kicad/+bug/1499022
2016-09-15 13:25:08 +02:00
Tomasz Wlostowski
104a066268
Faster layer visibility switching in GAL
...
Fixes: lp:1623055
* https://bugs.launchpad.net/kicad/+bug/1623055
2016-09-14 11:58:10 +02:00
Maciej Suminski
516510774c
Fixed ratsnest for nodes surrounded with zones
2016-09-13 17:13:42 +02:00
Maciej Suminski
b00ca19f41
Deboostified ratsnest algorithm.
2016-09-13 14:58:33 +02:00
Maciej Suminski
17806b58f6
Fixed unused variable warnings
2016-09-13 10:06:49 +02:00
Maciej Suminski
03f4a89521
More descriptive method names for RN_NODE
2016-09-13 10:06:25 +02:00
Maciej Suminski
02cfab4266
Display a message when a locked component is not removed
2016-09-12 13:45:57 +02:00
Maciej Suminski
c52a9d850b
Converted netlist updater to use BOARD_COMMIT
...
Fixes: lp:1579910
* https://bugs.launchpad.net/kicad/+bug/1579910
2016-09-12 13:45:57 +02:00
Maciej Suminski
3425624510
Compile_Ratsnest() refreshes track labels
2016-09-12 13:45:57 +02:00
Maciej Suminski
3bcbe0dfbd
GAL ratsnest code cleanup
2016-09-12 13:45:57 +02:00
Maciej Suminski
0cc2c87ef8
Removed BOARD::AppendNet()
...
It is handled by BOARD::Add() now.
2016-09-12 13:45:57 +02:00
Maciej Suminski
77f74646af
Auto update ratsnest data on net change
2016-09-12 13:45:57 +02:00
Maciej Suminski
d33672cce7
Added missing break
2016-09-12 13:45:57 +02:00
Maciej Suminski
828f28ecca
Ratsnest Add()/Remove()/Update() return true on success
2016-09-12 13:45:57 +02:00
Maciej Suminski
790b6eaeb9
Fixed ratsnest updates on undo/redo
2016-09-12 13:45:57 +02:00
Maciej Suminski
694aa7ff5b
Handle pad autonumbering when the number set is empty.
2016-09-12 13:45:57 +02:00
Maciej Suminski
267f01fa69
Code formatting (BOARD_NETLIST_UPDATER)
2016-09-12 13:45:57 +02:00
Maciej Suminski
029e275aa0
Unselect modified component before replacing by the FP editor.
2016-09-12 13:45:57 +02:00
Maciej Suminski
b0b64ac964
Fixed freeze after updating a footprint using the FP editor.
2016-09-12 13:45:57 +02:00
Maciej Suminski
edf64afa3e
Fixed freezes after appending a board.
2016-09-12 13:45:57 +02:00
Maciej Suminski
65b1225231
Added CHT_DONE flag to COMMIT::Stage to skip add/remove step
2016-09-12 13:45:57 +02:00
Maciej Suminski
6701b80f77
Converted global deletion, global text size setting & module exchange to BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
91ea4242ca
Fixed freeze after adding a module
2016-09-12 13:45:57 +02:00
Maciej Suminski
303a6928ab
Changed pointEditorUpdate to editModifiedSelection.
2016-09-12 13:45:57 +02:00
Maciej Suminski
ad1111748e
Removed 'undo inhibit' in EDIT_TOOL
2016-09-12 13:45:57 +02:00
Maciej Suminski
86895822b7
BOARD_COMMIT retracts changes in reversed order
2016-09-12 13:45:57 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
5c0605f6dc
Mute a few warnings
2016-09-12 11:50:06 +02:00
Maciej Suminski
32c4bec31c
Implemented BOARD_COMMIT::Revert()
2016-09-12 11:50:06 +02:00
Maciej Suminski
39d5cd2aca
Unified BOARD::Duplicate()
2016-09-12 11:50:06 +02:00
Maciej Suminski
86b906463f
Fixed an assert in 'Create array' dialog
2016-09-12 11:50:06 +02:00
Maciej Suminski
c4be379b31
Modified properties dialog to take advantage of BOARD_COMMIT class.
2016-09-12 11:50:06 +02:00
Maciej Suminski
08d15a9961
BOARD_COMMIT::Revert() marked as not tested
2016-09-12 11:50:06 +02:00
Maciej Suminski
f1b37109e3
BOARD_COMMIT code cleaning
...
Moved a few conditionals to scopes where they can be executed.
Simpler way to create ITEM_PICKERs.
2016-09-12 11:50:06 +02:00
Maciej Suminski
c7ce82a4bf
BOARD_COMMIT creates only one copy of a modified module
2016-09-12 11:50:06 +02:00
Maciej Suminski
992ca6e7c7
Fixed removal function in BOARD_COMMIT.
2016-09-12 11:50:06 +02:00
Maciej Suminski
2ab7196035
Reenabled and corrected BOARD_COMMIT::Revert().
2016-09-12 11:50:06 +02:00
Maciej Suminski
497fb31ae0
BOARD_COMMIT can be constructed using a PCB_BASE_FRAME*.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b25c407576
Rebuild the old ratsnest model only if GAL is inactive.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b815ea7865
Removed remaining m_editModules flags.
2016-09-12 11:50:06 +02:00
Maciej Suminski
9861b35707
EDIT_TOOL::hoverSelection() works with current selection.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b661993427
Removed SELECTION_TOOL::EditModules()
...
as there is already PCB_TOOL::SetEditModules() and
SELECTION_TOOL::m_editModules shadows PCB_TOOL::m_editModules.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
a5b7a7ca0a
Changed DuplicateAndAddItem() to parametrized Duplicate().
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
1924507001
Added a PCB_TOOL subclass.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
9588a7974c
Added classes COMMIT & BOARD_COMMIT.
2016-09-12 11:50:06 +02:00
Maciej Suminski
ff6bdeee4b
Removed a number 'if(m_editModules)' sections from pcbnew tools.
2016-09-12 11:50:06 +02:00
Maciej Suminski
c78faec247
SetLastEditTime() upon creating UR_CHANGED entry in undo buffer.
2016-09-12 11:50:06 +02:00
Maciej Suminski
0bf553b06c
Recompute local coordinates when an object is added to MODULE.
2016-09-12 11:50:06 +02:00
Maciej Suminski
a5d32bbd63
Moved method descriptions from .cpp to .h.
2016-09-12 11:50:06 +02:00
Maciej Suminski
1dd43d1d98
Unified undo buffer handling code for PCB & module editor.
...
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b0a191ce3d
Refactored TestForExistingItem()
2016-09-12 11:50:06 +02:00
Maciej Suminski
b897c5f290
BOARD_ITEM_CONTAINER class.
2016-09-12 11:50:06 +02:00
Maciej Suminski
09e0311d4e
Replaced Copy() method with operator=. Removed Copy() where default copy ctor was enough.
2016-09-12 11:50:06 +02:00
Maciej Suminski
2c08ff1d59
Switched to default copy ctor and/or operator= for BOARD, BOARD_CONNECTED_ITEM, DRAWSEGMENT & EDGE_MODULE.
2016-09-12 11:50:06 +02:00
Maciej Suminski
ec4531948f
Move all SetParent() calls to a single location in BOARD::Add().
2016-09-12 11:50:06 +02:00
Ian Roth
7ad2f37391
Add %L formatter to worksheets to print layer name.
2016-09-10 14:23:59 -04:00
Dick Hollenbeck
2adfb09d0e
Pcbnew: display unconnected net count in DRC dialog.
2016-09-08 14:17:37 -04:00
Tomasz Włostowski
0b8ab2f73d
router: fixed incorrect clearance computation in highlight collisions mode.
...
Fixes: lp:1621186
https://bugs.launchpad.net/kicad/+bug/1621186
2016-09-08 10:30:02 -04:00
Tomasz Wlostowski
03d372a0ec
Fixed an assertion triggered upon line simplification (PNS).
2016-09-06 16:40:40 +02:00
Maciej Suminski
f1e2a2c4c1
Corrected debug information display call. Removed an unused variable.
2016-09-06 16:27:35 +02:00
decimad
94aaa47583
Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.)
2016-09-06 16:06:06 +02:00
decimad
94fae5d6a1
fix eager dynamic allocation in PNS::NODE::addLine
...
move implementation into PNS::NODE::Add since lines will never be part of the index itself
2016-09-06 16:06:06 +02:00
decimad
96a3145543
use unique_ptr at client <-> pns-router border, to document the pns router is taking ownership
...
add overloads for NODE::Add( ... ) taking pointers to specific item types (retain old private add-Functions, they will come in handy later)
LINE overloads now take by reference, to document their special treatment.
updated code throughout affected by these changes
2016-09-06 16:06:06 +02:00
decimad
2aef1a4568
use unique_ptr to document ownership (PNS::LINE_PLACER)
2016-09-06 16:06:06 +02:00
decimad
4770be0920
Make the segment-ref container a true member of PNS::LINE
...
improve const correctness
return segment container by ref
change client code accordingly
2016-09-06 16:06:06 +02:00
decimad
2faca77adf
use unique_ptr to document ownership (PNS::ROUTER)
2016-09-06 16:06:06 +02:00
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
2016-09-06 16:06:06 +02:00
decimad
4cf44d9725
Rename pns item kind constants in preparation for renaming pns classes
2016-09-06 16:06:06 +02:00
decimad
de6281e977
Move PNS router code into namespace PNS
...
update copyright messages
2016-09-06 16:06:06 +02:00
Wayne Stambaugh
cbcb3b896b
Fix incorrect string translation macros.
...
* Replace _T() with _() for translatable strings.
* Don't translate debug messages.
* Don't translate copyright symbol.
2016-09-03 12:10:49 -04:00
Wayne Stambaugh
9287b42648
Revert commit 67230ac8e7
.
2016-08-30 09:04:25 -04:00
jp-charras
69e4231303
Sch editor and Simulator: close the simulator frame when the schematic editor is closed, to avoid crash, due to the fact the simulator can try to access to a no more existing frame..
2016-08-29 19:47:08 +02:00
jp-charras
440f8c8b69
Fix an issue in DRC min via drill value, created in git commit 3a92db4312
2016-08-28 21:26:51 +02:00
Niki Guldbrand
67230ac8e7
Keep Source tree clean
...
* Move all generated files to the build tree during build so the source
tree is kept clean.
Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
2016-08-26 17:25:12 -04:00
jp-charras
36ff4b5e93
Merge branch 'master' of git+ssh://git.launchpad.net/kicad
2016-08-25 09:37:20 +02:00
jp-charras
9d5300b284
Fix: Pcbnew net class editor is chopping off net class names
...
Fixes: lp:1616599
* https://bugs.launchpad.net/kicad/+bug/1616599
2016-08-25 09:35:35 +02:00
Maciej Suminski
ca499b80e1
Fixed wxLogTrace() calls in PNS
...
Fixes: lp:1616702
* https://bugs.launchpad.net/kicad/+bug/1616702
2016-08-25 09:24:55 +02:00
Simon Richter
91e953868a
DRC: Test all segments
...
The DRC also runs per-segment tests, not just segment-segment, so the last
segment needs to be tested as well, with an empty list of segments to test
against.
2016-08-24 22:17:39 -04:00
Simon Richter
3a92db4312
DRC: Add test for via drill size
...
This test is only run when the via size itself is acceptable, to avoid
bigger changes to the codebase.
2016-08-24 22:17:21 -04:00
Simon Richter
260b0f6b5f
Via properties: apply microvia settings to microvias
2016-08-24 22:16:21 -04:00
Jon Neal
532a5fb827
Small grammar fix
2016-08-24 16:18:04 -04:00
jp-charras
fdd434244c
dialog footprint properties: better tool-tips
2016-08-24 18:20:20 +02:00
jp-charras
d0fbd32bee
dialog edit footprint properties: Generate an error message if a parameter is incorrect.
...
(previously when happens, no message but the dialog cannot be closed)
2016-08-24 17:18:51 +02:00
jean-pierre charras
9f46d83175
Gerbview: locate item now does not take in account not visible layers. Remove an unused file
...
3d viewer: Remove a few ToUTF8() bad usage (replaced by GetData() )
2016-08-19 09:45:59 +02:00
Maciej Suminski
78050c05e2
Changed PNS logging routine to wxLogTrace
2016-08-17 16:00:21 +02:00
Maciej Suminski
9f0b42cb35
pns: fixed a few memleaks & conditional jumps depending on uninitalized variables
2016-08-17 15:09:48 +02:00
Chris Pavlina
910cafe72e
FUTURE_FORMAT_ERROR: don't nest errors unnecessarily
2016-08-16 22:02:05 -04:00
Simon Richter
bfb6e0bbb2
Convert remaining occurences of stri[n]cmp to str[n]casecmp.
...
This also reverses the substitution logic if strcasecmp is missing (config.h.cmake)
2016-08-16 10:27:09 +02:00
jean-pierre charras
01d3c72dda
Cosmetic enhancement: add a dismiss icon to clarification menu "title" (the "title" is also the close menu command)
2016-08-15 20:22:54 +02:00
Maciej Suminski
293849256e
Corrected the kicad_pcb file format revision to the new standard
2016-08-15 17:55:36 +02:00
Maciej Suminski
7e94e5282a
Changed PNS debug output to use wxLogTrace
2016-08-15 17:16:54 +02:00
Maciej Suminski
0ef866ee74
Code formatting
2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
f0adbd757c
router: added missing files
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
a53ea81794
P&S: factor out Kicad-dependend PNS_ROUTER::SnapToItem() to the PNS_TOOL_BASE class
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
4d134e5522
fix direction-depending DP tuning glitch
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
b52eb441a1
router: fix compilation warnings
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
456c02c800
router: multiple fixes - fixed crash when trying to drag a locked via - prompt when the user attempts to drag a locked via/segment - removed remains of PICKED_ITEMS_LIST from the PNS_ROUTER class
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
2f3950e991
added missing boost headers
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
e5524832a9
pcbnew: added diff pair gap & width to Design Rules dialog & PCB file format.
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
bcf7990bf9
P&S: support for 45-degree style length tuning meanders
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
a2ac1cd087
P&S: cleaner placement of DP segments/vias. Speed improvements too.
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
4cbb0aebfd
P&S: support for custom visitor objects in PNS_NODE::QueryColliding()
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
2b32b6f72e
P&S: support for trace & via locking
2016-08-15 17:16:48 +02:00
Christian Gagneraud
7e0caf7abe
[pns] Make the placer algo draw debugging stuff by relying on a new PNS_DEBUG_DECORATOR, this removes a reversed dependency b/w PNS_ROUTER and PNS_ALGO Tom: some rework of the patch
2016-08-15 17:16:48 +02:00
Christian Gagneraud
e9a2cb0642
[pns] Remove unnecessary includes of KiCad colors.h
2016-08-15 17:16:48 +02:00
Tomasz Wlostowski
0700178d07
P&S: enable delete & backspace shortcuts while router is active
2016-08-15 17:16:47 +02:00
Tomasz Wlostowski
9c8bdcc894
P&S refactor: removed most of Kicad-dependent code from PNS internal classes
2016-08-15 17:16:47 +02:00
Tomasz Wlostowski
df50a10510
VIEW: replace boost with std
2016-08-15 17:16:45 +02:00
Maciej Suminski
02c404ab10
Removed unnecessary *.orig files for dialogs
2016-08-12 15:58:36 +02:00
Wayne Stambaugh
a4570f74bb
Pcbnew: fix several auto save file issues.
...
* When Pcbnew is launched in the stand alone mode with no board file command
line option, the project path is set to the current working directory. The
user may not have write access to the current working directory which would
cause the auto save to generate an error. If the user does not have write
access to the current working directory, set the path to a platform specific
temporary path that the user has write permission.
* When Pcbnew is launched in the stand alone mode with no board file command
line option, the default BOARD object has no file name. Set the file name
to "noname.kicad_pcb" to fix incorrect auto save file name and set the path
to the user's platform specific document folder.
* Delete orphaned auto save files when closing without saving due to broken
auto save file generation logic which prepended the file name with "$" rather
than "_autosave-".
* Fixes: lp:1596382
2016-08-11 15:13:47 -04:00
Maciej Suminski
0aad86435f
Adjust iterator after erasing an element
2016-08-10 12:17:56 +02:00
jean-pierre charras
7bc8cb56e0
Fix bug: Impossible to rescale 3D models
2016-08-05 21:30:23 +02:00
Michael Steinberg
86496d3141
Pcbnew: fix dangling board reference crash in GAL. (fixes lp:1584489)
2016-08-05 13:45:14 -04:00
Cirilo Bernardo
8fdd6b1627
Fix 3D model file name parsing bug. (fixes lp:1609122)
2016-08-03 13:39:39 -04:00
decimad
8dcf040a4e
Fix segfault on BOARDs without tracks
2016-08-03 10:20:52 +02:00
Thomas Pointhuber
e6129ca684
remove F.SilkS from default Through-hole and NPTH pads
2016-08-01 18:52:54 -04:00
jean-pierre charras
84cfef1de9
Minor change for drill files names: when separate PTH and NPTH drill files are generated, PTH drill file has its name finishing by "-PTH" (similar to the NPTH drill file name)
2016-08-01 16:29:15 +02:00
jean-pierre charras
e15ad9350f
Fix issue from rev 6994 "Run DRC" from plot dialog crashes on Linux.
2016-07-28 14:07:35 +02:00
jean-pierre charras
62bf20271b
Pcbnew, dialog plot: add a button (Run DRC) to run the DRC from the plot dialog.
2016-07-27 14:53:45 +02:00
jean-pierre charras
03e5208c5b
Fix: footprint libraries wizard fails with personal GitHub accounts (now uses https://api.github.com/users/xxx instead of https://api.github.com/orgs/xxx to retrieve the list of .pretty footprint libraries)
2016-07-20 10:24:24 +02:00
Dick Hollenbeck
7434e68876
Pcbnew: improved track scripting support.
2016-07-19 16:34:09 -04:00
jean-pierre charras
e10242a0a9
Minor changes in dialogs: use wxWidgets default event handlers for wxID_CANCEL and wxID_OK buttons
2016-07-19 19:44:28 +02:00
Mrio Luzeiro
d8eab321f7
3D Viewer: complete refactor of the 3D viewer.
...
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
jean-pierre charras
fd42d76e2f
refinements in dialogs and OSX Cancel button fix. Dialog_pad_properties, pad viewer in GAL mode: better size of the drawing area. The scrollbars are now usable.
2016-07-19 11:16:16 +02:00
Dick Hollenbeck
e24990146d
Pcbnew: major swig fix.
...
* Switched hashtables.h over to std::undordered_map from boost version.
* Added new macros DECL_VEC_FOR_SWIG() and DECL_MAP_FOR_SWIG() in macros.h.
These along with future DECL_HASH_FOR_SWIG() unify the declaration to swig
and C++ so that the resultant type name is common in both languages, and
the types AGREE.
* Fixed swigging of NETINFO_ITEM and NETINFO_LIST via magic.
* Newly exposed (python wrapped) are: D_PADS, TRACKS (was TRACK_PTRS),
NETNAME_MAP, NETCODE_MAP, wxString (without constructor purposely, read
comment in wx.i), MARKERS, ZONE_CONTAINERS, NETCLASSPTR, KICAD_T types.
* std::vector<SOMETHING*> tends to end up named SOMETHINGS in C++ and python.
Having the name consistent between like types is helpful, and between
languages. std::map<> ends up as SOMETHING_MAP.
* NETINFO_LIST::m_netNames and NETINFO_LIST::m_netCodes are now std::map
instead of hashtables, because swig does not yet support std::unordered_map.
* You can now get to any netclass or net info. NETNAMES_MAP and NETCODES_MAP
are traversable basically the same as a python dictionary using a python
string (not wsString) as the key! The wxString typemap converts python
string to wxString before the lookup happens. Iteration also works.
2016-07-18 13:23:09 -04:00
jean-pierre charras
01100a57e5
refinements in dialogs and OSX Cancel button fix
2016-07-18 18:28:02 +02:00
jean-pierre charras
defac5272b
refinemenst in dialogs and OSX Cancel button fix
2016-07-18 17:54:41 +02:00
jean-pierre charras
f83a76a970
Eeschema: dialogs: incorrect sizes fixes and osx copy text fix
2016-07-18 09:04:13 +02:00
jean-pierre charras
d84f793fea
more about dlg sizes and osx fixes
2016-07-15 12:05:13 +02:00
jean-pierre charras
ee40137de7
more about dlg size fixes and osx fixes
2016-07-14 19:30:25 +02:00
jean-pierre charras
98bc4d3ba1
Fix dialog size issues (some widgets have a incorrect size when initialized inside a TransferToWindow() method because the SetSizeHints() method was called before the init) and fix OS X copy/close bug in a few dialogs.
2016-07-14 16:25:35 +02:00
jean-pierre charras
1d1453edbe
zone_filling_algorithm.cpp: fix missing closing parenthesis. Remove useless compare function.
2016-07-14 10:22:23 +02:00
jean-pierre charras
b7955001c1
zone_filling_algorithm.cpp: a small code cleanup, fix incorrect return type in a few methods, and add better comments.
2016-07-14 09:27:32 +02:00
Dick Hollenbeck
c2b8a4ee43
Move from class INSPECTOR as the EDA_ITEM::Visit() callback interface to a std::function
...
callback. This improves conciseness and encourages use of Visit() due to the lower cost
of entry in C++.
2016-07-12 15:05:54 -04:00
jean-pierre charras
34469c1d9c
Pcbnew, legacy mode: used spread_footprints to place new footprints after reading a netlist, like in GAL mode.
...
However they are put inside the "best" area, and not put inside a moving block, like in GAL, due to limitations of legacy mode.
2016-07-11 09:48:51 +02:00
Jon Neal
1293d04a7a
Fix a bunch of misspellings of length.
2016-07-10 23:09:18 -04:00
Wayne Stambaugh
4ed346ea64
Eeschema: initial schematic I/O plugin.
...
* Factor out PROPERTIES object from the PCB plugin code and move it into
common so it can be used by both the Pcbnew and Eeschema plugins.
* Add schematic I/O plugin manager for loading and saving schematic and
component library files.
* Add initial attempt at a parser for current schematic file format. This
parser will be infinitely more strict than the current parser which is very
forgiving in what it parses.
* Make minor changes to the base bitmap class to support the new parser.
* Add find root sheet support to sheet object to allow fetching the root
sheet from any sheet in the stack.
2016-07-06 05:22:56 -04:00
jean-pierre charras
05f849a746
Pcbnew: fix potential issue (crash) when loading board files with a missing net section (like created by Gerbview) due to an initialization made to late.
2016-07-05 17:01:41 +02:00
jean-pierre charras
e7bbe27e36
Fix double call of TransfertDataToWindows in 4 dialogs (fix a bug I created in rev 6962). Make change working on KDE.
2016-07-04 18:22:18 +02:00
jean-pierre charras
e6e77de4fa
Fix double call of TransfertDataToWindows in 4 dialogs. make change working on KDE.
2016-07-04 17:47:48 +02:00
jean-pierre charras
ed7c57f19f
Fix double call of TransfertDataToWindows in dialog_print_for_modedit.cpp
2016-07-04 17:19:59 +02:00
jean-pierre charras
474e0936cb
Fix double call of TransfertDataToWindows in 3 dialogs.
2016-07-04 17:17:09 +02:00
jean-pierre charras
4a20f376a3
Move call of SetSizeHints in a few dialogs form the dlg ctor to a wxInitDialogEvent event, because some widgets sizes are not fully initialized before this event is fired.
...
It is especially true in some Window Managers like KDE, but can be true in any WM, when initializations are made by TransferDataToWindow() method, called by the default wxInitDialogEvent handler.
2016-07-02 18:32:03 +02:00
jean-pierre charras
1ab1dca46c
Try to fix initial widgets size calculations on KDE, when using notebooks in dialogs
2016-07-02 16:13:10 +02:00
jean-pierre charras
1fbb84fd98
Move call of SetSizeHints in dialogs in a wxInitDialogEvent event, because some widgets sizes are not fully initialized before this event.
...
It is especially true in some Window Managers like KDE, but can be true in any WM, when initializations are mage by TransferDataToWindow() method.
2016-07-02 14:44:36 +02:00
jean-pierre charras
0eea3cffcf
DIALOG_SHIM: add void FinishDialogSettings() method which calls the usual methods at end of a dialog, to ensure proper size and position, the first time the dialog is called.
...
Fix an incorrect size of dialog_pcb_text_properties (due to the fact the dialog was not really initialized when its min size was calculated)
2016-07-02 11:35:52 +02:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Dick Hollenbeck
5fa8aa3660
Increase cache validity period in nginx.conf
...
This revised nginx.conf holds the cache for one week, truly. For some reason there are
two tuning knobs required to make one adjustment (cache duration). Without this fix the
cache was only held for 10 minutes. The most important change is the "inactive=1w" which
as I implied, is the *second* reference to one week. Sorry for this oversight.
Nginx can be run on something as simple as a raspberry PI. I run it on a network file
server attached to my desktop via copper ethernet. By caching the footprint libraries
from github, I can load all github libraries in about 2.5 seconds, making github the
fastest plugin of any kind.
2016-06-29 12:25:28 +02:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
83504c2b29
Pcbnew: Rework on print dialogs.
2016-06-19 20:29:13 +02:00
jean-pierre charras
68f0503586
Fix Pcbnew bug: print dialog: layers not listed in dialog (Linux specific)
2016-06-18 17:47:05 +02:00
jean-pierre charras
0862ac28d0
Dialog DRC: fix a minor bug created in rev 6936: the report file was always created, regardless the option selected in the check box.
...
Enhancement: the browse file dialog nows open the project folder by default.
2016-06-17 08:24:54 +02:00
jean-pierre charras
3f2b15711c
Fix bug: DRC report to File crashes Pcbnew, if the file cannot be created (for instance if the CWD is not writable, or if the path does not exist)
...
Fix also an other issue: if the file path is not entered, the file is now created in the current project directory.
2016-06-15 19:00:30 +02:00
jean-pierre charras
7abf006c80
Very minor fix: fix shadowed local vars.
2016-06-15 10:27:24 +02:00
Maciej Suminski
7ff3dd0807
Make sure GL canvas is visible upon destruction in Module properties dialogs.
2016-06-14 12:08:35 +02:00
jean-pierre charras
688fb5caaa
Minor enhancements in dlg_3d_pathconfig (better look, but not perfect). Also fix an issue: the minimal dialog size was not always calculated.
2016-06-13 12:41:27 +02:00
Chris Pavlina
5285962775
Remove option to not show footprint ratsnest when moving
...
This option only exists in legacy, with no real plan to port it to GAL. Nobody
seems to use this; there isn't really much of a point to it. Bye!
2016-06-11 22:34:07 -04:00
Chris Pavlina
81144c2476
Move hotkey list from Preferences menu to Help menu
2016-06-11 21:22:13 -04:00
Chris Pavlina
9eef653625
Remove legacy option to zoom to selection on middle mouse button
...
This feature was not reliably available: neither pl_editor nor GAL supported
it. It has been replaced over the past few commits with a new zoom-to-selection
tool available in all applications and modes.
2016-06-11 19:37:43 -04:00
Wayne Stambaugh
588d4c33a0
Set minumum SWIG version to 3.0 for C++11 support.
2016-06-10 14:08:35 -04:00
Cirilo Bernardo
e0a7f0041a
Better 3D filename resolution
2016-06-09 07:48:49 +02:00
Chris Pavlina
8c01318141
Add zoom-to-selection tool
2016-06-08 07:19:53 -04:00
jean-pierre charras
37deba60c3
Fix shadowed vars (in microstrip.cpp) and deprecated compil warnings.
2016-06-08 09:28:19 +02:00
Simon Richter
080d7f1024
Add missing dependency github_plugin -> pcbcommon.
2016-06-07 21:38:58 -04:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00
Maciej Suminski
cef45c0297
Hide all related layers when footprint rendering is disabled.
2016-06-07 15:07:47 +02:00
Maciej Suminski
553899b79b
PNS: Do not create an undo buffer entry when there is nothing to save.
2016-06-07 14:42:42 +02:00
Maciej Suminski
71aade6b51
Fixed a few warnings (mostly gcc6 -Wmisleading-indent).
2016-06-07 14:42:42 +02:00
jean-pierre charras
f4525875f1
Pcbnew: fix bug : footprint editor: shape offset was ignored when placing new pads. Was also ignored in global pad change in fp editor and board editor.
2016-06-07 10:02:19 +02:00
Chris Pavlina
d682e4d7fa
Change default via dimensions to 0.8/0.4
2016-06-06 20:23:58 -04:00
jean-pierre charras
f311230874
Gerbview: when running gerbview from a command line, if a filename is given, and if it is a .drl file, it is loaded as drill file (instead of a gerber file, which generate an error message).
...
Code refactor: remove useless class members, and move read gerber file and read excellon file from gerbview frame to the corresponding classes
2016-06-05 14:26:39 +02:00
jean-pierre charras
6d1e904334
Code cleanup: Remove outdated decimils to/from iu defines and conversion functions (decimils are no more in use since a long time).
...
Remove convert_from_iu.h file, only used for one define, and containing brokenand duplicate defines. Only convert_to_biu.h is now used.
2016-06-05 13:49:25 +02:00
Maciej Suminski
01f32dd52c
GL_CONTEXT_MANAGER class to avoid unexpected GL context switches.
2016-06-03 15:46:12 +02:00
jean-pierre charras
185dc2bbdf
fix an incorrect filename (incorrect case) which created compil issue on Linux.
2016-06-03 08:49:55 +02:00
jean-pierre charras
93e61e7a2e
Minors fixes: dialog_print_using_printer.cpp: fix a Coverity warning and very minor coding style issue. xsl scripts: add bom2grouped_csv.xsl (from a contributor) and fix minor issues.
2016-06-03 08:32:24 +02:00
jean-pierre charras
dc4882c4bd
Pcbnew: Fix incorrect order of linked files, which can create issues (not defined symbols) at link stage.
2016-06-01 18:40:18 +02:00
jean-pierre charras
a4658ab6be
Fix a few compil warnings (not used vars, shadowed local vars)
2016-06-01 14:22:05 +02:00
jean-pierre charras
96e55de90d
Code cleanup: remove dead code (some removed methods were broken), and update or add comments.
2016-06-01 11:31:40 +02:00
jean-pierre charras
e2cc78b2b5
Code cleanup: remove dead code (some removed methods were broken), and update or add comments.
2016-06-01 11:28:07 +02:00
Simon Wells
4b5a4c0d36
Display correct page count in print dialog
2016-05-30 11:44:49 -04:00
Simon Wells
457b021101
Fix bug: printed duplicate pages when Single Page selected
...
https://bugs.launchpad.net/kicad/+bug/1523065
2016-05-30 11:25:40 -04:00
jean-pierre charras
1ae9175671
A few minor fixes for compil warnings (shadowed variables and deprecated auto_ptr)
2016-05-29 17:02:34 +02:00
jean-pierre charras
ca0113ab65
Fix my previous commit: I committed the wrong file
2016-05-28 21:51:35 +02:00
Simon Richter
5b3d1d72e8
Open namespace around definitions
...
While defining functions in another namespace is technically allowed as
long as the definition can be matched to a declaration, this can lead to
ambiguous resolutions, such as here (GAL vs KIGFX).
2016-05-28 12:57:19 -04:00
Simon Richter
96ec9db5d6
Add missing C++ stdlib headers
...
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
jean-pierre charras
e795dafc4b
Fix non optimal position of net name and pad name for pads with shape offset: the texts are now (like in legacy canvas) centered to the pad shape, not the pad position.
2016-05-28 12:53:29 +02:00
jean-pierre charras
dbb78db7ef
Gerbview: Shows now in the Layer manager the filename of gerber or drill files loaded.
...
A fex minor compil warnng fixes
2016-05-23 17:47:16 +02:00
Maciej Suminski
a30c8d7848
Coverity fixes.
2016-05-11 11:18:27 +02:00
jean-pierre charras
bbe42d0f47
Fix very minor issues: compil warnings (mainly deprecated and shadowed vars warnings).
2016-05-22 19:39:20 +02:00
Alexander Lunev
42c47c7970
pcad2kicadpcb: fixed an issue with an uppercase fileUnits parameter.
2016-05-22 11:01:19 +02:00
jean-pierre charras
e2d4118470
Eechema, Component editor: Fix a bug in Pin properties dialog: a parameter used to draw the pin in preview canvas was incorrect, due to code change in draw pin.
2016-05-19 18:38:36 +02:00
Chris Pavlina
0f407a756c
Pull existing settings into Doxygen module
2016-05-12 15:45:47 -04:00
Chris Pavlina
84d3fbfd68
Remove MaxUndoItems, make devel option DevelMaxUndoItems
...
Begin documenting configuration keys in Doxygen
2016-05-12 12:51:32 -04:00
Chris Pavlina
e782e463f4
Remove redundant NULL check
...
Coverity CID: 134088
2016-05-11 23:28:03 -04:00
jean-pierre charras
0bd287b6d9
Pcbnew: Fix a very minor bug ( The "Move exactly..." sometimes truncates the saved parameter floating point values during a session)
2016-05-11 12:16:07 +02:00
jean-pierre charras
e978a17ccd
Fix minor bug in Modedit: Adding a new rounded rect pad to a footprint doesn't clone rectangle rounding
2016-05-11 10:54:44 +02:00
jean-pierre charras
6a7544a2ca
Fix a few deprecated compil warnings in dialogs generated by wxformbuilder
2016-05-11 10:51:07 +02:00
Chris Pavlina
540275fe44
OS X: Disable full-screen cursor
...
This feature cannot work reliably for reasons explained in lp:1463505. Remove
the option on OS X builds and force cursor to the small one.
https://bugs.launchpad.net/kicad/+bug/1463505
> Bernhard Stegmaier (stegmaier) wrote on 2016-01-14:
>
> As far as I see from the code this is no bug but done on intention.
>
> The reason probably is that on OSX in the legacy canvas you don't have the
> XOR-drawing as on other platforms. To the best of my knowledge, this would
> mean that on every mouse move you would have to repaint the whole window just
> to get rid of the "old" cross.
>
> So, I would say this is a clear "won't fix".
> We could think of just removing/disabling the button in the legacy canvas.
2016-05-10 23:33:24 -04:00
Chris Pavlina
7b5ab741bb
Fix null dereference for certain bad PCB files
...
Coverity: CID 147344 Unchecked dynamic_cast
If a file that parses validly in Parse() but does not return a BOARD is loaded,
no exception will be thrown but the dynamic_cast will return NULL. This NULL
is tested by wxASSERT(), which does not actually halt anything (especially in
release builds), and then we proceed to board->SetFileName().
This can be demonstrated quickly by renaming a .kicad_mod to .kicad_pcb and
trying to load it. pcbnew will crash.
2016-05-10 22:36:39 -04:00
Chris Pavlina
445db7da58
Fix uninitialized fields
...
Coverity: CIDs 102698, 147347, 147349, 147350
2016-05-10 22:36:23 -04:00
Chris Pavlina
5044fc5799
Fix build error on some platforms from r6788
...
r6788 = git f9386fc
2016-05-10 18:57:10 -04:00
Chris Pavlina
ba17a54c08
Remove "Dump zone geometry to files when filling"
...
The code to perform the dump has not been removed, but the GUI option and
global flag (ugh) have been.
2016-05-10 17:37:51 -04:00
Chris Pavlina
e9a9a269b4
pcbnew legacy: remove option to hide via drill
...
Via drills are now shown in all cases, matching GAL behavior, and the option no
longer exists in the preferences dialog.
2016-05-10 16:47:37 -04:00
Chris Pavlina
f9386fcbc0
Add support for PCB and footprint format versioning
...
Currently, kicad_pcb files have a (version ...) tag, but it is ignored. This
commit does the following:
1. Parse the version. If it's later than the last supported version, present an
alternative error message suggesting an upgrade if the file does not load
correctly. The version will be interpreted as an integer YYYYMMDD to suggest
a KiCad release date.
2. Accept a (version ...) tag also in kicad_mod files, but do not write them
yet. If no version tag is present in these files, assume the version to be that
of the current format version at the time of this commit.
This is meant to be merged to the 4.x stable series, and preps for KiCad 5
which will start emitting version tags also in footprints - users with what
will then be 'old stable' will not get a parse error when we introduce this for
footprints, and we can safely increment the format version later.
2016-05-10 15:07:35 -04:00
Maciej Suminski
35fe82739b
Commented out 'override' keyword due to problems with older swig versions (see bug lp:1579042).
2016-05-10 14:35:36 +02:00
jean-pierre charras
bfeb61abef
Fix a few shadowed local variables and deprecated warnings in dialogs (using a very recent wxformbuilder version).
2016-05-10 08:56:03 +02:00
Maciej Suminski
d9f4877c94
Fixed a crash when starting pcbnew with OpenGL GAL.
2016-05-09 17:23:01 +02:00
Maciej Suminski
ad66af66af
Highlight an item when context menu is displayed (GAL).
2016-05-09 10:41:11 +02:00
Maciej Suminski
ce8f400645
Added menu for locking tracks & vias (GAL).
2016-05-09 10:29:06 +02:00
Maciej Suminski
dd10c577ec
Added SELECTION_CONDITIONS::OnlyTypes() variant that takes KICAD_T[]4
2016-05-04 18:35:20 +02:00
Maciej Suminski
dfa963f31a
Mark locked tracks with 'L' letter in status field.
2016-05-04 16:35:12 +02:00
jean-pierre charras
63decd70e6
Minor fixes: Fix a few shadowed local variables, and deprecated warnings is a few dialogs generated by wxFormbuilder (using a very recent wxFormbuilder version, after apr 25, 2016)
2016-05-06 17:15:30 +02:00
Maciej Suminski
06637a17d6
Added 'Reset Grid Origin' hot key (GAL).
2016-05-04 14:59:14 +02:00
Maciej Suminski
b735f57fa4
Refresh pads after enumeration in Footprint Editor.
2016-05-04 14:06:10 +02:00
Maciej Suminski
f502c4cc77
Fixed stroke text initialization in PCB_PAINTER.
2016-05-04 12:18:25 +02:00
Maciej Suminski
a62d2b5412
Bigger net labels (GAL).
2016-05-03 15:15:08 +02:00
Maciej Suminski
25fa2bbbbd
Fixed net names drawing in Cairo.
2016-05-03 14:40:47 +02:00
Maciej Suminski
2f874097ae
Fixed a crash in pcbnew (GAL).
2016-05-02 16:15:26 +02:00
Maciej Suminski
ed0b95d710
Added an option change grid style. Refactored DIALOG_SET_GRID. GAL can draw grid using lines or dots now. DIALOG_SET_GRID was refactored to use Transfer{From,To}Window() methods.
2016-05-02 16:15:24 +02:00
Maciej Suminski
bacb2dd52a
Adjusted required level of details for track labels to show.
2016-05-02 16:08:51 +02:00
Maciej Suminski
fa6360a2ba
Another way to select between dark/light netname labels.
2016-05-02 16:08:50 +02:00
Maciej Suminski
bda3011519
Initial support for bitmap fonts (OpenGL GAL).
2016-05-02 16:04:45 +02:00
Maciej Suminski
795fd28742
Set Stroke/Fill settings for stroke font in its Draw() function.
2016-05-02 15:56:17 +02:00
Maciej Suminski
b143ce6b0f
Moved text settings from STROKE_FONT to GAL.
2016-05-02 15:56:12 +02:00
Matthew Petroff
db54f3e7a7
Correct multiple UI spelling errors
2016-05-02 10:01:43 -04:00
jean-pierre charras
e46f706d4b
Add Set/GetOrientationDegrees and GetOrientationRadians for texts, pads and footprints to avoid internal units to usual angle units conversion in code (and avoid mistakes).
...
It should help if (or when) the internal angle unit used in kicad will be changed from 0.1 degree (a relic of code written for PCs without fpu) to degree ( a more natural unit).
2016-05-02 12:49:14 +02:00
jean-pierre charras
8c76b92fa9
Fix a few shadowed local vars which make the code not so easy to analyze.
2016-04-29 13:10:31 +02:00
jean-pierre charras
b92ad6f5a8
Add CSV file format in pcbnew position files (and cleanup code)
2016-04-26 14:16:16 +02:00
jean-pierre charras
c1f0ab91a2
Code cleaning and coding style fix.
2016-04-23 17:44:17 +02:00
jean-pierre charras
53c031257d
Fix a few shadowed local vars, and coding style issues.
2016-04-22 12:44:08 +02:00
unknown
baa5f0ddfb
Fix typos in dialogs.
2016-04-21 09:32:29 +02:00
jean-pierre charras
d7f1400e44
Make strings only used in debug mode not translatable.
2016-04-21 09:19:08 +02:00
Wayne Stambaugh
2b6889bc7a
Pcbnew: footprint text layer visibility improvements. (fixes lp:1527994)
...
* Always hide footprint text when the layer that the text resides is disabled
in the layer manager. There is no longer a difference between the value and
reference text compared to other field text.
* The usual smattering of coding policy fixes and general code cleaning.
2016-04-20 11:28:44 -04:00
jean-pierre charras
67982a4851
stroke font: fine adjust of text horizontal position. edat_text: fix an issue in SetOrientation: the rotation angle is now constrained between -360 and +360 degrees.
...
It was previously not the case, and rotated texts outside this interval created issues in dialog_pcb_text_properties which have now validators.
2016-04-19 20:35:47 +02:00
jean-pierre charras
fde2cfee27
Minor changes: remove a few local shadowed local variables detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) and fix minor coding style issues.
2016-04-18 20:15:44 +02:00