John Beard
892f7cf8ff
Make SVG import an advanced config, not a compile option.
...
This demos the advanced config and allows no-recompile switching
of the SVG importer. It also allows the import manager to be
tested more completely.
2018-12-28 11:36:09 -05:00
John Beard
a33a8292a4
Run-time config for advanced options
...
This can be used for "advanced" options which are for developers
to use for feature-flags and other configuration. Run time config
has some advantages over preprocessor defines:
* Can be changed without recompilation
* Sensitive to XDG_CONFIG_DIR, so flipping configs is easy
* Better compiler coverage (less conditionally compiled code means
less chance to break a different configuration). Also better
analysis coverage.
* Type safe config params
* Centralised documentation: it's in doxygen, in one place
No advanced config should be required by a general users. If a general
user does use one of these configs, it's probably because:
* There is a bug and one of these configs is a workaround
* A config in here is generally useful and should be moved into the
relevant application config and given UI.
For now, the config is read-only, and is read from the
"kicad_advanced" config file in the normal config dir.
2018-12-28 11:36:08 -05:00
jean-pierre charras
9f21d32563
Fix a compatibility issue with wxWidgets 3.1.2 (MSW specific)
2018-12-28 15:30:22 +01:00
jean-pierre charras
8cc3912b6c
Zoom context menu: minor enhancement (gal mode).
2018-12-28 14:08:01 +01:00
Jeff Young
72a1052bb9
Make sure parents get redrawn to refresh module text items.
...
Fixes: lp:1809912
* https://bugs.launchpad.net/kicad/+bug/1809912
2018-12-27 18:42:04 +00:00
Jeff Young
4d9b4428fa
It's never a good idea to dereference a freed pointer.
...
Fixes: lp:1809897
* https://bugs.launchpad.net/kicad/+bug/1809897
2018-12-27 13:33:19 +00:00
Maciej Suminski
bce4a45ab4
Fixed a crash when trying to highlight a not existing component
2018-12-27 13:45:41 +01:00
Jeff Young
f6e6ac3162
Don't issue errors for externally-defined env variables.
...
Fixes: lp:1809300
* https://bugs.launchpad.net/kicad/+bug/1809300
2018-12-26 21:36:04 +00:00
Tomasz Włostowski
a3d8ab911f
router: improved snap-to-clearance zone algorithm in highlight collisions mode
2018-12-25 02:29:23 +01:00
Tomasz Włostowski
c777eac000
eeschema: improved highlighting of PCB->SCH cross-probed components/labels/pins
...
Fixes: lp:1796990
* https://bugs.launchpad.net/kicad/+bug/1796990
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
5b4e6b21f2
SELECTION_AREA: ensure single-pixel-wide selection rectangle border
...
Fixes: lp:1801558
* https://bugs.launchpad.net/kicad/+bug/1801558
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
3adb8d56c5
OPENGL_GAL: no need to draw line caps when drawing a polyline, the shader takes care of them already
2018-12-24 15:35:25 +01:00
Tomasz Włostowski
029fdaccc0
gal: re-enable scrolbar arrow buttons
...
Fixes: lp:1690780
* https://bugs.launchpad.net/kicad/+bug/1690780
2018-12-24 15:35:25 +01:00
Jeff Young
0c0dda54bf
Close any active editor before rebuilding netclass lists.
...
Fixes: lp:1809555
* https://bugs.launchpad.net/kicad/+bug/1809555
2018-12-24 01:55:02 +00:00
Tomasz Włostowski
bebbe6ed22
pcbnew: disable autopanning when cursor entered auto-pan margin following a keyboard cursor move command
...
Fixes: lp:1803523
* https://bugs.launchpad.net/kicad/+bug/1803523
2018-12-23 18:58:12 +01:00
Jeff Young
10887868dc
More changes to clean up redraw after an undo.
...
Fixes: lp:1803038
* https://bugs.launchpad.net/kicad/+bug/1803038
2018-12-22 22:13:23 +00:00
jean-pierre charras
dde933ba08
When printing, pads are not always printed (especially on tech layers)
...
A printing mode is added, to force ViewGetLOD() to return 0 in printing mode (pads are always drawn)
Fixes: lp:1809528
https://bugs.launchpad.net/kicad/+bug/1809528
2018-12-22 13:44:49 +01:00
Jeff Young
4c184f07a6
Clean up undo when cancelling block operation.
...
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2018-12-21 22:45:57 +00:00
Jeff Young
51e6f56300
Clean up view when aborting move item.
...
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2018-12-21 20:32:10 +00:00
Jeff Young
6eca924365
Clear hidden flags on undo.
...
Fixes: lp:1803038
* https://bugs.launchpad.net/kicad/+bug/1803038
2018-12-21 16:39:10 +00:00
jean-pierre charras
9dedbc74a3
Gerbview exporter: fix a wxASSERT.
2018-12-21 13:48:00 +01:00
jean-pierre charras
5f3cbff977
Pcbnew, DIALOG_SET_GRID_BASE: A few cosmetic enhancements and fix a wxWidgets minor alert
2018-12-21 10:15:15 +01:00
Seth Hillbrand
ec93fb3171
pcbnew: Fracture polygons before plotting
...
While not technically allowed, overlapping polygons can be drawn in
pcbnew. Gerber polygons are strictly simple, however, so we need to
fracture prior to exporting to avoid invalid gerbers.
2018-12-20 17:07:47 -08:00
jean-pierre charras
1d230bbee9
very minor fixes to help I18n translations (remove trailing spaces)
2018-12-20 20:19:45 +01:00
Seth Hillbrand
db43ed72fe
swig: clear up some warnings
2018-12-20 11:04:55 -08:00
Seth Hillbrand
55f2a79957
pcbnew: locking connectivity using RAII
...
Rather than depend on proper unlocking for each exit, we move the
connectivity lock mutex into an RAII-type configuration that
automatically unlocks on exit.
2018-12-20 11:04:08 -08:00
Maciej Suminski
24f9bfa13b
Fixed memory leaks
...
This is commit a9efbf47
with a fix for SWIG to deal with unique_ptr.
2018-12-20 10:05:58 +01:00
jean-pierre charras
22d8ddb207
Pcbnew, legacy canvas, context menu for zones: better name for move and delete corner commands.
2018-12-20 08:47:45 +01:00
Seth Hillbrand
135ff314ca
pcbnew: Correct layer naming
...
Layer bit sets get chosen for the layer name, starting with the copper
layers and then the technicals. Additionally, multi-layer pads are
appended with an indicator that additional layer bits are set.
Fixes: lp:
* https://bugs.launchpad.net/kicad/+bug/
2018-12-19 20:58:36 -08:00
Seth Hillbrand
8f7c073514
pcbnew: Check for valid pointer before deref
...
In legacy toolkit, we do not keep the corner pointers, so dereferencing
causes crashes.
Fixes: lp:1808852
* https://bugs.launchpad.net/kicad/+bug/1808852
(cherry picked from commit 4aeef1e09e
)
2018-12-19 16:54:34 -08:00
jean-pierre charras
83d851956c
classes MARKER rework: remove duplicate code. Better HitTest code (HitTest takes in account the actual shape)
2018-12-19 19:53:27 +01:00
jean-pierre charras
15843ae01a
class MARKER rework: fix a few minor issues, remove duplicate code and add comments.
2018-12-19 15:13:31 +01:00
Seth Hillbrand
64f1fb9e79
tesselation: Re-check polygon count after fracturing
...
The fracture() call may result in zero polygons remaining, which will
cause failure in our tesselation routine, so we need to check whether
this is a valid POLYGON before re-tesselating.
2018-12-18 13:49:13 -08:00
Seth Hillbrand
e5f5443762
modedit: Allow wildcard footprint import
...
When importing footprints, some are generated with non-standard (e.g.
"mod") extensions. As a last option, we allow the * wildcard to select
these files for import.
2018-12-18 11:45:39 -08:00
Seth Hillbrand
214d8d3703
kicad2step: Handle quoted layers
...
Quoted layers are parsed by kicad2step as strings but were only
expecting symbols. This threw an error when exporting.
2018-12-18 10:17:22 -08:00
Seth Hillbrand
2498da2745
Tesselation: Only set valid when successful
...
Tesselation can fail for a number of reasons. When this happens, we set
the triangulationValid flag to false to prevent using the broken
triangulation. This will fall back to the slow OpenGL triangulation
when DrawPolygon is called.
2018-12-18 09:16:16 -08:00
jean-pierre charras
388397f97d
Protect TesselatePolygon() against degenerated polygons (less than 3 corners) to avoid crashes.
...
Use TesselatePolygon() to draw polygons in Gerbview instead of GLU tesselation, much slower.
Add helper methods in GAL to know if the current GAL engine is Cairo, OpenGL or something else,
useful to optimize drawing code.
2018-12-18 12:49:14 +01:00
Seth Hillbrand
7f5503a783
tesselation: Fix winding order bug
...
Typo created a couple issues with calculating winding order.
2018-12-17 17:13:13 -08:00
Seth Hillbrand
657bf2b53e
tesselation: In case of failure, re-fracture
...
Simplification with clipper can produce a polygon with holes. We need
to re-call simplify followed by fracture to ensure valid triangulation
2018-12-17 17:02:32 -08:00
Seth Hillbrand
e49242bc54
tesselation: Check winding order
...
Although copper layers are always tesselated CCW, polygons in footprints
will be CW if flipped to the back layer, resulting in a bad render.
2018-12-17 12:45:28 -08:00
Seth Hillbrand
98d6d68e2d
tesselate: Check for non-polygons
...
Elements with only 0, 1 or 2 vertices cannot form valid polygons, so do
not attempt to tesselate them.
2018-12-17 11:45:30 -08:00
Wayne Stambaugh
fc69e6532c
Unify "Read netlist" and "Load netlist" UI strings.
2018-12-17 10:18:44 -05:00
Jeff Young
95dcc30ffb
Load footprint browser with last-selected footprint.
2018-12-16 21:59:42 +00:00
jean-pierre charras
638b4384ec
eeschema: fix issue: Moving a hierarchical pin slightly move also other hierarchical pins
...
Fixes: lp:1808687
https://bugs.launchpad.net/kicad/+bug/1808687
2018-12-16 15:31:31 +01:00
jean-pierre charras
6a0319f6b7
autoplacer: minor fixes.
2018-12-16 10:43:47 +01:00
Jeff Young
2e907bfaa3
Don't throw DRC errors for hidden copper text.
...
Fixes: lp:1808651
* https://bugs.launchpad.net/kicad/+bug/1808651
2018-12-15 22:30:11 +00:00
Jeff Young
f69ea8b4a2
Don't cut invisible module text out of zones.
...
Fixes: lp:1808651
* https://bugs.launchpad.net/kicad/+bug/1808651
2018-12-15 20:15:19 +00:00
Frank Severinsen
e2ed0e6557
Move sheet pins in front of sheetedge & move them in by ½ line width
2018-12-15 20:15:19 +00:00
Jeff Young
c437ca1640
Fix some formatting issues.
2018-12-15 20:15:19 +00:00
jean-pierre charras
ed28b7e29b
Autorouter rework: remove outdated or dead code, add comments and display the footprints as soon as a footprint is placed
2018-12-15 17:50:42 +01:00