Roberto Fernandez Bautista
3b3af5327f
CADSTAR PCB Archive Importer: Move code into common/plugins and pcbnew/plugins folders
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
fc76bdfeb2
CADSTAR PCB Archive Importer: Load Component Footprints
2020-09-08 21:21:20 +00:00
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
Fabien Corona
4a0d6297ab
pcbnew: Add an alternate edit method for arcs
...
The alternate edit methods keeps the radius constant
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5369
2020-08-29 22:59:11 +00:00
Jeff Young
cc64709407
Reimplement skip-parent-page to work with MacHack.
...
This prevents the "leaking" pages where the layers panel is shown
in the background of all other panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/5182
2020-08-29 20:53:53 +01:00
Jeff Young
12926723d7
Add file omitted from an earlier commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5407
2020-08-29 20:13:41 +01:00
Jeff Young
c241b0716a
Fix wxWidgets assert.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5407
2020-08-29 17:26:48 +01:00
Jon Evans
37b2ba1363
Fix missing board outline in All Copper Layers preset
2020-08-29 12:13:59 -04:00
Jon Evans
fa8655511e
Enable converting segments to arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1957
2020-08-29 12:13:51 -04:00
Jon Evans
a390b19f97
Move actions around
2020-08-29 10:43:05 -04:00
Jon Evans
19832c7599
ADDED: Tool for converting shape types in PcbNew
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2406
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2507
2020-08-28 21:16:06 -04:00
Jeff Young
56a531109a
Don't try and shrink shapes generated from pads.
...
It ends up being different from shrinking the final outline.
2020-08-28 20:48:47 +01:00
Seth Hillbrand
691c33e003
Don't export libid with footprints
...
We use the LIBID for board files to locate the correct library for the
footprint. Once exported, the footprint should be associated with the
library that contains it, if any.
Fixes https://gitlab.com/kicad/code/kicad/issues/5400
2020-08-28 12:33:13 -07:00
Seth Hillbrand
4e08ec79dc
pcbnew: Don't skip adjacent points
...
std::make_reverse_iterator already accounts for the difference in
directional representation
Fixes https://gitlab.com/kicad/code/kicad/issues/5392
2020-08-28 11:53:54 -07:00
Julian Fellinger
dcf058d91e
added vrml export via python api
2020-08-28 16:41:09 +00:00
Jeff Young
beb370a3e5
Another typo.
2020-08-28 14:42:30 +01:00
Jeff Young
f005977aab
Minor simplification to custom colour theme GUI for print/plot dialogs.
2020-08-28 14:15:58 +01:00
Jeff Young
ebb9a636fa
Handle differential x:y clearance for solder mask.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5363
2020-08-28 14:00:37 +01:00
Jeff Young
5c67ee6c9d
Fix typo.
2020-08-28 11:06:55 +01:00
Jeff Young
1caaf62454
Fix typo.
2020-08-28 11:05:58 +01:00
Jeff Young
9e12ea9bb6
Cleanup some dead code and make better use of iterators.
...
Also applies coding style around auto and lambdas.
2020-08-28 11:05:58 +01:00
Jeff Young
8b7c0cbe04
Adjust footprint zones while dragging footprint.
2020-08-28 11:05:58 +01:00
Jeff Young
e7db43285f
ADDED new footprint fabrication attributes.
...
This commit also adds mapping of the new symbol properties
"exclude from BOM" and "exclude from board" to be correctly
handled in Update Board from Schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/2399
Fixes https://gitlab.com/kicad/code/kicad/issues/4643
Fixes https://gitlab.com/kicad/code/kicad/issues/2233
2020-08-28 11:05:58 +01:00
Jeff Young
b8aee85b94
Don't drop selection on an undo/redo.
...
We want to be able to restore it back to the way it was.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-28 11:05:58 +01:00
Jeff Young
4e885990b8
Don't keepout a keepout's own footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5371
2020-08-28 11:05:58 +01:00
Seth Hillbrand
e665ad811d
pcbnew: Remove 'host' compile info from header
...
The 'host' tag causes issues with revision control when editing files on
two different machines with the same KiCad version but different builds.
This replaces the host tag with a simpler 'generator pcbnew' pair that
does not include build data.
2020-08-27 11:57:50 -07:00
Seth Hillbrand
1e461c2259
ADDED: Improved center point dragging
...
The center point on polygons now maintains the axis of the dragged line
and, optionally with Ctrl pressed, maintains the slope of the adjacent
segments as well.
This also fixes a longstanding issue that prevented the ctrl-snapping
from using the original point rather than the last updated point when
constraining.
Fixes https://gitlab.com/kicad/code/kicad/issues/2465
2020-08-27 10:34:12 -07:00
Seth Hillbrand
a08c5c67e3
pcbnew: Get correct default parameter from settings
...
Corrects courtyard default width when read from settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/5384
2020-08-27 06:14:21 -07:00
Seth Hillbrand
0dc0536cbf
pcbnew: Fix Select All copy-pasta
...
Adds condition to footprint editor and corrects condition for both
modedit and pcbnew
2020-08-26 17:19:32 -07:00
Jon Evans
dc7e1783b3
Make sure a project is loaded at all times
...
For now, much of KiCad depends on Prj() working, so when we
are asked to unload a project, immediately load the null project
so that nothing breaks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5374
2020-08-26 18:37:34 -04:00
Seth Hillbrand
3e754e0378
Teach PNS to respect PTH pads on single layers
...
This is a valid configuration for some single layer boards (e.g.
high-power LEDs) so we should ensure that PNS doesn't allow connections
to those layers without pads.
2020-08-26 18:09:06 +00:00
Seth Hillbrand
f4e8c194be
Revise restriction on No Copper setting
...
This allows the user to specify a NPTH with "No Copper", allowing a pad
to retain the mask layer without a copper landing.
Fixes https://gitlab.com/kicad/code/kicad/issues/3407
Fixes https://gitlab.com/kicad/code/kicad/issues/5237
2020-08-26 18:09:06 +00:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
Reece R. Pollack
0b56dc09a6
EXPERIMENTAL: Origin transform of class DRAWSEGMENT
2020-08-26 17:54:22 +00:00
Reece R. Pollack
a9c835275a
Apply display origin transforms in Pcbnew dialog classes
...
This commit applies display origin transforms to all Pcbnew
dialog classes that use UNIT_BINDER for their formatting:
* DIALOG_CREATE_ARRAY
* DIALOG_FOOTPRINT_BOARD_EDITOR
* DIALOG_GRAPHIC_ITEM_PROPERTIES
* DIALOG_GRID_SETTINGS
* DIALOG_MOVE_EXACT
* DIALOG_PAD_PROPERTIES
* DIALOG_POSITION_RELATIVE
* DIALOG_TEXT_PROPERTIES
* DIALOG_TRACK_VIA_PROPERTIES
2020-08-26 17:54:22 +00:00
Reece R. Pollack
6f1204cfd7
Add Display Origin Transforms support to the PCB_BASE_FRAME class
...
This commit adds support for display origin transforms to the PCB_BASE_FRAME
class. This instantiates a PCB_ORIGIN_TRANSFORMS object, and overrides the
GetOriginTransforms method in the EDA_DRAW_FRAME class to reference it.
The formatting of the status line has been updated to display coordinates
relative to the user-selected origin, and with the coordinates increasing
in the user-selected direction.
2020-08-26 17:54:22 +00:00
Reece R. Pollack
af218a5dc0
Add the PCB_ORIGIN_TRANSFORMS class
...
This commit adds the PCB_ORIGIN_TRANSFORMS class, which is derived
from the ORIGIN_TRANSFORMS class, and provides a set of templated
functions to convert PCB coordinates between internal representation
and display representation. It extends the ORIGIN_TRANSFORMS class
to understand the three user-selectable display origins and the
coordinate direction display options.
2020-08-26 17:54:21 +00:00
Reece R. Pollack
5a5d99b018
Add Pcbnew Display Origin Transforms preferences panel
...
This commit adds support for the Display Origin Transforms preferences
selection panel. This panel allows the user to select the desired
coordinate origin, and the direction in which the axes increase.
2020-08-26 17:54:21 +00:00
Reece R. Pollack
b483fd32a6
Support save/restore/upgrade of PCB Display Origin Transforms settings
...
This commit modifies PCBNEW_SETTINGS to add support for saving and
restoring the user's display origin transform settings. It also adds
support for converting these settings from the 5.x format to the
current format, for anyone who used the tech demo of this feature.
2020-08-26 17:54:21 +00:00
Reece R. Pollack
2895d664e6
Add Display Origin Transform data to the PCB_DISPLAY_OPTIONS class
...
This commit adds the user configuration options to support display
origin transforms to the PCB_DISPLAY_OPTIONS class. This data is
configured by the "Origins & Axes" preferences panel added in a
later commit.
2020-08-26 17:54:21 +00:00
Jeff Young
a55eaec28c
If it's modal then we don't own the window. Just DismissModal().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5355
2020-08-25 23:32:17 +01:00
Jeff Young
b863beaaf6
Make tracks respond to stingy selections like everything else.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5332
2020-08-25 20:10:56 +01:00
Jeff Young
996ea4d5f9
Performance improvements for zone filling.
...
Remove extraneous simplify calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
2020-08-25 20:10:14 +01:00
Jeff Young
6d12859c14
Give up on trying to get Clipper's miter strategies to work.
...
Instead, make sure we remove the clearance holes and outline at
the end so that copper isn't allowed to "spill" into areas it
shouldn't be in.
Also fixes a bug where the Advance Cfg defaults weren't getting
loaded when the file didn't exist.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
Fixes https://gitlab.com/kicad/code/kicad/issues/5306
2020-08-25 19:07:37 +01:00
Seth Hillbrand
adff7f749b
PNS: Addition layer smarts
...
Edge.Cuts have no parent but cross all layers, so we need to handle the
"all layers" case. Also renames "IsPadOnLayer" to "IsOnLayer".
Fixes https://gitlab.com/kicad/code/kicad/issues/5351
2020-08-25 09:42:50 -07:00
Jeff Young
1138c32bf3
Don't pass Cancel event where there was a specific action cancelled.
...
For instance, if during a move the user hits ESC they only want the
move cancelled, not (for instance) the selection dropped.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-25 12:54:40 +01:00
Seth Hillbrand
35eda030a2
pcbnew: Ensure we are cloning pads
...
When calling MODULE::Clone() we need to clone the pads as well or we
will end up with scm churn when running undo/redo operations
2020-08-24 19:40:08 -07:00
Jon Evans
24435fcc62
Don't create new project files when opening boards/schematics
...
Display warning infobar in the board/schematic setup when no project
is loaded, since most of the settings in those dialogs are saved in
the project and not in the board/schematic file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4868
2020-08-24 22:17:21 -04:00
Jon Evans
eda0f1a27f
Remove broken RefreshRect; it doesn't seem to add much
2020-08-24 21:32:04 -04:00
Jon Evans
5e2946ef90
Use full net names in netclasses
...
Short net names are not unique; full names with paths must be used.
Added a grid cell renderer that does the escaping, to make it easier
to display net names in grid cells.
Once you unescape a net name, you can't go back to the escaped form
because you can't assume which `/` should be {slash} and which `/`
Because of this, we cannot use Unescape/Escape on the data model in
the netclass setup panel, and instead do the Unescape in the view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5331
2020-08-24 21:19:07 -04:00
Jon Evans
1efd512847
Remove unnecessary event handler binding
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5341
2020-08-24 19:59:16 -04:00
Jon Evans
67a5ed15c7
Make sure appearance panel builds after project has been loaded
...
OnBoardChanged must run after LoadProjectSettings.
Move the local overrides to PCB_EDIT_FRAME::onBoardLoaded
so that they are run after the panel is initialized.
2020-08-24 19:39:18 -04:00
Jon Evans
e9b8cac320
Erase net colors when they are reset by the user
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5342
2020-08-24 19:39:18 -04:00
Jon Evans
f8609ed603
Don't hide swatches when setting netclass color
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5343
2020-08-24 19:39:18 -04:00
Jeff Young
15c136ead2
Make a bunch of help dialogs modeless.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5334
2020-08-24 23:17:33 +01:00
Jeff Young
b8bbe72e48
Another attempt to fix the select-reference-point toolstack thing.
...
This time remove the push/pop from the picker tools as that's
responsible for the issue of trying to re-activate the move action
when its popped. Instead do the push/pop from the client code
of other actions that need it, and not at all from the move-with-
reference action.
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 22:47:24 +01:00
Jeff Young
50b182574d
Missing change from last commit.
2020-08-24 21:59:43 +01:00
Jeff Young
5a0db6802a
Use IsOnLayer(); GetViewLayers() now returns synthetic ZONE layers.
...
Also uses IsPadOnLayer() for pads so that it will drop layers which
have had their pads removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5349
2020-08-24 20:20:04 +01:00
Jeff Young
a4ff339a1e
Clear toolstack after cancel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 19:28:53 +01:00
Jeff Young
1d1a5afe0c
Remove minimum pin after fixing size.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5347
2020-08-24 15:01:12 +01:00
Jeff Young
8eda4d93ee
Use LAYER_VIAS instead of via-type-specific layers for visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5344
2020-08-24 14:00:46 +01:00
Jeff Young
502f2ca2ef
Fix some snarled up event processing.
...
See the bug for details. It's complicated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5336
2020-08-24 13:20:29 +01:00
Jon Evans
3673c23696
Code style
2020-08-23 22:10:05 -04:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00:00
Ian McInerney
2f7094b352
Cleanup some unused variables
...
* Make the app progress indicator only have the indeterminate state
when the taskbar indicator is used (causes an uused variable warning
on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
since the dialog only controls keeping them.
2020-08-24 01:51:23 +01:00
Jeff Young
fba6152709
Force wxWidgets to set widths smaller than BestWidth().
2020-08-24 00:49:08 +01:00
Jeff Young
d41f196d7f
Appearance panel must be initialized from board before setting active layer.
2020-08-24 00:49:08 +01:00
Jeff Young
2c7093439e
Don't attempt to set active layer to a non-activated layer.
2020-08-24 00:49:08 +01:00
Jon Evans
e343234c61
Allow both 'save' and 'save as' for layer presets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5309
2020-08-23 17:00:49 -04:00
Jon Evans
63fb6d49e0
Make sure ratsnest gets redrawn when enabled
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5335
2020-08-23 16:45:33 -04:00
Jeff Young
49ac89f72c
Only paint pads on layers they appear on.
...
Also adds pad layer removal controls to Pad Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5320
2020-08-23 21:23:34 +01:00
Jeff Young
6edcc9d38f
Resolve textvars in Pad Settings dialog.
2020-08-23 21:23:34 +01:00
Jon Evans
8e03d278f0
Fix buttons in appearance panel in MSW
...
Ensure we pass the focus back to the canvas when
closing dialogs that might have been launched from the
appearance panel
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5326
2020-08-23 15:48:48 -04:00
Thomas Pointhuber
a03fb7a9a8
Altium: Refactor and add initial structure for schematic importer
...
altium: move pcbnew/altium2kicadpcb_plugin -> pcbnew/plugins/altium
See: https://gitlab.com/kicad/code/kicad/-/issues/4412
2020-08-23 19:01:08 +00:00
Jon Evans
eb0d3d653f
Fix updating of grid view in MSW
2020-08-23 13:48:50 -04:00
Jon Evans
a77000f9d9
Add DRC markers to the list of never-dimmed layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5307
2020-08-23 13:24:48 -04:00
Jon Evans
6720473db9
Move net visibility/color controls to a wxGrid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5235
Might improve https://gitlab.com/kicad/code/kicad/-/issues/5210
2020-08-23 13:15:07 -04:00
Jon Evans
342fae7768
Don't allow color overrides for Default netclass
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5330
2020-08-23 12:55:35 -04:00
Jon Evans
41f53cc138
Check that net is valid before dereferencing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5325
2020-08-23 12:55:31 -04:00
Jon Evans
9a0f956b92
Fix clearing netclass color override
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5327
2020-08-23 12:05:03 -04:00
PJM
dd374e12ad
Pcbnew: Fix bug when mouse moves off clarification menu
...
CHANGED: This code fixes an issue where bringing up the clarification
menu and moving off it while keeping the button pressed the entire
time caused an assertion.
Fixes https://gitlab.com/kicad/code/kicad/issues/5250
2020-08-22 16:48:19 -07:00
Jeff Young
c71bb246e6
Don't allow preview to try and draw empty polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5314
2020-08-22 23:46:56 +01:00
Jeff Young
591e1c5de9
Resolve textvars in Gerber place files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5287
2020-08-22 22:23:15 +01:00
Jeff Young
8fc8e2c5f1
Add support for RECTs to VRML exporter.
2020-08-22 22:17:23 +01:00
Jeff Young
6598ad81e7
Resolve text vars when exporting IDF.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5287
2020-08-22 22:08:32 +01:00
Jeff Young
929528a72c
Coding style.
2020-08-22 22:03:43 +01:00
Jeff Young
a2341f0f33
Pin dragged pad edges to hole (if it has one).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5317
2020-08-22 20:45:54 +01:00
Jon Evans
0fa755ebb8
Don't refresh appearance panel until after project is loaded
2020-08-22 15:40:43 -04:00
Jeff Young
aa84bd6283
Use the right sign when dealing with the clearance epsilon.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5313
2020-08-22 20:03:46 +01:00
jean-pierre charras
c196423192
fix a wxWidgets alert
2020-08-22 17:54:46 +02:00
Jeff Young
f95651841e
Report all extra footprints, even if they're duplicates.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5303
2020-08-22 16:20:18 +01:00
Jeff Young
93ef18d775
Fix typo where two footprint warning messages were transposed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5303
2020-08-22 16:20:18 +01:00
jean-pierre charras
f28d30a87b
Fix minor wxWidgets alert and a few Coverity warnings.
2020-08-22 17:11:02 +02:00
Seth Hillbrand
686af65a9b
Fix issue generating alternate shape
...
Boolean ops need boolean inputs.
2020-08-22 08:04:03 -07:00
jean-pierre charras
e5198e7404
Fix minor wxWidgets alerts.
2020-08-22 13:26:00 +02:00
Jeff Young
d71d127c1a
Put up infobar when editing board footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5294
2020-08-21 23:53:40 +01:00
Jeff Young
e92f58bb4f
Implement "fromOtherCommand" for PlaceModule() too.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5281
2020-08-21 23:24:29 +01:00
Jeff Young
c324c2cbf6
Make sure zone fills are up-to-date before deleting unconnected things.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5253
2020-08-21 20:32:19 +01:00
Jeff Young
842641308f
Solids don't always have nets (even a defualt one).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5290
2020-08-21 20:08:12 +01:00
Jeff Young
9878a1e10c
Add other (open) shapes to GetLength() calculation.
...
Since this is for trace length/propagation time, I'm not sure what
it would mean on a closed shape, so I left RECT and CIRCLE for now.
2020-08-21 19:55:52 +01:00
Jeff Young
80846dcbc7
Improve shutdown performance.
2020-08-21 19:12:51 +01:00