jean-pierre charras
652a59b781
Fix null pointer use
2020-09-16 09:21:39 +02:00
Jon Evans
75ffce1a0b
ADDED: Leader dimension object
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5555
2020-09-15 23:37:38 -04:00
Seth Hillbrand
0f22e8e2fe
Make SWIG aware of PYTHON3 for its bindings and remove threads
...
This removes the threading from the SWIG interface (it was supposed to
be off by default) and adds support for Python3 bindings when supported
by the system
2020-09-15 19:46:53 -07:00
Ian McInerney
ea06c16255
Cleanup PCB_GROUP objects on the board when deleting the board
2020-09-16 02:04:17 +01:00
Ian McInerney
8bd77c4fe7
Rename the ITEM_SET types to be descriptive of their contents
...
Now that we have one set type for BOARD_ITEMs and another for SCH_ITEMs
it is better to explictly say if they are board or schematic sets.
2020-09-16 02:04:17 +01:00
Jeff Young
43ab963650
Don't expect footprint viewer frame to have a DRC engine.
2020-09-16 01:10:16 +01:00
Jeff Young
cdbe2fd2d2
User terminology specific to Change Footprint/Symbol.
...
Also implements separate session settings for the reset checkboxes
for Change Footprint and Update Footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/5614
2020-09-16 00:15:26 +01:00
Jeff Young
b4229d9a3e
Fix testcase crash when progressReporter was null.
...
(And it helps if the DRC tester you're trying to test is actually
in the make file.)
2020-09-15 22:25:12 +01:00
Ian McInerney
6a7266d589
Only update DRC progress reporter if the reporter exists
...
The DRC engine might not have a reporter when run headless
2020-09-15 21:18:58 +01:00
Jeff Young
b6a8e165c3
Don't allow schematic/pcb DRC tests when in standalone mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5635
2020-09-15 21:14:11 +01:00
Jeff Young
e2e229da96
Finish exorcising the old DRC system.
...
This moves the various BOARD_ITEM calls to the new system, and make
the DRC_ENGINE long-lived so that it can field those queries.
2020-09-15 20:15:46 +01:00
Seth Hillbrand
67a7aa8ba4
Make snapping size grid-dependent
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5638
Fixes https://gitlab.com/kicad/code/kicad/issues/5588
2020-09-15 12:07:34 -07:00
Seth Hillbrand
08bf5f4b4e
ADDED: 45° snapping for rectangles aka Squares
...
The snap obeys only the Ctrl key and not the global preference setting
for drawsegments because rectangles are _always_ on H/V lines when drawn
Fixes https://gitlab.com/kicad/code/kicad/issues/5607
2020-09-15 11:22:26 -07:00
Roberto Fernandez Bautista
5467729611
Fix incorrect comparison in CADSTAR PCB Archive Importer
...
Also avoid use of magic numbers in case KiCad internal units ever change
2020-09-15 17:16:01 +00:00
Seth Hillbrand
aa7e021bfc
Remove translated null strings
...
Also improves translatability by separating clauses
2020-09-15 08:35:09 -07:00
Jeff Young
665212341d
Cleanup (consistent naming, 100-char line width, message precision).
2020-09-15 12:07:31 +01:00
Jeff Young
514da2f886
Move DRC dialog to new DRC engine.
2020-09-14 22:39:36 +01:00
Seth Hillbrand
52d9a47d5b
Fix endless loop in drc
...
Need to allow looping to negative when decrementing
2020-09-14 12:25:25 -07:00
jean-pierre charras
4cda653dbd
dialog_drc: fix a minor issue when saving dialog drc options.
...
Fixes #5623
https://gitlab.com/kicad/code/kicad/issues/5623
2020-09-14 17:45:39 +02:00
jean-pierre charras
ff0a728753
Fix a few I18N issues.
2020-09-14 10:02:07 +02:00
Jeff Young
748bee1bc7
Hook up netclasses and board minimums to new DRC engine.
...
Improves implicit rule reporting.
Makes some internal names more consistent.
Moves DRC_REPORT to the test framework.
Removes priority (which isn't supported in the grammar)
2020-09-13 17:08:24 +01:00
Jeff Young
d47d119d5f
Compile layer test into CONSTRAINT_WITH_CONDITIONS.
...
Also processes constraints in correct order for priority (reversed)
and removes multiple-expression-conditions for a single constraint
(which is not supported in the grammar).
2020-09-13 17:08:24 +01:00
Jeff Young
8420fcc33b
Cleanup.
2020-09-13 17:08:24 +01:00
Jeff Young
5d9301d394
Adjust isErrorLimitExceeded so it can be used for severity==IGNORE.
2020-09-13 17:08:24 +01:00
jean-pierre charras
9f44d72923
Zone filler: fix regression: zone with no nets are now clipped to board outlines.
...
Due to code changes, only zones belonging a net were considered, and
zones with no nets were not examined when removing islands.
Fixes #5608
https://gitlab.com/kicad/code/kicad/issues/5608
2020-09-13 10:38:16 +02:00
Jon Evans
2380c4384a
Fix alignment of label in dimension properties
2020-09-12 13:16:20 -04:00
Jon Evans
d7e9411049
Filter out footprints that are larger than the viewport in either direction
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2448
2020-09-12 13:16:10 -04:00
Jon Evans
a80190e206
Make sure auto-unit dimensions are updated on board load
2020-09-12 11:52:59 -04:00
Jon Evans
3940e20fcb
Expose extension offset and zero suppression settings
2020-09-12 11:52:59 -04:00
Seth Hillbrand
1703657fb5
Decrease default snap range
...
The snap range needs tuning to preference and monitor resolution. This
shifts the default range down for users until the customization bits are
implemented.
2020-09-12 08:34:21 -07:00
Jon Evans
e40287d327
Fix auto units to work when drawing new dimensions
2020-09-12 10:30:33 -04:00
Jon Evans
0347515cec
Support text expansion in dimensions
2020-09-12 10:23:19 -04:00
Jon Evans
9d93f60fc4
Fix parsing old dimensions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5600
2020-09-12 08:25:54 -04:00
jean-pierre charras
1aa38b8f82
drc_rule.cpp: avoid crash with a incorrect (broken or too old?) drc_rule file.
...
The crash was due to a null pointer not tested.
2020-09-12 11:26:53 +02:00
jean-pierre charras
a98ea2fb2e
Fix a minor wxWidgets alert.
2020-09-12 10:52:12 +02:00
Jon Evans
30a428677f
Change rotation command to only impact dimension text
2020-09-11 21:12:36 -04:00
Jon Evans
0e9997d9ca
Add new dimension features to board design defaults
2020-09-11 21:12:36 -04:00
Jon Evans
76c4c959e6
Implement new dimension properties
...
- Automatic units mode (follow UI units)
- New text and number formatting options
- Automatic/manual text orientation control
- New text positioning options (inline and manual)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4280
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4497
2020-09-11 21:12:36 -04:00
Jon Evans
f1b7903a7d
WIP: Implement new dimension properties
2020-09-11 21:12:36 -04:00
Jon Evans
ae7877c6cb
Migrate dimension precision
2020-09-11 21:12:36 -04:00
Jon Evans
b11e315d10
Refactor DIMENSION to hide internal details; add some new properties
...
This is a board file format change to account for the new properties.
Also, we now only store the critical information about the dimension's
geometry in the board, rather than storing every drawn line.
The DIMENSION object is now an abstract base, and ALIGNED_DIMENSION
is the implementation that exists today (we will add more dimension
types in the future)
2020-09-11 21:12:36 -04:00
Jon Evans
50b92379c8
Add new dimension properties dialog
2020-09-11 21:12:36 -04:00
Jeff Young
5be887a60f
Iron out some wrinkles in the DRC migration.
2020-09-12 01:57:37 +01:00
Jeff Young
8ac7288696
Fix a crash bug loading DRC rules.
...
Also moves the clearance report to the new DRC engine.
2020-09-12 00:46:55 +01:00
Jeff Young
ce2937a399
Move rest of DRC tests to kicad.
2020-09-11 23:14:12 +01:00
Seth Hillbrand
d14c6ba71f
Keep snap line alignment before new snaps
...
Also fixes the alignment line that was supposed to be dashed and not
solid.
2020-09-11 14:22:41 -07:00
Jeff Young
5424d6fa09
Move new clearance tests into kicad.
2020-09-11 21:26:57 +01:00
Seth Hillbrand
965a32077d
Fix compile error
2020-09-11 08:40:36 -07:00
Jeff Young
cc86630f11
Start pulling new DRC engine into Kicad.
2020-09-11 16:04:11 +01:00
Jeff Young
6b4a6f4d3e
Restore min seg limit for rounded-corner pads.
...
It suffered from a cacophony of errors, starting with an errant
comment that made it later look like a bug. Sigh.
2020-09-11 14:41:45 +01:00
Jeff Young
e2bc7557cc
Clean up arc/circle polygonization.
...
1) For a while now we've been using a calculated seg count from a given
maxError, and a correction factor to push the radius out so that all
the error is outside the arc/circle. However, the second calculation
(which pre-dates the first) is pretty much just the inverse of the first
(and yields nothing more than maxError back). This is particularly
sub-optimal given the cost of trig functions.
2) There are a lot of old optimizations to reduce segcounts in certain
situations, someting that our error-based calculation compensates for
anyway. (Smaller radii need fewer segments to meet the maxError
condition.) But perhaps more importantly we now surface maxError in the
UI and we don't really want to call it "Max deviation except when it's
not".
3) We were also clamping the segCount twice: once in the calculation
routine and once in most of it's callers. Furthermore, the caller
clamping was inconsistent (both in being done and in the clamping
value). We now clamp only in the calculation routine.
4) There's no reason to use the correction factors in the 3Dviewer;
it's just a visualization and whether the polygonization error is
inside or outside the shape isn't really material.
5) The arc-correction-disabling stuff (used for solder mask layer) was
somewhat fragile in that it depended on the caller to turn it back on
afterwards. It's now only exposed as a RAII object which automatically
cleans up when it goes out of scope.
6) There were also bugs in a couple of the polygonization routines where
we'd accumulate round-off error in adding up the segments and end up with
an overly long last segment (which of course would voilate the error
max). This was the cause of the linked bug and also some issues with vias
that we had fudged in the past with extra clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/5567
2020-09-11 11:23:49 +01:00
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
...
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Jean-Samuel Reynaud
d6322dcf0d
Ensure Tools->External plugins is populated
...
Since the commit e8b11c911e
, the menu tools->external plugins is empty.
This is because on new system, an added submenu is cloned when added. So any update on the object
after Add it as no effect. The menu stay empty.
With this commit the menu filling is made before adding submenu.
2020-09-11 03:04:27 +00:00
Jeff Young
fc1665ff28
ADDED Clearance Inspector.
2020-09-10 20:58:38 +01:00
Jeff Young
e31705d4b3
More source reporting for clearance rules.
2020-09-10 20:58:38 +01:00
jean-pierre charras
6009414e22
Drill files export: ensure the Top to Bottom PTH drill file is always created,
...
even if there are no hole.
NPTH file is already always created.
Fixes #5566
https://gitlab.com/kicad/code/kicad/issues/5566
2020-09-10 16:42:04 +02:00
jean-pierre charras
6ab6c00f61
Plot solder mask: fix incorrect shape for rectangular pads.
...
It was noticeable only for pads having a large solder mask clearance.
Fixes #5570
https://gitlab.com/kicad/code/kicad/issues/5570
2020-09-10 13:22:16 +02:00
Seth Hillbrand
4026904cc4
Make grid snapping depend on grid visibility
...
Turning the grid view on enables snapping to the grid. Turning it off
removes the snap and allows free draw
2020-09-09 10:18:15 -07:00
Seth Hillbrand
173b4ff588
Add snapping to eeschema
...
This generalizes both the SetPosition() function and ORIGIN_VIEWITEM
class away from the pcbnew-centric.
2020-09-09 10:18:15 -07:00
Jeff Young
59c6635286
Add restrictions on copper layers for NPTH pads.
...
Also updates the stackup graphics to include NPTH pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-09 10:22:17 +01:00
Jeff Young
c090f1b646
Add restrictions on copper layers for NPTH pads.
...
Also updates the stackup graphics to include NPTH pads.
2020-09-09 01:49:50 +01:00
Jeff Young
ab71ef9ec5
Try a different strategy at getting wxWidgets to honor stackup bitmaps.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5559
2020-09-08 23:34:43 +01:00
Jeff Young
0ec4c4fe65
A more targetted fix at the focus issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:35:04 +01:00
Roberto Fernandez Bautista
6a82f23981
CADSTAR PCB Archive Importer: Load Component Copper and Component Areas
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
c1dec964be
CADSTAR PCB Archive Importer: Fix Parsing errors
...
Change error displayed when a Library .cpa file is opened (instead of a Layout file)
Add warning if variants exist in original design.
Parse LAYERHEIGHT in LAYER (same thing a MAKE but without the MATERIAL_ID)
Parse PADEXCEPTION in COMPONENT
Add DESIGN as one of the valid UNITS
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
05e5740504
CADSTAR PCB Archive Importer: Parse VARIANT data + add missing "REFPLANE" flag to layers
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
349ac06ee2
CADSTAR PCB Archive Importer: Fix compile error + BULLET pad is now correct
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
112da7828e
CADSTAR PCB Archive Importer: Load Dimensions
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
8296b1d669
CADSTAR PCB Archive Importer: Load GROUPs
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
7ca4f0b375
CADSTAR PCB Archive Importer: Formatting fixes
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
94568e8699
CADSTAR PCB Archive Importer: Load Net Classes (Routing Widths in CADSTAR)
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
a3531b02e7
CADSTAR PCB Archive Importer: Load documentation symbols and fix some import errors
...
Fix unnamed net import
Fix missing tokens
Fix zero-sized pads (make them really small instead)
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
7e65d443e8
CADSTAR PCB Archive Importer: Load TEXTS and fix loading speed
...
Loading speed fixed by changing the way CADSTAR_ARCHIVE_PARSER::InsertAttributeAtEnd works (we now have a new attribute in each node to keep track of how many attributes there are). Now loads a 30,000 line file in 10seconds instead of 25 minutes!
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
fe3e20ddc7
CADSTAR PCB Archive Importer: Load design rules
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
866c069873
CADSTAR PCB Archive Importer: Load TEMPLATEs, COPPERs and NETs (including Tracks and Vias)
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
05de678f4e
CADSTAR PCB Archive Importer: Rename CADSTAR_PCB class to CADSTAR_PCB_ARCHIVE_LOADER
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
08a77e0af8
CADSTAR PCB Archive Importer: Add import warnings for CADSTAR layers with no KiCad equivalent
2020-09-08 21:21:20 +00:00
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
Seth Hillbrand
cd51785173
Fix crash with missing board outline
2020-08-21 05:55:22 -07:00
Seth Hillbrand
9a4f92dfd9
Ensure that all pads with holes have alts
...
Alternate shapes for holes that are fallback clearance are needed in
case we have missing copper on any layer
Fixes https://gitlab.com/kicad/code/kicad/issues/5233
2020-08-20 21:50:37 -07:00
Seth Hillbrand
20de1b2b4f
Minor code tightening
2020-08-20 20:18:31 -07:00
PJM
29ddc73d6c
Pcbnew: Allow rects to have overlapping end corner locations
...
CHANGED: If a rectangle is drawn and the location of the second corner
is the same as another rectangle's second corner, Pcbnew crashes. The
reason is that a call is made to DRAWSEGMENT::GetLength(), but that
function only handles shapes of type S_CURVE and S_SEGMENT. This code
checks if the overlapping end points are from a rectangle and if so
it doesn't call DRAWSEGMENT::GetLength().
Fixes https://gitlab.com/kicad/code/kicad/issues/5282
2020-08-21 02:58:32 +00:00
Jon Evans
c763d92275
Just sample the panel background color rather than guessing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5260
2020-08-20 21:04:15 -04:00
Seth Hillbrand
1e315bc3fe
pcbnew: Add "Select All" Action to pcbnew and fpedit
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2497
2020-08-20 16:07:10 -07:00
PJM
dad3101107
Pcbnew: Verify path can be made relative before asking in plotter dialog
...
CHANGED: When the output path is set in the plotter dialog, the user is
asked if they want to make the path relative to the project. The old
code would ask the user if they wanted to do this, and then if it
failed would present an error dialog. The new code tries it first on
a copy, and only if it works does the user get asked if they want
to do it.
Fixes https://gitlab.com/kicad/code/kicad/issues/5263
2020-08-20 17:07:21 +00:00
Wayne Stambaugh
c14065ee98
Fix initial zoom to fit size in schematic and board editors.
...
This may affect other EDA_DRAW_FRAME objects as well but it doesn't seem
to be as noticeable in the symbol, footprint, and worksheet editors.
Fixes https://gitlab.com/kicad/code/kicad/issues/5248
2020-08-20 10:33:30 -04:00
Seth Hillbrand
2deefdd9ce
Remove extra redirection from GetDesignSettings()
...
Now that m_designSettings is a unique_ptr, we can use the operator* to
get the reference to the element.
2020-08-20 06:23:21 -07:00
Jeff Young
c5006b52ff
Output resolved text to place files.
2020-08-20 13:41:50 +01:00
Jeff Young
38a994975b
Output resolved text from PCBNew BOM generator.
2020-08-20 13:41:50 +01:00
Jeff Young
1813db6970
Fix indentation of properties in PCB file.
2020-08-20 13:41:50 +01:00
Ian McInerney
3ddee6503a
Dialog changes forgotten in c479deaf
2020-08-20 01:43:52 +01:00
Ian McInerney
c479deaf02
Use groups when doing graphics import
...
ADDED: Allow DXF/SVG graphics to be imported as a group
Also, cleanup the placement routine to allow the edit tool's flip
and rotate routines to be used when placing the items.
2020-08-20 01:22:48 +01:00
Ian McInerney
68f1c678dd
Allow DXF/SVG import onto copper layers
...
ADDED: DXF/SVG import onto copper layers
Fixes https://gitlab.com/kicad/code/kicad/issues/2341
2020-08-20 01:20:53 +01:00
Jeff Young
2f0b8eb5e9
Don't allow view preset switcher on non-front window.
2020-08-20 00:51:16 +01:00
Jeff Young
6450ee2f2c
Prevent crash if board doesn't have any layers in the layer preset.
2020-08-20 00:51:16 +01:00
Jeff Young
21a9f2ecfe
Prevent crash when appearance panel defines no view presets.
2020-08-20 00:48:35 +01:00
Jon Evans
cffbc34f12
Fix some logic issues with net coloring
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5266
2020-08-19 18:42:46 -04:00
Jon Evans
9437afef0b
Don't try to set an active layer that doesn't exist
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5273
2020-08-19 18:42:46 -04:00
Jeff Young
631b5a9340
Don't allow point editor inversion when editing pad shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5272
2020-08-19 23:27:16 +01:00
Jeff Young
5589cdf921
Copy properties in module operator= and copy constructors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5256
2020-08-19 22:45:40 +01:00
Jeff Young
a13f6c3922
Repair initialization order in FOOTPRINT_VIEWER_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5267
2020-08-19 20:12:10 +01:00