Commit Graph

9061 Commits

Author SHA1 Message Date
Ian McInerney e18a9d4aa3 Fix mac compile issue introduced in 66929358 2020-05-24 23:53:55 +01:00
Jon Evans 28a4813c71 Force footprint viewers to have a cursor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4528
2020-05-24 16:10:37 -04:00
Jon Evans a52435bbb0 ADDED: New mouse settings panel, expanded mouse settings
You can now choose the behavior of dragging with the
middle and right mouse buttons.

You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.

You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.

You can also now zoom by dragging with the right or
middle button if desired.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans c7daf8a8f3 ADDED: Cross-probe highlighting of bus members
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
2020-05-24 13:30:23 -04:00
Ian McInerney 29a40ddf9c Readd text sketch mode to the footprint editor toolbars
This was removed during the transition to tool actions,
but the setting still exists, so it can get enabled with
no way to turn it off. Another solution would be to remove
the option for text sketch completely, but I am too lazy
to do that right now.

Fixes https://gitlab.com/kicad/code/kicad/issues/4269
2020-05-24 11:58:33 +01:00
Ian McInerney 4ecf99e7c8 Give the footprint viewer a toolbar and remove the options dialog
CHANGED: Cvpcb fpviewer and the pcbnew fpviewer no longer have an options dialog
ADDED: Add a side toolbar to the pcbnew footprint viewer (and the measure tool)

This also cleans up some of the settings structs in the viewers, since
it was somewhat confusing before.

Fixes https://gitlab.com/kicad/code/kicad/issues/2205
2020-05-24 11:58:33 +01:00
Ian McInerney f08057b629 Remove old settings file 2020-05-24 11:58:33 +01:00
Ian McInerney 6692935808 Consolidate common viewer actions across cvpcb and pcbnew frames
* Consolidate the measure tool into one tool (this gives cvpcb
  unit changing and snapping capabilities in its measure tool)
* Transition cvpcb to use actions for the sketch modes
* Replumb how magnetic items settings are stored and used
2020-05-24 11:58:33 +01:00
Jon Evans f7578eb038 Implement new native netlist QA test 2020-05-23 21:04:11 -04:00
Michael Kavanagh ab07c852d0 Board setup: replace checkboxes with radio buttons
Fixes https://gitlab.com/kicad/code/kicad/issues/4520
2020-05-24 00:25:28 +00:00
Jon Evans b4ceddbcd8 Fix the duplicate branches warning 2020-05-23 12:45:28 -04:00
jean-pierre charras 17fad3a9a4 Minor cosmetic fix and enhancement is 2 dialogs. 2020-05-23 09:48:05 +02:00
Stefan 7e6b2211e0 Add Assembly pcbview to pcb_layer_widget 2020-05-22 20:40:53 +00:00
Jeff Young 9a08ee2778 Add a 1nm tolerance to prevent rotated pad roundoff errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/4139
2020-05-22 18:04:29 +01:00
Jeff Young 0a9adaef73 Don't use bboxes for non-cartesian-rotated pad collision testing. 2020-05-22 14:12:56 +01:00
Jeff Young 69f121d907 Another attempt to get DRC and status bar to share message content. 2020-05-22 14:12:56 +01:00
jean-pierre charras f056713ceb Remove old incorrect code. 2020-05-22 08:05:39 +02:00
Jeff Young 4f14769ce1 Use both pads when calculating pad-to-pad clearance. 2020-05-21 21:26:36 +01:00
Jeff Young a5b53a623d Update status bar with clearance & rule sources. 2020-05-21 21:26:30 +01:00
Ian McInerney fca7ade81f Move to the AUI version of the infobar
The sizer-based version had issues with the event processing
inside the GAL panel on Windows systems.

Fixes https://gitlab.com/kicad/code/kicad/issues/4501
2020-05-21 18:22:56 +01:00
Jeff Young 98be50883d Fix bug in single-item layer matching. 2020-05-21 11:25:39 +01:00
Ian McInerney 73a1ce3e84 Move eeschema find notification to the infobar and improve the infobar widget
* Move it to a panel along with the canvas to have a better UI
* Allow the infobar to automatically close after a set time

CHANGED: The eeschema find notifications now use the infobar instead of
a popup window
2020-05-20 02:31:47 +01:00
Ian McInerney 2bc57ade28 Cleanup parentage inside the draw panels 2020-05-20 02:23:46 +01:00
Jeff Young 89c46e6834 Fix typo in DRC check of rule-based track-width. 2020-05-19 21:17:49 +01:00
Jeff Young 7bb280ea39 General cleanup. 2020-05-19 20:48:47 +01:00
Jeff Young 0aaccfbb28 Save hole-to-hole-min to file. 2020-05-19 20:48:47 +01:00
jean-pierre charras 4efed4b729 Pcbnew, exchange footprint and export DSN: fix incorrect rotation if the edit
option Flip was set to flip around Y axis.

Fixes #4487
https://gitlab.com/kicad/code/kicad/issues/4487

Fixes #4478
https://gitlab.com/kicad/code/kicad/issues/4478
2020-05-19 10:20:12 +02:00
Jon Evans f4d7c323f5 Coverity fixes 2020-05-18 22:58:28 -04:00
Ian McInerney a2f027e063 Add an infobar widget to display information above the canvas
This widget allows for non-intrusive display of text
above the editing canvas. Currently, this is used
for displaying the read only status of the files.
2020-05-19 00:46:33 +01:00
Jeff Young 7d537e83ea Match layers only if both items are on the given layer. 2020-05-18 22:37:37 +01:00
Jeff Young ae9662c5cd Fix some unitialized variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/4477

Fixes https://gitlab.com/kicad/code/kicad/issues/4473
2020-05-18 21:30:38 +01:00
Jeff Young d046f165de Fix board outline issues.
1) Don't try and do board-edge clearance checking against a
synthetic polygon constructed because we didn't find any edges.

2) Check pads against board edge.

3) Don't report vias as "Track too close to board edge".
2020-05-18 21:11:01 +01:00
Jeff Young cec857c0f4 Complete hookup of zone filler to new clearance engine. 2020-05-18 19:20:46 +01:00
Jeff Young 05855a5a1c Performance enhancements for DRC. 2020-05-18 13:38:17 +01:00
Jeff Young 8dc6f8e82b Allow empty rules files. 2020-05-17 15:49:02 +01:00
Jeff Young 75b139c7b4 Move hole testing to DRC client and improve performance. 2020-05-17 15:49:02 +01:00
Ian McInerney e662e33104 Store the current filename in the history on close 2020-05-17 00:12:49 +01:00
Ian McInerney 613c020920 Move the file history into the frames 2020-05-17 00:12:49 +01:00
Jeff Young 3656297f99 Add a simple editor for DRC rules. 2020-05-16 23:30:30 +01:00
Jeff Young 5b07889347 Better error messages for rule parsing. 2020-05-16 20:53:49 +01:00
Jon Evans f2e003147e ADDED: Enable color themes for PcbNew printing 2020-05-16 13:19:43 -04:00
Jeff Young d3f017d825 DRC rules parser and engine.
Fixes https://gitlab.com/kicad/code/kicad/issues/2182

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/1965
2020-05-16 15:53:05 +01:00
jean-pierre charras 1d914133c9 Pcbnew, context menu: move createArray,moveExact,positionRelative in a submenu 2020-05-16 16:09:00 +02:00
jean-pierre charras c805b52c39 Tool pad enumerate: show it only in footprint editor.
In board editor, its use makes no sense, and crash Pcbnew.
2020-05-16 15:52:47 +02:00
Frank Severinsen 9cf1e61d8a Fix text rotation after flip
fixes https://gitlab.com/kicad/code/kicad/-/issues/4407
2020-05-15 21:17:24 +00:00
jean-pierre charras d5b4473830 PCB_EDIT_FRAME: when calling Eeschema from toolbar, use new .kicad_sch ext.
Fixes #4450
https://gitlab.com/kicad/code/kicad/issues/4450
2020-05-15 10:45:33 +02:00
Jeff Young c7f0f0b844 Fix typos. 2020-05-14 22:31:03 +01:00
Jeff Young 09000313d8 Default dangling DRC checks to warnings. 2020-05-14 22:11:53 +01:00
Jeff Young 13493437d0 Add hole-inside-courtyard DRC checks.
One for NPTH and one for PTH; both default to "ignore".

Fixes https://gitlab.com/kicad/code/kicad/issues/3434
2020-05-14 22:02:47 +01:00
Jeff Young aedc624340 Add DRC checks for dangling vias and tracks.
Fixes https://gitlab.com/kicad/code/kicad/issues/1999
2020-05-14 22:02:47 +01:00
Jeff Young 9db2969911 Set linewidth to Gerber plotter as well a GAL.
Fixes https://gitlab.com/kicad/code/kicad/issues/4428
2020-05-13 17:17:05 +01:00
jean-pierre charras 23927957e1 Pcbnew: fix a crash due to use of invalid pointers after a list modification
Fixes #4409
https://gitlab.com/kicad/code/kicad/issues/4409
2020-05-13 11:51:56 +02:00
jean-pierre charras 2cf82d9129 fix a wxWidgets minor alert and compil warnings 2020-05-13 08:53:32 +02:00
Jeff Young a632e5fbdb Fix same parsing issue in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/4416
2020-05-12 20:38:58 +01:00
jean-pierre charras c3b50d38dd Pcbnew: Update PCB from schematic: try to load .kicad_sch file instead of .sch file 2020-05-12 10:16:40 +02:00
Jeff Young 74ee143d45 Add via annulus minimum. 2020-05-11 22:56:09 +01:00
Jeff Young 03c47e210c Apply blind/buried via drawing to microvias. 2020-05-11 22:56:09 +01:00
Jeff Young dea05336fc Don't zoom all the way in on a new footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/2220
2020-05-11 00:19:26 +01:00
Thomas Pointhuber 5c7ebb4f2b altium: map Altium KEEP_OUT_LAYER -> KiCad Margin 2020-05-10 20:19:05 +00:00
Thomas Pointhuber 110cefc86f altium: promote wxLogInfo -> wxLogWarning, otherwise it could be ommited 2020-05-10 20:19:05 +00:00
Thomas Pointhuber 31fd3763d2 altium: detect barcode objects, improve binary documentation for text objects 2020-05-10 20:19:05 +00:00
Thomas Pointhuber 5c02c951a9 altium: parse text properties (bold, italic, inverted) 2020-05-10 20:19:05 +00:00
Thomas Pointhuber 96da60d119 altium: use correct text rotation, improve truetype text size
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4349
2020-05-10 20:19:05 +00:00
Thomas Pointhuber 0d3c1a23ad altium: add comment for future readers 2020-05-10 20:19:05 +00:00
Jon Evans a073ae5712 Properly interpret Altium pour index and pad connect style 2020-05-10 13:31:07 -04:00
Thomas Pointhuber 0a38ebcc41 altium: Improve Keepout zone parsing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4378
2020-05-10 17:30:49 +00:00
Thomas Pointhuber ba409c95b9 altium: Correctly parse advanced pad shapes. Don't rely on magic number to much
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4385
2020-05-10 17:30:49 +00:00
jean-pierre charras bc24d8e957 Fix typo and I18N string 2020-05-10 16:55:15 +02:00
Jon Evans 4165ec3384 Don't set hatch mode for unknown hatch style
Fixes #4383
2020-05-09 17:14:05 -04:00
Jon Evans b5dffa8229 Altium: fix multiline text with Windows line endings 2020-05-09 17:14:05 -04:00
Jeff Young 935cab160b A bit of defensive code for an unreproducible bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/4376
2020-05-09 14:14:38 +01:00
Jeff Young 19dc1f8b69 Make sure text gets drawn after placing even if the mouse isn't moved. 2020-05-09 14:14:38 +01:00
Jeff Young 2568c168a2 Silence Coverity warning. 2020-05-09 14:14:38 +01:00
jean-pierre charras acdfeee942 Footprint editor: fix crashes when trying to edit the Default Pad Properties.
The crsahes were due to a null pointer use.

Fixes #4379
https://gitlab.com/kicad/code/kicad/issues/4379
2020-05-09 11:15:28 +02:00
jean-pierre charras c78e7c5485 Fix compil issues (warnings and missing include) 2020-05-09 08:59:00 +02:00
jean-pierre charras 07c4689fb4 Remove declaration "using std::unique_ptr" in a header.
Near useless, and it created swig warning
2020-05-09 08:10:44 +02:00
Jeff Young 7c935b1997 Fix Mac-specific include.
Fixes https://gitlab.com/kicad/code/kicad/issues/4377
2020-05-09 00:47:35 +01:00
Thomas Pointhuber acfa15c3d3 altium: inner Cu layers are now supported, workaround can be removed now 2020-05-08 23:00:35 +00:00
Thomas Pointhuber 568b348a5e altium: parse holeoffset 2020-05-08 23:00:35 +00:00
Thomas Pointhuber 005e3ff2fe altium: store extracted step models in the directory ALTIUM_EMBEDDED_MODELS 2020-05-08 23:00:35 +00:00
Thomas Pointhuber 7d67be5b5f altium: use correct position and rotation when importing step models 2020-05-08 23:00:35 +00:00
Thomas Pointhuber 1065bb65c8 altium: fix 3d-model alignment. At least the top layer look correct now. Thx Mario for this hint 2020-05-08 23:00:35 +00:00
Thomas Pointhuber 41a6791928 altium: initial code to import STEP models
For now, they are extracted into the same directory as the project file.
Furthermore, there seems to be a problem with rotation / positioning of some models.
2020-05-08 23:00:35 +00:00
Thomas Pointhuber 76a100984a altium: set layer type for planes and "virtual" copper layers 2020-05-08 23:00:35 +00:00
Thomas Pointhuber a4fd993a4b altium: it is always a good idea to test rotation with non 90° angles 2020-05-08 23:00:35 +00:00
Thomas Pointhuber aaa3f9eb74 altium: improve text rotation in modules, make variable comparison case insensitive 2020-05-08 23:00:34 +00:00
Thomas Pointhuber 0542ce2ae2 altium: add support for non-copper pads, draw them instead using drawsegments
OTHER CHANGES:
* Simplify handling of Drawsegments
* Add missing SetWidth( 0 )

TODO:
* SMD pads on inner layers are not supported yet by KiCad
2020-05-08 23:00:34 +00:00
Jeff Young 1f68323439 Solder mask min width --> solder mask min bridge width.
Fixes https://gitlab.com/kicad/code/kicad/issues/4345
2020-05-08 23:30:33 +01:00
Jeff Young 3c3984a6fc Generalize default footprint fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/2289
2020-05-08 23:30:33 +01:00
Jeff Young 7305f407fc Fix typo in user string. 2020-05-08 23:30:33 +01:00
Jon Evans 960ce4aa67 Use footprint color scheme for CvPcb footprint viewer panel
Fixes #4375
2020-05-08 17:05:29 -04:00
Jon Evans 104bfbfbd7 Fix colors not being saved from layers widget 2020-05-07 18:49:11 -04:00
Michael Kavanagh 8418ac34bc Allow fp text to be group selected in HC mode
Fixes https://gitlab.com/kicad/code/kicad/issues/2259
2020-05-07 21:57:37 +00:00
Jon Evans 366673d995 Don't try to draw a zone that has no outline
Fixes #4352
2020-05-07 17:44:55 -04:00
Jeff Young 8efa8af8cc Add persistence of DRC error severities. 2020-05-07 17:51:27 +01:00
Jeff Young 0f8c7ffd11 Add pad keepout and footprint keepout areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/2365
2020-05-07 17:51:27 +01:00
Jeff Young 902e0d0c42 Attempt to fix GTK bug of just-added 3D model not getting selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/4314
2020-05-06 21:19:38 +01:00
Jeff Young 52d1c93777 Use standard OK/Cancel paradigm rather than Apply/Cancel.
Apply/Cancel puts the buttons in a different order on some platforms.

Fixes https://gitlab.com/kicad/code/kicad/issues/4332
2020-05-06 20:50:44 +01:00
Jeff Young 001a50bf14 Moved PANEL_COLOR_SETTINGS from buttons to swatches.
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jon Evans 9916f24fab Split out footprint editor color settings
Migrate COLOR_SETTINGS 0->1 to remove fpedit section
Migrate FOOTPRINT_EDITOR_SETTINGS 0->1 to use new theme if created
Remove COLOR_CONTEXT that is no longer needed
2020-05-05 21:46:00 -04:00
Jon Evans 51eac3e3e6 Split pcbnew and footprint editor settings getters for clarity 2020-05-05 21:46:00 -04:00
Ian McInerney e4b6487fca Overhaul compiler warnings infrastructure
* Track our warnings separate from normal flags
* Remove all warnings from the SWIG code
* Add more GCC warnings
2020-05-06 01:47:20 +01:00
Ian McInerney 2148c593d6 Fix some compile warnings 2020-05-06 01:46:09 +01:00
Wayne Stambaugh 9c99286385 Fix a few Coverity warnings. 2020-05-05 16:42:59 -04:00
Jeff Young 9e4125c451 Add note on spacing to Global Label Properties dialog.
Also cleans up some of the other notes to have a uniform presentation.

Fixes https://gitlab.com/kicad/code/kicad/issues/4323
2020-05-05 20:33:20 +01:00
Jeff Young 67bccaf465 Make indeterminate control states clearer for the user.
Fixes https://gitlab.com/kicad/code/kicad/issues/4313
2020-05-05 20:26:51 +01:00
jean-pierre charras e208cd8eca DIALOG_FOOTPRINT_BOARD_EDITOR: minor cosmetic changes. 2020-05-05 15:20:55 +02:00
jean-pierre charras 62852e18e1 Pcbnew, DIALOG_UPDATE_PCB: store "Re-link footprints" option in config 2020-05-05 15:20:54 +02:00
Jeff Young 8df5f70c4a If more than one text matches by text try layer and then position.
Fixes https://gitlab.com/kicad/code/kicad/issues/4187
2020-05-05 00:11:59 +01:00
Jeff Young e0da677d4d Add min clearance to DRC; rename Min Via Drill to Min Through Hole.
Also fixes a crash bug when ignoring a DRC violoation with multiple
markers.

Fixes https://gitlab.com/kicad/code/kicad/issues/2528
2020-05-04 22:08:36 +01:00
Jeff Young e39d145d72 Add DRC tests for minimum drill size (based on min via size). 2020-05-04 22:08:36 +01:00
Jeff Young 1b5a6f8698 Fix crash bug when using Pad Properties in board editor. 2020-05-04 22:08:36 +01:00
Jeff Young b7cccf6844 Work around some wxWidgets bugs on OSX.
Set the netclass grid a bit narrower so it doesn't end up with a scroll
bar.

Load the constraints bitmaps on show so they get drawn (otherwise all
but those in the first sizer are blank).
2020-05-04 22:08:36 +01:00
jean-pierre charras 12d1d3a844 Pcbnew: fix not wanted changes in .kicad_pcb files when the board has no changes.
Some items (tracks and footprint graphic items) when reading were added in reverse order
of the initial file, creating useless differences and breaking source comparisons.
2020-05-04 14:01:35 +02:00
Jeff Young 889b6cb1b1 Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename. 2020-05-03 20:56:32 +01:00
jean-pierre charras 05afbcc22e library viewers: fix a focus issue that prevent using arrow keys in lib or fp lists.
Once the gal canvas hsad the focus, it was not possible to use arrow keys in library
or symbols or fp lists even after clicking on an item.

This focus issue is now fixed.

Fixes #4292
https://gitlab.com/kicad/code/kicad/issues/4292
2020-05-03 20:11:33 +02:00
Wayne Stambaugh 63291141df Pcbnew: minor footprint properties dialog layout improvements. 2020-05-03 11:45:18 -04:00
Wayne Stambaugh 4aeb0a6d71 Fix footprint library table dialog padding. 2020-05-03 07:42:35 -04:00
Jeff Young 56946f4db1 Fix pad name increment to use last edited pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/1882
2020-05-03 08:59:51 +01:00
Jeff Young 199bb2ffb0 Add hittesting for worksheets in Pcbnew and Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/4282
2020-05-03 00:07:38 +01:00
Jeff Young cf7ffda5f6 Performance improvements for Gerber loading.
The entire issue (at least on OSX) was the layers palette.  Go
figure.

Fixes https://gitlab.com/kicad/code/kicad/issues/1892
2020-05-02 21:10:40 +01:00
Jeff Young 67f2d454e9 Draw pads on internal layers if they're not on F.Cu or B.Cu.
Python footprint generators are generating them, the Altium board
importer needs them, and we'll need them for pad stacks.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4228
2020-05-02 18:13:48 +01:00
Jeff Young fd991db0a9 Forgot last commit. 2020-05-01 21:10:36 +01:00
Jeff Young 9954484dfd Don't show source in violation "name". 2020-05-01 18:49:42 +01:00
Jeff Young 058108dd6d There are 3 courtyard DRC checks, not 2. 2020-05-01 18:49:42 +01:00
Jeff Young 10614a9ebc Implement changes for Sketch Pads to Fab Layers.
Includes adding Fab Layers to default text & graphic settings.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/2274
2020-05-01 18:49:42 +01:00
Jeff Young 4a60b8a776 Improve DRC error reporting and fix some bugs. 2020-05-01 18:49:42 +01:00
Jeff Young 068874a626 Add clearance source for zone-to-zone clearance violations. 2020-05-01 18:49:42 +01:00
Jeff Young bba2fa3028 Fix bug with doubling the pad corner radius twice. 2020-05-01 18:49:42 +01:00
Jeff Young dfe4a00d43 Add distance reporting for copper item DRC tests.
Also adds some performance improvements.
2020-05-01 18:49:42 +01:00
Jeff Young 932fdf8674 Fix issue with default netclass vs orphaned net netclass. 2020-05-01 18:49:42 +01:00
Jeff Young 0c20c0b4af Fix broken hole-to-track test. 2020-05-01 18:49:42 +01:00
Jeff Young 874f13e29e Fix some issues with rotated oval pads. 2020-05-01 18:49:42 +01:00
Jeff Young 5c8d712a56 Fix some issues with rotated rectangular pads. 2020-05-01 18:49:42 +01:00
Jeff Young 1280a4d2f3 Add pre-flighting to DRC checks for performance. 2020-05-01 18:49:42 +01:00
Jeff Young c955f45728 Fix compile error on gcc. 2020-05-01 18:49:42 +01:00
Jeff Young f7e518dbc6 Add clearance sources to some DRC violation reports. 2020-05-01 18:49:42 +01:00
Jeff Young a56191b658 Add distances to a bunch of DRC violation reports. 2020-05-01 18:49:42 +01:00
jean-pierre charras 7e1294a4b7 Pcbnew, Preferences: fix not working panel color widgets.
Fixes #4290
https://gitlab.com/kicad/code/kicad/issues/4290
2020-05-01 15:03:26 +02:00
jean-pierre charras 86b5971de6 Pcbnew: minor enhancement: For pads: display netclass and clearance in msg panel. 2020-04-30 17:09:40 +02:00
jean-pierre charras 36d1d57505 Pcbnew: fix a minor wxWidget alert 2020-04-30 16:41:10 +02:00
Michael Kavanagh b67f18b394 EAGLE import tKeepout/bKeepout to F_CrtYd/B_CrtYd
Also move Pcbnew import menu to correct sub menu.

Fixes https://gitlab.com/kicad/code/kicad/issues/2347
2020-04-27 19:33:17 +00:00
Jeff Young d2046b17d7 More shrinking of Footprint Properties. 2020-04-27 00:24:57 +01:00
Jeff Young fec0c235d9 Hook up Footprint Text Line Mode action to handler. 2020-04-27 00:24:57 +01:00
Jeff Young 2e73703cc8 Shrink the Footprint Properties dialogs a bit. 2020-04-27 00:24:57 +01:00
Ian McInerney d006acecf4 More window sizing fixes
* Push all sizing operations into EDA_BASE_FRAME
* Save the unmaximized window size when maximizing
  so that we can then save it in the config if the
  window is maximized. Otherwise the config ends up
  with the maximized size saved, and weird behavior
  occurs when unmaximizing on the next opening.
2020-04-27 00:14:12 +01:00
Michael Kavanagh e05f36f9a7 Convert graphic polygons on CrtYd layers to lines
Same restriction as Edge_Cuts, due to their intended purpose polygons
don't make sense.
2020-04-26 18:51:47 +00:00
jean-pierre charras 3759799d1e Pcbnew, PANEL_SETUP_FEATURE_CONSTRAINTS: cosmetic enhancements: add a few icons.
Fixes #4263
https://gitlab.com/kicad/code/kicad/issues/4263
2020-04-25 15:22:20 +02:00
jean-pierre charras 4f369801f2 Fix a few compil and Coverity warnings. 2020-04-25 08:49:16 +02:00
Jon Evans 9af88d79ea Fix copy/paste error
Fixes https://gitlab.com/kicad/code/kicad/issues/4261
2020-04-25 00:36:46 -04:00
Ian McInerney 99dcadf7e6 Introduce new KI_FALLTHROUGH macro
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young ed3ec0aa10 Make sure marker pos gets set in constructor. 2020-04-24 23:12:06 +01:00
Jeff Young fd6dffe170 Only save changed severities etc. if the modify bit is set.
(Also means we need to set said bit when changing them.)

Fixes https://gitlab.com/kicad/code/kicad/issues/4164
2020-04-24 23:09:10 +01:00
Jeff Young 2fb2eac4d5 Performance enhancements. 2020-04-24 22:17:45 +01:00
Jeff Young 32db9eb0f1 Add some distances to a few DRC errors. 2020-04-24 22:17:45 +01:00
Ian McInerney f649204c04 Allow graphic polygons/keepouts to be closed automatically
ADDED: Auto close option for graphic polygons/keepouts/cutouts
ADDED: Delete last point option for graphic polygons/keepouts/cutouts

Fixes https://gitlab.com/kicad/code/kicad/issues/2350
2020-04-24 18:35:43 +01:00
Ian McInerney 3f9b3e505e Add some virtual destructors 2020-04-24 18:24:39 +01:00
Jeff Young 1535c83b88 Lay some groundwork for adding distances to DRC errors.
modified:   eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jon Evans 69db66e1ea Fix saving of pcbnew colors when edited from layers widget 2020-04-23 22:33:02 -04:00
Jon Evans 2d95270a31 Add color theme settings to pcbnew 2020-04-23 21:55:29 -04:00
jean-pierre charras fd59660ec8 Save new svg plot options in the board plot parameters section. 2020-04-23 10:02:59 +02:00
jean-pierre charras 825d202480 Fix some strings to help translation.
Remove translation mark for strings used in debug, or strings
that cannot be translated (for instance because they are char strings
instead of wide char strings)
2020-04-23 07:40:19 +02:00
Michael Kavanagh e800c47406 NPTH pads can have the hole offset from centre
Fixes https://gitlab.com/kicad/code/kicad/issues/3671
2020-04-22 21:50:51 +00:00
Michael Kavanagh e4cbeeab4c Remove dead code in pcbnew
* Remove dead zone printer
* Remove old canvas in pad properties window
2020-04-22 21:50:15 +00:00
Ian McInerney 806e661ab3 Make ordering in the pcb layer widget context menu uniform 2020-04-22 22:42:13 +01:00
Jeff Young c8140ddb4a Fix a typo that was keeping units refresh from working.
Fixes https://gitlab.com/kicad/code/kicad/issues/4249
2020-04-22 22:41:00 +01:00
Stefan 7ce0b11600 Pcbnew: change order of layer selector buttons, add more separators 2020-04-22 21:25:58 +00:00
Jon Evans b22ff26688 Rename List Nets to Net Inspector to better reflect function 2020-04-21 20:24:27 -04:00
Jeff Young fbd68722b2 Fix a couple of problems with text stroke thickness. 2020-04-21 21:17:59 +01:00
Jeff Young f113370e1e Edit worksheet properties when no other selection is available.
Fixes https://gitlab.com/kicad/code/kicad/issues/4044
2020-04-21 21:17:59 +01:00
Oleg Endo 60cad7d526 use dynamic_cast instead of dyn_cast 2020-04-21 13:23:56 +00:00
Oleg Endo ff5828fc33 fix formatting and update comments 2020-04-21 13:23:56 +00:00
Oleg Endo 80e40b862c destroy window when list nets dialog is closed
avoid potential performance issues when the dialog is still listening to
the board updates and refreshing its data and view structures.

it seems useful to keep the settings of the dialog across dialog
open-close cycles.
2020-04-21 13:23:56 +00:00
Oleg Endo 980f4a1f6a make select net dialog non-modal
also make sure to call BOARD::HighLightON before/after calling
BOARD::SetHighLightNet
2020-04-21 13:23:56 +00:00
Oleg Endo 137fe48d88 rewrite select net dialog 2020-04-21 13:23:56 +00:00
Oleg Endo 2f1d23312f add BOARD_CHANGED and UNITS_CHANGED events 2020-04-21 13:23:56 +00:00
Oleg Endo 7bf8a744f1 add support for board listeners 2020-04-21 13:23:56 +00:00
Oleg Endo e3aec20f82 move PCB_INSPECTION_TOOL::ListNets into pcb_inspection_tool.cpp, split out dialog_select_net_from_list.h 2020-04-21 13:23:56 +00:00
Oleg Endo 4c7471eb79 add more constness to connecivity algo
also make ForEachAnchor inlineable, like ForEachItem.
remove some unused function declarations.
2020-04-21 13:23:56 +00:00
Oleg Endo 3de5b98316 improve performance of CONNECTIVITY_DATA::GetNetItems
- CN_CONNECTIVITY_ALGO::ForEachItem
move implementation to header, so that a lambda can be inlined by the
compiler.  improves iteration performance x2

- CN_ITEM::Net
move implementation to header, so that it can be inlined by the
compiler.

- CONNECTIVITY_DATA::GetNetItems
don't use std::set to filter out duplicates.  use std::unique on sorted
vector.  use a bitset to perform type check.
2020-04-21 13:23:56 +00:00
jean-pierre charras 83cb9c0d14 Fix a few Coverity and compil minor warnings. Remove dead code 2020-04-21 12:47:48 +02:00
Ian McInerney e57c495d05 Fix remaining python method name error
The method was renamed to SetTextThickness in
9c8941e040.
2020-04-20 23:24:55 +01:00
Matt Huszagh 300de7e74c fix footprint wizard for rename from SetThickness to SetTextThickness 2020-04-20 22:09:41 +00:00
Johannes Pfister e5042a46ba Add ability to set SVG plot units and precision
ADDED: Ability to set SVG to metric or imperial units
and made it possible to change the size of a step
2020-04-20 22:02:03 +00:00
Ian McInerney a23747c640 Cleanup the menu processing in the pcbnew layer widget 2020-04-20 22:43:55 +01:00
nopeppermint 0580b60ec1 add Show All Inner Layer button to layer selector 2020-04-20 19:54:26 +00:00
Jeff Young 7f1b409305 Remove dead legacy print code. 2020-04-20 17:03:38 +01:00
Jeff Young dce42612d3 Fix via printing.
LAYER_VIAS needs to get set for them to print at all, and GetLOD
needs too look at the view layer visibiilties, not the board layer
visibilities.

Also implements a more pad-like strategy for printing blind/buried
vias when printing one layer per page (where the top/bottom arcs
don't make sense).

Fixes https://gitlab.com/kicad/code/kicad/issues/1938
2020-04-20 17:02:38 +01:00
Stefan 02bdec1c57 Pcbnew: Fix wrong show front/back layer icons in layer selector 2020-04-19 22:56:30 +00:00
Michael Kavanagh 7db355e34a ADDED: TOOL_ACTION for switching PNS router mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/2249
2020-04-19 22:44:05 +00:00
Jeff Young b2cd66f0a3 Add specific selection updating when adding 3D models.
This keeps us from being at the receiving end of wxWidgets' vagaries.

Fixes https://gitlab.com/kicad/code/kicad/issues/3760
2020-04-19 22:42:27 +01:00
Jeff Young 7e4d255cdd Apply Scintilla hack to get auto-sizing canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-19 20:09:43 +01:00
Jeff Young c08a6adb2a Implement GUI and file R/W for 3D model opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/2087
2020-04-19 18:24:39 +01:00
jean-pierre charras d28fea5502 Dxf import: fix a bug that disable import of data inside blocks
Provide also a minimal debug info when enabled in code (and only in debug version)
2020-04-19 13:41:54 +02:00
Ian McInerney 7bda8178d1 Move library includes to main CMake file
Placing them behind the SYSTEM directive tells CMake to tell
the compiler they are system libraries, so it shouldn't show
warnings created from them.
2020-04-19 01:11:56 +01:00
Jeff Young 895f46da8f Another attempt to fix the textbox scrollbars on GTK.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-18 21:41:20 +01:00
Jeff Young 2b6089240a Change super/subscript syntax to ^{foo} and _{foo}. 2020-04-18 21:04:41 +01:00
Stefan 8abe07f6e7 altium importer: Fix size of record
Previous size led to incorrect import of some boards.

From https://gitlab.com/kicad/code/kicad/-/merge_requests/172
2020-04-18 01:00:11 +00:00
Ian McInerney 3b67e3d0a4 Rewrite window positioning logic
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.

CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
Seth Hillbrand 6af21703fe P-CAD: Support Rounded Rect import
The P-CAD import supports rounded rectangles but doesn't allow
modification of the radius.
2020-04-17 10:48:37 -07:00
Thomas Pointhuber 2703bd6b81 alitum: set layer name, fix handling of odd layercount 2020-04-17 11:06:55 +00:00
Thomas Pointhuber ff5a0f61b2 altium: trim property string to avoid things like spurious newline characters 2020-04-17 11:06:55 +00:00
Thomas Pointhuber a29e55fe7e altium: Fix handling of odd layercount (otherwise, saved *.kicad_pcb file would no longer load) 2020-04-17 11:06:55 +00:00
Jeff Young cb708aaadb Fix some memory leaks. 2020-04-16 21:57:07 +01:00
Jeff Young 9c8941e040 Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
Michael Kavanagh 7513303cf4 Remove pad properties wxNotebook background
Fixes https://gitlab.com/kicad/code/kicad/issues/3920
2020-04-16 15:06:43 +00:00
Mikołaj Wielgus 5049214f33 Pcbnew statistics: remove horizontal margin in drill table
This margin caused a horizontal scrollbar to appear on Debian Buster
Xfce.
2020-04-16 12:58:02 +00:00
jean-pierre charras e1af9df83e Pcbnew, legacy_plugin.cpp: fix broken conversion of pad layers.
Fix also incorrect copper layer count setting
2020-04-16 14:40:51 +02:00
Simon Richter 5aac36dba9 New enum for trace selection mode
This avoids giving KICAD_T another meaning, which is especially messy here
as "select up to the next via" is encoded as SCH_JUNCTION_T, which belongs
to eeschema.

Also, document what is happening.
2020-04-15 11:17:51 +00:00
Tomasz Wlostowski 4a3cd77416 router: smarter way to check the shove direction without using silly heuristics 2020-04-15 13:00:48 +02:00
Tomasz Wlostowski c121f8f52c pcbnew: speed up ZONE_CONTAINER bounding box calculation 2020-04-15 13:00:48 +02:00
jean-pierre charras 5143f87678 Kicad2step: Many fixes in oce_utils.
- Better code and messages.
- Speedup calculations when removing cutouts and holes from main board.
- Do not stop step generation when trying to load a 3D modele having issues.
2020-04-15 11:44:12 +02:00
jean-pierre charras b68bdc22d7 Fix in kicadpcb reader. Update dialog export step
kicad2step: code cleanup, and more activity messages displayed
2020-04-15 10:51:35 +02:00
jean-pierre charras 110b05fe78 kicad2step: convert it from a wxAppConsole to a wxApp, using a wxFrame/wxPanel 2020-04-15 10:51:35 +02:00
Ian McInerney 45dabde68e Small cleanup in zone class 2020-04-14 18:00:09 +01:00
Ian McInerney 37a4dd927b Allow deletion of zone cutout areas
ADDED: Ability to delete zone cutout areas

Fixes https://gitlab.com/kicad/code/kicad/issues/4188
2020-04-14 17:57:47 +01:00
Ian McInerney 7068b6453e Fix latent bug in zone area calculation
The filled polygons don't have holes, so this was never hit,
but it still needs to be fixed.
2020-04-14 17:32:47 +01:00
Jeff Young 6e800bddae Rationalize penWidth processing as first step in removing some globals. 2020-04-13 20:58:13 +01:00
jean-pierre charras bdada70ee7 Cosmetic enhancements: add bitmaps to a few context menus.
Fix also a minor compil warning.
2020-04-12 10:29:28 +02:00
Jeff Young 350696ecdd Only convert references to KIIDs if the variable resolves.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young 505d8bf56e Allow ':'s in field name references in text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young a8b025ab06 Fix "show" column label. 2020-04-11 13:02:18 +01:00
jean-pierre charras 096564ec0c Fix some typos and I18n issues 2020-04-11 08:57:46 +02:00
Jeff Young 174856bac5 Promote 3D model "preview" flag to a persisted "show" flag.
Fixes https://gitlab.com/kicad/code/kicad/issues/2061
2020-04-10 22:49:56 +01:00
Jeff Young 84944524cc Fix crash on OSX when page was changed before hack array was alloc'ed. 2020-04-10 22:49:56 +01:00
jean-pierre charras dac78d2562 fix a few minor Coverity warnings. 2020-04-10 18:28:12 +02:00
jean-pierre charras 2c8ada42a0 Arc shaped track segments: fix 3D viewer and track to polygon converter. 2020-04-09 10:37:17 +02:00
Jeff Young e016b629d3 Be smarter about determining if there are modules in the selection list.
The old algorithm would delete modules if another module was in the
list, which was not the intention.

Fixes https://gitlab.com/kicad/code/kicad/issues/4175
2020-04-09 00:06:17 +01:00
Jeff Young 317e98b344 Simplify user model for editing color themes. 2020-04-08 22:34:56 +01:00
jean-pierre charras c877cb967f Arc shaped track segments: fix plotters and export vrml.
Export Hyperlinx is not fixed.
2020-04-08 17:30:20 +02:00
Simon Richter 0c2d081925 Remove unused class and friend declarations
This forward declaration doesn't match the class defined inside the
function, so the friend declaration does nothing. The friend declaration is
also unneeded, because the function is a member of the class (and so are
types defined within it), so these already have access to private members.
2020-04-07 22:14:39 +00:00
Jeff Young 840cab4eec Allow user to show layer if DRC object is hidden.
Fixes https://gitlab.com/kicad/code/kicad/issues/3686
2020-04-07 17:29:58 +01:00
Jeff Young aba0fa7bf8 Allow cross-referencing text substitutions. 2020-04-07 17:29:58 +01:00
Jeff Young 76bbb71402 Correct some formatting issues. 2020-04-07 17:29:58 +01:00
Thomas Pointhuber 05d070a0c9 altium: update to new string replacement variables 2020-04-07 14:52:55 +00:00
Thomas Pointhuber 13eb4d73da altium: fix segfault due to incorrect check 2020-04-07 14:52:54 +00:00
Thomas Pointhuber a433d9ea55 altium: improve property reading code, do not rely on exceptions 2020-04-07 14:52:54 +00:00
Jeff Young 322ab60cc5 Fix some Coverity issues. 2020-04-06 12:31:59 +01:00
Simon Richter 710e93bc53 Drop <zconf.h> include
It doesn't seem to be required, and it makes the directory depend on
zlib.
2020-04-05 23:34:13 +00:00
Ian McInerney cb380cda0c Fix some build warnings 2020-04-06 00:31:45 +01:00
Jeff Young 7bce0e17f2 Refresh netlist popups after import settings from.
Fixes https://gitlab.com/kicad/code/kicad/issues/4075
2020-04-06 00:05:34 +01:00
Jeff Young 9a258df58a Fix layout issues in Gen FP Positions dialog and add text var support.
Also adds text var support to Export SVG dialog.
2020-04-05 23:56:24 +01:00
Jeff Young b13559c926 Add envVar and text variable resolution to plot directory paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Thomas Pointhuber 78159c6744 Altium importer bug fixes
altium: add missing "layer name" -> "layer" mapping
altium: some coverty fixes towards file reading
altium: improve zone handling, fix coverty issues
2020-04-05 22:26:29 +00:00
Jeff Young cc9ac37a0e Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
Ian McInerney 4ff61318af Push pcbnew grid visibility storage into EDA_DRAW_FRAME
Fixes https://gitlab.com/kicad/code/kicad/issues/4154
2020-04-05 18:49:10 +01:00
jean-pierre charras 5097d14875 More about do not mark translatable strings used in debug messages. 2020-04-05 14:10:06 +02:00
jean-pierre charras 34651693c1 Altium importer: more about do not mark translatable strings used in debug messages. 2020-04-05 13:45:55 +02:00
jean-pierre charras 70afd12524 Altium importer: do not mark translatable some strings used in debug messages. 2020-04-05 11:22:52 +02:00
Ian McInerney 0dac0c9a47 Cleanup some dynamic casts
From Coverity scan
2020-04-04 12:41:45 +01:00