Commit Graph

5746 Commits

Author SHA1 Message Date
Marek Roszko b2e9f6987d Split base_struct into eda_item and eda_rect 2020-10-13 21:24:50 -04:00
Marek Roszko 2c86363aa0 Relocate the page_layout includes to a page_layout folder 2020-10-13 20:33:33 -04:00
Marek Roszko efa28d3357 Untangle pl_editor includes 2020-10-13 20:33:33 -04:00
Jon Evans cb1d416e5a Use settings keys, not error codes, for ERC/DRC reports
Error codes can shift around if the enum ordering is
not maintained, which is more fragile than the settings
key which should never be changed after a new code is
created.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6001
2020-10-13 18:03:07 -04:00
Jon Evans cb075d06c2 Apply system colors to HTML panel in symbol chooser
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6000
2020-10-13 17:55:14 -04:00
Jeff Young b3cd829d9f Don't allow degenerate polygons.
Fixes https://gitlab.com/kicad/code/kicad/issues/5883
2020-10-13 20:22:31 +01:00
Jeff Young ef3b7052e0 Remove layer nag dialogs and just ignore non-shapes on Edge_Cuts.
Fixes https://gitlab.com/kicad/code/kicad/issues/5812
2020-10-13 20:22:31 +01:00
Jeff Young 1703729269 Require explicit decl of maxError and errorLocations.
This should reduce both performance issues and clearance issues.
2020-10-13 13:49:07 +01:00
Jeff Young 5eaa992ce8 Read netclass via drill settings from project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951

Fixes https://gitlab.com/kicad/code/kicad/issues/5952
2020-10-13 09:57:33 +01:00
Michael Kavanagh c40483d18a Cleanup: Move KiCad files into plugins folder 2020-10-12 16:36:08 +00:00
Michael Kavanagh f45ca7179b Cleanup: Move GEDA PCB files into plugins folder 2020-10-12 16:36:08 +00:00
jean-pierre charras 380534807b Plotters: better support of filled circles having a thickness set to 0.
Setting a line thickness = 0 for graphic objects (circle, rect, line) is
allowed but creates issues for circles that were plotted a non filled shapes
but having a outline thickness = 0.
2020-10-12 11:30:43 +02:00
Marek Roszko 88102bca46 Kick the refresh timer for GAL on Win32 with a terrible hack 2020-10-11 21:44:46 -04:00
Marek Roszko 1739f1b6ea Uninitialized variable (in base class call) 2020-10-11 21:28:07 -04:00
Jeff Young 42eecdfd3a Collapse silk constraints down to one.
Also updates the rule syntax help and code-completion with a bunch
of diff-pair and other stuff that hadn't been updated yet.
2020-10-11 13:19:23 +01:00
jean-pierre charras 34f47b3806 Add support of AP macro for chamfered round rect pads. 2020-10-11 12:53:45 +02:00
Marek Roszko 558f4b4b51 Add new place cursor, fix cursor hotpoints again 2020-10-10 23:45:21 -04:00
Marek Roszko 06144824d1 Fix cursor hotpoints 2020-10-10 23:26:19 -04:00
Marek Roszko 3d93bb01e1 Flip the pencil cursor orientation 2020-10-10 23:20:07 -04:00
Marek Roszko 310786333d Add missing cursors for bus, graphic lines, and hier labels
Fix #5949
2020-10-10 18:25:44 -04:00
PJM b263164c72 Pcbnew: Don't flip tool text when view is flipped
CHANGED: When using tools like the ruler, circle, arc, etc, they
display info text.  If the view is flipped, the text is also flipped.
This MR fixes the flipped text and also corrects text X offset and
justification to match normal view.
2020-10-10 22:20:17 +00:00
PJM 6de5cf827a Pcbnew: Don't flip tool text when view is flipped
CHANGED: When using tools like the ruler, circle, arc, etc, they
display info text.  If the view is flipped, the text is also flipped.
This MR fixes the flipped text and also corrects text X offset and
justification to match normal view.
2020-10-10 22:20:17 +00:00
Jon Evans 351a85033a Redo About dialog notebook for better layout
wxAuiNotebook looks terrible with dark mode
Fix HTML window colors

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5948
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5895
2020-10-10 14:00:21 -04:00
jean-pierre charras 213a74cbe6 Gerber, Dialog plot: add option to disable Aperture Macro use.
Some broken Gerber readers cannot handle Aperture Macros without errors
although this feature exists since the beginning of RS274X format.
2020-10-10 16:42:21 +02:00
Marek Roszko 511bdb64e1 Fix the delete tool not immediately setting cursor
Fix #5939
2020-10-09 18:51:10 -04:00
Seth Hillbrand bb8ca2ba3a Adjust Librarian names per request 2020-10-09 13:53:08 -07:00
Jeff Young 2574a8d71e Update GAL observers for all frames, not just calling frame.
Also don't rely on UpdateScaleFactor to do it as it only does it
if the scale factor changed.

Fixes https://gitlab.com/kicad/code/kicad/issues/5621
2020-10-09 21:30:09 +01:00
Seth Hillbrand 1d83749d17 Remove some duplicates
Some developers were listed twice with similar names or multiple
sections.
2020-10-09 08:46:08 -07:00
jean-pierre charras f60954c232 Gerber export: add support for flashed chamfered rect (with no rounded corner) pads 2020-10-09 16:47:34 +02:00
Michael Kavanagh 5e0baa2c4a Cleanup: remove dead code 2020-10-09 02:28:32 +00:00
Marek Roszko bd30a4a406 Add selection lasso and window cursors 2020-10-08 21:25:21 -04:00
Marek Roszko f238d05ead Add COMPONENT cursor 2020-10-08 20:52:58 -04:00
Marek Roszko 6cf4016a64 Add net and global label cursors 2020-10-08 20:52:58 -04:00
Marek Roszko 8fa42a74bd Add zoom cursors 2020-10-08 20:52:58 -04:00
Seth Hillbrand 2dfd27cdbb Do better and acknowledging contributions
Split Librarian team from "Artists"
Add all code contributors
Add footprint/3d model scripted development acknowledgement
2020-10-08 16:48:15 -07:00
Marek Roszko 2b2e8552be Turn off the leak dumping under MSVC as wxWidgets causes it to falsely report dumps on exit 2020-10-08 17:08:01 +00:00
Jeff Young fa32f291bc Escape parens when outputting PDF text.
Fixes https://gitlab.com/kicad/code/kicad/issues/5917
2020-10-08 16:46:22 +01:00
jean-pierre charras 2aa357c872 Gerber export: fix incorrect size or orient of flashed oval and round Rect
shapes when they are not horizontal or vertical.
2020-10-08 14:48:34 +02:00
jean-pierre charras 00fea5006e Gerber plotter: fix a bug in a aperture macro calculation 2020-10-08 13:24:28 +02:00
Jeff Young 3fd0df658d Simplify arc drawing guides to be more consistent with other tools. 2020-10-08 11:33:32 +01:00
Marek Roszko 0b43dc6e16 Minor json parse safety 2020-10-07 22:00:02 -04:00
Mark Roszko d9485129c8 Implement more context specific cursors using both stock and custom cursors. 2020-10-08 00:50:28 +00:00
Ian McInerney 7e17b39755 Bump up precisions for mm and mils to 2 and 4 respectively 2020-10-07 23:24:27 +01:00
Jeff Young 4565631728 Finish moving eeschema assigned netclasses to sheet-path-relative.
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.

Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
Tomasz Wlostowski 30f8cc1346 VIEW_OVERLAY: added Cross() method 2020-10-07 16:36:37 +02:00
Tomasz Wlostowski be0688726c NETCLASS: initial support for net classes with empty clearance/width values 2020-10-07 16:36:37 +02:00
Tomasz Wlostowski bd27d38d9a DRAW_PANEL_GAL: added DebugOverlay() method, creating a temporary overlay for drawing debug graphics 2020-10-07 16:36:37 +02:00
Wayne Stambaugh 5127d6c772 Eeschema: add ERC check for library symbol issues.
ADDED: ERC check for library symbols that have changed since they were
added to the schematic or have broken symbol library links.
2020-10-07 09:15:31 -04:00
Seth Hillbrand 56e1afb12e Unselect items before rescoring
Iteration on a suggestion from Mikołaj Wielgus to resolve
elusive crashing issue when searching in lib tree in GTK.

GTK issues two commands when clearing (BeforeReset() and AfterReset())
BeforeReset() needs to have a valid model and cannot have selection
events during its lifetime.  On MacOS and MSW, this is a NOP.
AfterReset() performs the re-association for GTK, removing the need for
the extra associate step.  For MacOS and MSW, this is only the Cleared()
action.

Fixes https://gitlab.com/kicad/code/kicad/issues/5732

Fixes https://gitlab.com/kicad/code/kicad/issues/5891
2020-10-06 17:40:30 -07:00
Jon Evans 9bae2cadf0 Fix a few issues with color theme editing 2020-10-06 19:21:20 -04:00
Jeff Young 0bc7bbbadb Report silk/edge collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/5854

Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
Jeff Young ee95d8fe2e Improve SNR in status bar (and use common code). 2020-10-06 12:08:31 +01:00
jean-pierre charras 61f1f7d948 Gerber, aperture macros: use different apertures primitives in macro defs.
To avoid issues with broken Gerber readers use aperture macros with shapes
without rotation when more than one primitive is required.
In many gerber readers, rotation of a set of primitives is broken
(do not follow Gerber requirements)
2020-10-06 11:08:07 +02:00
Jon Evans 728c207105 Deduplicate settings migration handling 2020-10-05 23:21:57 -04:00
Jon Evans 76bfa47a77 Allow creating new projects when doing a Save As in eeschema 2020-10-05 22:36:26 -04:00
Ian McInerney 43c14face0 Switch to showing metric/imperial units in comboboxes and menus
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Michael Kavanagh 1416280662 Cleanup: Move Eagle files into plugins folder 2020-10-05 14:19:07 +00:00
Jeff Young 37906511f5 Class renaming.
DRAWSEGMENT  -> PCB_SHAPE
EDGE_MODULE  -> FP_SHAPE
TEXTE_PCB    -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Mark Roszko a28a0e14ba Fix conversion warnings 2020-10-05 10:41:14 +00:00
jean-pierre charras 12ecccd0f3 Gerber output: disable use of aperture macros until some issues are fixed. 2020-10-05 10:54:38 +02:00
Jon Evans e27786de2d Fix double call of OnPgmExit
Also fix bad filename being passed to pcbnew when starting
from a blank schematic in standalone mode

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5786
2020-10-04 18:39:33 -04:00
Ian McInerney 3a570c27f0 Update unit handling in the preview ruler
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
  frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Ian McInerney 122bd7ca7c Make the statubar aware of mils units
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.

Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Ian McInerney b1bd1f2a97 Introduce new action to switch to mils as a unit 2020-10-04 17:53:55 +01:00
Jeff Young 7a4900b8dc PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Seth Hillbrand 8e515d0069 Standardize default hotkey refresh 2020-10-04 05:48:26 -07:00
Jeff Young 85c6cebd77 Rework silk-to-pad checker to handle all solder mask clipping of silk.
Fixes https://gitlab.com/kicad/code/kicad/issues/5851
2020-10-04 13:21:01 +01:00
jean-pierre charras 10bc96840a Fix incorrect test in Page Settings dialog.
Fixes #5871
https://gitlab.com/kicad/code/kicad/issues/5871
2020-10-04 11:38:00 +02:00
Marek Roszko 9e115a548e Add advance config variable to skip bounding box loading on footprints 2020-10-03 22:01:42 +00:00
Jeff Young bb753aaadf Clean up terminology around active & high contrast layers. 2020-10-03 22:55:34 +01:00
Jeff Young 70f329df91 Fix two-point assistant drawing layers to be in correct order.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-03 22:55:34 +01:00
Mikolaj Wielgus d9fd6e549b Remove "useMils" variable from numeric evaluator 2020-10-03 20:06:56 +00:00
Mikolaj Wielgus d14761bee6 Fix inches being sometimes used instead of mils 2020-10-03 20:06:56 +00:00
Mikolaj Wielgus 400c15b8eb Add mils to units, remove useMils variables 2020-10-03 20:06:56 +00:00
Ian McInerney b69d396afc Turn the toolbar context menus into unique_ptr for easier management 2020-10-03 19:09:18 +01:00
Jeff Young 44b23dd3d1 Add some defensive code to try and prevent freed pointer access.
Fixes https://gitlab.com/kicad/code/kicad/issues/5747
2020-10-03 18:50:49 +01:00
Jeff Young ba26e056ec Implement groups for modedit.
This uncovered a memory corruption bug in MODULE's move operator,
several bugs in MODULE's move and copy constructors, and a bug in
BOARD's GetItem() call.

It also bumps the file format for saving/restoring groups inside
footprints.
2020-10-03 12:19:50 +01:00
jean-pierre charras e76736b7bf Fix a few Coverity warnings 2020-10-03 12:47:41 +02:00
jean-pierre charras bda275de46 more cleanup about removing useless include 2020-10-03 11:48:16 +02:00
jean-pierre charras b38cef409b Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.

Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Jon Evans 3e49669304 Clean up some unused things 2020-10-02 21:12:59 -04:00
Jon Evans 45d7f2b6f5 Expose via holes to color theme properly 2020-10-02 21:12:59 -04:00
Jon Evans 3b252c696d Make tool init order dependent on registration order
Previously, init order depended on the ordering of the
tool state map, which is opaque from the point of view of
registration.  This makes it challenging to make one tool's
init depend on another.  With this change, registration
order defines init order.
2020-10-02 18:42:41 -04:00
Jeff Young cc617b715f Implement hypertext links for intersheet references. 2020-10-02 21:18:34 +01:00
Seth Hillbrand 394b3b3a36 Use standard refresh icon in toolbar
Fixes https://gitlab.com/kicad/code/kicad/issues/5852
2020-10-02 12:01:33 -07:00
jean-pierre charras 36bc44e6d7 more cleanup about removing useless include 2020-10-02 19:56:10 +02:00
jean-pierre charras 87a220b8e2 more cleanup about removing useless include 2020-10-02 14:51:11 +02:00
Jeff Young 0052954046 Try to make rulers draw right on Cairo as well as OpenGL.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-02 13:50:16 +01:00
jean-pierre charras 13304d0870 more cleanup about removing useless include 2020-10-02 13:40:00 +02:00
jean-pierre charras 0deeed0ddc add missing file 2020-10-02 10:28:24 +02:00
jean-pierre charras 0cca2a0ad2 Rect, Round Rect, Oval, Trapezoid (rotated) pads now use flashed apertures.
Complex shapes are plot using regions.

The old code is still available, just in case...
2020-10-02 10:19:45 +02:00
jean-pierre charras 8285110c2a more cleanup about removing useless include 2020-10-02 08:58:19 +02:00
Jon Evans 4a17205e76 Turn off "prefer selection to dragging" by default 2020-10-01 18:24:07 -04:00
Tomasz Wlostowski 9b470b6c09 EDA_TEXT: Use actual draw rotation angle to generate the effective shape.
Fixes: #5814
2020-10-01 18:55:53 +02:00
Tomasz Wlostowski bf9e2de1ac DRAW_PANEL_GAL: don't crash when parent EDA_FRAME is null 2020-10-01 18:55:53 +02:00
Jeff Young 612411a87b Give assistant graphics a max bounding box.
They're only on screen when they're being used, and we don't have
a GAL available to calculate their actual extents from (since their
text scales with zoom).

Fixes https://gitlab.com/kicad/code/kicad/issues/5845
2020-10-01 17:53:44 +01:00
jean-pierre charras 35e129ed47 Minor code cleanup, step3: remove more useless include. 2020-10-01 18:28:12 +02:00
jean-pierre charras f702da95c7 Minor code cleanup, step2: remove more useless include.
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
Jeff Young c7802e7ff8 Adjust ruler text on non-HDPI displays.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-01 14:35:30 +01:00
jean-pierre charras 42350a4928 Minor code cleanup: remove useless include or useless code.
fix also a minor compil warning
2020-10-01 11:36:15 +02:00