Commit Graph

9700 Commits

Author SHA1 Message Date
Roberto Fernandez Bautista 1351f5bcf1 CADSTAR PCB Archive Importer: Fix Polygon with Holes 2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 56080a0adc CADSTAR PCB Archive Importer: Load Layer Stackup, FIGURES and AREAS
(and map CADSTAR to KiCad Layers with best guess logic)
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista a9ef38e6c8 CADSTAR PCB Archive Importer: Load Board shapes 2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista a7effb7377 CADSTAR PCB Archive Importer: Parse LAYOUT section
Also general clean ups of comments / formatting
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 632d45e833 CADSTAR PCB Archive Importer: Parse PARTS section 2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 4c2f38f1ad CADSTAR PCB Archive Importer: Parse LIBRARY section + code refactoring
code refactoring:
- Renamed CADSTAR_COMMON to CADSTAR_ARCHIVE_COMMON
- Renamed CPA_FILE to CADSTAR_PCB_ARCHIVE_PARSER
- Made CADSTAR_PCB_ARCHIVE_PARSER a derived class of CADSTAR_ARCHIVE_COMMON
- Moved all structures in cadstar_pcb_archive_parser.h/.cpp to be defined inside CADSTAR_PCB_ARCHIVE_PARSER class
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 0ce95f2803 CADSTAR PCB Archive Importer: Parse ASSIGNMENTS->TECHNOLOGY and ASSIGNMENTS->GRIDS sections 2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 4fcba4d619 CADSTAR PCB Archive Importer: Parse HEADER and ASSIGNMENTS->CODEDEFS sections 2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista 86bf592bac ADDED: CADSTAR PCB Archive Importer
Initial commit
- Imports directly mappable layer stackup (only physical board fabrication layers for now)
2020-09-08 21:21:20 +00:00
Jeff Young 5d304cfa2a Uniformly apply focus hack to auto-preview.
Since the feature is controversial this also moves it into a single
function so that it's easy to disable.

Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:19:29 +01:00
Mario Luzeiro 1ab968e72f 3D-Viewer: render different materials plated and non plated copper
implement on OpenGL
2020-09-08 21:02:19 +00:00
Jeff Young f347118ce3 Add a min pin width advanced config for plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/5546
2020-09-08 20:19:54 +01:00
jean-pierre charras f7b30bf397 FOOTPRINT_WIZARD_FRAME::ParametersUpdated(): fix a reentering issue
On wxWidgets 3.0.5, in some cases calling ReCreateParameterList() generates
a EVT_GRID_CMD_CELL_CHANGED that call ParametersUpdated() and creating
an infinite loop
Note also it happens **only for languages using a comma** instead of a point
for floating point separator
It does not happen on wxWidgets 3.1.4
2020-09-08 18:23:28 +02:00
jean-pierre charras 2335a58f5d DIALOG_FOOTPRINT_XX_EDITOR: fix incorrect position of checkboxes.
In 3D settings panels, due to a bug in wxWidgets 3.1.4, the checkboxes
controlling the 3D model visibility were not correctly put at the right Y position
2020-09-08 16:11:00 +02:00
Jon Evans 3d5b216d1d Allow rectangles to be converted to lines 2020-09-08 08:41:33 -04:00
Jeff Young b205c01c5b Add comments. 2020-09-08 11:02:09 +01:00
Jeff Young 9ea96ee64e Update pad layer testing for selectability.
My only guess is the old code predated the introduction of
GetLayerSet().  In any case it was long-winded and still didn't
catch the case of being on copper layers other than front or back
(which might be hidden).
2020-09-08 11:02:09 +01:00
Jon Evans e0f08338a8 Keep collapsible panes from stealing focus 2020-09-07 21:11:58 -04:00
Tomasz Wlostowski 54ca66be72 router: NODE::AllItemsInNet() can now filter by item type 2020-09-08 01:31:42 +02:00
Tomasz Wlostowski 70beca164f PCB_RENDER_SETTINGS: added SetZoneDisplayMode() method 2020-09-08 01:31:42 +02:00
Tomasz Wlostowski 91ce549e63 PCB_EXPR_EVALUATOR: added isMicroVia() and isBlindBuriedVia() built-in methods 2020-09-08 01:31:42 +02:00
Tomasz Wlostowski 2c1bd645b2 pcbnew: initial support for GetEffectiveShape() for zones and modules 2020-09-08 01:31:42 +02:00
Tomasz Wlostowski f2338d9faa router: fix segfault with NPTH holes in COMPONENT_DRAGGER 2020-09-08 01:31:42 +02:00
Jon Evans 147540b3bb ADDED: Control to only show ratsnest for visible layers 2020-09-07 16:43:43 -04:00
Jeff Young 5ec18aaf2a Fix board initialization error which left FPEdit without inner layers. 2020-09-07 21:01:42 +01:00
Jon Evans 11e61db03d Don't change preview notebook selection when editing
This causes focus change (on GTK at least), plus the user might
not want the notebook to change in the first place.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5477
2020-09-07 12:08:40 -04:00
Jon Evans e3ff3a2d15 Make sure nets display when first loading a board 2020-09-07 12:02:18 -04:00
Jon Evans 4433259c80 Fall back on copper color when net color is not found
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5540
2020-09-07 11:51:55 -04:00
Jon Evans d6be0be177 Skip migration if target key is missing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5536
2020-09-07 11:43:12 -04:00
Michael Kavanagh ad1ef9f4c9 Pcbnew: Enable resize of net inspector columns
Fixes https://gitlab.com/kicad/code/kicad/issues/5467
2020-09-07 05:34:37 +00:00
qu1ck 636285311e Make DRAWSEGMENT::GetRectCorners return vector
... instead of modifying the argument.
This will make the method usable in python API and will not incur
permormance penalty because named return value optimization (NRVO)
is a thing since C++11.
But even if copy is not elided vector is moved instead of copied.
https://en.cppreference.com/w/cpp/language/copy_elision
2020-09-07 05:33:10 +00:00
Jon Evans 758a4c26d5 Switch appearance panel to custom collapsible pane widget
The new widget looks the same on all platforms and fixes a few
bugs with the wxWidgets version
2020-09-06 22:43:39 -04:00
Seth Hillbrand 7e2a6a9b64 Block undo/redo while editing points
We need to keep a stable board while modifying items.

Fixes https://gitlab.com/kicad/code/kicad/issues/5533
2020-09-06 15:30:38 -07:00
Jeff Young a1e8ecc616 Beat wxWidgets into submission.
Fixes https://gitlab.com/kicad/code/kicad/issues/5534
2020-09-06 22:38:23 +01:00
Seth Hillbrand 8648a074da Ensure ZONEs use copy CTOR for super-class
If we don't uniformly use the copy CTOR, we miss the additional
properties held by the superclass.

This also adds additional crash protection in GetMsgPanelInfo for zones
although it should never be triggered

Fixes https://gitlab.com/kicad/code/kicad/issues/5530
2020-09-06 08:34:39 -07:00
Jeff Young 1be1205734 Repair missing checkVisibilityOnly test.
Fixes https://gitlab.com/kicad/code/kicad/issues/5516
2020-09-05 19:12:07 +01:00
Jeff Young adfcdc89af Repair parent pointer after SwapData() nukes it.
Fixes https://gitlab.com/kicad/code/kicad/issues/5523
2020-09-05 18:51:56 +01:00
Jeff Young 5b81c6c70f Fix typo. 2020-09-05 18:51:19 +01:00
Jeff Young e782794f96 Flesh out object properties and DRC Rule syntax help. 2020-09-05 17:44:59 +01:00
qu1ck 3dbebda168 Fix GetCustomShapeAsPolygon and add a unit test
Fixes #5497
2020-09-04 20:30:54 -07:00
Ian McInerney f28b60896c Allow toolbar items to cancel tools when pressed
There was a regression in v6 where the zoom to selection toolbar
item wasn't canceling the tool when pressed and the tool was active
(it was in v5). This implements a more generic framework for canceling
tools on button presses.

Fixes https://gitlab.com/kicad/code/kicad/issues/5103
2020-09-05 01:49:38 +01:00
Jeff Young 7893af2c60 insideArea should be outline-based, not fill-based.
Fixes https://gitlab.com/kicad/code/kicad/issues/5499
2020-09-05 00:25:19 +01:00
Jeff Young d0d13766ae Use the layerSettings vector, not map. Map may not yet be valid.
Fixes https://gitlab.com/kicad/code/kicad/issues/5505
2020-09-04 23:02:41 +01:00
Jeff Young f1f8f746f4 Also resolve worksheet textVar refs in DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/5506
2020-09-04 21:55:10 +01:00
Jeff Young 5e9ec82642 Correctly resolve textVar refs in worksheet items in ERC.
Also fixes a null-ptr bug in DRC.

Fixes https://gitlab.com/kicad/code/kicad/issues/5506
2020-09-04 21:38:07 +01:00
Jeff Young 08dee31d9e Try and unify the background colors between panels and platforms.
Also moves to WX_GRID to get rid of some wxGrid bugs, and moves the
provision of attrs to the GRID_TABLE (as those applied to the grid
are ignored when a table is specified).

Fixes https://gitlab.com/kicad/code/kicad/issues/5260
2020-09-04 20:47:50 +01:00
jean-pierre charras 2babcd5936 Do not translate debug strings 2020-09-04 20:29:22 +02:00
Jeff Young 800d8acb00 Reinstate collapsable controls in Appearances widget.
Also tries to fix highlighting on BOTH OSX and GTK (previuos efforts
have all worked only on one or the other).
2020-09-04 17:45:07 +01:00
Jeff Young 2736becb8b Fix typo in Toggle Layers action and add descriptions to hotkeys lists.
Fixes https://gitlab.com/kicad/code/kicad/issues/5494
2020-09-04 17:45:07 +01:00
Jeff Young ec576b5dfa DRC checks need to be done on current layer.
Don't be fooled by the name "segment".  It might be a via which is
on multiple layers....

Fixes https://gitlab.com/kicad/code/kicad/issues/5503
2020-09-04 15:05:03 +01:00
jean-pierre charras 0bd6e5d96e FIELDS_GRID_TABLE and TEXT_MOD_GRID_TABLE: fix incorrect position of checkboxes
This is an issue specific to wxWidgets 3.1.4
2020-09-04 15:41:51 +02:00
Jeff Young a728abe63c Simplify appearances controls presentation.
Fixes some OSX bugs in panel background colouring.
Also adds a bit info to control titles.

Fixes https://gitlab.com/kicad/code/kicad/issues/5260
2020-09-04 14:07:42 +01:00
Jeff Young 8ffad4b375 Only override color if net or netclass color is set.
Fixes https://gitlab.com/kicad/code/kicad/issues/5368
2020-09-04 14:07:42 +01:00
Jeff Young 007580c4b8 ADDED pad:pin checks for DRC "Test footprints against schematic". 2020-09-04 14:07:42 +01:00
Seth Hillbrand 91914f1a71 Reverts premature Python 3 calls in favor of backwards compat.
This reverts commits d8d8f4f670
and 9614f6d0d9.
2020-09-03 20:05:38 -07:00
Jon Evans 686311f0b4 Make sure to show newly-enabled layers when changing board setup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5478
2020-09-03 18:05:29 -04:00
Jeff Young 3573c8b967 ADDED hotkey for comment/uncomment line(s) in Scintilla.
Useful primarily for DRC Rules editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/5480
2020-09-03 20:37:05 +01:00
Jeff Young 555b78e7ca Read/write COLOR4D::UNSPECIFIED in netinfo so you can clear colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/5368
2020-09-03 20:35:38 +01:00
Jeff Young d1006138fd ADDED holeWallPlatingThickness to AdvancedCfg.
Used for zone filling and DRC hole collision testing.  Allows us to
calculate the actual hole size from the finish hole size.

Fixes https://gitlab.com/kicad/code/kicad/issues/5468
2020-09-03 16:00:07 +01:00
Jeff Young e535489a0a Pad settings need to be copied to both master *and* edited pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/5447
2020-09-03 15:03:09 +01:00
Jeff Young eccb1e612e Refresh net annotations on tracks, pads, etc. when name changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5466
2020-09-03 15:03:09 +01:00
Jeff Young 8609180406 Add all non-shape properties to dummy hole pad.
This is required in case there are DRC Rules that are matching against
the properties.  It also allows any local clearance overrides to take
effect.

Fixes https://gitlab.com/kicad/code/kicad/issues/5468
2020-09-03 15:03:09 +01:00
Jeff Young b0081606f7 Fix crash bug in Select All / Delete.
We only expect footprint edge selections in the Footprint Editor.
They cause PCBNew's undo architecture to wrap itself in knots.
2020-09-03 15:03:09 +01:00
Jeff Young 38e9217d54 Consolidate all DRC epsilon/threshold values to a single advancedCfg setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/5464
2020-09-03 15:03:09 +01:00
Jeff Young 450519a4bd Sometimes a DRAW_PANEL_GAL wants its immediate parent and sometimes not.
For instance, we get things like high-contrast-mode from the pad
dialog when rendering a pad preview, but we want the colours from the
parent PCB_BASE_FRAME.
2020-09-03 15:03:09 +01:00
Jeff Young 9a8dd6312b Fix formatting. 2020-09-03 15:03:09 +01:00
Seth Hillbrand 8751a55651 Tightening up the title bar display
Eeschema was the only application showing the file path.  This is of
limited use and prevented other information from showing in the
shortened menubar display.  Also combined strings for better translation
2020-09-03 06:59:37 -07:00
Seth Hillbrand d6a4ab0eec Shortening filenames in titlebar
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2096
2020-09-03 06:38:34 -07:00
Michael Kavanagh de03d3d427 Application title bar: app name after filename
Fixes https://gitlab.com/kicad/code/kicad/issues/2096
2020-09-03 06:35:48 -07:00
Jeff Young 70b74b1fcd Add comment syntax to Rule Syntax Help
Fixes https://gitlab.com/kicad/code/kicad/issues/5458
2020-09-02 15:21:51 +01:00
jean-pierre charras eb16fec7ec Footprint wizards: fix some issues due to C++ code change.
Some constants were renamed, breaking some wizards.
2020-09-02 15:45:20 +02:00
Jon Evans 2198f8666c Fix typo in preset switcher 2020-09-01 21:27:57 -04:00
Ian McInerney cb36006406 First round of cleanup for the PCB groups
ADDED: Leave group action

Fixes https://gitlab.com/kicad/code/kicad/issues/5299
2020-09-02 02:10:26 +01:00
Ian McInerney 4ca7993382 Give new footprint libraries a dummy name in the file dialog
If they don't have a dummy name, then GTK will display the regex
for the extension in the dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/5365
2020-09-02 00:10:25 +01:00
Ian McInerney 84fb024b9d Fix array creation in the autoplacement tool
Fixes https://gitlab.com/kicad/code/kicad/issues/5424
2020-09-02 00:10:25 +01:00
Jeff Young ac73c99842 Code completion for netclasses and netnames.
Fixes https://gitlab.com/kicad/code/kicad/issues/5441
2020-09-01 18:36:58 +01:00
jean-pierre charras 9fdadcbcf5 EDA_BASE_FRAME::windowClosing( wxCloseEvent& event ): fix incorrect behavior.
windowClosing() calls Destroy() when the wxCloseEvent has no veto.
This is fine for usual EDA_BASE_FRAME frames, but not for frames shown in modal mode.
In modal mode, windowClosing() should not call Destroy(), because the calling frame
expects the instance not deleted after closing.
(the caller has to call Destroy() only once the frame can be actually deleted)
2020-09-01 17:46:17 +02:00
Mark Roszko 9f128f942c Move shutdown blocker to kiplatform 2020-09-01 10:14:51 +00:00
jean-pierre charras 756d6a123b FOOTPRINT_WIZARD_FRAME: fix a crash when opening the frame.
LoadSettings() was using the gal canvas, but the gal canvas was not created
when calling LoadSettings().
2020-09-01 09:32:05 +02:00
Mark Roszko a9532c2fa1 Add browse button to footprint 3d settings
Add normalization to 3d settings and footprint library table editor
2020-09-01 02:00:38 +00:00
Jeff Young 6e72f609f0 Make sure router and via tools update when sizes change.
Also adds a size menu to the context menu for the Via tool.

Fixes https://gitlab.com/kicad/code/kicad/issues/5321
2020-08-31 23:33:02 +01:00
Jeff Young 2697fc3864 Remove canvas-switching from OSX.
The Cairo renderer doesn't work on Retina displays.

Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01:00
Jeff Young 452171e055 Remove more dead code (mostly includes). 2020-08-31 17:29:44 +01:00
Jeff Young 6488260185 Fix another signed/unsigned compare which will never work. 2020-08-31 17:29:44 +01:00
Jeff Young cfdf818878 Remove long-dead vestiges of DRC checks on Edit Tracks and Vias. 2020-08-31 17:29:44 +01:00
Michael Kavanagh 108936079b Fix default hotkey clash on "Delete Full Track"
Fixes https://gitlab.com/kicad/code/kicad/issues/3710
2020-08-31 15:48:29 +00:00
Jeff Young 1fa96b794a Update some strings for Appearance manager.
Fixes https://gitlab.com/kicad/code/kicad/issues/5431
2020-08-31 16:38:11 +01:00
Jeff Young 88635ee5b6 Clean up error messages.
Convert a lot of nags to InfoBar errors/warnings/messages, and some
that never should have been exposed to wxFAIL_MSGs.
2020-08-31 14:19:57 +01:00
Jeff Young 35a1b8a353 Remove error reporting which throw up GUI from plugin.
It's reporting a class of error (reference to non-existing net)
which could happen in a variety of other ways that aren't reported.
The correct thing to do is to alwasy run DRC.
2020-08-31 14:11:59 +01:00
Jeff Young 6b46c9b8be This error is no longer meaningful with UUIDs. 2020-08-31 14:10:39 +01:00
Jeff Young 091f769106 Add infobar error message for Autoplace when board not defined.
Fixes https://gitlab.com/kicad/code/kicad/issues/5425
2020-08-31 12:54:45 +01:00
Jeff Young d0479eb92c Fix signed/unsigned comparison that was destined to fail. 2020-08-31 12:53:15 +01:00
Jon Evans 8945f8865b Add PCB_LAYER_IDs to LayerName() and reformat for readability
LayerName() can now be called to get the default, translatable name
for any board layer.  LSET::Name() is used for the untranslated
names required for parsing board files.
2020-08-30 20:20:45 -04:00
Jon Evans 7a5c99ee0f Tweak the mouse-based posture solver
Add an epsilon to reduce flutter
Add a lock after a certain distance
Forget the old trail when unlocking

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5381
2020-08-30 19:54:09 -04:00
Jeff Young 14a9c8dc42 Fix printing for introduction of zone layers and meta items.
Fixes https://gitlab.com/kicad/code/kicad/issues/5298
2020-08-30 22:49:27 +01:00
Jon Evans 9f7bca38b3 A better way of handling standalone project files 2020-08-30 16:04:39 -04:00
Jeff Young 3f1f89405e Removed unused datastructure in auto-router.
May (or may not) have some effect on #5424.

Fixes https://gitlab.com/kicad/code/kicad/issues/5424
2020-08-30 20:22:53 +01:00
Jeff Young c073749a5c Update clipboard format (host -> generator).
Fixes https://gitlab.com/kicad/code/kicad/issues/5413
2020-08-30 15:20:59 +01:00
Jeff Young 305abb210f Add a mode to allow zone smoothing to produce external fillets.
Fixes https://gitlab.com/kicad/code/kicad/issues/5306
2020-08-30 15:20:59 +01:00
Jeff Young 5be39c6299 Remove horizontal scrollbars from nets in appearances panel.
They're not really appropriate for a panel and the grid one (at
least) perturbs a bug in wxWidgets scroll space calculation).

Fixes https://gitlab.com/kicad/code/kicad/issues/5239
2020-08-30 15:20:59 +01:00