Jeff Young
e91b7cf18f
Separate the two offset strategies for PointEditor Pad editing.
...
This doesn't indicate what I think we should do with them; it will
just make whatever we decide easier to do.
2020-06-29 23:25:13 +01:00
Jeff Young
d67f404dec
Fix undo issue with merging lines into rectangles.
2020-06-29 22:58:05 +01:00
Jeff Young
36e94773a3
Adjustments to point-editing of pads.
...
1) Don't offset pad with no hole and no offset: move them instead.
2) Don't allow editing of locked pads in board editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 19:22:38 +01:00
Jon Evans
44f3cdb31e
Fix a few issues with zone islands
2020-06-29 12:16:37 -04:00
Jeff Young
9cbcf3fe56
Improve pad annotation for custom-shaped pads.
...
Use the bounding box instead of the anchor pad size for determining
LOD and size/location of annotations.
2020-06-29 12:48:55 +01:00
Jeff Young
8ac3a3cbc0
Replace missing "sketch text" option from ModEdit View menu.
2020-06-29 12:08:11 +01:00
Jeff Young
516de9c85e
Point editor hookup for non-custom-shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
2020-06-29 11:50:44 +01:00
jean-pierre charras
a229e51962
Pcbnew: fix incorrect clearance of oval pads in zone fill.
...
(The clearance value was only half of the correct value)
2020-06-29 09:57:36 +02:00
Seth Hillbrand
224b41e8b1
Fix a threading segfault when filling zones
...
The shape cache gets reset by the zone fill algorithm. This needs to be
cleaned before multiple threads are created and cannot be modified when
threading.
Fixes https://gitlab.com/kicad/code/kicad/issues/4723
2020-06-28 11:12:31 -07:00
Jon Evans
65f5ebd8f2
ADDED: Persistent selection filter UI for PcbNew
2020-06-28 15:12:47 +00:00
Jon Evans
1d5e4f86af
ADDED: Copper zone island removal is now configurable
...
ADDED: Zones and keepouts can now be named (for DRC)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4392
2020-06-28 09:09:38 -04:00
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04:00
Jon Evans
0b34cea3d5
Add an optional name property to zones
2020-06-28 08:51:57 -04:00
jean-pierre charras
67f46a0bb1
Gerber plotter: Better object attributes handling when plotting a zone
...
- Clear object attributes before and after plotting a zone.
It avoid using previously defined object attributes when plotting the next zone,
and using therefore incorrect attributes.
- Add aperture attribute to filled zone solid polygons (regions in Gerber)
2020-06-28 12:29:36 +02:00
Jon Evans
bd19c580f4
Add configuration for cross-probing behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jon Evans
9795d30f12
Fix iteration issue in physical stackup editor
...
Also switch to KiCad color chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4735
2020-06-27 21:42:09 -04:00
Jeff Young
304328ca13
Fix Linux compile error.
2020-06-27 22:27:49 +01:00
Jeff Young
367fd79b5f
Don't try and second-guess the user.
...
(Especially now that polygons are useful on copper layers for custom
pad shapes.)
2020-06-27 22:08:13 +01:00
Jeff Young
6acd35c981
Cleanup.
2020-06-27 20:07:26 +01:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Jeff Young
da2b7071b4
WYSISYG custom pad editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
Fixes https://gitlab.com/kicad/code/kicad/issues/2305
2020-06-27 14:37:01 +01:00
Jon Evans
129c16cf7d
Fix unselected event not firing when clicking empty space
2020-06-26 22:00:12 -04:00
Ian McInerney
17adb6c3c6
Add context menu to route and zone toolbar items
...
ADDED: Context menu for route and zone toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Peter Montgomery
19b7755ab7
Coverted Gerbview files to version in master so hotkey_rollover repo only contains changes for the hotkey fix
2020-06-25 22:43:29 +00:00
Seth Hillbrand
4ef02fd699
Replace TTL delauney triangulator
...
Removes the TTL triangulator in favor of the delaunator triangulator.
This removes the only AGPL code in the KiCad codebase and therefore
allows the full project to be licensed under the GPLv3.
2020-06-25 18:45:27 +00:00
jean-pierre charras
c9715ce304
class_pad.h: mark m_shapesDirty true after a move to force rebuild shapes after a move.
...
Fix also a few comments.
Fixes #4719
https://gitlab.com/kicad/code/kicad/issues/4719
Fixes #4720
https://gitlab.com/kicad/code/kicad/issues/4720
2020-06-25 20:07:51 +02:00
Seth Hillbrand
a893d19d26
pcbnew: Allow slow ratsnest to turn off
...
Depending on where you move the selection, the slow ratsnest might turn
on. This prevents that setting from being sticky, reverting to smooth
movement.
2020-06-24 17:16:07 -07:00
Seth Hillbrand
b02d3f683f
Adding documention comments for dynamic ratsnest
2020-06-24 15:17:01 -07:00
Seth Hillbrand
4c5f3cb5be
Fix crash when moving non-connected
...
Non connected items do not have netcodes, so shouldn't be included in
the calculation for ratsnest
2020-06-24 14:22:01 -07:00
Jeff Young
e376750f62
Flatten CS_PAD_PRIMITIVE out in favour of reusing DRAWSEGMENT.
...
(In prep for the eventual replacement of DRAWSEGMENT internals with
SHAPE.)
2020-06-24 12:22:42 +01:00
Seth Hillbrand
1a7c270dcd
Fix invalid dereference on first highlight
...
When highlighting nets we don't save the previous net when there isn't a
previous net highlighted.
2020-06-23 20:36:05 -07:00
Seth Hillbrand
141bf4f579
Tighten the bicolored routine
...
Eliminates some duplicate code into a lambda
2020-06-23 16:48:24 -07:00
Seth Hillbrand
e8fc421a39
Update NearestBicoloredPair to m log(n) search
...
Instead of iterating over full set, use sweep line algorithm to limit
the number of nodes needed to be searched. This improves the speed of
the dynamic ratsnest.
2020-06-23 16:17:35 -07:00
Seth Hillbrand
214a9d53b0
Update ratsnest conn to multiset
2020-06-23 14:39:45 -07:00
Seth Hillbrand
a2ad84f84d
Revise Kruskal implementation
...
This updates the Kruskal algorithm to a faster variant utilizing a
compressed disjoint set and heap
2020-06-23 14:35:23 -07:00
Jon Evans
2ab9ceaf02
Pick up net for new zone from selection if no net is highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4706
2020-06-23 17:16:34 -04:00
Jeff Young
18ab3c4714
Fix missing user grid in COMMON_TOOLS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4702
2020-06-23 11:17:15 +01:00
Seth Hillbrand
104ff29e5f
Remove delauney computations from dynamic ratsnest
...
Avoids additional calculations on movement by using cached ratsnest for
internal nets and keeping bicolored line calc for others.
Fixes https://gitlab.com/kicad/code/kicad/issues/1865
2020-06-22 20:37:31 -07:00
Jeff Young
d01b29ab37
Cleanup pad geometry handling.
...
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
Jeff Young
c57c21f577
Pad bounding radius is from pad centre, NOT shape centre.
2020-06-22 20:36:54 +01:00
Jon Evans
c0175c48af
ADDED: Setting to control track mouse drag behavior
...
Default is now to perform a 45-degree drag
2020-06-21 15:39:39 -04:00
jean-pierre charras
55e283634a
Pcbnew, DIALOG_PLOT_BASE: better warning message about non null solder mask margins.
2020-06-21 20:41:06 +02:00
Jon Evans
713cd4a47a
Point editor: show dragged points with a highlight
...
Take points editor colors from color theme
Also fix an issue where the edited object sometimes didn't
update when a point is dragged.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4600
2020-06-21 14:43:41 -04:00
jean-pierre charras
7240b3e4d3
PCB_PAINTER for D_PAD: for round and oval shapes, use native gal draw functions,
...
instead of convert shapes to polygons.
For small pad sizes (< 0.5mm) the polygonal shape is really ugly.
Moreover, circles and oblong shapes are native in gal and give a much better look.
2020-06-21 19:47:26 +02:00
Jon Evans
a16c9df79c
Delete the right object in arc cleanup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4694
2020-06-21 13:03:14 -04:00
jean-pierre charras
ad69e449fe
Fix a collision name in drawing_tool.h with a msys2 header
2020-06-21 10:36:01 +02:00
Jeff Young
970921f88b
Support for filled DRAWSEGMENT::S_RECT and S_CIRCLE.
...
One more step in unifying pad primitives and draw segments.
2020-06-20 14:34:53 +01:00
Jeff Young
986c1a27cd
Make sure line widths (and clearances) are handled on rectangles.
2020-06-20 14:34:53 +01:00
Jeff Young
7877e4083e
Don't match to an unknown layer.
2020-06-20 14:34:53 +01:00
Jeff Young
9ba9f0288e
Read files with rectangle primitives in custom pads.
2020-06-20 14:34:53 +01:00
Jon Evans
09cb75b8a1
Use a temporary file when saving boards/schematics to make the operation more atomic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00:00
Jeff Young
b779715996
Don't whack original pad shape when converting to custom.
...
Rectangles and circles convert easily, but a chamfered rectangle
(for instance) needs more careful handling.
2020-06-19 14:10:41 +01:00
Jon Evans
e91b9f6dfb
Rip out the unused leftovers of the old color system
2020-06-18 22:32:14 -04:00
Seth Hillbrand
32738862b8
Fix build error in linux
2020-06-18 09:52:04 -07:00
Jeff Young
76d1b8bfa1
Make sure selectors match against user layer names.
...
Also allows for user specification of units in rule constraints.
2020-06-18 15:38:01 +01:00
Jeff Young
cae493fe65
More infrastructure work for shape editor.
2020-06-18 15:38:01 +01:00
Jeff Young
ee9d8fcd15
Collapse Pcbnew & ModEdit display and edit settings.
...
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Seth Hillbrand
08c61e6788
Ensure triangulation follows moving zone
...
Dragging filled zones in OpenGL was extremely slow due to the
invalidated triangulation cache. Moving the zone should also move the
triangles and keep the cache valid.
2020-06-17 19:43:11 -07:00
Seth Hillbrand
eb89d1c68b
pcbnew: Minor update to ratsnest calc
...
BuildConnectivity updates the ratsnest after it completes. By compiling
the ratsnest before connectivity, we update it twice with the dirty flag
being reset after connectivity updates.
2020-06-17 19:43:11 -07:00
Jeff Young
f31139ac48
Don't copy from a running Pcbnew now that we have settings.
...
Also fixes an issue where if Pcbnew wasn't run before the symbol
chooser (with the footprint preview active) you'd get no grids (and
a crash on non-OSX platforms).
Fixes https://gitlab.com/kicad/code/kicad/issues/4670
2020-06-17 19:02:42 +01:00
Jeff Young
a7703d1207
Cleanup Graphics to parallel Cleanup Tracks & Vias.
...
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
Jeff Young
a3cab09fb4
Make it clearer that drawSegment() can modifiy the current seg pointer.
...
This might also quiet the Coverity warning, but I've also marked it as a
false positive (as it might still mess up on the new code).
2020-06-17 18:44:39 +01:00
jean-pierre charras
55c0bd7ae3
Remove a incorrect code, unfortunately not removed after another (old) code change.
2020-06-17 12:54:09 +02:00
Seth Hillbrand
8c57821e9b
pcbnew: Move ratsnest items to separate folder
2020-06-16 11:15:14 -07:00
Jeff Young
aeed8e6e2c
Finish implementation of DRAWSEGMENT::C_RECT.
...
It's currently only supported in the Footprint Editor. It could be
easily added to the board editor (all the code is there), but the board
editor is a little short on room in the drawing tools toolbar.
2020-06-15 20:51:31 +01:00
Eli
2a334a5c59
Updates wording used in alignment submenu to make the actions clearer when icons are missing. Also reorganises the order of items in the submenu.
2020-06-15 16:49:36 +00:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
jean-pierre charras
b7ec66dc9b
Gerber plotter: better choice of aperture attributes in internal layers.
2020-06-14 18:16:01 +02:00
jean-pierre charras
a8d5d9b690
panel lib tables: avoid crash when deleting the last entry in list.
2020-06-14 17:39:32 +02:00
Seth Hillbrand
461d0e9a49
Unify rounding in altium to KiCad converter
...
This fixes an issue in the integer conversion that caused truncation
errors. Handling the conversion from micromil to nanometer using
doubles keeps intermediate values correctly rounded. There remain some
conversions that are lost where Altium rounded its metric
representation.
2020-06-14 07:53:15 -07:00
Seth Hillbrand
899496baaa
pcbnew: Remove item from edit selection in favor of parent
2020-06-14 07:29:44 -07:00
Seth Hillbrand
491ac0256d
pcbnew: Add a number of missing handles for module zones
2020-06-14 07:23:10 -07:00
Seth Hillbrand
09eee84a3e
pcbnew: Handle module zone area in delete
...
Selections containing zone areas need to be handled separately by
modifying the parent rather than the item itself
Fixes https://gitlab.com/kicad/code/kicad/issues/4653
2020-06-14 07:05:14 -07:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Jeff Young
47ab7c78a6
Divorce GRID_HELPER from the parent frame.
...
This moves GRID_HELPER fully into the tool framework.
2020-06-13 22:44:16 +01:00
Seth Hillbrand
4d4d24fc61
Don't snap to arc midpoints
...
This removes the extra snap points in the arcs, ensuring the endpoint
snaps connect to the correct location on an arc.
2020-06-13 11:23:14 -07:00
Seth Hillbrand
a8ab668122
Move SHAPE_ARC to start->mid->end format
...
The arc shapes need to connect with their adjacent points. By storing
the relevant points, we allow exact point matching on both ends of the
arc as well as localize point storage.
2020-06-13 11:23:14 -07:00
Seth Hillbrand
951eaa13fe
pcbnew: Fix arc track length calculation
2020-06-13 11:23:14 -07:00
Jeff Young
f84406009b
Push a couple of layers of indirection out of grid settings.
2020-06-13 11:35:56 +01:00
jean-pierre charras
2b122892d3
DIALOG_PAD_PROPERTIES: fix some issues:
...
- fix many wxWidgets alerts.
- ensure pad offset wxTextCtrs are shown or not according to the wxCheckBox state.
- ensure there is room in dialog for some wxTextCtr when switched from Hide to Show
(resize it if it is too small)
2020-06-11 20:34:13 +02:00
Jeff Young
4629b701ea
Fix spacing issue in Pad Properties.
2020-06-11 18:26:44 +01:00
Wayne Stambaugh
c5fc1d4a7c
More dialog clipped bitmap button fixes.
2020-06-11 07:31:50 -04:00
jean-pierre charras
8bd9b26717
ZONE_CONTAINER, display info: fix incorrect layer of zones on user layers.
...
Add also display on hatch count and filled polygons corner count, previously removed,
but useful for large and complex zones (that can take a lot of computation time
for DRC and display).
2020-06-10 21:01:44 +02:00
Wayne Stambaugh
ee8cf01ff5
Pcbnew: fix issue when updating board from schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4607
2020-06-10 14:21:46 -04:00
Jeff Young
d7d877241a
More explicit type conversion to attempt to fix GCC compile issue.
2020-06-10 13:41:45 +01:00
Jeff Young
4138c8554c
Parse DRC rules when closing Board Setup dialog.
2020-06-10 12:03:37 +01:00
jean-pierre charras
2401ed587e
eeschema, pcbnew: fix too narrow window showing the item color list
...
Fixes #4610
https://gitlab.com/kicad/code/kicad/issues/4610
2020-06-09 20:05:38 +02:00
Jan Mrázek
3091bb1459
eagle: Change font size calculation
...
Eagle includes stroke thickness into font size, KiCAD does not. Remove
the hack with scaling down the font, compute size precisely.
CHANGED: Fixed font calculation in Eagle import
2020-06-09 15:30:04 +00:00
Jan Mrázek
e34a01dc68
eagle: Make semantics of cutout correct
...
Eagle cutout polygons only restrict filled copper, they do not limit
tracks, vias and pads inside them. Fix this behavior in the Eagle
import.
CHANGED: Fix semantics of Eagle cutout polygons
2020-06-09 15:30:04 +00:00
jean-pierre charras
64231a8491
fix a minor wxWidgets alert and a outdated comment.
2020-06-09 14:12:38 +02:00
jean-pierre charras
f8967550a8
PANEL_FP_LIB_TABLE: fix incorrect size of the SPLIT_BUTTON.
...
This was due to use of a not yet calculated of a bitmap button.
At least on msw just after setting the bitmap of a bitmap button
the actual size is not yet calculated: it is calculated after calling Layout()
2020-06-08 10:19:31 +02:00
jean-pierre charras
27c80e8a2e
Solder mask clearance default value: set default to 0, taking advice from
...
both Ucamco and Eurocircuits.
Update message in plot dialog about best solder mask clearance value.
Show warning in plot dialog if these values are no 0.
2020-06-07 11:10:28 +02:00
Thomas Pointhuber
25eb88636f
eagle: handle TRESTRICT, BRESTRICT and VRESTRICT consistently
2020-06-07 00:16:04 +00:00
Thomas Pointhuber
23cc51a53f
eagle: add support for tRestrict, bRestrict and vRestrict on circle
...
Fixes #1869
https://gitlab.com/kicad/code/kicad/-/issues/1869
2020-06-07 00:16:04 +00:00
Thomas Pointhuber
22860b6e7a
eagle: add support for tRestrict, bRestrict and vRestrict on polygons
...
Fixes #2451
https://gitlab.com/kicad/code/kicad/-/issues/2451
2020-06-07 00:16:04 +00:00
Thomas Pointhuber
54decd8afb
eagle: add support for tRestrict, bRestrict and vRestrict on rectangles
...
Fixes #2451
https://gitlab.com/kicad/code/kicad/-/issues/2451
2020-06-07 00:16:04 +00:00
Ian McInerney
9d0ea66a96
Don't use the accelerator table in the menubars
...
It seems that the accelerator table causes issues with
keyboard events on MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/1941
2020-06-06 22:50:35 +00:00
Jon Evans
94cd0cf3ad
Fix accidental logic change to BOARD::InsertArea
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4474
2020-06-06 15:26:49 -04:00