jean-pierre charras
bc77a1e2dd
drc_test_provider_library_parity: fix a crash due to a incorrect if()...else() logic.
...
The incorrect logic allowed execution of the else sequence when it should not be executed.
2022-01-14 18:17:27 +01:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
037dfb6e01
Move FP_TEXT::KeepUpright() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
5176512de3
Move PCBNew rotation increment to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
abd3f5bc2b
Move footprints to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
d485eb2514
Move pads to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Jon Evans
d3d2ebe349
Do not check key states for non-key events in TryBefore
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10127
(cherry picked from commit 2306d00c89
)
2022-01-13 22:31:39 -05:00
Jon Evans
eac1936303
PNS: Do not clear layer pairs when importing new sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10225
(cherry picked from commit 20bbf9b179
)
2022-01-13 20:38:08 -05:00
Jon Evans
3011ae1d51
PNS: Do not allow smart pads when in 90-degree mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10386
(cherry picked from commit cf4d46b24d
)
2022-01-13 20:38:01 -05:00
qu1ck
33a4c9b08e
FOOTPRINT::GetProperty() swig extension
2022-01-13 21:08:52 +00:00
Wayne Stambaugh
a77b5649cc
Footprint editor: fix Eagle plugin footprint library layer mapping bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10354
2022-01-12 20:51:45 -05:00
Tomasz Wlostowski
79fe0bf456
router: use VIA::PushoutForce() for via push force calculation in the shove algorithm
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10317
2022-01-13 00:43:27 +01:00
Tomasz Wlostowski
4d0a317e3d
router: fix via force propagation for vias where hole clearance > copper clearance
2022-01-13 00:42:50 +01:00
Tomasz Wlostowski
2aee47487a
pcbnew: consider worst case hole-to-hole clearance in GetBiggestClearanceValue()
2022-01-13 00:42:08 +01:00
dana
8373180cbb
Handle Unicode clipboard data in pcbnew and symbol editor
...
Fixes #10323
2022-01-12 17:15:47 +00:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
ea3efac2b6
drc/drc_test_provider_library_parity.cpp: protect against null pointer use.
...
qa tests, test_solder_mask_bridging.cpp: filter not relevant DRC tests
2022-01-12 14:41:11 +01:00
Jeff Young
8c6c87eaf4
Separate footprint lib issues from footprint mismatch issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10132
2022-01-11 22:28:24 +00:00
Jeff Young
6ccfec0553
Layer handling for copper sliver exclusions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10147
2022-01-11 22:28:24 +00:00
Frank Zeeman
f063c00bf1
Fix gr_arc indentation level
2022-01-11 21:03:45 +00:00
Roberto Fernandez Bautista
de7158b80e
Include Footprints within Groups when re annotating duplicates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10329
2022-01-11 20:51:03 +00:00
Jeff Young
267eca28cd
Font support for global edit text & graphics dialogs.
2022-01-11 15:34:24 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Seth Hillbrand
acf2e1601c
Fix copy-paste error
...
(cherry picked from commit 8dca61ce9c
)
2022-01-11 06:08:38 -08:00
Seth Hillbrand
70b0ac15ea
Handle arcs in global track width changes
...
Also add defensive code against invalid indices
Fixes https://gitlab.com/kicad/code/kicad/issues/10325
(cherry picked from commit bd7841bf96
)
2022-01-10 17:20:22 -08:00
Marek Roszko
fcfe42d67c
Continue the war on wxPoint
2022-01-10 19:52:26 -05:00
Jeff Young
21790fcab7
Fix a pair of dereference-freed-pointers in DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10335
2022-01-10 21:06:03 +00:00
jean-pierre charras
4cdfd14f25
Fix a compil issue.
2022-01-10 21:03:22 +01:00
Seth Hillbrand
fade00a2b8
Remove default hotkey for toggle zone display
...
It is too easy to accidentally hide your zones and the 'A' hotkey is
intuitively mapped to Add Footprint, to match Add Symbol in eeschema.
This won't change current hotkey customizations but will help prevent
future user error. Users can still map the action to a hotkey if the
new toggle is useful to their workflow
(cherry picked from commit 4d899d7820
)
2022-01-10 11:52:41 -08:00
jean-pierre charras
ac78d51b14
Teardrops: better dialog, and better code
2022-01-10 20:04:41 +01:00
jean-pierre charras
5644f236d8
Allow teardrops only if advanced config define AllowTeardrops=1
2022-01-10 20:04:41 +01:00
jean-pierre charras
d42514ad30
Add code and dialog to create/add/remove teardrops, step 1
2022-01-10 20:04:40 +01:00
Seth Hillbrand
6165fd2be5
Fix FP circle validity check
...
Radius is encoded by m_endX
Fixes https://gitlab.com/kicad/code/kicad/issues/10337
(cherry picked from commit 4907b90215
)
2022-01-10 10:54:45 -08:00
jean-pierre charras
cfe93e34a2
PCB_BASE_FRAME::FocusOnItem(): avoid extremely long calculation time for zones.
...
The algo used to calculate a focus point on a zone can be *extremely* time
consuming when using the filled areas in zone (can be matter of minutes and more).
So we use now only the zone outlines usually having not a lot of vertices.
2022-01-10 18:14:19 +01:00
Jeff Young
73a2984963
Fixes for rotated footprint text.
2022-01-10 15:30:19 +00:00
Jeff Young
236feeb592
Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
...
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 14:17:11 +00:00
Jeff Young
2563518f3a
Fix compile error.
2022-01-10 14:05:21 +00:00
jean-pierre charras
c24985e8cf
drc_test_provider_sliver_checker.cpp: skip very small vertices when testing.
...
Very small vertices (length <= 2 or 3 iu) are frequent in filled areas, and
create false positive detections because one cannot calculate a meaningful
orientation of these vertices.
2022-01-10 11:50:29 +01:00
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young
76368af7b9
Font cleanup and bug fixes.
2022-01-09 18:33:53 +00:00
Wayne Stambaugh
f379c49084
Pcbnew: honor footprint exclude from BOM setting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10297
2022-01-09 11:27:34 -05:00
Jeff Young
2fea9e7513
Fix bone-headed copy/paste error formatting gr_poly and fp_poly.
2022-01-09 11:44:06 +00:00
Jeff Young
3c60b92472
Add custom rule examples from Martin Straub.
2022-01-09 11:34:20 +00:00
Jon Evans
974a66ddec
Ensure LIB_TREE cleans up while frame still exists
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10266
(cherry picked from commit 76f21d950d
)
2022-01-08 17:32:42 -05:00
Jeff Young
e3328e54c4
Fix view switcher on Mac.
...
Solution for MSW/GTK still isn't great.
2022-01-08 22:23:44 +00:00
Jeff Young
27c967421c
Commenting and "auto" reduction.
2022-01-08 16:47:45 +00:00
Jeff Young
aef2a3fca4
Default font for eeschema.
2022-01-08 16:47:45 +00:00
Jeff Young
eb58d7e44c
Text glyph caches and bug fixes.
...
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Jeff Young
72340fcee2
Implement router and DRC collisions for outline fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
a2030a5956
GUI for font selection.
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
72b69e8d7f
File format changes for fonts.
2022-01-08 16:47:45 +00:00
jean-pierre charras
9c29cc945c
prepare teardrops, round 2
2022-01-08 16:56:41 +01:00
jean-pierre charras
2b20a58615
Zone fill: fix an issue that uses thermal spoke width as thermal gap.
...
Fixes #10300
https://gitlab.com/kicad/code/kicad/issues/10300
2022-01-08 14:24:14 +01:00
jean-pierre charras
33dbe92deb
drc_test_provider_mechanical_clearance: add missing handling of SHAPE_T::RECT
...
test_ee_item.cpp: add missing call to ClearFieldsAutoplaced();
2022-01-08 10:49:47 +01:00
Seth Hillbrand
4a16c603e9
Don't bind to Alt+Tab
...
The Alt key is not usable by programs under Windows and Alt+Tab is
reserved on both MSW and Linux. Instead, we use the Shift modifier to
determine which preset to open
2022-01-07 15:35:46 -08:00
Seth Hillbrand
26c0a78947
Plot pads in layer color
...
v6 pads are not allowed to be a different color from the rest of the
copper layer, so don't query the GAL layer for a color
Fixes https://gitlab.com/kicad/code/kicad/issues/10293
(cherry picked from commit bfca928900
)
2022-01-07 08:56:22 -08:00
jean-pierre charras
53770fec68
Ensure thermal spoke widths are smaller than the pad size (fix a regression)
...
This is needed to create good thermal reliefs, and ensure the DRC about
thermal spoke count works.
Fixes #10246
https://gitlab.com/kicad/code/kicad/issues/10246
2022-01-07 16:38:27 +01:00
jean-pierre charras
534d635dd4
DIALOG_DRC: avoid use UNDEFINED_LAYER when select or activate a physical layer.
...
Although strangely it did not create issues on Linux, it does not work on Windows
2022-01-07 12:53:10 +01:00
Seth Hillbrand
4f874057ab
DRC scripting: load project from board if possible
...
s_SettingsManager is not always initialized when the WriteDRCReport is
run. We should first attempt to extract the project from the actual
board being checked. Failing that, we fall back to the static settings manager and then exit if we don't have a project associated.
Fixes https://gitlab.com/kicad/code/kicad/issues/10221
(cherry picked from commit 78e737b9d8
)
2022-01-06 11:51:05 -08:00
jean-pierre charras
7fa451dc93
Thermal reliefs: fix incorrect calculation
...
commit eeef655
did not fix the calculations.
2022-01-06 09:00:29 +01:00
Steffen Mauch
82f147ecef
pcbnew: EAGLE plugin is case sensitive to >VALUE / >NAME
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10253
2022-01-05 12:51:02 +00:00
Steffen Mauch
a5307c6f59
pcbnew: fixing eagle_plugin with empty class names
...
Fixes #10229
https://gitlab.com/kicad/code/kicad/issues/10229
2022-01-05 12:19:53 +00:00
jean-pierre charras
eeef65533a
Pad Thermal Reliefs: fix spoke incorrect angle for rotated pads.
...
Fixes #10251
https://gitlab.com/kicad/code/kicad/issues/10251
2022-01-05 11:19:43 +01:00
jean-pierre charras
c8d6ad0714
Pcbnew, dimensions fix params incorrectly saved for ortho dim
...
Fixes #10254
https://gitlab.com/kicad/code/kicad/issues/10254
2022-01-05 10:57:32 +01:00
Marek Roszko
cc5003a919
Update python for the pad wxSize switch
2022-01-04 23:28:06 -05:00
Jon Evans
bf38cb56b7
Handle footprint shapes in polygon creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10259
(cherry picked from commit f9d8ec6137
)
2022-01-04 21:31:47 -05:00
Jon Evans
4be56825bb
Fix creating polygons from footprint rule areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10257
(cherry picked from commit e9b91b6fab
)
2022-01-04 21:31:40 -05:00
Marek Roszko
726d873c53
Tear down the wxPoint trigo helpers
2022-01-04 21:23:11 -05:00
Marek Roszko
e4dbfcd92d
Swap out some wxSize for VECTOR2I
2022-01-04 20:42:27 -05:00
Marek Roszko
98ee6c5f85
Cleanup some wx/gdicmn.h includes
2022-01-04 20:32:27 -05:00
Seth Hillbrand
e6b5cb3a5c
Fix missing FOOTPRINT cast in swig
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10236
(cherry picked from commit ca8cf14dff
)
2022-01-04 11:09:51 -08:00
Thomas Pointhuber
de39bffd90
altium: Fix board outline import with arcs using SHAPE_LINE_CHAIN instead of a hack
2022-01-04 19:10:33 +01:00
jean-pierre charras
c2b54faceb
CvPcb: fix crash due to a null pointer: pcbconfig() can return null.
...
CvPcb has no config option and pcbconfig() returns nullptr.
In this case use default settings.
Fixes #10250
https://gitlab.com/kicad/code/kicad/issues/10250
2022-01-04 14:51:32 +01:00
Seth Hillbrand
ed35f4bfc5
Fix pad snapping in renumber pads
...
Snap shouldn't be looking for other items in this routine or using the
grid
Fixes https://gitlab.com/kicad/code/kicad/issues/10238
(cherry picked from commit ed9a3deb57
)
2022-01-03 19:39:04 -08:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Jeff Young
6f52edd618
Replace accidental delete of ExpandNode calls.
2022-01-04 00:46:08 +00:00
Seth Hillbrand
2a0e4a8324
Catch errors from `load()`
...
Loading footprints may throw in some cases. We need to catch these
nicely without breaking out of the full loading process
Fixes https://gitlab.com/kicad/code/kicad/issues/10213
(cherry picked from commit 1874ad2f7e
)
2022-01-03 15:31:14 -08:00
Jeff Young
e21fa31f64
Rip out rest of macHack architecture.
2022-01-03 22:09:56 +00:00
Jeff Young
b70cf1473f
Allow solder mask aperture objects to inherit nets during DRC.
...
The issue is that object A (the solder mask aperture object) can
bridge objects B and C which have different nets. Since we only do
object-to-object compares we don't find this. By allowing object A
to inherit the first net it collides with (either object B's or
object C's), we'll generate a violation with the second collision.
Fixes https://gitlab.com/kicad/code/kicad/issues/10189
2022-01-03 20:58:01 +00:00
jean-pierre charras
dde629330d
Pcb plot: fixcrash due to a null pointer
...
Fixes #10223
https://gitlab.com/kicad/code/kicad/issues/10223
2022-01-03 15:11:42 +01:00
jean-pierre charras
5879227ee2
Update footprint wizards after changes wxPoint->VECTOR2I
2022-01-03 11:43:15 +01:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
Jon Evans
60c0891c5f
Exit router and invoke edit tool when attempting to drag an arc track
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10208
(cherry picked from commit 45182febaf
)
2022-01-02 16:10:50 -05:00
Jon Evans
0e2f79ad8d
Fix highlighting color logic when net colors are active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10157
(cherry picked from commit 134b09004b
)
2022-01-02 12:11:58 -05:00
Jon Evans
41e8606fe6
Fix saving of existing appearance presets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10166
(cherry picked from commit c52421869a
)
2022-01-02 12:11:52 -05:00
Jeff Young
0365c6bf4b
Coverity fixes.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Seth Hillbrand
410ed8a071
Prevent ops on empty selection
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10164
(cherry picked from commit bd75cffff3
)
2022-01-01 15:29:18 -08:00
Tomasz Wlostowski
dafa8ec671
pcbnew: fix incorrect type cast in DRC_TEST_PROVIDER_TEXT_DIMS
...
FP_TEXT cannot be casted to PCB_TEXT for obvious reasons, but what I don't understand is why downcasting to EDA_TEXT also crashes due to incorrect vtable method pointer (Clang10/Linux here).
I leave this as a curiosity for whoever knows C++.
2022-01-01 22:42:16 +01:00
Jeff Young
dc2e93cd0f
Fix setting/fetching angle out of footprint angle control.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10176
2022-01-01 20:46:45 +00:00
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
2022-01-01 14:12:20 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
d1552c3fec
Some more wxPoint removal
2022-01-01 12:11:21 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
jean-pierre charras
b1384d97a3
Pcbnew, drawing sheet: use "First Page" option to draw/plot it.
...
Some items can be drawn only on the first page or only on the other pages.
a board has only a first page.
2022-01-01 09:29:18 +01:00
Wayne Stambaugh
d634b33c34
Preference dialog fixes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-31 14:59:46 -05:00
Tomasz Wlostowski
01d1f8723c
SVG_IMPORT_PLUGIN: enable postprocessing of polygons with degeneracy and holes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6739
2021-12-31 17:05:50 +01:00
Tomasz Wlostowski
3fce15f442
GRPAHICS_IMPORTER_BUFFER: forgot to store the indices of the paths belonging to a compound shape
2021-12-31 17:04:16 +01:00
Tomasz Wlostowski
e1f32f13a2
pcbnew: SVG importer support for even-odd fill rule
2021-12-31 17:04:16 +01:00
Tomasz Wlostowski
5d87b37f52
pcbnew: GRAPHICS_IMPORTER can now recognize multi-path shapes (and postprocess polygons with holes into Kicad-compatible fractured polysets)
2021-12-31 17:04:16 +01:00
Ian McInerney
f744ddd11d
Fix copy-paste error in PNS mouse trail tracer
...
And also fix indentation of control flow.
2021-12-31 00:04:11 +00:00
Ian McInerney
0e9cfd0af2
Add missing initialization values to variables
...
Flagged by Coverity.
2021-12-30 23:42:06 +00:00
Marek Roszko
e75d283007
Remove the unused updateui in the selection filter base
2021-12-30 11:13:56 -05:00
Erwan Rouault
dc98419d85
pcbnew: Add via height support in drc length
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10135
(cherry picked from commit 11c967b259
)
2021-12-30 09:35:10 -05:00
Jon Evans
992952e3d5
Tune connectivity progress reporter
...
We don't need quite as many updates, this helps speed a little
See https://gitlab.com/kicad/code/kicad/-/issues/10154
(cherry picked from commit 0ec440805d
)
2021-12-30 09:20:41 -05:00
jean-pierre charras
480a548171
PCB_PAINTER: do not show track arc clearance when not needed
...
fix also a minor compil warning.
Fixes #10137
https://gitlab.com/kicad/code/kicad/issues/10137
2021-12-30 09:21:35 +01:00
Mark Roszko
44dc602d6b
Yeet wxPoint/wxSize out of PLOTTER
2021-12-29 19:02:50 +00:00
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
...
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
Jeff Young
dd6cd7d184
Pull some more improvements in from rockola/kicad-strokefont.
...
This one is primarily about pushing TEXT_ATTRIBUTES in to the GAL
API, but it also includes adding EDA_ANGLE signatures to some trig
routines to ease integration.
2021-12-29 17:32:19 +00:00
Marek Roszko
3f711b8958
Add win32 VERSION_INFO resource blocks for the DLLs
2021-12-28 23:54:27 -05:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Wayne Stambaugh
7b1b96c933
Fix broken tree book selection in paged dialogs.
...
This only affected the tree controls that only parented sub-pages. Do
not use the dialog ctor to select the initial page. Queuing a page
changed event to fire after the dialog is shown is the proper solution.
2021-12-28 09:43:57 -05:00
Jacob Mealey
987a6e125b
fix in pcbnew/python/swig/units.i ... added error handling
...
Added error handling in unit conversions for the pcbnew python bindings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10081
2021-12-28 07:09:27 +00:00
Marek Roszko
38842647b8
Use the correct parent for the root node placeholders of board setup
2021-12-27 19:05:51 -05:00
Marek Roszko
7550bd6d4f
Use the correct parent for the new Formatting page
2021-12-27 19:03:19 -05:00
Jeff Young
3a8ffd40b8
Fix dimension drawing bug.
2021-12-26 17:30:21 +00:00
Jeff Young
4c6e54b3ea
Cleanup.
2021-12-26 17:30:14 +00:00
Jeff Young
0915eb2209
Be more agnostic about specific class hierarchy used to impl dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10123
2021-12-26 17:14:44 +00:00
Jeff Young
ab583a32f9
Better layer handling for DRC markers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10126
2021-12-26 15:06:12 +00:00
Jeff Young
5e4a704155
Remove some more duplicated preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young
eac65635be
Redraw items when clearance annotations change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Marek Roszko
3dd8c57bdd
Fix race condition with ShowEventCounters on Windows
2021-12-26 08:29:54 -05:00
Jeff Young
70b3600e5b
Check footprint text items for changes when updating.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10111
2021-12-25 17:32:55 +00:00
dsa-t
d105e773a1
Update columns when height changes too
2021-12-25 15:26:43 +00:00
Alex
bc146db06d
Net inspector changes
2021-12-25 15:26:43 +00:00
Alex
45c50535c5
Use GetUnobscuredSize in dialogs/panels
2021-12-25 15:26:43 +00:00
Jeff Young
933b82495d
Use ISO 128-2 values for dashed line defaults.
2021-12-25 14:00:57 +00:00
Jeff Young
03a5bd5319
Handle flipped footprints in library compare algorithm.
...
Also fixes a bug where line styles weren't taken into account.
Fixes https://gitlab.com/kicad/code/kicad/issues/10107
2021-12-25 13:41:59 +00:00
Jeff Young
09b7e0b72b
ADDED Exclude Footprint from Courtyard Requirement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9881
2021-12-24 21:10:28 +00:00
Jeff Young
d649b288a6
Swap out autoplace rotation costs for private footprint layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2291
Fixes https://gitlab.com/kicad/code/kicad/issues/5391
2021-12-24 21:10:28 +00:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
dabc75bee8
Source 3D dimensions from board stackup.
...
Also includes a performance improvemnt by caching the 3D model matrices.
2021-12-24 21:10:28 +00:00
Jeff Young
2538ad16aa
Handle router collisions with filled shapes.
2021-12-24 21:10:28 +00:00
Jeff Young
ed79f6e511
Clean up some TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
da11574a19
Remove dead code.
2021-12-24 21:10:28 +00:00
Jeff Young
29c942816e
Reduce duplication of settings.
2021-12-24 21:10:28 +00:00
Jeff Young
b4c5e64db2
Exclusions for Unconnected Items; Markers & exclusions for Parity checks
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5589
Fixes https://gitlab.com/kicad/code/kicad/issues/5504
2021-12-24 21:10:28 +00:00
Jeff Young
e363a0eedc
ADDED Edit Text and Graphics Properties for Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9650
2021-12-24 18:13:21 +00:00
Jeff Young
c3552a940a
Make sure standard OK/Cancel buttons respond to current language.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young
6cec58cf75
Add field access to custom DRC rules.
...
ADDED getField() method to custom DRC rules.
2021-12-24 18:13:00 +00:00
Jeff Young
c6d4a9f0b2
Button bar for PCBNew Text Properties dialog.
2021-12-24 17:39:00 +00:00
Jeff Young
23194dbe54
User-settable high-contrast dimming factor.
...
ADDED user-settable high-contrast dimming factor.
Fixes https://gitlab.com/kicad/code/kicad/issues/6922
2021-12-24 17:38:55 +00:00
Jeff Young
a6dd1bf09b
Implement Reset to Defaults for all preferences panels.
2021-12-24 17:38:39 +00:00
Jeff Young
ceceda37cc
No more long-lived parsers.
...
We've had too many bugs from improper re-initialization.
Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young
6c05e5d1a8
Implement user viewports.
...
ADDED popup to Appearances palette where users can define viewports
for later selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/2271
2021-12-24 17:11:14 +00:00
Jeff Young
58d4ac2a97
Keep netnames on tracks within the viewport when possible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2032
2021-12-24 17:11:01 +00:00
Jeff Young
3f90b3e2a0
Keep line stroke params as long as layer doesn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6210
2021-12-24 16:13:51 +00:00
Jeff Young
b7e196b710
ADDED assertion constraints for user-defined DRC checks.
2021-12-24 16:13:18 +00:00
Jeff Young
4ba3937f8a
Cleanup.
2021-12-24 15:43:24 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
0332ec6016
ADDED exclude all violations of rule X.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5463
2021-12-24 15:42:22 +00:00
Jeff Young
5f37c2b247
Custom rule severities.
...
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young
fcb013e5d7
When updating footprints indicate which were changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4203
2021-12-24 15:42:22 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
f1410f0240
Line styles for PCBNew shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young
b2dff6fa55
Fix solder mask plotting issues.
...
1) Don't plot all footprint texts for each footprint graphic item.
2) Enforce min web thickness around board shapes and board text.
3) Enforce min web thickness around footprint shapes
4) Correctly handle multi-layer zones.
(1) and (4) will get cherry-picked back to 6.0, so after rebasing
won't actually appear in this changelist anymore....
2021-12-24 12:36:45 +00:00
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
2021-12-24 12:36:41 +00:00
Jeff Young
3aa6d73770
Allow min/max/opt to come from different rules.
2021-12-24 12:36:37 +00:00
Jeff Young
4b6f2f0658
Add mechanical copper clearance testing for shapes.
...
Also includes going from distance-based neighbor exclusion to angle-
based. (Distance doesn't work when very short segments are followed
by very long ones.)
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:10 +00:00
Jeff Young
1305c2177f
Add a checker for copper-to-copper clearance within a single zone.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2512
2021-12-24 11:40:06 +00:00
Jeff Young
815c2c69e7
Support for dielectric colors in board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8491
2021-12-24 11:39:50 +00:00
Jeff Young
db06693d22
Be more selective about hiding solder mask.
2021-12-24 00:03:51 +00:00
Jeff Young
5433684d3c
Try to make gcc happy.
2021-12-23 23:59:48 +00:00
Jeff Young
b95b21dbd1
Try to make gcc happy.
2021-12-23 23:58:20 +00:00
Jeff Young
40cb7b40c8
Fix typo in custom rule example.
2021-12-23 22:35:24 +00:00
Jeff Young
235e0a430d
Less flashing of the progress bar.
2021-12-23 22:31:33 +00:00
Jeff Young
56c85bd354
Improve clearance and constraint resolution reporting.
...
1) Report on all applicable clearance types
2) Don't double-book constraints if they're used by more than one
test provider
Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-12-23 22:31:26 +00:00
Jeff Young
3f64b69917
Mechanical clearance rules.
...
ADDED mechanical_clearance and mechanical_hole_clearance constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:21 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
533276e6b6
Copper sliver checking.
...
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
28b279cb2d
Units cleanup.
...
It's 2021. Time to move beyond ASCII. This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young
56665b9ca7
Map Altium bold dimension text to a greater text thickness.
2021-12-23 22:17:05 +00:00
Jeff Young
3c0e3610e2
Import Altium radial dimensions to KiCad radial dimensions.
...
(We converted them to KiCad leaders in 6.0 because we didn't have
radial dimensions yet.)
Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-12-23 22:17:01 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Jeff Young
92e589b398
Use board maxError value, and return SH_ARC for unfilled circle.
2021-12-23 20:36:11 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
4b6bf3095a
Radial dimensions.
...
ADDED radial type dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young
21eb928218
Add Ignored Violations tab to DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7726
2021-12-23 19:18:45 +00:00
Jeff Young
2001d08186
Add DRC tests for text height and text thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8683
2021-12-23 19:18:45 +00:00
Jeff Young
0a609dd48d
Add footprint library checking to DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6821
2021-12-23 19:18:45 +00:00
jean-pierre charras
c4432e5d03
pcbnew print: minor fix: option edge.cut on all layers not stored.
...
Fixes #10046
https://gitlab.com/kicad/code/kicad/issues/10046
2021-12-23 17:58:51 +01:00
jean-pierre charras
a0bcde088e
Use ChangeValue() instead of SetValue() in some wxTextCtrl
...
(It avoids generating unused events)
2021-12-23 17:58:50 +01:00
jean-pierre charras
68d66af5bf
PANEL_SETUP_BOARD_STACKUP: fix a typo that prevent displaying a color swatch.
...
Fixes #10027
https://gitlab.com/kicad/code/kicad/issues/10027
2021-12-23 17:57:25 +01:00
Jeff Young
4e8a7fc911
Hot-update units in track editing dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10099
2021-12-23 16:54:03 +00:00
Jeff Young
d5a5928e5a
Improve clean up tracks & vias algorithm for neck-downs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10098
2021-12-23 16:54:03 +00:00
Jeff Young
6e2460ad37
Add hot-updating of units in common wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2021-12-23 16:54:03 +00:00
Jeff Young
77239591c0
Don't commit zone refill if there were no changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10085
2021-12-23 16:54:03 +00:00
Jeff Young
9af33cdfe8
Don't leave stranded symbols/footprints in editors when doc closes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10026
2021-12-23 16:54:03 +00:00
Jeff Young
d9dba2edb2
Tidy up pad & parent footprint selection corner cases.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9923
2021-12-23 16:54:03 +00:00
Jeff Young
8b52e969d6
Restore units to a bunch of wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10063
2021-12-23 16:54:03 +00:00
Jeff Young
f696c4ddfc
Fix failure to remove hover selection after rotate operation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10058
2021-12-23 16:54:03 +00:00
Jeff Young
a1c8e36c99
Scale markers somewhat proportionally to zoom.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10048
2021-12-23 16:54:03 +00:00
Seth Hillbrand
bd0fbea044
Handle 360° arcs on import as circles
...
KiCad breaks a bit when dealing with 360° arcs, so convert them to
circles on import. The break happens when converting to polygons for
viewing, the arc is passed from start->mid->end format to
center->start->angle format. At 360°, the angle is normalized to 0
2021-12-18 18:44:20 +00:00
Jeff Young
a17a58203b
Preserve legacy dimension information.
2021-12-17 23:31:37 +00:00
Jeff Young
699ba78b74
Fix legacy (pre-sexpr) board importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10025
2021-12-17 17:21:31 +00:00
Jon Evans
1610195a09
Coverity fix
2021-12-15 23:17:04 -05:00
Tomasz Wlostowski
57af990066
router: fix layer switch issue when starting a track on via without fixed segments
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9915
2021-12-16 00:55:17 +01:00
Jeff Young
20dcf43fdd
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10009
2021-12-15 23:39:24 +00:00
Mike Williams
956ac871c3
PCB Editor: changes to track width overrides starting track width
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
2021-12-15 23:32:48 +00:00
Tomasz Wlostowski
97c2627de6
router: added missing case items (fixes regression in component dragging)
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10010
2021-12-15 23:18:55 +01:00
Seth Hillbrand
24fe5bc2a8
Fix DRC thread locking
2021-12-15 06:05:40 -08:00
Roberto Fernandez Bautista
dadaf26ff1
Board Setup: Ensure board editor layers page always gets updated
...
We need to update it even if we move to a different page, as when moving
back to the physical stackup page it will reset the layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-15 10:39:44 +00:00
Seth Hillbrand
40d44c94cd
Fix single-threaded loads/connectivity
...
We cannot set thread counts to hardware_concurrency()-1 without
considering that single core machines will get a thread count of 0.
2021-12-14 17:18:46 -08:00
Tomasz Wlostowski
965ab42938
router: when dragging segments, don't snap to other segments on the same layer. Fixes drag flickering for short segments.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9720
2021-12-15 01:48:04 +01:00
Tomasz Wlostowski
2ae3a83b54
router: fix use-after-free crash in single trace shove routing when m_endItem's owning NODE is erased by the springback algorithm.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9994
2021-12-15 01:33:05 +01:00
Seth Hillbrand
401de24274
Recalculate ratsnest after zone fill
...
Push the mutex down into the ZONE::Fill() routine and set the
connectivity update to run after zone fills. The connectivity update
cannot run while the mutex is locked for zone fills.
Fixes https://gitlab.com/kicad/code/kicad/issues/9993
2021-12-14 13:37:15 -08:00
Roberto Fernandez Bautista
aa64b739eb
Board stackup: Ensure that m_choiceCopperLayers is updated
...
Need to do a full synchronisation with the board to ensure that the
drop down and other UI elements are reset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-14 18:00:07 +00:00
Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Wayne Stambaugh
348c2bc612
Fix another wxUpdateUIEvent retrigger loop.
2021-12-13 18:43:30 -05:00
Wayne Stambaugh
755607b8f8
Fix a few wxUpdateUIEvent retrigger loops.
2021-12-13 15:46:13 -05:00
Jeff Young
4c565fd222
Top layers includes a whole bunch of layers...
...
... and the first isn't particularly meaningful. Use GetActiveLayer
instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9972
2021-12-13 18:23:18 +00:00
Simon Schaak
8e5f929724
Fix default reference text copy for new footprints
2021-12-13 14:42:14 +00:00
Jon Evans
b291d6c810
Fix success conditions in DP placer
...
The placer can sometimes generate segments that are not quite parallel.
Use a different tolerance for ApproxParallel to account for this.
Also set a minimum score for placement judging so that any placement
that doesn't violate DRC can be placed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9948
2021-12-12 13:05:38 -05:00
Jeff Young
88fc6d25a7
Correctly handle deleting multiple selections in some grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Seth Hillbrand
779629ad33
Fix deadlock
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9959
2021-12-12 07:20:03 -08:00
jean-pierre charras
c360bbba20
Browse footprint libraries now remember window-size and position
...
(resolveCanvasType() saves the settings, so it must come after they are loaded)
Fixes #9935
https://gitlab.com/kicad/code/kicad/issues/9935
2021-12-12 09:02:15 +01:00
dsa-t
f2639e2928
Reverse sort order for net id in inspector
2021-12-11 23:12:47 +00:00
Seth Hillbrand
758ce43d9c
Lock Connectivity Data when resetting
...
When we reset m_connAlgo, we need to lock the data mutex otherwise,
yields to the system may sometimes issue calls back to invalid data
until m_connAlgo has finished rebuilding
Fixes https://gitlab.com/kicad/code/kicad/issues/9922
2021-12-11 15:11:10 -08:00
jean-pierre charras
6d0d4e0db9
Pcbnew, router tool: ensure switching layer by + or - works when starting routing.
...
Fixes #9936
https://gitlab.com/kicad/code/kicad/issues/9936
2021-12-11 09:54:03 +01:00
Jeff Young
84e0feeee6
LibTree selection should follow footprint after Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:45:21 +00:00
Jeff Young
4f60d7ac78
Don't use lib tree target if lib tree isn't shown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:34:22 +00:00
Jon Evans
62e6f542ed
Init zone type when creating in convert tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9918
2021-12-09 18:20:30 -05:00
Jon Evans
196571d004
Fix edge case in re-enabling auto track width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-09 18:07:05 -05:00
Seth Hillbrand
9884f40952
Update call signature for SwitchLayer
...
We don't use DC anymore
2021-12-09 10:14:11 -08:00
Seth Hillbrand
77fbb495f2
Highlight net during inline drag
...
Keep consistent UX between inline drag and drag started in the router
tool itself by highlighting the net being dragged
Fixes https://gitlab.com/kicad/code/kicad/issues/9919
2021-12-09 09:28:43 -08:00
jean-pierre charras
f2d6251979
PCB_EDIT_FRAME: very minor fix: make the frame title translatable in stand alone mode
2021-12-09 14:39:27 +01:00
Jon Evans
48e95dcf7e
Disable custom track/via width when re-enabling connected width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-08 21:13:34 -05:00
Jon Evans
a9168860e0
Reduce excessive epsilon in polygon search algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9903
2021-12-08 21:04:23 -05:00
Jon Evans
622d0fc896
Re-add code to refresh plugins at each frame load
...
Should now be safe
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-12-08 20:48:35 -05:00
Jon Evans
587ee890d9
Move where flag is cleared to catch more cases
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:46:53 -05:00
Jon Evans
44e01dcd0a
Skip newly-added footprints in connectivity
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:39:12 -05:00
Jeff Young
e9847cf2bd
Exclude vias from first 'U' step.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9902
2021-12-08 23:16:33 +00:00
Jeff Young
1f9e75f676
Pad with hole same size or larger than pad isn't flashed.
...
... even if it's marked as being on copper layers.
Also changes the default hole clearance to 0.25mm.
Fixes https://gitlab.com/kicad/code/kicad/issues/9901
2021-12-08 23:16:33 +00:00
Jeff Young
df1e74d418
Clean up dead code from last commit.
2021-12-08 23:16:33 +00:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Seth Hillbrand
1160bd94b0
Scale vertex lineweights in DXF import
...
DXF lineweights are always in 100th of mm, so scale the set weights on
import
Fixes https://gitlab.com/kicad/code/kicad/issues/9854
2021-12-07 16:23:44 -08:00
Jon Evans
63f67b7e5b
Fix loading netclasses from legacy boards via Python
2021-12-07 18:55:08 -05:00
dsa-t
9c619d8f4e
Allow some navigation tools when selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9565
2021-12-07 23:00:39 +00:00
dsa-t
a7193e0932
Do not warp cursor to last location when footprint/text placement is activated from toolbar/menu.
...
Also makes the footprint appear instantly after closing the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9840
2021-12-07 22:48:56 +00:00
Seth Hillbrand
fbdb2bd91f
Fix broken refactor from 0e65fe5
...
'auto' here was utilizing a copy constructor to avoid assigning a new
value to the underlying shared pointer
2021-12-07 12:38:05 -08:00
Seth Hillbrand
c613f5e2f1
Convert DXF arcs in fp space
...
Once the arcs are set in pcbnew, they have integer representation and
can accumulate rounding errors. So we convert the start/end points in
the importer to ensure that the connected points in a DXF remain
connected
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-12-07 10:53:35 -08:00
Seth Hillbrand
84cdc9701f
Partially reverts d877f041
...
Based on discussion in https://gitlab.com/kicad/code/kicad/-/merge_requests/1029
we will keep the original behavior. The new routines to get stock paths
are still useful (possibly in scripting) and are kept
2021-12-06 16:14:40 -08:00
Jeff Young
73b39e836d
Set modify bit when editing page layout.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9891
2021-12-06 23:08:33 +00:00
Jeff Young
2446844cd3
Fix bugs in free-pad logic.
...
Don't promote pads to parent footprint selection when NOT in free
pad mode during move.
Implement move algorithm in rotate.
Fixes https://gitlab.com/kicad/code/kicad/issues/9893
2021-12-06 22:53:45 +00:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Jonathan Haas
04b0435c45
Snap to pads when placing via
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9873
2021-12-06 15:54:49 +00:00
Jeff Young
95087c6de5
Fix clearance outlines for router head.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9885
2021-12-06 15:51:53 +00:00
Roberto Fernandez Bautista
34a0d1947a
pcbnew Flip: Filter selection for free pads, select footprint instead
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9875
2021-12-06 14:34:26 +00:00
Mikolaj Wielgus
18ba6b4de8
Fix PCB_TEXT hit test, take two
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 01:05:37 +01:00
Mikolaj Wielgus
d0e9d4868c
Fix PCB_TEXT hit test when bounding box is rotated
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 00:52:07 +01:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05:00
Jon Evans
5ba215c8ea
Use actual width when previewing PNS lines
2021-12-05 13:41:39 -05:00
Jon Evans
7de9e48b57
PNS: Fix tuning calculations through locked segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9727
2021-12-05 13:35:28 -05:00
Roberto Fernandez Bautista
8caf62803d
Avoid unnecessary newlines and extra spaces when saving polygon shapes
...
Also minor formatting / code style fixes.
2021-12-03 22:04:55 +00:00
jean-pierre charras
c186d1f319
Force refresh AUI manager after reloading python scripts.
...
Because the tools in the Htoolbar can have changed, the AUI manager need refresh.
2021-12-03 09:30:24 +01:00
jean-pierre charras
01eebd0b9d
Do not call callLoadPlugins() every time a SCRIPTING_TOOL is created.
...
(i.e. from board editor and from fp editor)
Once is enough.
Once plugins are loaded, calling LoadPlugins() from fpeditor disable plugins
in board editor
Fixes #9846
https://gitlab.com/kicad/code/kicad/issues/9846
2021-12-03 08:12:06 +01:00
Ian McInerney
65c0e0cd18
resolveCanvasType saves the settings, so it must come after they are loaded
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9799
2021-12-03 01:43:53 +00:00
Franck Bourdonnec
d877f04198
fixe paths
2021-12-02 20:23:00 +00:00
Jeff Young
f8d61d689b
Fix annoying wxWidgets assert.
2021-12-02 16:56:47 +00:00
Mikolaj Wielgus
46a8d23378
Remove narrowing implicit cast
2021-12-02 16:35:35 +01:00
Jeff Young
5cb2641142
Fix nullptr dereference in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9844
2021-12-02 13:20:44 +00:00
Jeff Young
0e65fe5d8d
Coding standards and commenting.
2021-12-01 23:15:37 +00:00
Jeff Young
a596a1f2e2
ROUTER_TOOL needs to handle pads not handled by router itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9839
2021-12-01 22:25:02 +00:00
Jeff Young
3c0b10b022
Don't use approximated shapes for router hulls.
...
We only do 45-degree routing anyway so we might as well build an
octagonal-based hull from the get-go.
Fixes https://gitlab.com/kicad/code/kicad/issues/7672
Fixes https://gitlab.com/kicad/code/kicad/issues/9544
Fixes https://gitlab.com/kicad/code/kicad/issues/9833
2021-12-01 19:44:30 +00:00
Jeff Young
09ed60feb3
Don't make inferences about object type based on shape.
2021-12-01 19:44:30 +00:00
Jeff Young
58189dca7a
Always focus on center of small things.
2021-12-01 19:44:30 +00:00
Ian McInerney
63560ecd7b
Remove RM_Smart state from router tool
...
It was never fully implemented and there was no way to switch into this
route mode.
2021-12-01 09:52:37 +00:00
Seth Hillbrand
c4a6a61743
Don't truncate values on import
...
Leads to off-by-one errors when converting to internal values
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-11-30 16:10:56 -08:00
Mikolaj Wielgus
515aed7408
Make Clone functions for NETINFO_ITEM and PCB_MARKER
2021-12-01 00:47:22 +01:00
Seth Hillbrand
5dcd6f89d3
Don't register DRC error on internal approximation
...
Users can set the internal approximation of curves, which will create
small errors off of ideal locations. This will cause DRC errors on some
items such as rounded rect pads when elements are routed at the minimum
ideal distance. Users could already tune this value using the Advanced
Config values but we'd rather the user not depend on that.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9833
2021-11-30 15:28:20 -08:00
Jeff Young
3af65936c1
Don't consider heatsink, castellated or fiducial pads for THT vs SMD.
...
Also fixes a bug where the Footprint Checker's marker list wasn't cleared
correctly from the last run.
Fixes https://gitlab.com/kicad/code/kicad/issues/9821
2021-11-29 16:45:42 +00:00
Jon Evans
3218665861
Revert "Sync action plugins every time PCB frame is created"
...
This reverts commit 69566b25b1
.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9798
2021-11-28 16:16:14 -05:00
jean-pierre charras
3886e681ae
PAD Copy CTOR: fix missing copy of m_pinType member.
2021-11-28 14:34:26 +01:00
jean-pierre charras
f5246acf37
PCB_PAINTER: draw PAD do not always replace netname by "x".
...
When a pad net is edited inside the board editor, its netname is no longer
its corresponding pin netname.
Fixes #9795
https://gitlab.com/kicad/code/kicad/issues/9795
2021-11-28 14:34:26 +01:00
Jon Evans
a746d31038
PNS: Fix loop removal outside shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9680
2021-11-27 15:21:47 -05:00
Jon Evans
8a0f8c329f
PNS: Fix DP gateway generation when pad distance < gap
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9306
2021-11-27 14:03:19 -05:00
Seth Hillbrand
4b226b8172
Unify our breakTracks routines
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9793
2021-11-27 06:34:47 -08:00
Jeff Young
b0d7c1a810
Don't leave orphaned nets in pads after editing in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9789
2021-11-27 12:34:41 +00:00
jean-pierre charras
b8b8c0d34c
dialog text properties: fix a focus issue.
...
Fixes #9792
https://gitlab.com/kicad/code/kicad/issues/9792
2021-11-27 10:08:30 +01:00
Jeff Young
6652e5acf4
Draw pad holes when dragging.
...
Most of the time they're under the pad, but the provide needed
info when the hole is larger than the pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:09 +00:00
Jeff Young
9547c72e73
Teach router about different keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:04 +00:00
Jeff Young
6f0a4ccdee
Formatting.
2021-11-26 18:14:29 +00:00
Jon Evans
69566b25b1
Sync action plugins every time PCB frame is created
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-11-26 09:58:48 -05:00
Jeff Young
99ec2b1801
Don't hide original object when highlight is only part of it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Jon Evans
da458535c4
PNS: Avoid flickering clearances on new items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:38:04 -05:00
Jon Evans
63718323bc
PNS: Holes need to be moved with solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:31:18 -05:00
Jon Evans
8026863d4c
Use progress reporting in more places when loading a board
...
Prevents application-not-responding events while opening large designs
2021-11-25 11:19:03 -05:00
Jon Evans
b4342d813b
Fix SHAPE_LINE_CHAIN::Slice when end is an arc followed by a point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9770
2021-11-25 10:05:33 -05:00
Jeff Young
ade8fe4333
When dragging footprints pads with holes also need to be taken along.
...
Otherwise (aside from not colliding with their dragged location) we
won't update their locations and then if they happen to be the first
pad in the footprint we'll try to update the footprint's location post-
drag with the pad offset (which will be {0,0}.
This is easily reproducible with the test document in the bug in the
"fixes" statement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young
f9e1429c60
Naming conventions.
2021-11-25 14:54:12 +00:00
Jeff Young
5985a21b74
Offset internal items by drag amount.
...
Some tools move only preview items while keeping the real items
hidden. Those tools must use this new offset parameter.
Other tools move the real items. Those tools can ignore this
parameter (which will default to {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young
ba6ae4fa9b
Kicad has many plugins. This one is for the pcb.
2021-11-25 12:56:46 +00:00
Jon Evans
6ecdbbb1da
Remove some duplicate work when loading a board
2021-11-24 22:04:16 -05:00
Wayne Stambaugh
06f206104d
Pcbnew: fix chamfered rectangular pad definitions in GenCAD exporter.
...
The pad comparison function was never updated when chamfered rectangular
and custom pads were added so if more that one variant of either of those
pad types existed in a design, only the first one would get generated and
assign to every pad of that type.
The custom pad primitive comparison has not be implemented so the exported
designs may be broken for custom pads.
2021-11-24 12:54:44 -05:00
jean-pierre charras
c0fdac2774
DIALOG_TRACK_VIA_PROPERTIES: Do not use wxcombobox selection as temporary variable.
...
Fixes #9746
https://gitlab.com/kicad/code/kicad/issues/9746
2021-11-24 17:36:10 +01:00
jean-pierre charras
b6ea9afb4f
DIALOG_PAD_PROPERTIES: fix 2 issues: missing initial value for roundrect corner radius
...
and missing resize pad display panel (minor cosmetic issue).
Fixes #9755
https://gitlab.com/kicad/code/kicad/issues/9755
Fixes #9703
https://gitlab.com/kicad/code/kicad/issues/9703
2021-11-24 09:44:13 +01:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young
1c3e1df3ca
Not all holes are round.
...
We currently only need this to work for vias as we're a long way
from being able to support it for pads, so just check the hole
shape.
Fixes https://gitlab.com/kicad/code/kicad/issues/9735
2021-11-23 14:36:05 +00:00
Tomasz Wlostowski
e56e61ffb5
router: fix typo in the DP tuning fix patch
2021-11-23 00:21:38 +01:00
Seth Hillbrand
126563c839
Fix initilization project / ordering
...
We cannot resolve the Canvas type without the canvas being initialized.
But saving settings sometimes requests canvas access. This protects the
calls against failure by checking for canvas before saving
canvas-specific settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9729
2021-11-22 11:47:42 -08:00
Simon Schaak
5060c73625
Reject broken footprint files
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9721
2021-11-22 16:48:05 +01:00
Tomasz Wlostowski
89228e1ebe
router: increase parallelity detection threshold for AssembleDiffPair()
...
Partially fixes the misrecognized diff pairs issue.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8567
2021-11-22 01:35:12 +01:00
Jeff Young
8777ce3d4e
TEMP_SELECTED is in m_flags, not m_status.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 23:52:45 +00:00
Tomasz Wlostowski
e60386f028
router: disable 'limit corner count' optimization for via dragging
...
It seems to be completely preventing optimization instead of preventing over-optimization in case the head is a dragged via.
To be investigated in more details in V7.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Tomasz Wlostowski
ccf9a72078
router: fix ghost dots issue in router preview items
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665
2021-11-22 00:05:17 +01:00
Seth Hillbrand
3f2d86adec
Make OpenGL default for all apps
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9699
2021-11-21 12:33:07 -08:00
Roberto Fernandez Bautista
bbafce6ab3
PNS: Don't clip the line in the middle of an arc - just start again
...
In shove mode, returning an empty line results in keeping the current
head, which should be okay for now.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
2021-11-21 19:53:03 +00:00
Roberto Fernandez Bautista
4e0ad07eb0
PNS::Shove Add margin when generating hulls for arc segments
...
Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/9023
There is still a case where if the shover does not find a solution,
we try clipping the arc and it still collides.
2021-11-21 17:13:21 +00:00
Tomasz Wlostowski
90157db537
PCB_PARSER: add timeout for of 100 ms for refreshing the progress window.
...
The previously used line number threshold was causing (on some systems) severe slowdown in loading
due to relatively long redraw time of the progress bar window.
2021-11-21 17:33:59 +01:00
Jon Evans
b1878fcc54
ClipVertexRange: fix fallout of NextShape API change
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9711
2021-11-21 11:03:22 -05:00
jean-pierre charras
302c5ab537
Fix an issue created by commit 9e3362d1
.
...
the issue was the graphic cursor was locked on the first snap point
in route mode, once a snap point is found.
2021-11-21 15:37:03 +01:00
Jeff Young
cf1d5f5724
Teach selectConnectedTracks() about layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9610
2021-11-21 13:53:43 +00:00
Jeff Young
229706b48a
Formatting.
2021-11-21 13:53:43 +00:00
Tomasz Wlostowski
c40e921cb3
router: remeber to make a shove lockpoint when placing a lone via
...
Note to self: works around a possible bug in CommitPlacement()/RewindToLastLockedNode()
fixes: https://gitlab.com/kicad/code/kicad/-/issues/9695
2021-11-21 00:18:20 +01:00
Jeff Young
c1703212dc
"Document" properties go in File menu; Edit menu is for item props.
2021-11-20 22:44:43 +00:00
Jeff Young
9e3362d14c
Snap mouse point before picking startItem.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9700
2021-11-20 13:44:16 +00:00
Jeff Young
1f4858c314
Show holes in router preview items for vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9658
2021-11-20 12:21:24 +00:00
Seth Hillbrand
766a09c338
Remove autocomplete when we lose focus
...
Prevents the excess dropdown from persisting over windows
Fixes https://gitlab.com/kicad/code/kicad/issues/9651
2021-11-19 17:24:16 -08:00
Seth Hillbrand
7529eb1812
SWIG out connected item vector for use
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8566
2021-11-19 13:39:06 -08:00
Jeff Young
c01649fc6e
Make it easier to open legacy files.
2021-11-19 13:36:14 +00:00
Jon Evans
d76c6bc884
Add NewBoard API to allow standalone BOARD creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9687
2021-11-18 21:43:05 -05:00
Jon Evans
c5ddb8de26
Hide confusing lowercase version of GetCenter from SWIG
2021-11-18 21:21:22 -05:00
Seth Hillbrand
1d2fd6d271
Change persistent 45° state to only drawing
...
Move/edit points have a lossy state that holds only for the time in
which the tool is active. It reverts back to non-constrained after
completion of the move/point edit
Fixes https://gitlab.com/kicad/code/kicad/issues/9574
2021-11-17 15:38:28 -08:00
Wayne Stambaugh
e57ef66971
Fix build error with wxWidgets 3.0.
2021-11-17 12:28:23 -05:00
Jeff Young
ffae6c8f56
Fix hole table grow issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9666
2021-11-17 12:49:53 +00:00
Seth Hillbrand
a699cccaaf
Fix two string issues
...
Comp -> Compatible
Update string reference to changed string
2021-11-16 10:38:56 -08:00
Jon Evans
ed478f5ec0
Revert to ERROR_INSIDE for complex pad shape hulls in PNS
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9544
2021-11-15 19:15:05 -05:00
Wayne Stambaugh
a4e9beeeac
Coverity issue fix.
2021-11-15 14:02:28 -05:00
Jeff Young
ab2eae6f48
Implement a more nuanced firstFocus for Track & Via Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9645
2021-11-15 13:02:41 +00:00
Jeff Young
9d587e3e6e
Import Eagle rects, polys and circles with 0 width as filled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9639
2021-11-14 23:50:05 +00:00
Jeff Young
66d9e7073f
More discrete borders for Kicad mgr, PCM and appearances panels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Thomas Pointhuber
591fbf6383
altium: use arc angle to determine winding direction
2021-11-14 14:45:07 +01:00
Wayne Stambaugh
80c5b1efb1
File formatting improvements and fixes.
...
Symbol library IDs included the library nickname which is incorrect
and meaningless since it will be overwritten by the symbol library
table code. This is not a file format change as there are no behavioral
differences.
2021-11-13 12:57:18 -05:00
Wayne Stambaugh
53f5d616aa
Coverity issue fixes.
2021-11-13 11:38:31 -05:00
jean-pierre charras
eb3d8dbcc8
DIALOG_FOOTPRINT_PROPERTIES: fix an issue when a layer selector widget is selected.
...
When resisting the dialog, the widget was not moved.
Fixes #9617
https://gitlab.com/kicad/code/kicad/issues/9617
2021-11-13 11:12:08 +01:00
Jeff Young
2c870acaac
Fix arc exporting to GenCAD.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9597
2021-11-12 18:07:31 +00:00
Jeff Young
381da21609
Don't inc/dec to netclass track width value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9622
2021-11-12 17:50:34 +00:00
Jeff Young
879254abff
Remove track min width from the status bar.
...
It presents an over-simplified picture. Better to use Inspect >
Constraints Resolution....
Fixes https://gitlab.com/kicad/code/kicad/issues/9623
2021-11-12 17:31:50 +00:00
david-beinder
fd6a75b779
Do not call TransformToPoly for negative sized PADs
2021-11-12 15:40:08 +00:00
david-beinder
b46b27fe8c
Altium import: Avoid illegal filenames when writing embedded 3D models
2021-11-12 14:49:22 +00:00
david-beinder
a9b4465703
Altium import: Use UTF16 string table for PCB texts
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7948
2021-11-12 14:49:22 +00:00
Wayne Stambaugh
992fc83870
Pcbnew: fix GenCAD exporter bug.
...
The chamfered rectangle pad coordinate export was in the absolute board
position instead of relative to the footprint origin which GenCAD expects.
This fixes KSC ticket #413 .
2021-11-11 17:31:52 -05:00
Jon Evans
8ec3ce99ae
PNS: Update shover when autocompleting on item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9598
2021-11-10 18:17:56 -05:00
Roberto Fernandez Bautista
13f081549c
CADSTAR PCB: Use all User layers when mapping documentation layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9577
2021-11-10 21:47:22 +00:00
Roberto Fernandez Bautista
ad2e780a2c
CADSTAR PCB: Correctly load pads with holes
...
If the THROUGH_HOLE attribute isn't set, it just means that the pads
are only present on one side of the board, but there can still be a
plated / non-plated hole.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9579
2021-11-10 21:21:32 +00:00
Jeff Young
f6c160eb50
Apply a big hammer for python script refreshing.
...
While not ideal, this should tide us over until we have a commit
architecture for python scripts.
Fixes https://gitlab.com/kicad/code/kicad/issues/7065
2021-11-09 18:47:47 -05:00
Jeff Young
0dcbfa2b69
Always use UUIDs for implicit keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9580
2021-11-09 17:57:47 +00:00
Jeff Young
c0a6014114
Save actual control values; GetOriginalText is only for eval.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9575
2021-11-09 13:53:03 +00:00
Jeff Young
0631c8fc74
Fix logic bug when updating circular pad points.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9576
2021-11-09 13:14:24 +00:00
Jeff Young
18d9f6e323
Reduce auto.
2021-11-09 13:14:24 +00:00
Jon Evans
59807d8d26
A better solution to discarding pending shove operations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9553
2021-11-09 00:00:54 -05:00
Jon Evans
0234ae3003
Add CloneFrom API for BOARD_DESIGN_SETTINGS in SWIG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6885
2021-11-08 23:01:24 -05:00
Jon Evans
75d75799f7
Move to getters/setters for aux and grid origin
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8836
2021-11-08 22:36:40 -05:00
Seth Hillbrand
6cc6f06a9a
Millimetres -> Millimeters
2021-11-08 15:56:51 -08:00
Seth Hillbrand
6569337d27
Haching -> Hatching
2021-11-08 15:56:51 -08:00
Seth Hillbrand
2f1a3827cf
Solder paster -> Solder paste
2021-11-08 15:56:51 -08:00
Jeff Young
6af031be05
Use double-quotes for rule expressions.
...
The Mac double-quote bug is now fixed and strings inside expressions
are single quoted making single-quoting the entire expression pretty
hard to visually parse.
2021-11-08 20:53:59 +00:00
Jeff Young
b1e8241ebe
Update pin type as well as function from existing when updating fp.
2021-11-08 20:53:59 +00:00
Jeff Young
d0014a307d
Reduce the artificial gravity for selecting vias by a bit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9563
2021-11-08 20:53:59 +00:00
Seth Hillbrand
81fc7c71d1
Handle blind/buried vias in Eagle import
...
Don't sanitize layers before setting type
Fixes https://gitlab.com/kicad/code/kicad/issues/9557
2021-11-08 12:46:54 -08:00
Roberto Fernandez Bautista
7fd669b6a8
Use green soldermask and white silkcreen when unspecified
...
Also - unspecify colour of soldermask by default
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9538
2021-11-07 15:35:14 +00:00
Jeff Young
dbad85d405
Remove instances of "auto".
2021-11-07 14:12:44 +00:00
Mark Hämmerling
97e9348ee1
Fix typo "verical" -> "vertical"
2021-11-06 20:39:19 +00:00
Mark Hämmerling
8f0b61715b
Fix tooltip about Edge.Cuts (not) being plotted on all layers, remove period
2021-11-05 23:38:14 +00:00
Roberto Fernandez Bautista
6aa7602c32
CADSTAR PCB: Reverse anticlockwise arcs before adding to the chain
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9533
2021-11-05 17:13:02 +00:00
Roberto Fernandez Bautista
8314251fa1
CADSTAR PCB: Force white silkscreen and green soldermask
...
We don't know the actual colour from the design, but this is the most
common used in the industry.
2021-11-05 17:13:02 +00:00
jean-pierre charras
93e163b98d
Do not replace delimiter " by ' inside a command string.
...
Fixes #9528
https://gitlab.com/kicad/code/kicad/issues/9528
2021-11-05 13:24:38 +01:00
Marek Roszko
792a8dca9d
Fix errant wxassert about expand and center align
2021-11-04 22:55:40 -04:00
Jeff Young
393c84e67a
Fix sketch mode rendering of beziers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9522
2021-11-04 12:57:16 +00:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Seth Hillbrand
b022b314a4
Account for pad hole is BBox
...
The bounding box is used for hit testing. If the hole is arbitrarily
larger than the pad, we need to allow the user to properly select it
2021-11-03 14:33:44 -07:00
Jeff Young
ffd1139cfe
Make sure a pad is at least as big as its hole in the RTree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9516
2021-11-03 18:53:26 +00:00
Asuki Kono
762cd5a32f
Add PLACE_FILE_EXPORTER to swig to call in python
2021-11-03 16:32:05 +00:00
jean-pierre charras
6b432e895a
DIALOG_COPPER_ZONE_BASE: fix incorrect max value of zone priority.
2021-11-03 11:49:38 +01:00
Johannes Pfister
64f77b3596
PNS: Add support for 90-degree corner modes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6902
2021-11-03 02:14:23 +00:00
Jeff Young
522359ccbf
Improve comments.
2021-11-02 20:07:34 +00:00
Jeff Young
3c78bf4ef8
One active point at a time.
2021-11-01 16:17:33 +00:00
Seth Hillbrand
f4cd57f815
Reserve production strings
2021-11-01 07:14:38 -07:00
Jon Evans
153594b9ea
PNS: Actually implement the AbortRouting API
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9425
2021-10-31 16:06:57 -04:00
Jeff Young
22ba640c2b
Remove locking from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9496
2021-10-31 16:33:03 +00:00
Jeff Young
e3ef101ec9
Add missing view controls for FP Editor Appearance Manager.
2021-10-31 16:33:03 +00:00
Roberto Fernandez Bautista
b2db24f275
CADSTAR PCB: Don't invert Text Angle for mirrored text
...
It matches the original cadstar when we don't invert
2021-10-30 18:14:23 +01:00
Wayne Stambaugh
d4537b6f53
Coverity issue fix.
...
Remove uninitialized member variable as it was unused rather than
initialize it which would have made Coverity happy.
2021-10-30 11:52:06 -04:00
Jeff Young
5f8e0ef1e0
Patch up arc hit-testing and printing for 6.0
...
This could use another look when we're not so near release. We
really shouldn't need to special case eeWinding vs. not eeWinding.
Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jon Evans
08700e3522
Router: show corner style in message panel
2021-10-30 09:08:52 -04:00
Jon Evans
08bf28b95d
Fix disabling free-angle mode
2021-10-30 09:08:35 -04:00
Jon Evans
e6c3027531
Action string typo fixes
2021-10-30 08:47:36 -04:00
jean-pierre charras
48be569a29
DIALOG_PAD_PROPERTIES: use our UNIT_BINDER to manage pad rotation and remove
...
the wxFloatingPointValidator (that has also issues with fp separator).
Try to fix a bug related to pad rotation in some locales (see bug 9331).
2021-10-30 12:39:33 +02:00
Jeff Young
08938463f1
Fix off-by-one error in via sizes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9486
2021-10-29 20:45:42 +01:00
Wayne Stambaugh
ffddefc532
Minor dialog layout improvements.
2021-10-29 15:29:49 -04:00
jean-pierre charras
63d4d84aaa
pcbnew, router: fix a crash and some other issues related to microvias and blind/buried vias
...
- fix crash when trying to create a microvia from a internal layer (boards with > 4 layers)
- fix a bug that allowed to create a non through hole via on only one layer
- fix a bug that allowed to create a microvia on non adjacent layer pair
- when placing a via and selecting the target layer from dialog, show only allowed layers.
Fixes #9477
https://gitlab.com/kicad/code/kicad/issues/9477
2021-10-29 17:54:04 +02:00
Peter Montgomery
71b07b59c5
Pcbnew: Added "All Items" clear/set to "Filter Selection" dialog
2021-10-29 09:56:14 +00:00
Jeff Young
c47e5ce577
Improve clearance outline tooltip.
2021-10-29 00:17:06 +01:00
Jeff Young
1abd45ac15
Report nets on pads.
2021-10-29 00:17:06 +01:00
Electro707
4afb59fda0
Added feature to switch between router modes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9414
2021-10-28 22:46:05 +00:00
jean-pierre charras
1dbe8442b1
fp editor: fix crash (null pointer) when trying to drag an item.
...
(there is no roter tool in fp editor)
Fixes #9476
https://gitlab.com/kicad/code/kicad/issues/9476
2021-10-28 11:51:04 +02:00
Jon Evans
4a9b3d9673
PNS: clear leftover vias from previous trace in DP placer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9283
2021-10-27 21:58:42 -04:00
Jeff Young
e9661161d2
Fix missing member variable in swap().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9470
2021-10-27 21:57:20 +01:00
Wayne Stambaugh
54be0da33d
Pcbnew: minor plot dialog improvements.
2021-10-27 11:36:43 -04:00
Jeff Young
4fe025909d
Fix centered rotated text in Pcbnew Eagle importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 14:38:42 +01:00
Jeff Young
e12f9a194d
Fix Eagle arc importing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9466
2021-10-27 02:36:43 +01:00
Seth Hillbrand
0c99c99e12
Do not assign priorities to rule areas
...
As noted by @jeffyoung, we shouldn't set priorities to rule areas as
this can expose unexpected issues
Related to https://gitlab.com/kicad/code/kicad/-/issues/7776
2021-10-26 11:16:04 -07:00
Jeff Young
5b9519da6c
Fix arc formatting in Fabmaster import.
2021-10-26 17:52:10 +01:00
Jeff Young
341b0a5652
Don't depend on a keepout zone having no priority.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7776
2021-10-26 17:20:09 +01:00
Jeff Young
c13ff9cec9
Formatting.
2021-10-26 17:19:30 +01:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Roberto Fernandez Bautista
a79a221257
Array creator tool: Add option to assign unique reference designators
...
ADDED: Option to assign unique reference designators to footprints
created with the array tool [pcbnew]
CHANGED: Array creator dialog no longer displays pad numbering properties
when in the board editor. [pcbnew]
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2354
2021-10-25 22:38:49 +01:00
Jeff Young
36d11f745e
Update ratsnest while dragging footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-10-25 21:45:30 +01:00
Seth Hillbrand
7812dc1a67
Fix hard-coded limit to dp choice
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9459
2021-10-25 10:45:59 -07:00
Seth Hillbrand
ea4e06124e
Edit library footprint command
...
Provides missing PCB_ACTION for the edit library footprint command. This is
needed for python control of the command
Fixes https://gitlab.com/kicad/code/kicad/issues/9454
2021-10-25 09:25:37 -07:00
Tomasz Wlostowski
bba742b804
pcbnew: support vertex line start/end width to correctly import certain DXF files
2021-10-25 17:39:09 +02:00
Tomasz Wlostowski
df47c1c4e9
pcbnew: use doubles to pass line widths in the DXF importer as they are expressed in DXF's units and can case severe rounding errors when passed as ints
2021-10-25 17:36:04 +02:00
Seth Hillbrand
8a3bc3fe4d
Don't translate empty strings
...
The _( "" ) msgid is reserved in gettext, so we need to avoid it in code
2021-10-25 06:24:06 -07:00
Jon Evans
5475303ec2
Allow loading secondary boards from Python
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9271
2021-10-24 14:06:38 -04:00
Seth Hillbrand
d202b78dc4
Fix disable warnings to be compatible
...
GCC and Clang both support the short mnemonic `-w` to disable warnings,
so use that to be compatible
Fixes https://gitlab.com/kicad/code/kicad/issues/9446
2021-10-24 07:30:39 -07:00
Jeff Young
c9d858eaf5
Add status bar message for constraint mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9282
2021-10-24 14:04:12 +01:00
Jon Evans
328d3d0d77
PNS: Fix rule resolution when starting from PTH
...
Have to use the routing start layer, not the first
layer of the PTH, to get the appropriate sizes
2021-10-23 22:46:31 -04:00
Jon Evans
3b18dce911
Remove vestigal setting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9444
2021-10-23 22:12:25 -04:00
Roberto Fernandez Bautista
e950278637
Don't initiate a drag if the router is already active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9277
2021-10-23 19:01:25 +01:00
jean-pierre charras
25c8b58e68
DIALOG_COPPER_ZONE_BASE: fix bug that prevents entering a value in Smoothing amount.
2021-10-23 15:16:37 +02:00
Jeff Young
e30d867439
Use consistent terminology for various constraint modes.
2021-10-23 12:18:08 +01:00
Jeff Young
90eff6c6a2
Prevent assert when sorting non-existant layer.
2021-10-23 11:53:03 +01:00
Roberto Fernandez Bautista
987d64c88e
pcbnew graphics import: Fix arc winding direction
2021-10-23 11:02:00 +01:00
Jeff Young
fecb53b64f
Clean up removal of separate front & back footprint text visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Seth Hillbrand
d44e0ab765
Limit use of non-copper layers
...
When importing, we should not use Eco1 for other purposes as the
importer uses it to place unknown layer objects. We also need to avoid
placing objects on the courtyard layers that do not relate to the layer
purpose in DRC
Fixes https://gitlab.com/kicad/code/kicad/issues/9442
2021-10-22 12:31:11 -07:00
Jeff Young
8cbdf5ba12
Keep default pad number up-to-date (in both directions).
...
Also hides the net selector when in the footprint editor as it has
no meaning there. (We still only grey it out for the board editor
when the pad type has no net to keep things from coming and going too
much.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9317
2021-10-22 19:58:36 +01:00
Floris Lambrechts
06b9d774c0
Expose PCB_TRACK vector as a SWIG proxy object
...
Allows to use Connectivity `GetConnectedTracks()` in Python.
This is in line with `GetConnectedPads()`, and with pcbnew v5.1 where
GetConnectedTracks was also usable from Python.
Fixes https://gitlab.com/kicad/code/kicad/issues/9435
2021-10-22 16:00:18 +00:00
jean-pierre charras
0bdb424215
FootprintWizardBase.py: fix Arc building due to recent code changes.
...
Add a arc_test wizard (only to test arcs in fp).
2021-10-22 10:07:31 +02:00
Jeff Young
6c0110ecd3
Naming conventions.
...
There's nothing "legacy" about the OpenGL 3D renderer.
2021-10-21 14:30:03 +01:00
Jeff Young
0fd762dc25
Make 3D dialogs easier to find.
2021-10-21 14:30:03 +01:00
Wayne Stambaugh
0795fcb810
Minor dialog layout fixes.
2021-10-21 08:59:55 -04:00
Jeff Young
b1f17dc927
Don't let the polygon routines collapse on a zero line width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9418
2021-10-20 12:29:07 +01:00
qu1ck
09a2701136
Fix arc angle calculation and python API for it
...
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
Jeff Young
463b82cf46
Be very careful when "doing what I mean".
...
Just wanting a SMD pad isn't enough -- the user may have already
set SMD settings into the master pad and changing the SizeX is
then very unexpected. Make sure the settings directly conflict
before making any "do what I mean" adjustments.
Also fixes the parent-footprint info when no parent exists.
Also gives a better title to the dialog when used to edit the masterPad
properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9427
2021-10-20 08:59:25 +01:00
jean-pierre charras
b37664092d
DIALOG_GLOBAL_DELETION: enable graphic items filters when board outlines is enabled.
2021-10-20 09:16:40 +02:00
Seth Hillbrand
2a6c73b8df
Check for hole before highlighting
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9423
2021-10-19 11:25:00 -07:00
Jeff Young
57f907f6e7
Make sure PCB_PARSER is fully initialized between footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9424
2021-10-19 17:14:04 +01:00
jean-pierre charras
40e6a9a926
Fp editor: add DRC test for through hole pads without hole.
2021-10-19 14:47:29 +02:00
Seth Hillbrand
fb5fef9f5f
Remove extraneous Raise() from DRC cross-probe
...
Scroll-to-show on GTK relies on the idle handler but this is interrupted
by a Raise and not revisited. Since the Dialog is always on top of the
editor, Raise is not needed to view the referenced error
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-18 17:16:36 -07:00
Seth Hillbrand
5af813c69f
Remove extra handler
...
The extra handler intercepted the action before it could be handled
properly changing the board design settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9410
2021-10-18 15:08:22 -07:00
Seth Hillbrand
29b851dce1
Tighten up ecea2e4279
2021-10-18 13:44:19 -07:00
Mark Hämmerling
ecea2e4279
pcbnew: Add window title to "Find" dialog
2021-10-18 20:39:37 +00:00
Seth Hillbrand
e9205a0740
Fix mistaken comparison in highlighting
...
Need to compare between elements colliding
Fixes https://gitlab.com/kicad/code/kicad/issues/9413
2021-10-18 13:38:27 -07:00
Jeff Young
856cc26d4c
Allow vias the same same-net waiver that pads have for hole clearance
...
Note that in 7.0 we have physical_hole_clearance rules to give a bit
more expressivity here.
Fixes https://gitlab.com/kicad/code/kicad/issues/9420
2021-10-18 18:09:40 +01:00
Jeff Young
0826c26a18
Fix a few minor dialog issues.
2021-10-18 18:09:40 +01:00
Seth Hillbrand
10ac675905
Fix shadowing
2021-10-18 09:00:24 -07:00
jean-pierre charras
cee9e417ec
Fix mirroring arcs in footprints
...
Fixes #9417
https://gitlab.com/kicad/code/kicad/issues/9417
2021-10-18 17:10:39 +02:00
Ian McInerney
5817a8b5f4
Remove unused m_host variable
...
This variable isn't needed anymore after 5f53019290
pushed dark mode handling into the HTML window itself.
2021-10-18 00:29:40 +01:00
Roberto Fernandez Bautista
99442350a4
CADSTAR PCB: Fix loading of arc tracks following recent PCB_ARC changes
...
We no longer have any knowledge of the original start/end of the arc,
since SetArcAngleAndEnd swaps the start and end to ensure the arc is
always clockwise at the end.
Adds a method EDA_SHAPE::EndsSwapped() to notify whether the start/end
point of the shape were swapped.
2021-10-17 17:57:51 +01:00
qu1ck
6db0216dd4
Bring back python compatibility constants for SHAPE_T
...
They were removed in a41944020d
and that broke a lot of stuff.
2021-10-17 03:21:47 -07:00
jean-pierre charras
b44a14a472
Plot custom pads with pad anchor size = 0.
...
A pad anchor size = 0 is allowed in 5.99 version (not in 5.1 versions)
Fixes #9408
https://gitlab.com/kicad/code/kicad/issues/9408
2021-10-17 11:01:38 +02:00
Roberto Fernandez Bautista
e867a4fd27
CADSTAR PCB: Fix Zone fill priorities
...
The algorithm now correctly determines fill priorities when the zone
outlines are close together and within the minimum clearance between
zones.
2021-10-16 21:50:56 +01:00
Seth Hillbrand
57d0cbcefa
Fix python QA
2021-10-15 13:50:36 -07:00
Seth Hillbrand
b88473e41f
Respect context layer in eval
...
When testing for a specific layer context, we should only return true if
the item either exists on that layer or if the context layer is
UNDEFINED_LAYER, meaning the layer value is not material to the test
Relates to https://gitlab.com/kicad/code/kicad/-/issues/9366
2021-10-15 10:35:29 -07:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
jean-pierre charras
0533196294
Fix Coverity warnings
2021-10-15 09:24:16 +02:00
Seth Hillbrand
faba2b06c2
Lock track width after placing segment
...
We don't want to allow the full track width to change after placing a
segment when we are in follow-segment mode. This would require either
ripping up and re-solving the existing track or allowing potential DRC
errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/9395
2021-10-14 09:21:14 -07:00
Seth Hillbrand
07b9e2ee51
Fix errant debug message
...
__WXDEBUG__ is only for internal WX debugging and is always enabled even
on release builds because it is defined to be 0, 1 or 2. Use DEBUG to
limit to debug builds
Fixes https://gitlab.com/kicad/code/kicad/issues/9392
2021-10-13 09:16:55 -07:00
Seth Hillbrand
95ec23247c
Initialize zone vars in CTOR
2021-10-13 08:59:48 -07:00
Seth Hillbrand
5a6f230a2c
Delete full track needs proper scoping
...
This should not run if the action is "Cut". Additionally, we need to
transfer the expanded selection to selectionCopy in order for it to
proceed with the deletion. There is also no need for this to be limited
to the Hover action, so this section was removed.
Fixes https://gitlab.com/kicad/code/kicad/issues/9385
2021-10-12 13:47:16 -07:00
Seth Hillbrand
35e90d0cf4
Allow changing router mode while routing
...
Keeps shove active even when not using to allow switching modes during
routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9342
2021-10-12 09:55:34 -07:00
Seth Hillbrand
7f1247a23c
Update track width when changed
...
Tracks starting from pads should change in response to the track width
changing despite having the "follow existing track" width selected.
2021-10-12 09:55:34 -07:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
1b7358f93a
Import layer settings before swapping boards
...
The rebuildLayerStackPanel() reads from the current board to setup the
panel. We maintain the board swap until after the setup is completed
Fixes https://gitlab.com/kicad/code/kicad/issues/9370
2021-10-11 11:47:22 -07:00
Seth Hillbrand
58f553a9ca
Check for layer when DRC on vias and non-zone items
...
We were already checking for zone-zone overlap but missing checks when
running against (possibly) buried vias as well as the general check
Fixes https://gitlab.com/kicad/code/kicad/issues/9366
2021-10-11 10:33:50 -07:00
Seth Hillbrand
fce054319c
Update DRC MatchDPSuffix routine
...
This matches the router matchDPSuffix routine until we merge the two
into a common utility
2021-10-11 10:33:50 -07:00
Roberto Fernandez Bautista
43e59b0ea7
CADSTAR PCB: Correctly handle associated pad ids and PCB Only pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9372
2021-10-11 18:30:20 +01:00
Roberto Fernandez Bautista
7a71ebf9ac
CADSTAR PCB: Load all three net properties into a single Netclass
...
The final netclass name will be a bit long but it will allow for custom
DRC rules to individually target each of the three properties available
in CADSTAR:
- Route Code (which specifies width of the track in min, max, opt)
- Net class (only used in signal integrity analysis)
- Spacing class (for specifying clearance requirements between classes)
2021-10-10 22:16:08 +01:00
Roberto Fernandez Bautista
e9030283cc
Fix formatting
2021-10-10 22:16:08 +01:00
Seth Hillbrand
93bbad6acf
Allow snapping in pickReferencePoint
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9354
2021-10-10 08:53:10 -07:00
Seth Hillbrand
62cb5d9354
Fully cancel copy with reference
...
Tool needs to be popped when cancelling to allow selection tool to work properly.
Fixes https://gitlab.com/kicad/code/kicad/issues/9353
2021-10-10 08:31:18 -07:00
Ian McInerney
4d89061d4c
Support footprint arcs in convert to polygon
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9352
2021-10-10 16:26:23 +01:00
Seth Hillbrand
6620831d38
Clear edited point when exiting point editor
...
Failing to clear this will prevent selection where tools check for
edited points before processing mouse button down events
Fixes https://gitlab.com/kicad/code/kicad/issues/9357
2021-10-10 08:25:50 -07:00
Roberto Fernandez Bautista
0fa8e1f311
DRC Control: Clear pointer to MARKER after it has been centered
...
Also, added asserts to verify SelectMarker and CenterMarker actually
do select one.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9344
2021-10-10 16:22:04 +01:00
jean-pierre charras
593324bbaa
Do not use non ASCII7 chars in English strings.
...
Fix UTF8 to unicode conversion issue.
Fixes #9356
https://gitlab.com/kicad/code/kicad/issues/9356
Fixes #9355
https://gitlab.com/kicad/code/kicad/issues/9355
2021-10-10 10:32:31 +02:00
Roberto Fernandez Bautista
ac3ade874e
CADSTAR PCB: Set Copper-to-Hole clearance as 0
...
Testing suggests that CADSTAR doesn't actually have any clearance to the
hole (other than electrical clearance to the barrel of the padstack/
viastack).
This removes a large amount of DRC violations on imported designs.
2021-10-10 00:20:13 +01:00
Roberto Fernandez Bautista
eb7d0fdf8a
CADSTAR PCB: Use board clearance + additional isolation as zone clearance
...
Copper-to-copper clearance is too onerous and results in large amount
of DRC errors for the majority of imported designs.
2021-10-10 00:18:36 +01:00
Roberto Fernandez Bautista
f4ff01a5ab
CADSTAR PCB: Copy default netclass settings when creating new ones
...
Ensures that the global clearance is preserved in the newly created
netclass.
2021-10-09 23:10:55 +01:00
Seth Hillbrand
41e7284fdc
Speed up pcbnew loading/updating
...
Rather than detaching and re-attaching the layer panels with the
attendant overhead, we keep each panel intact and only update its
contents. Since the bindings are the same, this saves substantial time
on pcb loading as well as when closing the board setup dialog
2021-10-09 13:38:35 -07:00
Roberto Fernandez Bautista
8f74085ca4
CADSTAR PCB: Handle older boards without construction layers
...
Use KiCad default stackup for older CADSTAR boards that do not
define any dielectric layers between the electrical layers.
Also fix default stackup calculation to ensure finished board thickness
is 1.6mm
2021-10-09 21:26:16 +01:00
Roberto Fernandez Bautista
d62a5ecf46
Remove unused GetPcbThickness() function in PANEL_SETUP_BOARD_STACKUP
...
The function used now is computeBoardThickness()
2021-10-09 20:35:10 +01:00
Roberto Fernandez Bautista
33a3cfc87b
CADSTAR PCB: Update Board Design Settings to notify that a stackup exists
...
Also update thickness of the PCB
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9307
2021-10-09 20:33:14 +01:00
Roberto Fernandez Bautista
e80a1c2679
CADSTAR PCB: Don't load items on invalid layers
...
This was happening in two cases:
- Loading documentation symbols (CADSTAR on purpose defines these in an
invalid layer)
- When an item was in a "layer set" such as ALLELEC or ALLLAYER - need to
make sure we remove the copper layers that are not active in the design
2021-10-09 20:07:23 +01:00
Ian McInerney
895f4ca989
Cleanup 3D model filename validation
...
Don't veto the changed event anymore and instead just display the
feedback in the error column of the grid.
2021-10-08 22:30:20 +01:00
Ian McInerney
8d71bdc3e1
Cleanup unit handling in the stackup drawing tool
2021-10-08 22:30:20 +01:00
Roberto Fernandez Bautista
677166f0b8
CADSTAR PCB: Rule Areas have zero width
...
Cadstar areas have a line width but this is only for display purposes.
Instead CADSTAR uses the center line when determining whether a DRC
violation occurred.
2021-10-08 21:27:32 +01:00
Roberto Fernandez Bautista
2dfbd42be6
CADSTAR PCB: Legacy netclass and design settings loading is required
2021-10-08 20:48:10 +01:00
Roberto Fernandez Bautista
ae0229b7c9
CADSTAR PCB: Add imported nets to the imported netclass.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
58fc4f512d
CADSTAR PCB: Don't create zero width tracks
...
Fixes a bug in the route offsetting part of the import
that was resulting in zero-width tracks being imported.
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
16b61e47cd
CADSTAR PCB: Clear arcs from polys before boolean ops (e.g. zone fills)
2021-10-08 20:25:09 +01:00
Roberto Fernandez Bautista
fb588da875
CADSTAR PCB: Fix loading of thermal relief gap in zones
...
We were loading as solid fill when the relief gap was exactly the
same as the minimum width.
Also we can do better than just load as solid fill when it is smaller:
we can instead just use the minimum width and at least it still will
have thermal reliefs.
2021-10-08 17:39:08 +01:00
jean-pierre charras
4d6b1a4e36
pns_diff_pair_placer: fix empty message when a signal of a pair is not found.
...
Fixes #9334
https://gitlab.com/kicad/code/kicad/issues/9334
2021-10-08 14:57:01 +02:00
Roberto Fernandez Bautista
cb47bf25c0
CADSTAR PCB: Actually load the original route code as a KiCad NETCLASS
...
We weren't actually loading it into the design settings even though
everything else was already being correctly loaded.
2021-10-07 22:13:06 +01:00
Seth Hillbrand
f9c83dbc44
Fix footprint type memory
...
The flags don't map quite right, so we keep the memory of the drop-down
and translate to flags. This protects against flag values changing
2021-10-07 11:29:51 -07:00
Seth Hillbrand
51d3440c38
Use footprint type to inform new pad type
...
Makes usage cleaner. If the user specifies that they are creating an
SMD, they should get SMD pads by default so that they don't have to
change them later.
Fixes https://gitlab.com/kicad/code/kicad/issues/9333
2021-10-07 11:10:26 -07:00
Jeff Young
57c7d663b0
Fix bone-headed mistake when moving panel disabling.
2021-10-07 00:17:42 +01:00
Seth Hillbrand
ad85f8078a
Reverse escaping when transferring multi-line
...
We escape the strings coming out of the DIALOG_TEXT_PROPERTIES window,
so we need to unescape the ones coming in
Fixes https://gitlab.com/kicad/code/kicad/issues/9327
2021-10-06 13:25:03 -07:00
Seth Hillbrand
a8ec3b58ed
Use via's real drill value for hole size
...
If the via drill is "Default" be sure to get the default value rather
than the placeholder
Fixes https://gitlab.com/kicad/code/kicad/issues/9313
2021-10-06 11:00:58 -07:00
Jeff Young
1bb5fc3fd6
Work around EnsureVisible bug in wxWidgets during DRC cross-probe.
...
Also adds double-click-marker to open DRC dialog and select marker
in list.
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-06 11:17:03 +01:00
Jeff Young
95f841a037
A more nuanced method of making Board & Schematic Setup read-only.
...
This one still allows you to scroll to see all contents.
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-06 11:16:46 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
92008a089a
Disable Board & Schematic Setup controls when project is locked.
...
(or missing).
Fixes https://gitlab.com/kicad/code/kicad/issues/9302
2021-10-04 16:47:27 +01:00
Jeff Young
ffd6fde700
Improve consistency and hotkey access in Appearances.
...
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.
Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young
930c4e5582
Cleanup.
...
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
2021-10-03 19:42:29 +01:00
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
2021-10-03 13:27:46 +01:00
Jeff Young
5c402a64ab
Use mathematical rotation direction in Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1897
2021-10-03 00:11:01 +01:00
Jeff Young
574bef2237
Normalize drawing sheet path to env vars & prj, not just prj.
...
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
2021-10-02 23:39:45 +01:00
Jeff Young
e2baacec21
Add cross-probing between PCB (markers) and DRC marker list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7246
2021-10-02 23:39:45 +01:00
jean-pierre charras
da79a3dd69
Option graphics limited to 45deg in creation: separate options for brd and fp editors.
...
Add these options in PANEL_EDIT_OPTIONS.
This option was previously living only in some context menus, not really visible.
2021-10-02 16:43:31 +02:00
Jeff Young
10dd70881c
New paramaterized interface doesn't like quoted parameters.
...
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young
ef74421922
Move centering of lib-tree item to idle event.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9294
2021-10-01 22:46:14 +01:00
Jeff Young
5f5ee7335d
Formatting.
2021-10-01 21:49:14 +01:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Seth Hillbrand
dd1d36d40a
Fix segfault when check for editing points
...
The point editor is not always available when checking for points. We
need to handle the missing tool without crashing
2021-09-30 17:25:33 -07:00
jean-pierre charras
a738257c43
Remove a tool tip not related to the parent widget.
2021-09-30 20:17:45 +02:00
Seth Hillbrand
e7ae3a181f
Handle casing for FocusOnItem
...
Some items are complex (footprints) and some don't have logical polygons
(PCB_MARKER), so we can't transform everything. So, handle the items we
can transform normally and use bbox or boundinghull for everything else
2021-09-29 16:19:49 -07:00
Jeff Young
12b726ba2f
Prevent the point editor from fighting with other tools.
...
1) Don't start a long-click timer when the point editor is active.
2) Don't auto-start a wire when the point editor is active.
Fixes https://gitlab.com/kicad/code/kicad/issues/9270
2021-09-29 19:16:06 +01:00
Jeff Young
ee2789943f
Supply grid with a GRID_TRICKS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9273
2021-09-29 18:44:19 +01:00
Jeff Young
0438a45176
Don't allow reentrancy into PlaceFootprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9269
2021-09-29 17:01:33 +01:00
Jeff Young
3b6da14614
Don't allow offset for circular pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9266
2021-09-29 15:27:34 +01:00
Jon Evans
07e01e6297
Allow converting graphic arc to track arc
2021-09-28 21:00:15 -04:00
Roberto Fernandez Bautista
2e120528c8
Length Tuner: Allow single meander when it fits on its own
2021-09-28 18:50:31 +01:00
Roberto Fernandez Bautista
71156368c9
Length Tuner: Allow controlling the side of the meander using the cursor
...
Also fixes an issue that did not allow single meanders to be placed
2021-09-28 18:50:31 +01:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +01:00
Jeff Young
fac48ddafb
Don't include stale nets in net counts.
...
Fixes bug reported by Franck.
2021-09-28 14:28:12 +01:00
Mike Williams
d90dc77e00
Selection: Don't drop small moves
...
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
2021-09-27 16:44:32 +00:00
Mike Williams
726f9ebe3d
Pcbnew: Router tool should not block drag selection when idle
...
The other drawing tools allow drag selection while idle. Also, it makes
it more obvious to the user when accidentally drag selecting while
routing than just doing nothing on a drag with the routing tool selected
and idle.
2021-09-27 16:05:13 +00:00
Jeff Young
544fa939f8
Lock/unlock group members when locking/unlocking group.
...
Also moves the stateful selection filter to after the hierarchy filter
since the hierarchy filter might swap a pad selection for a footprint
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/9255
Fixes https://gitlab.com/kicad/code/kicad/issues/7542
2021-09-27 11:29:52 +01:00
Jeff Young
dfe4997664
Fix nullptr crash.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9250
2021-09-27 10:27:25 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jon Evans
e2368b733c
Allow selection of NPTH pads with zero copper size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9249
2021-09-26 18:17:50 -04:00
Jeff Young
422def1261
Move cross-probe scrolling to FocusOnLocation.
...
It handles not moving the display too much and using the exposed
center if there is a dialog over the window.
Fixes https://gitlab.com/kicad/code/kicad/issues/8985
2021-09-26 20:06:50 +01:00
Jeff Young
a3dcdd4887
Allow highlight-net to work on zone copper.
...
We were already checking zones separately (after tracks and pads); we
just weren't setting the flag that causes the COLLECTOR to also test
zone fills.
Fixes https://gitlab.com/kicad/code/kicad/issues/5924
2021-09-26 19:26:22 +01:00
jean-pierre charras
5853f0890e
Gerber job file: fix a bug that prevent writing dielectric constants for impedance controlled boards.
2021-09-26 16:11:15 +02:00
Jeff Young
b799d563e5
Slight improvement to track & via clearance option text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8838
Fixes https://gitlab.com/kicad/code/kicad/issues/8839
2021-09-26 11:02:57 +01:00
jean-pierre charras
77f47b6e47
Avoid assertion in some cases.
2021-09-26 10:54:50 +02:00
jean-pierre charras
9f64850325
Drawing stackup table: fix a few issues and missing items.
...
Fixes #9243
https://gitlab.com/kicad/code/kicad/issues/9243
Fixes #9244
https://gitlab.com/kicad/code/kicad/issues/9244
2021-09-26 10:31:41 +02:00
Jeff Young
6b25099df7
Read/write lock status for fp text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9325
2021-09-25 20:37:56 +01:00
Seth Hillbrand
3e7310a219
Move FP type check to FP DRC
...
Checks for validity are better centrally located where they don't
interrupt user actions
2021-09-25 08:56:27 -07:00
Jeff Young
46949abe4a
Don't scroll to highlight an object already visible.
2021-09-25 15:31:52 +01:00
Seth Hillbrand
c3b6939ea7
Allow quiet creation (scripting)
2021-09-24 13:49:45 -07:00
Seth Hillbrand
bb95ca2966
Make MW footprints proper attrib
2021-09-24 13:48:01 -07:00
Seth Hillbrand
64be61b4d6
Allow user to set footprint type up front
...
The default is usually wrong and presenting the basic footprint
information when creating an empty footprint allows the user to
establish their preference before mistakes occur.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Seth Hillbrand
a6fc885402
Component->Footprint label
2021-09-24 13:48:01 -07:00
Seth Hillbrand
963a8ee42d
Warn users when creating footprints about mismatch
...
Checks to see if the footprint attribute matches the type of pads
contained in the footprint. Can prevent issues during fabrication if
users forget to adjust them during creation.
Fixes https://gitlab.com/kicad/code/kicad/issues/9215
2021-09-24 13:48:01 -07:00
Mike Williams
1b0c274e22
Python: Copy board iterables to prevent segfaults
...
Python code like:
for track in board.GetTracks():
board.Remove(track)
Would delete tracks in the the underlying m_tracks while iterating over
it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5192
2021-09-24 19:40:46 +00:00
Jeff Young
bf145dd633
Confine allow-locked-pad-selection-even-when-filtered to single-select.
...
Also make sure text in a locked footprint is not selected if the locked
items filter is unset.
Fixes https://gitlab.com/kicad/code/kicad/issues/9227
2021-09-24 18:58:22 +01:00
Jeff Young
c38de1dcaf
Pull back some 7.0 fixes to Custom Rules code completion.
2021-09-23 13:08:31 +01:00
Jon Evans
a2ad204f4b
Fix off-by-one in AssembleTuningPath
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9003
2021-09-22 20:25:22 -04:00
Seth Hillbrand
5975524826
Fixup PCB_ONE_LAYER_SELECTOR
...
It is useful to be able to tell which layer you are selecting. The
checkboxes, on the other hand, provide no information when dealing with
a single layer selection
2021-09-22 15:57:27 -07:00
Seth Hillbrand
140e4cbe28
Avoid assertion on 2-layer board
...
New boards may have INVALID_LAYER inbetween F_Cu and B_Cu in the
stackup. Skip these and any layer values beyond what we store currently
2021-09-22 12:37:17 -07:00
Seth Hillbrand
84864351c7
Fix units naming in stackup
...
We were not handling the new mils/inches division in stackup table
Fixes https://gitlab.com/kicad/code/kicad/issues/9210
2021-09-22 12:30:02 -07:00
Mike Williams
16ec6fbec4
Plugins: Fix QR code generator shape exception
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9079
2021-09-22 11:15:26 -04:00
Seth Hillbrand
be799b49a8
Fix equality in dp matching
...
A single count is found when dp ends with matching char. .Right(0) will
return an empty wxString() which is still valid
Fixes https://gitlab.com/kicad/code/kicad/issues/9206
2021-09-21 19:47:15 -07:00
Jon Evans
cf53b053a1
Improve handling of dragging around locked segments
...
Locked segments now are not modified if they weren't the start item.
If a locked segment is the start item, it is automatically unlocked.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9145
2021-09-21 22:38:53 -04:00
Jeff Young
2ec1c215cd
Drop selection after hiding items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8605
2021-09-21 17:02:34 +01:00
Mike Williams
65c9170b46
Pcbnew: Clear tool and selection before updating PCB from schematic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9196
2021-09-21 00:06:56 +00:00
Seth Hillbrand
22a29a42cf
Generalize net DP matching
...
The requirement of 1-2 numbers following P/N or +/- was arbitrary and
not needed. We also add the _ to allowable suffixes to permit DP
matching of auto-renamed nets
2021-09-20 15:30:47 -07:00
Jeff Young
32a5653464
Remove yet more single-pad-net stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-20 22:04:02 +01:00
Jeff Young
04aff93248
Eagle doesn't use netclass clearance so make them the board clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2442
2021-09-20 21:31:19 +01:00
Roberto Fernandez Bautista
dc1fd3d9ba
PNS test app: Add logging information for curved track routing
2021-09-20 20:35:24 +01:00
Jeff Young
f66654247a
Read netclasses when importing Eagle projects.
...
Also creates a DRU file with the various netclass-to-netclass
clearance rules from the Eagle clearance matrix.
Fixes https://gitlab.com/kicad/code/kicad/issues/1774
2021-09-20 12:38:56 +01:00
jean-pierre charras
8848f7158d
Fix a Coverity warning (non tested pointers, really a bug)
2021-09-20 09:14:10 +02:00
Jeff Young
40a0f25a3e
Formatting.
2021-09-19 19:30:09 +01:00
Jeff Young
6ea7e59991
Fix "done" message being in wrong place for drill files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-19 19:26:10 +01:00
Jeff Young
3651d7c5e7
Remove vestiges of old zoom-auto architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9055
2021-09-19 18:32:15 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Marek Roszko
403826b97c
Respect the model show setting for vrml and idf export
...
Fix #9166
2021-09-19 08:16:18 -04:00
Jeff Young
9f03a259f9
Remove no-longer-needed options from Update PCB and Import netlist.
...
The delete-single-pad-nets one is particularly problematic as it
makes some of the cross-probing features not work.
Fixes https://gitlab.com/kicad/code/kicad/issues/9179
2021-09-18 18:32:19 +01:00
jean-pierre charras
b931883876
PANEL_FP_PROPERTIES_3D_MODEL: fix an issue when trying to edit a filename (MSW specific).
...
On Windows, FILENAME_RESOLVER::ValidateFileName() always returned a illegal filename test,
because the separators ('/' and '\') are in list of illegal chars in filenames on MSW.
2021-09-18 18:17:54 +02:00
Jeff Young
4779850c10
Add done messages to various plotters.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9172
2021-09-18 10:39:57 +01:00
Marek Roszko
847c9e32c8
Don't allow the draw via tool to activate in the footprint editor
...
Fix #9186
2021-09-17 23:01:16 -04:00
Jeff Young
34c2bd58d1
Disable ungroup where there are no groups in the selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9182
2021-09-17 22:21:33 +01:00
Jeff Young
7b07b1650c
Don't draw titlebar for untitled groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9181
2021-09-17 22:01:17 +01:00
Jeff Young
5c07441e24
Remove Setup Dialog assignment of netclasses to buses.
...
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
Jeff Young
86ffb9a4bb
Bring a little more consistency to the Text & Graphics Defaults panel.
2021-09-17 22:01:17 +01:00
Wayne Stambaugh
d90094de39
Fix progress dialog main frame focus issue on Linux.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8718
2021-09-16 15:53:18 -04:00
Jeff Young
2479e1d7b1
Improve common settings property grouping.
...
Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used
to try to infer when to do it, but that turns out to be a rathole.)
2021-09-16 18:31:44 +01:00
Jeff Young
fdd9df6dff
Linear brightening doesn't work well for colours near white.
2021-09-16 14:17:52 +01:00
Jeff Young
e2ce2e6ca9
Correct slight misalignment in Library Link fields.
2021-09-15 21:17:18 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young
4447843dc1
Defensive coding around getting an OnUpdateUI before we're ready.
...
This appears to happen at least on GTK when the 3DFileResolver throws
up error dialogs when paths can't be found.
Fixes https://gitlab.com/kicad/code/kicad/issues/9163
2021-09-14 13:35:31 +01:00
Jon Evans
4d478d6f17
Fix ordering of initialization in length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9161
2021-09-14 07:48:02 -04:00
Jeff Young
b27b97809f
Clean up several bugs in Graphics Cleaner.
...
See bug report for more details.
Fixes https://gitlab.com/kicad/code/kicad/issues/9150
2021-09-13 18:04:17 +01:00
Jeff Young
32e23d993e
Formatting.
2021-09-13 17:18:58 +01:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
jean-pierre charras
1cf1a23250
footprint.cpp: seriously speedup CoverageRatio() and GetCoverageArea().
...
Previoulsy, they calculated the area of polygons after using Simplify() and Fracture().
But polygon areas can be easily calculated without these transforms.
So they are just removed (they are really time consummig).
2021-09-13 13:41:36 +02:00
Marek Roszko
daca9d21f2
Add dxf point import
...
Fix #9149
2021-09-12 19:38:52 -04:00
Jon Evans
814b6b8e86
Fix disabled layer error text
2021-09-12 17:14:24 -04:00
Jeff Young
62f7a09290
Smooth out a few minor inconsistencies in fonts & spacings.
2021-09-12 17:57:15 +01:00
Jeff Young
a5247471f7
Expunge a bunch more fixed font specs from wxFormBuilder files.
...
Also removes the -1 sizing of the status bar on GTK and MSW.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-12 13:53:12 +01:00
Jeff Young
0ac765c5bb
Special case footprint zones which can be on "inner layers".
...
Also improves the reporting so that it reports the actual conflict
layer rather than just the first layer the object is on.
Fixes https://gitlab.com/kicad/code/kicad/issues/9144
2021-09-12 13:53:12 +01:00
jean-pierre charras
83d7c731d3
Pcbnew, plot poly in footprint: fix a bug introduced by my commit 3316f3
...
Polys in footprints were not moved, rotated to the right place.
2021-09-12 11:01:15 +02:00
Marek Roszko
74fd23f573
Add (off by default) build option to link kicad2step directly into pcbnew
...
Because debugging it separately is annoying.
2021-09-11 22:56:16 -04:00
Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
ed8b63505d
Fix font scaling issues in StatusBar and Selection Filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
Roberto Fernandez Bautista
625e56676a
Add progress reporting to CADSTAR Schematic & PCB importers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8685
2021-09-11 17:50:19 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
jean-pierre charras
3316f3998a
Rename BuildPolyPointsList() to DupPolyPointsList() and optimize code
...
to avoid multiple useless copies of the list of polygon corners in code.
2021-09-11 14:21:36 +02:00
Jeff Young
ad59254be8
Another round of font sizing tweaks.
...
It appears that both strategies in the last commit worked, leaving us
with squared scaling. The dialog pixel architecture seems safer than
our icon scaling stuff, so this version attempts to use only it.
Also works around a bug where wxELLIPSIZE_MIDDLE doesn't work on Mac.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
Fixes https://gitlab.com/kicad/code/kicad/issues/8375
2021-09-10 21:46:13 +01:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Seth Hillbrand
29c2f3b7d4
Prevent jumping into disambiguation if moved
...
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y
Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Seth Hillbrand
fe9bdd41d9
Finalize modifier update
...
Update the preference pane info text
Also standardizes the use of "Option" instead of "Alt" for Mac users.
Fixes https://gitlab.com/kicad/code/kicad/issues/9129
2021-09-09 10:47:43 -07:00
jean-pierre charras
5e742d97b6
Export VRML: fix bug that prevent to merge 3D footprint shapes to the board file.
...
Fixes #9127
https://gitlab.com/kicad/code/kicad/issues/9127
2021-09-09 18:05:17 +02:00
Jeff Young
1a43515128
Repair multi-layer disabled layer tests.
2021-09-09 16:43:47 +01:00
Jeff Young
bb2efa0649
Improve disabled layer test.
...
1) handle graphic items on copper layers
2) handle items on multiple layers
2021-09-09 15:20:48 +01:00
jean-pierre charras
567767346c
VRML exporter: fix broken export, at least on msys2.
...
For an obscure reason, some floating values were fully broken. the small
change in code fixes this strange issue.
2021-09-09 16:08:51 +02:00
Jeff Young
f0a26e4be0
Attempt to fix long-click issue (possibly just a typo).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9124
2021-09-09 12:20:30 +01:00
Jeff Young
f013dbc7c4
More uniform handling of status fonts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-08 21:34:22 +01:00
Wayne Stambaugh
3b16c38756
Coverity issue fixes.
...
Fix Coverity issues 157138, 338547, and 338716.
2021-09-08 14:51:27 -04:00
jean-pierre charras
30c001265b
pcbnew, undo_redo.cpp: fix a logical bug that can hang in rare cases.
2021-09-08 13:06:55 +02:00
Seth Hillbrand
c8b2e69332
Check if selection is primary tool
...
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor. These still allow the selection tool
to handle events such as clicks. This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top
Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh
4ee0b28ffc
Coverity issue fixes.
...
Fix Coverity issues 338623, 338716, and 338717.
2021-09-07 13:38:56 -04:00
Seth Hillbrand
c816168e42
Fix crash when drawing item
...
When drawing before commit, the items do not have a board and therefore
no BDS. In these cases, take a decent default until committed
2021-09-07 09:08:44 -07:00
Jeff Young
9cf7c7800b
Use same text positioning algorithm in LibEdit and Eeschema.
...
Also fixes some uninitialized variables in PCB painter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8947
2021-09-07 12:33:06 +01:00
Jeff Young
2ac03e2cdb
Change Loss Tg to Loss Tan.
...
We'll need Tg in the future for glass transition temp.
Fixes https://gitlab.com/kicad/code/kicad/issues/4734
2021-09-07 10:49:17 +01:00
Jeff Young
1792a985a7
Use board's maxError value when possible.
2021-09-07 00:14:18 +01:00
Michael Kavanagh
0e3c79d3b2
Remove inappropriate icons
...
Icons should be used sparingly to draw attention to the most used actions
2021-09-06 21:23:52 +00:00
Seth Hillbrand
0f38a35531
Be sure to stop the timer when triggering d-click
...
Some mice apparently trigger double-click without triggering a click, so
stop the timer when we receive this event
Fixes https://gitlab.com/kicad/code/kicad/issues/9106
2021-09-06 12:27:31 -07:00
Seth Hillbrand
343dbf0f5b
Change default 45° hotkey to shift-space
...
This requires enabling the space key to be bound with shift, which was
disabled based on an overbroad limit of only allowing shift to be mapped
with letter keys
2021-09-06 12:18:29 -07:00
jean-pierre charras
36048fa436
OPENGL_GAL::DrawArcSegment(): use a better number of segm to approximate the arc.
...
Previously, the count of segments used a magic number optimized for Pcbnew.
This is not good, and does not work well on Gerbview.
The count uses now a max error acceptable is approximation (5 microns in Gerbview and Pcbnew).
Fixes #9101
https://gitlab.com/kicad/code/kicad/issues/9101
2021-09-06 16:36:47 +02:00
Seth Hillbrand
56ccaf6482
Constrain move tool when set
...
Move tool works slightly differently from other tools when figuring out
new locations. This uses the global 45 enable flag to set proper item
locations when the user is requesting a 45° constraint on movement
2021-09-06 07:05:25 -07:00
Seth Hillbrand
86725db758
Ensure doInteractivePlacement enforces snap option
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9105
2021-09-06 06:36:33 -07:00
jean-pierre charras
d2bff137ee
.kicad_pcb file: fix incorrect keyword stored for some (not all) PAD properties.
...
( a copy-paste error? )
Fixes #9102
https://gitlab.com/kicad/code/kicad/issues/9102
2021-09-06 09:15:18 +02:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Seth Hillbrand
092cdc0bb5
Move 45° limit to hotkey
...
This assigns the "Tab" key to a general pcbnew 45° limitation. Limit
can be enabled/disabled using context menu as well.
Removed the user preference for 45° limitation on graphic lines as that
is overlapping with the general limitation, which is not an editing
preference so much as a temporary adjustment to tool action.
Related to https://gitlab.com/kicad/code/kicad/-/issues/8490
2021-09-05 13:42:51 -07:00
Jeff Young
69a31f41b8
Fix typo.
...
Last commit added the correct code, but failed to delete the buggy code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-05 21:23:55 +01:00
Jeff Young
921b6c826b
Fix another disappearing string on Mac.
2021-09-05 21:23:55 +01:00
Marek Roszko
36bcff34f7
Label the three track and via properties for UX
2021-09-05 08:54:45 -04:00
Jeff Young
59c15842f8
Exclude formatting chars from text width approximation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9080
2021-09-04 22:09:32 +01:00
Jeff Young
6818539f6d
Repair is-selected logic in various global editors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9090
2021-09-04 18:10:25 +01:00
Jeff Young
a397e85589
Implement PTH/NPTH/courtyard collision tests.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9081
2021-09-04 00:16:26 +01:00
jean-pierre charras
e2a1e5d4a1
DIALOG_EXPORT_STEP: fix regression: missing default filename initilization
2021-09-03 16:22:32 +02:00
Seth Hillbrand
e03257b55f
Allow close placement of stitching vias
...
When placing a stitching via for a bypass capacitor, it is common to
place it close to the relevant pad. If the via does not have the
correct net, this will violate DRC and be prevented.
Checking for zone-based net assignments allows the workflow to proceed
2021-09-01 15:52:35 -07:00
Seth Hillbrand
f14e5b61b3
Ensure newly added pads are counted
...
When adding a new footprint, don't delete the single-pad nets until you
check for the net being added as part of the footprint
Fixes https://gitlab.com/kicad/code/kicad/issues/9053
2021-09-01 15:12:28 -07:00
Seth Hillbrand
e0011fcd93
Display a nice error message instead of asserting
...
When we mess up, it will be nice to not lose users' data. This requests
a bug report if the netlist parsing breaks instead of throwing
2021-09-01 12:02:06 -07:00
Seth Hillbrand
8a305eec32
Remove broken RefDesStringCompare
...
This function attempted a poor-man's natural compare but it assumed
specific structure of the string. This broke for strings with
numberings that looked like decimals.
Instead, we use our natural string comparison function and remove the
references to this older function and its similar elements.
Fixes https://gitlab.com/kicad/code/kicad/issues/9067
2021-09-01 11:48:01 -07:00
Jeff Young
04fa678265
Impleent persistence for no-connect pad setting.
...
Also moves rotation increment from a display property to and edit
property.
(Both issues were discovered while working on a 7.0 feature.)
2021-09-01 00:00:12 +01:00
Jeff Young
2cdd3c9ebf
Work-around incorrect spacing (and order) of buttons on Mac.
2021-08-31 22:39:25 +01:00
jean-pierre charras
8fa04eeb75
FP_TEXT::TransformShapeWithClearanceToPolygon(): fix broken rotation of the shape.
...
Only the FP_TEXT shape must be rotated, not the full buffer used for storage.
Fixes #9057
https://gitlab.com/kicad/code/kicad/issues/9057
2021-08-31 17:04:03 +02:00
Jeff Young
b5a3385ea9
Overhaul file locking system.
...
See bug report for details.
Fixes https://gitlab.com/kicad/code/kicad/issues/8919
2021-08-31 15:04:31 +01:00
jean-pierre charras
6c7c9ca50c
Fix compil warnings (UNDO_REDO::GROUP renamed to UNDO_REDO::REGROUP to fix
...
collision name with a widows header on msys2)
2021-08-28 11:44:01 +02:00
qu1ck
0f7c0e3872
PCM implementation
2021-08-27 21:11:47 +00:00
qu1ck
78ab69027d
Add 3rdparty/plugins to plugin search
2021-08-27 21:11:47 +00:00
Mike Williams
10247c268e
Pcbnew: implement Find Next
...
Moves all of the find dialog control out of the selection tool similar
to the schematic editor. Dialog is also non-modal now to match the
schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8966
2021-08-27 18:15:36 +00:00
Mike Williams
0b2e66d3b7
Infobar: Don't use animations on Windows/GTK
...
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jeff Young
436ad0ede7
Add missing token to DRC rule parser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9041
2021-08-27 12:49:07 +01:00
Mike Williams
43194dff72
Pcbnew: don't fallback to software rendering after changing footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8915
2021-08-26 18:00:33 +00:00
jean-pierre charras
ee5f9034f7
pcb parser: ensure the parser is reinitialized before parsing a new fp file
...
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Jeff Young
f4905cb1ae
Cherry-pick fix from 7.0 branch back to master.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9005
2021-08-25 20:14:11 +01:00
Jon Evans
5f2d238c93
Work around GTK issue with wxSearchCtrl
...
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
Jeff Young
2b3477ca28
Handle RGBA conversion to hexadecimal format for wxWidgets 3.0
2021-08-25 02:40:17 +01:00
Jeff Young
f926eab76d
Cherry-pick Footprint Properties dialog fix from 7.0 branch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9021
2021-08-25 02:40:17 +01:00
Jon Evans
a7bd621419
Remove checkboxes that can't be unchecked (part 1)
...
The checkboxes for copper layers should probably also be removed
but leaving them for now since they direct the user to the right
place to disable copper layers.
2021-08-24 20:29:03 -04:00
Tomasz Wlostowski
a03b6f6fc9
router: use tail start point when saving the FIXED_TAIL
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8771
2021-08-25 00:36:34 +02:00
Roberto Fernandez Bautista
4c17b7ab46
WALKAROUND::Route Check if path is empty before stepping
...
singleStep expects a path with at least one point.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9020
2021-08-24 20:17:19 +01:00
Jeff Young
a02ea1609b
A more robust solution to the 3D color opacity issue.
...
(This also fixes a typo in the previous fix that assigned the opacities
backwards.)
2021-08-24 11:24:25 +01:00
jean-pierre charras
a9f092b370
Pcbnew, Printing system: fix broken print of pads on tech layers.
...
To print pads on tech layers, view layers LAYER_PAD_FR, LAYER_PAD_BK and
LAYER_PADS_TH must be always enabled, and items we do not want print on these layers
must be printed using a invisible color (opacity = 0.0)
2021-08-24 10:27:53 +02:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
baab2e6119
Attempt to fix SWIG issue.
2021-08-23 22:04:31 +01:00
Jeff Young
21f2b235ce
Rework stackup colors a bit to support opacity for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9012
2021-08-23 20:00:17 +01:00
Jeff Young
fec34e8dd8
Get rid of an extraneous layer parameter.
...
Also adds a bit of nullptr safety.
2021-08-23 20:00:17 +01:00
Jeff Young
6f5e602df9
Fix solder mask plotting issues.
...
1) Don't plot all footprint texts for each footprint graphic item.
2) Correctly handle multi-layer zones.
2021-08-23 20:00:17 +01:00
Jeff Young
9770962ab4
Fix logic bug in rule processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9011
2021-08-22 20:16:58 +01:00
Jeff Young
1fa5e43597
Fix some dodgy logic in clearance overrides.
2021-08-22 03:24:51 +01:00
Jeff Young
b9ffe2aca8
Don't capture stack-defined lambdas by reference.
2021-08-21 22:49:57 +01:00
Seth Hillbrand
3b3cb88ad9
Remove shadowed variable in lambda
2021-08-21 14:01:20 -07:00
Jeff Young
eb85af3366
Don't capture references to local stack variables.
2021-08-21 21:40:17 +01:00
Jeff Young
1fd555ce0e
Added code to map footprint lib nicknames when exporting.
...
This is particularly useful when you import (for instance) an
Altium board and then save the footprints out to a new library.
Fixes https://gitlab.com/kicad/code/kicad/issues/6345
2021-08-21 19:00:59 +01:00
Jon Evans
3efa391eb2
Attempt to prevent control hiding problems on GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8902
2021-08-21 13:37:07 -04:00
Jon Evans
09ea630d8e
Don't log a potentially invalidated item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9006
2021-08-21 12:24:41 -04:00
Jon Evans
0814219513
Clean up some handling of project files in standalone
...
Add control of project creation to Eeschema; change defaults
to enable project creation in both programs. Properly set
project on newly-created schematics so "Save As" doesn't
get triggered repeatedly.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9000
2021-08-21 12:09:21 -04:00
Jeff Young
3e57700b21
Process rules in "natural" order using overrides.
...
(We used to process in reverse order with first-match-wins, but
that doesn't allow min, max and opt to come from different rules.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9004
2021-08-21 16:43:11 +01:00
Jeff Young
048e13f423
Defer DRC rule function eval to make use of short-circuit bools.
...
The lemon parser doesn't lend itself to short-circuiting booleans,
but if we defer processing until we fetch the second value when
processing the TR_OP_BOOLEAN opcode then we get to piggy-back on
C++'s boolean short-circuiting.
2021-08-21 16:43:11 +01:00
Jeff Young
1e23ce1c95
Pull some fixes back from 7.0.
...
1) An earlier 6.0 fix to apply pad clearance overrides to NPTH pads
got broken, so this replaces it.
2) Allow min/max/opt to be set by different rules.
3) Fixes a bug where board minimum enforcement over a local override
didn't get the right message text.
2021-08-21 16:43:11 +01:00
jean-pierre charras
71b7816de5
DIALOG_GEN_FOOTPRINT_POSITION and dialogs print: minor enhancements:
...
Gen footprint: 2 options are now stored during a session.
Gerbview and Pcbnew dialogs print: avoid useless large size of right panel.
2021-08-21 11:06:00 +02:00
Seth Hillbrand
7ea4d4da85
Fix errant tabs
2021-08-20 17:24:05 -07:00
Dominik Sliwa
d9c7fdc28e
Pcbnew add SMD only option to component placement export
...
Add option to only use footprints flagged as SMD
when creating a componenet placement files.
Signed-off-by: Dominik Sliwa <dominik@sliwa.io>
2021-08-20 17:24:05 -07:00
Seth Hillbrand
db5ce824af
Use wildcard routine for extension matching
...
Move STEP export dialog wildcard to extension matching
2021-08-20 17:24:05 -07:00
Seth Hillbrand
4cd9278041
Remove most wxFilepicker wildcards from translations
...
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
Jon Evans
c80efb0f98
Fix save/load of appearance panel width on show/hide
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
jean-pierre charras
5574682d44
Fp editor: minor fixes:
...
- do not show the paste special context menu: it has no sense in this editor
- Paste command: fix incorrect rotation of pasted FP texts
2021-08-18 17:43:10 +02:00
jean-pierre charras
82849eda42
Fp editor: fix some crashes when trying to duplicate referece or value texts.
...
Fixes #8990
https://gitlab.com/kicad/code/kicad/issues/8990
2021-08-18 15:34:32 +02:00
Wayne Stambaugh
6427197962
Remove duplicate headers in plot and associated code.
2021-08-17 15:41:25 -04:00
Wayne Stambaugh
9ae9301b46
Fix shadowed variable.
2021-08-17 12:54:14 -04:00
Jeff Young
8b5f393804
DRC bug fixes and debugging improvements.
...
1) Don't wait for UpdateUserInterface to build the (global) list of
layer names.
2) Report clearance resolution between a silk layer and a mask layer.
3) When writing DRC reports, include info about the violating rule.
4) Report "no relevant layers" if we fail to find anything to write
a clearance resolution report about.
Fixes https://gitlab.com/kicad/code/kicad/issues/8963
2021-08-17 15:41:12 +01:00
Jeff Young
a133853a4f
Fix typo in DRC error link.
2021-08-16 20:05:35 +01:00
jean-pierre charras
ca42f31bb5
Pcbnew, update footprint: fix loss of net info in some cases.
...
When pads having a similar name but some were not on a copper layer
(aperture pads) the net info update from old footprint to the new footprint
was incorrectly transferred. Now, only pads on copper layers are considered.
Fixes #8979
https://gitlab.com/kicad/code/kicad/issues/8979
2021-08-16 20:52:49 +02:00
Jeff Young
da3fda8dee
Fix typo in non-copper zone fill pattern, and cleanup spacing.
...
Also makes better use of UNIT_BINDER and fixes some other naming
inconsistencies with copper zone dialog.
2021-08-16 13:24:12 +01:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
jean-pierre charras
f0c957a2e2
Enable LAYER_MOD_TEXT_FR layer in fp editor as it should.
...
It also fixes a crash when changing visibility of other fp texts..
2021-08-16 09:30:54 +02:00
Jeff Young
f34e280c81
Garden-variety 100X performance improvement.
...
Adds a compile mode for layer strings.
2021-08-15 22:24:51 +01:00
Jeff Young
eaccbce48b
Fix logic errors in progress reporting in a couple of DRC providers.
2021-08-15 22:24:44 +01:00
Jeff Young
1ec70d30af
Cherry-pick some 7.0 Clearance Resolution improvements.
...
6.0 will be in the field for a long time, and the better the debugging
tools we have available the less costly it will be to maintain.
Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-08-15 19:03:58 +01:00
Jeff Young
48521774cd
Formatting.
2021-08-14 21:18:11 +01:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
jean-pierre charras
8ac5e318fb
Ugly hack to avoid crash on msys2 when running Pcbnew after running Eeschema+its Python console
...
The main bug still exists, but at least Kicad does not crash.
2021-08-14 21:08:56 +02:00
Jon Evans
8eba0b356b
Fix issues calling SaveBoard on board loaded from PcbNew frame
...
KiCad cannot have more than one board/project open, so disallow
the Python APIs for loading additional boards when the frame is
present. Inherit the SETTINGS_MANAGER from the frame when present
instead of creating a new one that won't have the loaded project.
2021-08-14 09:18:21 -04:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
05fb582304
Expose missing annular ring properties in Track & Via Properties.
2021-08-14 10:49:42 +01:00
jean-pierre charras
3d61c8b0c4
PANEL_SETUP_BOARD_STACKUP: Do not limit the EpsilonR mantissa to 1 or 2 digits.
...
Fixes #8956
https://gitlab.com/kicad/code/kicad/issues/8956
2021-08-14 09:42:05 +02:00
Jon Evans
80355f04a9
Fix SHAPE_LINE_CHAIN::Replace at end of chain
2021-08-13 16:59:45 -04:00
Jeff Young
e5586fb974
Accept legacy hole token as well as new hole_size.
2021-08-13 21:28:11 +01:00
Jeff Young
d34e9e8946
Code safety.
2021-08-13 21:28:11 +01:00
Roberto Fernandez Bautista
35d5223825
Keep track of existing/excluded references when re-annotating the PCB
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8211
2021-08-13 19:09:37 +01:00
Roberto Fernandez Bautista
aa67abb681
PNS::NODE Use PointCount instead of calculating segment index manually
...
There is no need to manually calculate the segment index - we know
that the last point that was added is the start point of the segment.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8945
2021-08-13 19:09:33 +01:00
Jeff Young
4c3954aea8
Clearer DRC rule token name for hole_size.
2021-08-13 16:18:56 +01:00
Jeff Young
3b26db745f
Use more standard terminology.
2021-08-13 15:18:47 +01:00
Jon Evans
5bfafa5e4c
Add rounding epsilon to convert tool polygon search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8927
2021-08-12 20:17:04 -04:00
Jeff Young
98d0ce00ee
Defensive coding.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8790
2021-08-12 21:35:05 +01:00
Stefan
02e7d9f809
pcbnew: swap x/y align text to match vertical/horizontal text on right click...
2021-08-12 13:03:52 +00:00
jean-pierre charras
f4a7565b9c
fix a compil warning
2021-08-11 08:16:26 +02:00
Jeff Young
13fc16b03f
Fix uninitialized variable.
2021-08-10 16:51:30 +01:00
Jeff Young
c536a4c4f2
Work around annoying wxWidgets assert.
2021-08-10 16:51:30 +01:00
Jeff Young
a208dac8d8
Convert hole clearance tests from NPTH holes to all holes.
2021-08-09 22:26:00 +01:00
Roberto Fernandez Bautista
0120c5fa4b
PNS Length Tuning: Recover original arc tracks after tuning
2021-08-09 21:10:33 +01:00
jean-pierre charras
69322a18e7
Fix missing call to ClearArcs()
2021-08-09 09:16:04 +02:00
Jon Evans
a90656900a
Allow creating polygon types from polygons
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7302
2021-08-08 20:29:00 -04:00
Jon Evans
e91218b876
PNS: don't mark holes only if there's also a solid violation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8874
2021-08-08 15:41:39 -04:00
Jon Evans
3beeb52c43
Convert tool: create lines on active layer, not source layer
2021-08-08 15:12:23 -04:00
Jon Evans
2d9b06cbf9
Fix missing flatten step when filling zones with arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8923
2021-08-08 15:09:12 -04:00
Jeff Young
54942a1401
Fix typos that would result in fp zone setting written into pads.
2021-08-08 18:12:29 +01:00
Jeff Young
e38c366695
Narrow zone dialog a bit.
2021-08-08 18:12:29 +01:00
jean-pierre charras
fa82fcb809
Router tool: ensure a internal layer exists when placing a microvia.
...
Fix also a minor compil warning.
Fixes #8931
https://gitlab.com/kicad/code/kicad/issues/8931
2021-08-07 20:29:49 +02:00
Jeff Young
bafa105ed0
Enforce hole clearance on NPTHs in zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8924
2021-08-06 18:16:38 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
e81b7b4a14
Give a few dialogs a bit of love.
...
1) improve spacing in copper zone properties.
2) improve spacing and naming in dielectric material properties.
3) clearer naming in board setup > constraints.
4) remove over-exuberant stretching in board setup > mask & paste.
2021-08-06 18:16:38 +01:00
Roberto Fernandez Bautista
6a9a177fa3
Remove zone filler arc collision workaround
2021-08-05 17:45:12 +01:00
Jeff Young
77680eba30
Naming conventions.
2021-08-05 14:31:36 +01:00
Jeff Young
5bf0b99813
Capture errant mouse-up from locked dialog in move tool.
...
Don't pass it on to other tools where it causes all kinds of mayhem.
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-08-04 17:42:40 +01:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
ae99e627bd
Quiet Coverity.
2021-08-04 13:55:42 +01:00
Jeff Young
46bdce2747
Don't allow pads in groups in the board editor.
...
Bad stuff happens, including crashes.
2021-08-04 13:55:42 +01:00
Jeff Young
65f6e72b4c
Improve commenting.
2021-08-04 13:55:42 +01:00
jean-pierre charras
ac933d4e83
Fp editor: avoid having nil uuids when editing old footprints.
...
In Fpeditor, nil uuid has a special meaning and cannot be used as uuid in fp items.
Fixes #8914
https://gitlab.com/kicad/code/kicad/issues/8914
2021-08-04 12:37:52 +02:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
43523df843
Measure distance from pad center, not pad hull.
...
Otherwise we think the wrong end of really short track segments is
connected to the pad, leaving the other end dangling.
Fixes https://gitlab.com/kicad/code/kicad/issues/8909
2021-08-02 22:42:54 +01:00
Jeff Young
8b9161b27d
Be more careful with alpha value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8850
2021-08-02 18:24:16 +01:00
Jeff Young
6f1837b300
Formatting.
2021-08-02 01:52:58 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
0d539a84a2
Fix bugs in Tracks Cleaner.
...
1) Implement more robust connection checking so we don't decide very
short segments with both endpoints within a single track are connected
at both ends.
2) Make use of the IS_DELETED flag to perform iteration during dryRun
so that all deletions to be made are flagged.
Fixes https://gitlab.com/kicad/code/kicad/issues/8883
2021-08-01 15:50:01 +01:00
Jeff Young
b573712326
Cleanup.
2021-08-01 15:37:12 +01:00
Jeff Young
0f5a8f87d3
Add writing of pad primitive polys with arcs, and fix a bug in reading.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8827
2021-08-01 10:47:00 +01:00
Jeff Young
faa1ff4ec6
Add false-negative DRC tests (and fix first bug found by them).
2021-07-31 16:41:44 +01:00
qu1ck
7b4dcb6e10
Refactor ExportSpecctraFile to be usable in API
...
Currently there is pcbnew.ExportSpecctraDSN() but it needs a pcbnew
frame set which makes it unusable outside of the scripting window or a
plugin.
This refactors actual exporting logic into separate helper and adds an
overload to ExportSpecctraDSN(board, filename) that doesn't need pcbnew
window.
2021-07-31 09:55:48 +00:00
Seth Hillbrand
6cd4d68d57
Add drop shadows to MacOS icons
...
Apple UI guidelines ask for small drop shadows on the icons. We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand
e7d8b1a975
Resize MacOS icons and script their creation
...
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.
Script requires Inkscape 1.0 and png2icns (available on Linux boxen)
Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand
ad8acd328c
Expunge some remaining references to kicad-pcb
2021-07-30 20:27:45 -07:00
Jeff Young
bceb3794f8
Remove ZONE_FILLER_TOOL since it's not really necessary.
...
It was causing intermittent failures on GTK. We'll no doubt want
tools in the QA framework at some point, but probably not necessary
for 6.0....
2021-07-31 01:50:42 +01:00
Jeff Young
8c69a856fc
Add zone filler tests.
...
One test has pads of a bunch of different shapes and provokes some
errors to make sure they're caught.
The others are all past issues with the zone filler to make sure we
don't suffer any regressions. (They should all just pass with no DRC
errors.)
2021-07-30 17:09:24 +01:00
Jeff Young
8aea2cbd03
When ignoring click events don't ignore synthetic ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-07-29 18:07:04 +01:00
Jeff Young
138a965c2a
Remove shadowing member variable.
...
Perhaps the compiler always gets this right, but it's still confusing
when reading the code.
2021-07-29 16:03:25 +01:00
Jeff Young
9271ac1a4f
Don't allow deletion of pads when not in allow-free-pads mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8884
2021-07-29 16:03:25 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
46338403e7
Unwrap some std::library typedefs.
2021-07-28 22:16:38 +01:00
Ian McInerney
befd30a1a1
Switch the board footprint properties window to use the new 3d models panel
...
This allows it to also get the badge showing errors in the panel.
2021-07-28 20:56:17 +01:00
Ian McInerney
1a4a3400ba
Split the footprint 3d model panel into its own class
...
This allows it to be shared by both the PCB editor properties dialog
and the fpeditor dialog.
2021-07-28 20:56:17 +01:00
Wayne Stambaugh
f233f4a0a9
Expunge EDA_FILE_SELECTOR.
...
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
jean-pierre charras
b6e1fe11b6
Fix a collision name (perhaps msys2 specific)
2021-07-28 19:39:50 +02:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
david-beinder
c0f12cf8b0
PCB painter: skip early to polygon algo in outline mode
2021-07-28 10:37:56 +00:00
Wayne Stambaugh
369d813a32
Pass std::string by reference instead of on the stack where applicable.
2021-07-27 13:30:05 -04:00
Jeff Young
1f2e7a94ca
Change Move Exactly hotkey to Shift + M to avoid OSX minimize.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 18:20:32 +01:00
Jeff Young
dd5676f4bc
Implement a safer (RAII) tool re-entrancy guard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Jeff Young
886dc2f43e
Do-not-show-again section for common prefs & zone fill warning infobar.
...
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Jeff Young
c74148fa88
Add infobar for those who confuse zone filling with display modes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
qu1ck
c946070005
Fix TRACKs not being cast correctly in API
2021-07-26 22:37:22 +00:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
e62969d007
Move zone fracture display mode to AdvancedCfg, and add triangulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Seth Hillbrand
cb917e4c42
Avoid nonsensical intersections
...
When two segments are approximately parallel, we shouldn't look to find
their intersection. It will never be the nearest point and it overflows
the KiROUND call
Fixes https://gitlab.com/kicad/code/kicad/issues/8858
2021-07-26 09:02:54 -07:00
Jeff Young
d613292b67
Fix type in group command enablement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8821
2021-07-25 13:31:52 +01:00
Jeff Young
39e938db3e
Save the show-page-limits setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8825
2021-07-25 13:29:16 +01:00
Anton Lazarev
42086a455d
fix blind via early return in VRML exporter
2021-07-25 12:22:55 +00:00
Jeff Young
373f0335c8
Convert Altium radial dimensions to leaders.
...
This is because we don't yet support radial dimensions.
Also fixes a bug where we fail to read an Altium circular track. We
now convert it to a pair of 180-degree arcs.
Also fixes a bug where we were failing to import prefixes on linear
dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Pradeepa Senanayake
dd31a5383b
Added the double click to footprint editor
2021-07-24 08:53:09 +00:00
jean-pierre charras
31d2b2df8b
QA test: fix a wx assert about Locale when running qa_python tests.
...
Probably happens only when the system locale uses a comma as fp separator.
2021-07-23 11:45:45 +02:00
Jeff Young
04b9b15255
Fix copy/paste error.
2021-07-23 01:11:22 +01:00
Seth Hillbrand
8d1dd1f8b0
Handle pad->custom conversion more closely
...
When converting pads to custom polygons, avoid padding with the polygon
width and keep the anchor pad within the boundary of the original pad
itself
Fixes https://gitlab.com/kicad/code/kicad/issues/8842
2021-07-22 12:12:42 -07:00
Jeff Young
a16b85db67
Read/write group locked state. Show locked state in dialog & statusbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8796
2021-07-22 12:49:30 +01:00
jean-pierre charras
49e1b5785f
PCB_SHAPE::GetFocusPosition(): returns a point on the outline instead of center.
...
This function is used in DRC to locate a graphic shape. For not filled shapes,
this point must be on the shape outline, not on the center of the shape (the center
shows nothing)
Fixes #8832
https://gitlab.com/kicad/code/kicad/issues/8832
2021-07-22 10:41:50 +02:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
david-beinder
af90d47edc
Altium: Fix calculating third arc point from uninitialized memory
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8671
2021-07-20 19:13:32 +00:00
jean-pierre charras
234b414e2c
Fix misplaced break after code cleanup.
2021-07-20 17:05:00 +02:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Jon Evans
75190370dd
Convert -> Create from Selection
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8818
2021-07-19 18:45:33 -04:00
jean-pierre charras
6a886e7085
Wizard qrcode_footprint_wizard.py: fix a minor issue and update code.
2021-07-19 18:36:58 +02:00
luz paz
8bacc9fccb
Fix python 'testing for equality' syntax
...
'Testing whether an object is 'None' using the == operator is inefficient and potentially incorrect.'
Per https://lgtm.com/projects/g/KiCad/kicad-source-mirror/?mode=tree&ruleFocus=7900090
2021-07-19 15:42:30 +00:00
Jeff Young
e61822c9e0
Naming conventions and a bug fix on arc points.
2021-07-19 13:17:12 +01:00
jean-pierre charras
9cb4c9bfc2
3D viewer: ensure the activity messages are displayed on Linux after Frame creation.
2021-07-19 10:10:25 +02:00
jean-pierre charras
a43ca978df
3D viewer: do not build the board 3D data during 3D frame creation, but after.
...
Building the 3D data is time consuming, so creating the data after the 3D
frame is shown is better, and the build activity is visible, especially on Linux.
2021-07-18 17:55:40 +02:00
jean-pierre charras
56412cc843
PCB_TEXT: remove "hide" option, because they are never hidden.
...
- avoid write "hide" option in file
- always return true when calling IsVisible()
Fixes #8806
https://gitlab.com/kicad/code/kicad/issues/8806
2021-07-18 14:58:21 +02:00
jean-pierre charras
1a5e63bcab
PANEL_SETUP_BOARD_STACKUP: fix a incorrect behavior when changing layer count,
...
and add a button to adjust dielectric thickness (regression fix)
Fixes #8800
https://gitlab.com/kicad/code/kicad/issues/8800
2021-07-16 20:39:00 +02:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00
Jon Evans
e61b1f03b8
PNS: Discard duplicate tracks in FixRoute
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8737
2021-07-13 21:13:40 -04:00
Seth Hillbrand
ff2e470a6e
Remove virtual items from clearance calculations
...
Extends 3ea970f8c9
to ensure that virtual items do not interfere with
DRC calculations while routing
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 16:10:36 -07:00
Seth Hillbrand
3ea970f8c9
Don't add virtual items to the display
...
By definition virtual vias should only exist in the backend, not
affecting users
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 15:52:41 -07:00
Seth Hillbrand
2f41dd4074
Fix unit var warning
2021-07-13 09:53:31 -07:00
Jeff Young
f0513978ff
Back-port some fixes from 7.0 branch.
2021-07-13 17:24:23 +01:00
david-beinder
8b3ccab0a3
Implement explicit polygon construction for most pad shapes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8650
2021-07-13 14:51:58 +00:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
Pradeepa Senanayake
8d65663566
Copper Zone Properties dialog modifications
...
* Changed the net sorting mechanism make it similar to the 'Net Inspector' window
* Replaced the 'Show All Nets' check box with 'Hide auto-generated nets' check box
* Replace the warning label with wxInfoBar
* Removed unused controls and renamed controls where applicable
* Re-arranged the Copper Zone Properties dialog layout to improve user experience
* Minor code refactoring of DIALOG_COPPER_ZONE class
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8547
2021-07-12 21:55:46 +00:00
Jeff Young
2889861c0b
Remove unused variables.
2021-07-11 23:42:40 +01:00
Jeff Young
e953cb6a27
Add default severities for new DRC violations.
2021-07-11 23:33:17 +01:00
jean-pierre charras
54b6f51633
DSN export: export RECT and ARC shapes (on silkscreen layer) from footprints
...
Also export arc track segments as lines. (Freerouter does not support QARCs)
Fixes #8769
https://gitlab.com/kicad/code/kicad/issues/8769
2021-07-11 18:15:40 +02:00
Jeff Young
01d3a88faa
Allow unnamed embedded step files in altium boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young
e02bb80bf3
Handle cancel when selecting copper layer.
...
Also changes the algorithm to ask only once, rather than one per
non-copper-layer object.
Fixes https://gitlab.com/kicad/code/kicad/issues/8767
2021-07-10 12:05:25 +01:00
Jeff Young
625006ca30
Remove front/back SMD pad color now that we have opacity sliders.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jeff Young
a06b95bb1f
Even out spacing around various panels.
2021-07-09 23:42:45 +01:00
Marek Roszko
11cd8738a3
Put wxSearchCtrl back by eliminating the excess focus events that in Windows land cause a "select all"
...
The setfocus calls were really because of the overtly aggressive mouse handler for the canvas that has been patched out.
2021-07-09 18:08:32 -04:00
Jeff Young
046fb58183
Better command names and tooltips for zone fill/unfill commands.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-09 22:13:50 +01:00
Seth Hillbrand
387cd36f60
Fix GenCAD Export flipped footprints
...
GenCAD Exporter flips the board footprints before exporting. The
exporter assumes that the flip happens T/B and not L/R.
Fixes KSC Issue #356
2021-07-09 09:44:30 -07:00
Seth Hillbrand
c5571afbd9
Teach GenCAD exporter to handle chamfered rect pads
...
Chamfered rect pads can also have rounded corners, so we handle these
using a polygon transform before exporting
2021-07-09 09:44:30 -07:00
Wayne Stambaugh
6c3ba1c20b
Coverity issue fixes.
...
Issues #332032 , #332086 , #332157 , and #332171 .
2021-07-09 10:56:35 -04:00
Jeff Young
473f10ab1f
Tooltips for Board Setup > Constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8764
2021-07-09 13:06:59 +01:00
Jeff Young
2bd735b631
A little more safety in setting the router idle mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8765
2021-07-09 10:26:12 +01:00
Jon Evans
00f1b609c4
PNS: Don't run fanout cleanup when manually forced
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8724
2021-07-08 19:56:42 -04:00
Jeff Young
e895af4ec6
Include arcs in create array. (Thanks to RigoLigoRLC.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6491
2021-07-08 18:28:21 +01:00
Wayne Stambaugh
65c7958293
Coverity issue fixes.
...
Issues #331869 , #331875 , #332203 , #332159 , #332171 , #332180 , and #332648 .
2021-07-08 08:33:08 -04:00
Marek Roszko
49e6b80fc5
Rollback searchctrl change for FOOTPRINT_VIEWER_FRAME
...
Fixes #8751
2021-07-08 07:26:42 -04:00
RigoLigoRLC
a15a91dc00
Turn Footprint Text on when user turn on Value or Ref
...
In the appearance panel the old implementation doesn't turn the meta-
control "Footprint Text" back on when you switch on "Footprint Value/
Reference" while "Footprint Text" is switched off. This is neither
logically correct nor making the elements rendered correctly (value/ref
swicthes would affects corresponding bottom texts, but doesn't affect the
meta-control).
I didn't find a corresponding GitLab issue around, so I'm not saying
"fixes" here.
2021-07-08 03:05:51 +00:00
Jon Evans
cafd42911e
Do not use opacity for zone outlines
...
The opacity is intended to aid seeing through
zone filled areas and applying it to outlines
makes them hard to see and select.
2021-07-07 22:04:11 -04:00
Jon Evans
edc2be9018
Update width status when user choice changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-07 21:26:21 -04:00
Jeff Young
66eb2ddeb5
Remove auto when not needed for line length.
2021-07-07 20:05:50 +01:00
Roberto Fernandez Bautista
4207165c26
Fix PNS deleting too many segments
...
Don't exit the loop pre-emptively. Need to update lastLink.
2021-07-07 19:54:19 +01:00
Roberto Fernandez Bautista
cda26bd57b
SHAPE_LINE_CHAIN::NextShape instead of explicitly calculating indices
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8738
2021-07-07 19:46:47 +01:00
jean-pierre charras
7a1e8520ae
Specctra export: Fix incorrect export of holes from mirrored footprints.
...
If a footprint is containing a closed shape on Edges.Cuts it is exported as Hole
(keepout zone). For flipped footprints the hole was incorrect.
Fixes #8753
https://gitlab.com/kicad/code/kicad/issues/8753
2021-07-07 16:40:19 +02:00
jean-pierre charras
17ab2c7197
.kicad_pcb files: minor enhancements: add missing new lines in file.
...
No actual change, this is only a cosmetic change.
2021-07-07 11:44:11 +02:00
Wayne Stambaugh
9d348d7e6d
Coverity issue fixes.
2021-07-06 13:32:34 -04:00
jean-pierre charras
cd476e1728
Gerber plotter: ensure filled areas using thick outlines have a closed outline.
...
Fixes #8735
https://gitlab.com/kicad/code/kicad/issues/8735
2021-07-06 13:59:05 +02:00
jean-pierre charras
1a23502e98
PAD::TransformShapeWithClearanceToPolygon(): better polygonal shapes:
...
- Oval and round pads ensure at least 16 segments per CIRCLE (like other shapes)
- For ERROR_OUTSIDE option, ensure the aarc approx error is the actual error,
not max allowed error.
These changes can be seen only for a large max allowed approx error, especially
when filling zones.
2021-07-06 10:50:46 +02:00
Roberto Fernandez Bautista
81fa40d659
Code style: Fix missing space
2021-07-05 20:39:42 +01:00
Roberto Fernandez Bautista
04ff8cde5e
Drag & Fillet Tracks: Ignore mouse up / click events until move / drag
...
Ensures that any click/mouse up events generated after clicking "OK"
in the "Override locks" dialog are ignored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8123
2021-07-05 20:29:25 +01:00
Roberto Fernandez Bautista
ce8132bf4f
Arc Track Drag & Fillet Tracks: Copy lock status to new track(s)
2021-07-05 20:29:25 +01:00
Jon Evans
b6e8beb38c
FP_TEXT: account for parent rotation when creating clearance shape
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8728
2021-07-05 13:49:40 -04:00
Jeff Young
ea6769b702
The REPORTER interface is inherently line-based.
...
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).
Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Marek Roszko
a92d337905
Use wxSearchCtrl in the footprint viewer/picker.
2021-07-04 22:06:01 -04:00
Jon Evans
67762a11f6
Don't double-process arcs if we get one first
2021-07-04 12:22:52 -04:00
Jon Evans
b291f36dae
ADDED: Convert tool can create polygons with arcs from contiguous line and arc segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5409
2021-07-04 12:10:59 -04:00
Jon Evans
576d70fab0
Fix file format syntax of arcs in polygons
...
No format bump as there is no way to create these files yet.
2021-07-04 12:10:59 -04:00
Jeff Young
0116e9c94e
Silence Altium polygon-needs-at-least-3-verticies warning.
...
Too many Altium files appear to have these. Just ignore them instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/8183
2021-07-04 11:02:59 +01:00
Jon Evans
e0146f73b9
PNS: Pick up complete lines between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7614
2021-07-03 20:00:54 -04:00
Jon Evans
91ea4a0569
PNS: Pick up segments directly between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7601
2021-07-03 19:50:04 -04:00
Jon Evans
ab38dfd7ae
Fix build
2021-07-03 19:47:58 -04:00
Jon Evans
77b68a827c
Remove unused variable
2021-07-03 19:20:54 -04:00
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jeff Young
126cd14715
Fix width setting bug in Net Inspector.
2021-07-03 21:16:15 +01:00
Jeff Young
6a0a38ec29
Prevent wxWidgets assertion.
2021-07-03 21:16:15 +01:00
Jeff Young
37fac6de35
Use ChangeValue() instead of SetValue() to keep from firing events.
...
Otherwise setting a filter also turns off the Show All Nets checkbox.
Also make sure that config values get saved when they're changed.
2021-07-03 21:16:15 +01:00
Jeff Young
4b07a55ef8
Fix net name to net code map to handle sorting and filtering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8714
2021-07-03 21:16:15 +01:00
Roberto Fernandez Bautista
3f73d8c2b5
SHAPE_LINE_CHAIN::Area() should always be positive
...
The algorithm relied on the assumption that the points were
ordered anti-clockwise. When ordered in a clockwise fashion, the
result was correct but negative.
Refer to https://www.mathopenref.com/coordpolygonarea2.html
for more information.
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
c3051ba48a
Refactor SHAPE_LINE_CHAIN to allow two shapes per point
...
m_shapes now has two possible indices. The first one is populated if
the point is associated with an arc and the second index is populated
if the point is shared between two arcs.
2021-07-03 19:37:50 +00:00
Seth Hillbrand
4f4deece6d
ADDED support for reading/writing arcs in polys
...
This adds support for reading and writing arc elements in polygons.
2021-07-03 19:37:50 +00:00
Jon Evans
252bf76452
Fix off-by-one in AssembleTuningPath
2021-07-03 14:37:52 -04:00
Jon Evans
3c59e452d6
PNS: Set tuned path correctly in skew tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8708
2021-07-03 14:06:30 -04:00
Jon Evans
1b9893841b
Add a tooltip explaining the track width dropdown
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8719
2021-07-03 13:36:18 -04:00
Jon Evans
277bf2b719
Add feedback showing current router state to the message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-03 13:21:51 -04:00
Jeff Young
bc65b7173f
Don't use SCH version number when inspecting PCB files.
2021-07-03 15:24:54 +01:00
Wayne Stambaugh
3f6811f413
Minor dialog layout improvements.
2021-07-02 11:36:06 -04:00
Jeff Young
400f4ae506
Code cleanup.
2021-07-02 15:54:26 +01:00
Jeff Young
780a8a5154
Fix another place disallowing internal microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8716
2021-07-02 15:54:26 +01:00
Marek Roszko
eff75b630f
Get rid of anonymous struct typedefs
...
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Seth Hillbrand
c23e39dbe7
Avoid adding invalid text to temporary fp
...
Adding values/references to footprint text is an assertion. This avoids
the assert when copying a full footprint by skipping the extra text
2021-07-01 11:57:29 -07:00
Jeff Young
24e54178db
Make sure pin hittest regions don't get too hard to hit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8616
2021-07-01 15:43:19 +01:00
Jeff Young
78d2e88f4b
Beautify export STEP dialog.
2021-07-01 15:43:19 +01:00
jean-pierre charras
740b028180
pns_line_placer: do not constraint the 45deg of current segment in free angle mode.
...
Fixes #8691
https://gitlab.com/kicad/code/kicad/issues/8691
2021-07-01 16:38:31 +02:00
Wayne Stambaugh
175b474c3e
Coverity issue fixes.
...
Fixes issues #280412 , #314755 , #329615 , #332459 , #332157 , #332167 ,
2021-06-30 18:08:49 -04:00
Jeff Young
e9c0920be2
Use a standard SHAPE_POLY_SET hittest for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8705
2021-06-30 22:36:29 +01:00
Jeff Young
6810912f09
Refuse to load schematics from the future.
...
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.
Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).
Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young
5cac8afe1d
Remove long-dead revision support for LIB_IDs.
2021-06-30 13:12:57 +01:00
Jeff Young
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
jean-pierre charras
17737af130
Fix some issues related to SHAPE_ARC:
...
- Some are related to shape errors when the allowed error to approximate circle
by segment is large and arc radius small.
- fix the actual error used in ConvertToPolyline().
- Use SHAPE_ARC::DefaultAccuracyForPCB() instead of a fixed value as extra margin
in zones. It should not change something, because it is also a fixed value
(5 micrometers), but it is not a magic number.
-TransformArcToPolygon() fix some issues and add a new algo, based on the arc actual
outline shape (initial algo is still available in code, just in case).
2021-06-30 13:33:49 +02:00
Seth Hillbrand
0d8f0d361e
Allow aligning pads in FP editor when locked
...
Locking is not a concept in the footprint editor. The signature for
checking is slightly different in the alignment tool, so we need to move
the check higher to allow aligning items in fpeditor
2021-06-29 16:48:31 -07:00
Wayne Stambaugh
c6e4dcbecf
Pcbnew: fix incorrect geographical annotation dialog message.
2021-06-29 17:11:37 -04:00
Wayne Stambaugh
e4c108ee3a
Pcbnew: minor geographical annotation dialog user message improvements.
...
Remove schematic from the completion message as it can no longer be
updated though the dialog.
Add a warning to synchronize the schematic with the annotation changes.
2021-06-29 15:17:00 -04:00
Roberto Fernandez Bautista
04b71f5167
Meander minimum spacing can be equal to track width + minimum clearance
...
2x track width was too constraining in some scenarios
Also better wording "Min Spacing" to indicate to the user that
the actual spacing could be larger if there are any constraints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8172
2021-06-29 19:30:01 +01:00
Roberto Fernandez Bautista
e402563087
Don't recalculate meander spacing. Use constrained value instead.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1776
2021-06-29 19:30:01 +01:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young
1db33c7b3a
More safety (and better impl) for not sharing FP table/info stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 12:46:16 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
Jeff Young
c159500101
Remove nags and make Sel Layer and add via commands uniform.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8686
2021-06-28 19:17:01 +01:00
jean-pierre charras
fa49b54f93
Fix minor issue in TransformCircleToPolygon() when aError is set to a large value.
...
pcb_painter.cpp: add (but not activate) compil option to show the conversion
of SHAPE_ARC::ConvertToPolyline as segments, for debug purposes.
2021-06-28 15:50:16 +02:00
jean-pierre charras
9a865b1989
Fix a typo and a minor compil warning
2021-06-28 14:37:35 +02:00
Jeff Young
d296bec5b8
Differentiate aSingleLine mode for SCINTILLA_TRICKS
...
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.
Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +01:00
Jeff Young
08fb05e522
Make sure HPGL and DXF drill map generators honour origin setting.
...
ADDED: also adds origin setting to Footprint Position File dialog
and generators.
Fixes https://gitlab.com/kicad/code/kicad/issues/8669
2021-06-27 17:40:20 +01:00
Jeff Young
4aa8318dc2
More error message regularization.
2021-06-27 14:24:02 +01:00
Jeff Young
70ac70f360
Don't attempt to round-trip netnames through wxListBox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8684
2021-06-27 12:02:21 +01:00
Jeff Young
1fcd7992a0
Performance improvement for adding/removing dielectric layers.
...
(Roughly a 10X speedup on Mac.)
2021-06-27 09:43:20 +01:00
Marek Roszko
b924c85f80
Start recording the precision of dxf imports
2021-06-27 00:38:19 -04:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young
0dfb5fcaf9
Error message cleanup.
...
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young
4c5df22eb0
Don't show busy cursor when dialogs (including progress) are in use.
...
Also removes a stale comment.
Also moves the progress reporters earlier to lessen need for busy cursor.
Also cleans up some error strings and makes other more easily translatable.
2021-06-26 22:53:24 +01:00
jean-pierre charras
310adedf85
Add GetCircleToSegmentError() to geometry/geometry_utils.
...
This function returns the error created by a circle to segment approximation.
2021-06-26 18:57:07 +02:00
Jeff Young
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +01:00
Thomas Pointhuber
e50eaed7b9
altium: Improve parsing of UTF-8 data
...
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Thomas Pointhuber
e6c047896c
altium: introduce progress reporting, fix possible nullptr when reading 3D models
2021-06-26 12:54:31 +02:00
Jeff Young
95ec9c786c
Board setup spacing.
2021-06-26 10:55:31 +01:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
jean-pierre charras
83b549741d
PCB_ARCS in zones: increase clearance to avoid DRC issues. This is a workaround,
...
but arcs in tracks are still not fully fixed.
The clearance is increased by only 4 microns, that should not create issues.
2021-06-25 19:45:32 +02:00
Jeff Young
9f51f7b055
Formatting and include cleanup.
2021-06-25 17:48:15 +01:00
jean-pierre charras
31d7a0a8d1
TransformArcToPolygon(): slightly better approximation of arc.
...
The error between the "right" shape and the polygon is slightly smaller.
The approximations of the inner arc and the outer arc are better, but not perfect.
Also add (for test and debug purpose only) the code to show the polygon when
drawing a PCB_ARC (currently disabled)
2021-06-25 18:46:16 +02:00
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
jean-pierre charras
4eafd2664a
FootprintWizardBase.py: fix use of cmp(), non existing in python3
...
Fixes #8677
https://gitlab.com/kicad/code/kicad/issues/8677
2021-06-25 09:04:49 +02:00
Jeff Young
27804e40e2
Go back to using space-width for tabs (instead of max-char-width).
...
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.
Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac. (This bug may also exist on the other
platforms, but each would need its own fix.)
Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
Jeff Young
232ffe97be
Diff pair gap only overrides netclass clearance when it's smaller.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8676
2021-06-24 16:56:53 +01:00
Jeff Young
744dadd412
Naming conventions and formatting.
2021-06-24 16:56:53 +01:00
Jeff Young
a89f6404b4
Fix logic bug found by Coverity.
2021-06-24 12:18:22 +01:00
Jeff Young
8502fd6877
Divide-by-zero safety.
2021-06-24 12:18:22 +01:00
Jeff Young
a8028e3bd1
Fix uninitialized variables.
2021-06-24 12:18:22 +01:00
Fabien Corona
95ab53d119
pcbnew: fix missing layer names and missing layers in stackup table
2021-06-24 08:52:51 +00:00
Roberto Fernandez Bautista
b532ecec52
Fix ALTIUM_RULE_TOKEN qa test failure
2021-06-24 05:58:24 +00:00
Jon Evans
a7eb611744
Fix leftover vias in shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8597
2021-06-23 22:13:35 -04:00
Wayne Stambaugh
27e9750507
Pcbnew: fix footprint selection bug.
...
Do not remove footprint objects from list of selected objects when there
are no drawable objects other than the reference and value text.
Increase the minimum size rectangle for footprints from 0.025mm to 1mm
when the footprint has no drawing objects so that it is easier to select
the footprint in this case.
Add some pretty colors to the footprint bounding box and hull outline
so that it's possible to tell the difference between selection areas.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8379
2021-06-23 19:46:33 -04:00
Jeff Young
50eea4f487
Import progress dialog for FabMaster.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5315
2021-06-24 00:21:37 +01:00
Jeff Young
5fa5a73c6d
File open/import progress dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6864
Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young
ae612a454e
Make blind via rendering more intuitive by putting top on top...
...
bottom on bottom, and the via colour larger.
2021-06-22 18:24:46 +01:00
Jeff Young
7efca0113d
Reset m_inDrawingTool on exit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8653
2021-06-22 13:02:45 +01:00
jean-pierre charras
a31b667e2a
Plotter: better shape for CHAMFERED_RECT and ROUNDRECT pads with margin.
...
The shape of the pad+clearance area is not similar to the shape drawn on screen
2021-06-21 18:55:33 +02:00
jean-pierre charras
9fb77473cd
pcb_painter.cpp: fix incorrect shape of CHAMFERED_RECT pads with negative clearance.
...
Negative clearance (for instance on mask or paste layer) was not taken in account
2021-06-21 18:52:57 +02:00
jean-pierre charras
00b4134eb8
pcb_painter.cpp: fix incorrect shape of ROUNDRECT pads with negative clearance.
...
If a negative clearance (for instance on mask or paste layer) is set to more
than the corner radius, the drawn shape was broken (fully incorrect size)
2021-06-21 13:44:30 +02:00
Jeff Young
685ee31c35
Workaround a few more OSX printf problems.
...
Also regularizes the frame title processing.
Also fixes a type where the library name wasn't processed for
variable expansion.
Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Jon Evans
de4eb1fcef
Convert to zone: take dest layer from editor active layer
...
Show non-copper zone properties if active layer is non-copper
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8646
2021-06-20 15:13:18 -04:00
Jeff Young
b72545a432
Implement more aggressive re-entrancy blocking for drawing tools.
...
A similar strategy was already implemented in Eeschema.
Also adds some safety around clearing of autopan and mouse capture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6909
2021-06-20 11:09:55 +01:00
Jeff Young
89718dd3ba
Naming conventions.
2021-06-19 19:36:53 +01:00
Jeff Young
c6606a0582
Hook up delete to undo last segment when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8362
2021-06-19 11:37:20 +01:00
Jeff Young
d26449cc29
Formatting.
2021-06-19 11:37:20 +01:00
Jon Evans
f8e9542004
Fix crash when opening board setup after zone filler exits
2021-06-18 12:23:12 -04:00
Jeff Young
3072422538
Allow caller to specify which library table to add library to.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8013
2021-06-18 11:39:18 +01:00
Jeff Young
e540752640
Allow all selected footprints/symbols to be changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7389
2021-06-17 23:34:56 +01:00
Jeff Young
16047b7419
3D preferences bug fixes.
...
1) Make sure prefs get saved when closing parent frame.
2) Add camera projection mode to settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/8110
Fixes https://gitlab.com/kicad/code/kicad/issues/8626
2021-06-17 12:22:18 +01:00
Jeff Young
1722bc03b0
Consistent terminology and punctuation.
2021-06-17 00:05:17 +01:00
Seth Hillbrand
cbd9208d73
Fix missing translation
2021-06-16 12:48:47 -07:00
Seth Hillbrand
7953a5c62b
Work around MacOS printf/format issues
...
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types. We avoid this by manually formatting
the string ourselves.
Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Jeff Young
c8444913df
Implement lock between zone filler and drc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8621
2021-06-16 16:12:01 +01:00
jean-pierre charras
db19ae226a
PANEL_PCBNEW_ACTION_PLUGINS: fix not working "open plugins folder" on Linux
2021-06-16 08:15:20 +02:00
Jon Evans
8f9800f760
Fix pad shape for certain legacy circular pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8615
2021-06-15 22:25:55 -04:00
Jeff Young
1a35d8ba5d
Setup layer mapping when importing Eagle library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7891
2021-06-15 19:20:17 +01:00
jean-pierre charras
5b8f32acd2
Python script sample: fix compatibility with recent changes in code.
2021-06-15 18:19:58 +02:00
jean-pierre charras
142dd48c99
SCRIPTING_TOOL::showPluginFolder(): fix wxWidgets3.14 compatibility (Linux mainly)
2021-06-15 18:19:58 +02:00
Eeli Kaikkonen
3616a8f0ee
Use polygon coordinates relative to the board.
...
Footprint polygon coordinates are relative to the footprint.
Translate to the board coordinates when doing hittest with
a (selection) rect.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8596
2021-06-15 15:04:11 +00:00
Michal Schulz
38f18d0505
Fixed according to KiCad Style Guide.
2021-06-15 14:59:04 +00:00
Michal Schulz
aed0352828
pcbnew: Replace CR inserted on macOS instead of LF when CTRL+Enter is pressed.
2021-06-15 14:59:04 +00:00
Jeff Young
4418707e5e
Add a few more overbar syntax conversion calls.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 13:09:18 +01:00
jean-pierre charras
fbbe723811
Fix board_item.i after recent changes in Pcbnew code.
...
(some class names changed)
2021-06-15 10:59:52 +02:00
jean-pierre charras
5d9ff0b9b7
Step export dialog: save 2 options in config file.
...
2 options (overwrite file and replace 3d shapes) were not saved previously.
2021-06-15 09:33:37 +02:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
jean-pierre charras
30f3d11355
fix possible incompatibilities of python scripts due to recent code cleaning
2021-06-14 18:57:05 +02:00
Jeff Young
2c1da70181
Write all variables to temp config file and have Kicad2Step use that.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
jean-pierre charras
0527dc6fe0
Fp editor: fix initialization of default courtyard line thickness.
...
When no config file found it was initialized to DEFAULT_SILK_LINE_WIDTH,
although it was initialized to DEFAULT_COURTYARD_WIDTH in board editor.
Fixes #8344
https://gitlab.com/kicad/code/kicad/issues/8344
2021-06-14 08:31:55 +02:00
Jon Evans
82f3df4086
Attempt to fix Python qa code after renames
2021-06-13 11:20:19 -04:00
Jeff Young
5bb6b1a3cc
Minor cleanup.
2021-06-12 11:39:28 +01:00
Seth Hillbrand
3644224cb6
Build smoothed area at outline
...
The clearance to board edge will be set by the knockout routine.
Clipping twice can leave small imperfections in the edge that need to
get triangulated
2021-06-11 14:26:38 -07:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Mikolaj Wielgus
ade38f48bc
Add conversion from old `~...~` to new `~{...}` notation
2021-06-11 18:40:57 +00:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
jean-pierre charras
5492fafdf4
Pcbnew: allows access Layers context menu when right clicking from below layers list
...
Fixes #6614
https://gitlab.com/kicad/code/kicad/issues/6614
2021-06-11 09:32:47 +02:00
Seth Hillbrand
d8b1e827c7
Check all previous merge events
...
Typo only continued merge loop when last element was successfully
merged, leaving tracks where multiple segments were colinear
Fixes https://gitlab.com/kicad/code/kicad/issues/5020
2021-06-10 16:59:35 -07:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
jean-pierre charras
1c3df973d6
Coverity warnings fixes.
2021-06-10 13:45:02 +02:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
david-beinder
410dbe17de
Fix inital predefined track width selection in track properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8578
2021-06-09 09:59:25 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
ffa87e69c6
Remove/replace some stdint.h includes
2021-06-08 21:17:57 -04:00
Seth Hillbrand
c650d47626
Add warning message on non-unity scaling
...
When exporting STEP model, warn the user if one of their footprints has
a non-unity scaled model as this compromises the integrity of the STEP
export.
Fixes https://gitlab.com/kicad/code/kicad/issues/1781
2021-06-08 16:38:47 -07:00
Seth Hillbrand
b891b5e1e2
Do not blindly substitute model names
...
Makes model substitution (VRML->STEP in STEP Export) optional. This can
prevent nasty surprises where the user doesn't see/can't affect the
outcome
Also, when substituting models, do not maintain scale factor. So a VRML
model with non-unity scaling will not be export as a STEP file (of the
same name) with non-unity scaling. This is the first step to address
https://gitlab.com/kicad/code/kicad/-/issues/1781
2021-06-08 16:38:47 -07:00
Marek Roszko
6e01ce84b9
Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars
2021-06-08 19:12:30 -04:00
Marek Roszko
c854811ac4
Parent frame already includes undo_redo_container.h
2021-06-08 19:12:30 -04:00
Jeff Young
2aaec31832
Don't put up "old version" warning for gerbview-generated PCBs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Jon Evans
75ce97e260
Fix the last cause of duplicate segments when completing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-07 20:34:09 -04:00
Marek Roszko
9268340dcc
Kick wx.h out of pcbnew
2021-06-07 18:38:51 -04:00
Jeff Young
97a2c4094b
Don't label free pads with connections as '*'.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8385
2021-06-07 23:36:37 +01:00
Jeff Young
3d32c096ab
Fix some problematic double-quotes.
2021-06-07 23:36:37 +01:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Johannes Maibaum
022dd6072c
Add utility method to resolve symlinks
...
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Johannes Maibaum
542c02046b
Write through symlinks for schematics and PCBs
2021-06-07 20:59:59 +00:00
Seth Hillbrand
891e200fc8
Use Python to test for modules (not CPython)
...
CPython call requires Python 3.8+, so we work around to keep the 3.6
users happy
Fixes https://gitlab.com/kicad/code/kicad/issues/8554
2021-06-07 13:56:31 -07:00
Seth Hillbrand
d4edc70f65
Remove magic numbers where possible
...
Constant scales will be pre-calculated during compilation, so we can
leave the actual formula in place without penalty
2021-06-07 13:56:31 -07:00
Jeff Young
3ff670d2a4
Disable ACTIONS::openPreferences for now.
...
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
jean-pierre charras
6cfc2755ed
Remove a useless "#include wx/wx.h" from wx_html_report_panel.h
2021-06-07 09:26:13 +02:00
Jon Evans
49c5130123
PNS: Implement final cleanup pass for redundant colinear segs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-06 21:52:35 -04:00
Jon Evans
83080b67f5
Fix build on wx 3.0
2021-06-06 20:21:21 -04:00
Jon Evans
3c6b98a0d5
PNS: preserve auto-detected track width when changing via sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8046
2021-06-06 20:18:09 -04:00
Jon Evans
99710aba48
PNS: use slightly less greedy algo to reset the mouse trail
2021-06-06 19:47:52 -04:00
Marek Roszko
0bc0f2265e
dialog_board_statistics.h shouldn't leak confirm.h
2021-06-06 19:34:53 -04:00
Jon Evans
6cb8154ec0
PNS: Remove code that broke width changes during placement
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8334
2021-06-06 19:21:52 -04:00
Marek Roszko
5bb6f8c5e3
hashtables.h doesn't need eda_item.h
2021-06-06 19:11:35 -04:00
Marek Roszko
33bbf85a3e
Use the parent frame GetSettings helper rather than including for Pgm()
2021-06-06 19:05:12 -04:00
Jon Evans
6789dac20b
PNS: Keep most recent good placement around for a rainy day
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8562
2021-06-06 18:56:33 -04:00
Jon Evans
c9bc45f7ed
PNS: Limit the maximum walkaround distance factor
...
The constant chosen is somewhat arbitrary and may need
further tuning or a more complex algorithm, but in general
this will prevent churning when solutions can't be found or
a solution can be found but it is unrealistic (going around
the entire board)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 16:03:03 -04:00
Jon Evans
d32b9c1c25
Use debug group for line placer debug
2021-06-06 15:44:53 -04:00
Jon Evans
f5185f6927
Revert part of the anti-churn change, it causes bad side-effects
...
Further performance tuning could be useful but the part that
remains helps the most when hugging in large designs
2021-06-06 15:44:53 -04:00
Marek Roszko
66640f6144
Try and fix fedora build
2021-06-06 15:30:42 -04:00
Marek Roszko
8377ebb0e1
Fix msvc warnings
2021-06-06 15:30:31 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
e4530fcf0d
PCB_MARKER does not need pcb_base_frame
2021-06-06 15:03:42 -04:00
Jon Evans
5349f47f95
PNS: Prevent walkaround churn in unsolvable situations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 14:57:52 -04:00
Jon Evans
3475d0cebd
PNS: Grab start item based on clearance if no direct hits found
...
Fixes annoying "routing start point violates DRC" messages when
entering the router from the hotkey and not directly over a track.
2021-06-06 14:57:52 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Jeff Young
0d7e48d5b1
Coverity fix.
2021-06-06 17:57:46 +01:00
Jon Evans
17da050e69
Improve walkaround results when last point is inside the hull
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8563
2021-06-06 12:55:32 -04:00
Jon Evans
be61bf29dd
Use more accurate hull shapes for round solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8561
2021-06-06 09:53:51 -04:00
Marek Roszko
581ba21865
Remove wx includes out of cadstar_archive_loader.h
2021-06-06 09:28:02 -04:00
Marek Roszko
b610b905fc
Cleanup track.h includes
2021-06-06 09:06:55 -04:00
Jon Evans
3b7480c1c1
PNS: Invalidate start/end items after finishing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8555
2021-06-06 08:52:39 -04:00
Marek Roszko
2d584ca5ec
board_item.h already included via board_connected_item.h
2021-06-06 08:47:59 -04:00
Marek Roszko
17d680de08
netinfo.h does not need to be in board_connected_item.h
2021-06-06 08:45:38 -04:00
Marek Roszko
4712d7a918
Remove a leaky wx/msgdlg.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
e6c09b55a9
Remove unnecessary reporter.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
dd9b8a9f73
Remove pcbnew.h includes in headers
2021-06-06 08:25:28 -04:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
Johannes Maibaum
06e967354f
Fix symlink read-/write-through code
...
Use `realpath(3)` instead of `readlink(3)`, which offers support for
relative and absolute symlinks alike, since all symbolic links will be
resolved to the absolute path of the linked-to file.
Fixes #8082
2021-06-05 14:22:50 +00:00
david-beinder
86add3bb85
Fix MSVC C4312 warnings when casting 32bit ints to pointer types on 64bit builds
2021-06-05 02:57:51 +00:00
Jeff Young
d32d107923
Fix local ratsnest tooltip to mention "toggle".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8415
2021-06-04 23:17:54 +01:00
Tomasz Wlostowski
ab04e24f9a
router: rhMarkObstacles should return a correct error status
...
Long story short: a few days ago I fixed error handling in routeStep(), so it actually started to recognize the wrong error status returned
by rhMarkObstacles() and think that the trace is always incorrect.
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8557
2021-06-04 23:58:56 +02:00
Wayne Stambaugh
f57ef55cd6
Pcbnew header housekeeping round 3.
2021-06-04 13:50:08 -04:00
Wayne Stambaugh
c69c68a558
Pcbnew header housekeeping round 2.
2021-06-04 12:21:48 -04:00
Wayne Stambaugh
2a6c7a7c0f
Pcbnew header housekeeping round 1.
2021-06-04 09:08:38 -04:00
Ian McInerney
2533fb22b3
Add the new pcb item container header to the SWIG wrapper
2021-06-04 12:49:11 +01:00
Jon Evans
d8499e4914
I fixed the wrong typo in 6e272429
, heh
2021-06-03 22:39:14 -04:00
Jon Evans
6e2724294a
Fix typo in action description
2021-06-03 21:27:28 -04:00
Ian McInerney
0c879eead3
Cleanup headers in pcbnew pcad importer
2021-06-04 01:28:40 +01:00
Ian McInerney
f94816fbd4
Cleanup wx includes in the filter reader
2021-06-04 01:26:58 +01:00
Seth Hillbrand
3d4ce0796e
Add Gerber plot for SHAPE_ARC and SHAPE_LINE_CHAIN
2021-06-03 17:12:56 -07:00
Jeff Young
00791e1e37
Fix compile issues on clangd.
2021-06-03 23:41:06 +01:00
Marek Roszko
1c1ba25ffd
Use char_str instead of c_str in previous commit
2021-06-03 18:13:35 -04:00
Marek Roszko
daf510344f
Fix build error due to pns changes
2021-06-03 18:05:48 -04:00
Marek Roszko
4e94b1fe86
Remove the universal sockets include
2021-06-03 17:59:46 -04:00
Jeff Young
6f5cb1f97d
Fix printing of hidden refs and/or values.
...
IsLayerVisible() is patched to always return true when printing
(even when "print according to appearance settings" is checked, and
that's too risky to change at this point. So we also look to see
if the layer colour is set to the background colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/8548
2021-06-03 22:44:04 +01:00
Tomasz Wlostowski
63fc7a1908
router: support for drag/walkaround/shove for joints between lines of different widths.
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/1773
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
af26eab5fb
router: even more debug in SHOVE
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
a744857267
router: fix array out-of-bound error in HullIntersection()
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8538
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
3e98c44636
router: LOGGER now stores UUIDs, not pointers to BOARD_ITEMs.
...
Caused occasional crashes when saving the debug event log, as some of the BOARD_ITEMS could have been deleted before SaveLog call.
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
e5e588ebba
router: temporarily export LINE::Walkaround() debug global variables
2021-06-03 22:44:53 +02:00
Tomasz Wlostowski
70ed5c1ae8
router: introduce concept of 'virtual' vias as a base for shoving/dragging joints of lines of different widths.
2021-06-03 22:44:53 +02:00
Ian McInerney
4f05262705
Cleanup includes in board.h and footprint.h
2021-06-03 20:19:52 +01:00
Ian McInerney
23f8851409
Remove pcb_group include from board header
2021-06-03 20:03:31 +01:00
Ian McInerney
7bbf1b07b7
Fixup to expose PCB_GROUP in Python
2021-06-03 20:00:45 +01:00
Jean-Samuel Reynaud
e2e963d14a
Adding PCB_GROUP to python interface
2021-06-03 18:55:46 +00:00
Jeff Young
49d65a0765
Fix some includes.
2021-06-03 18:33:59 +01:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Seth Hillbrand
f40f696c37
Don't extract dp segment info from minimal-length
...
segments with 1IU of length are approximately parallel to everything and
the distance projections break down into rounding errors
Fixes https://gitlab.com/kicad/code/kicad/issues/8541
2021-06-03 08:44:17 -07:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Marek Roszko
7faee5eda5
Stop salt the eart with wxhtml.h
2021-06-03 07:49:49 -04:00
Ian McInerney
d79dd39be3
Remove redundant headers
2021-06-03 02:19:36 +01:00
Ian McInerney
3ab69939f9
Remove wx.h from many files
2021-06-03 02:19:20 +01:00
Marek Roszko
af2707929d
Don't leak a wx header via eda_item.h
...
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
Ian McInerney
9a07b03b4c
Replace boost::function with std::function
2021-06-02 18:39:43 +01:00
Seth Hillbrand
7f56ff4d42
Minor performance improvement
...
Don't keep searching the DRC RTree for collisions after we detect a true
(not clearance-based) collision
2021-06-02 08:15:37 -07:00
Jeff Young
00ed75b891
Fix DRC performance with multi-layer keepout zones.
...
The main issue was a parameter mismatch which caused On^2 behaviour
for zone layers.
But there are several other performance optimizations here, along
with status bar updating for zones while running the dissallow test.
Fixes https://gitlab.com/kicad/code/kicad/issues/8521
2021-06-02 14:11:43 +01:00
Marek Roszko
eeb405c196
Cleanup some more excess math/util includes
2021-06-02 00:50:46 -04:00
Marek Roszko
cf2bb5692a
Remove the wxLog calls from math/util.h for now
...
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Marek Roszko
cfa2b57c68
Use logical OR to quiet static analyzer (no functional change)
2021-06-01 18:44:22 -04:00
Marek Roszko
65fee5b2ec
Clear m_out pointer at end of save
2021-06-01 18:44:22 -04:00
Jeff Young
d12e5d824e
Renaming for clarity and a performance improvement in corner rounding.
2021-06-01 23:11:54 +01:00
Seth Hillbrand
208dd5cbd5
Cleanup string handling in fabmaster import
...
Avoids round-tripping std::string->c_str->std::string and makes a few
auto references explicit
2021-06-01 13:54:34 -07:00
Seth Hillbrand
63cc7d16b4
Repair board on open
...
We need to ensure that boards do not have duplicated KIIDs, so we repair
the duplicates when opening an existing file. This does not change the
file on disk until saved
2021-06-01 13:39:59 -07:00
Seth Hillbrand
e050d42658
Re-enable KICAD_SCRIPTING_WXPYTHON
...
This keeps wxpython behind a build flag for platforms (mingw) that do
not yet support it.
2021-06-01 20:18:24 +00:00
Seth Hillbrand
68a5d5dc01
Fix issue reloading plugins
2021-06-01 20:18:24 +00:00
Seth Hillbrand
bbcc840989
Cleanup rebase fns
2021-06-01 20:18:24 +00:00
Seth Hillbrand
88e4b7f7c4
Update Python Helpers
2021-06-01 20:18:24 +00:00
Seth Hillbrand
adf885b667
Move pcbnew swig
...
Separates the python scripts into those using swig and those needed for
other scripting
2021-06-01 20:18:24 +00:00
Seth Hillbrand
bf1437899e
Add Python Tool to pcbnew
2021-06-01 20:18:24 +00:00
Seth Hillbrand
c7d188a8d0
Centralizing SCRIPTING class
2021-06-01 20:18:24 +00:00
Seth Hillbrand
192fbfd5e5
Finalize Python Frame
2021-06-01 20:18:24 +00:00
Seth Hillbrand
81d58bcea9
Working python window
2021-06-01 20:18:24 +00:00
Seth Hillbrand
6fbbba8db3
Adding Python shell KIFACE
2021-06-01 20:18:24 +00:00
Seth Hillbrand
f274a00c08
Remove PYTHON_* compile options
2021-06-01 20:18:24 +00:00
Jon Evans
247da631f9
Revert "Fix typo and clean up leftover tracks"
...
This reverts commit ed66c0f14d
.
Revert "Clean up co-linear tracks after finishing routing"
This reverts commit 1a102f03c0
.
More complex solution needed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8526
2021-06-01 11:18:00 -04:00
jean-pierre charras
d7616fdca8
Fix a few compil or coverity warnings.
2021-06-01 09:04:37 +02:00
Jon Evans
ed66c0f14d
Fix typo and clean up leftover tracks
2021-05-31 22:42:56 -04:00
Jon Evans
1a102f03c0
Clean up co-linear tracks after finishing routing
...
This involved adding some extra infrastructure to be able
to handle the case where a track that is sitting in the
router's commit waiting to be added to the board actually
needs to be deleted instead.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8419
2021-05-31 17:36:38 -04:00
Jon Evans
6381ffd10a
Fix diff pair coupling test when gap constraint is in a different rule
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8519
2021-05-31 10:13:05 -04:00
Jeff Young
c4cabb38d5
More worksheet -> drawing sheet cleanup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8516
2021-05-31 12:26:44 +01:00
Jeff Young
0598c82972
Terminology (use present tense for flags).
2021-05-31 12:26:44 +01:00
Marek Roszko
1b94534451
Revert "Use lambdas to fix paste conditions"
...
This reverts commit 65c7c77c3d
.
2021-05-30 21:25:42 -04:00
Marek Roszko
5c543b62c5
Cleanup: Use make_unique for the legacy plugin board deleter
2021-05-30 20:56:44 -04:00
Marek Roszko
65c7c77c3d
Use lambdas to fix paste conditions
...
`SELECTION_CONDITIONS::Idle && ` was evaluating as always true because this was referencing the function pointer
2021-05-30 20:37:16 -04:00
Marek Roszko
a7d1ef9927
Fix some more uninitialized warnings
...
From PVS Studio
2021-05-30 20:05:37 -04:00
Marek Roszko
382dca4e6f
Fix uninitialized member warnings
...
Based on PVS Studio report
2021-05-30 20:01:01 -04:00
Tomasz Wlostowski
67f0bbc6d7
router: fixed crash in HullIntersection() when the path has 0 or 1 points.
...
fixes: 8515
2021-05-31 00:20:32 +02:00
Tomasz Wlostowski
614787caae
router: clear head line geometry if current head routing failed + small improvement to follow-mouse optimization.
...
Also added a lot of verbosity for the pns-log-viewer tool.
Fixes: 8511
2021-05-31 00:18:42 +02:00
Tomasz Wlostowski
dfd80e077c
router: fix another corner case in LINE::Walkaround() (duplicated vertex triggered by feeding a closed loop as the input path)
...
fixes: 1775
2021-05-31 00:17:12 +02:00
Jon Evans
0da85ded2f
PNS: Fix diff pair handling of microvias as start items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8514
2021-05-30 15:51:28 -04:00
Jon Evans
b7f32d7f53
Clean up some layout of pages in Board Setup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8474
2021-05-30 14:04:00 -04:00
Tomasz Wlostowski
fcb89b99a3
router: walkaround algo should not copy the previous via position when the current iteration via placement fails.
...
fixes: 7827
2021-05-30 00:35:58 +02:00
Tomasz Wlostowski
af2e163890
router: annotate source locations of WALKAROUND debug items
2021-05-30 00:35:54 +02:00
Jeff Young
8e2fb1bdb9
Treat Cut like a Delete while in a Move.
...
Also fixes problem where second action wasn't getting executed because
the event was getting eaten.
Fixes https://gitlab.com/kicad/code/kicad/issues/8072
2021-05-29 22:10:43 +01:00
Jon Evans
3eb5a484e1
PNS: Don't clip tuning paths to pads on other layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8504
2021-05-29 15:52:44 -04:00
Jon Evans
f6d6b7d263
Harmonize property names for zone/footprint/pad clearance and thermals
...
Use "override" instead of "local" for better clarity.
2021-05-29 14:12:23 -04:00
Jon Evans
28f17c3ae6
PNS: Prevent wrong clearance being cached for new diff pairs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8377
2021-05-29 13:31:17 -04:00
Jon Evans
85ca85652d
Do not add debug items to view if debug flag isn't enabled
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8510
2021-05-29 12:40:24 -04:00
Jon Evans
bd59da3642
PNS: Local min distance has a minimum points requirement
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8510
2021-05-29 12:40:24 -04:00
Jon Evans
eff9746f34
CHANGED: Net highlight in PcbNew is now persistent to match Eeschema
...
CHANGED: Highlight net tool changed to highlight display toggle; moved to left toolbar
CHANGED: Multi-net highlight is now accessible when using the highlight net action
ADDED: Highlight Net and Clear Highlight actions to Net Tools context menu
ADDED: Default hotkey (Ctrl+`) for toggling net highlighting
The current and previous net highlight state are now stored and can be toggled
on or off with an action (no hotkey by default).
Highlight is now treated as a persistent state rather than a tool that is entered,
meaning there is no longer a special tool to enter in order to highlight nets.
Highlighting can be controlled while any other tool is active using the hotkeys
or context menu on a net object.
Tweak the icons for highlight net and layer display mode to better disambiguate them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8250
2021-05-29 12:40:24 -04:00
jean-pierre charras
81c7fb61f8
Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
...
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
Tomasz Wlostowski
ebd957b08e
router: rework router's debugging infrastructure to be more compatibile with the 'qa/pns/pns-log-viewer' tool.
...
The log viewer tool lets you inspect all the intermediate stages of the routing algorithms. This patch:
- Adds source location tracking of the debug calls (need to use the PNS_DBG macro, sorry)
- Moves some wxLogTrace calls to DEBUG_DECORATOR::Message() so that messages can be displayed alongside the corresponding geometric shapes
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
132eb53a40
router: clean some debug clutter
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
b3caa3c4d4
router: fix ordering of colliding hulls in NODE::NearestObstacle()
...
Replaced the generic SHAPE_LINE_CHAIN::Intersect() with PNS::HullIntersection() which correctly rejects
'non-penetrating' intersections.
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
e66bbfd1ec
router: improve the feel of the walkaround algorithm
...
Makes walkaround more 'huggy' - the trace being routed sticks to obstacles
instead of jumping around in uncontrollable way.
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
8148b5d81f
router: improvements in LINE::Walkaround()
...
- Fix walk failure if the input path starts on the hull boundary
(happens very often during tight walkaround)
- Input line can have a loop at the end now. Such condition happens when the routing
destination point lies inside the hull of a colliding primitive.
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
d2ec3fc4ed
router: P&S-specific hull/line interection function that correctly rejects segments/vertices that only touch the hull polygons without penetrating them
2021-05-29 00:13:24 +02:00
Tomasz Wlostowski
8c4361bbc6
router: adapt to new SHAPE_LINE_CHAIN::INTERSECTIONS structure
2021-05-29 00:13:24 +02:00
Seth Hillbrand
752ae4d519
Rename modification flag routines
...
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand
b1dcf74042
Use standard "Untitled" name for files without names
...
Also translates to provide useful information regardless of language
2021-05-28 11:51:54 -07:00
Seth Hillbrand
d7f219e98f
Unify IsSave and IsModify
...
The flags and calls were used identically, leading to potential
confusion/bugs. Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
david-beinder
64cd401bdb
Delete Tool: Fix missing "Item Locked" popup
...
Fixes problem identified in https://gitlab.com/kicad/code/kicad/-/issues/8392
Removes same popup from schematic tool because SCH_ITEM can not be locked
2021-05-27 05:38:51 +00:00
Jeff Young
4fb643df93
Update POINT_EDITOR when locking/unlocking via Hotkey/RMB.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8489
2021-05-26 16:03:35 +01:00
Seth Hillbrand
ba73456d49
Allow point editor to persist
...
After drawing a graphic, allow the control points to persist when
exiting the tool.
The effect of this is to make the first "Esc" press a
"return-to-select-tool" event without modifying the selection or control
points from within the drawing tools. The section "Esc" press, when in
the selection tool will clear the selection and the control points
2021-05-25 16:47:54 -07:00
Jeff Young
5c9a73aa5e
Correct position for grid even when we're not snapping to a point.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8125
2021-05-25 21:57:19 +01:00
Jeff Young
0eed73ea73
Make PCB_POINT_EDITOR honour locked flag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8254
2021-05-25 18:13:24 +01:00
Jeff Young
5f22025611
Don't drop text on Edge.Cuts when plotting.
...
While -our- user model is that Edge.Cuts is just for edges, it's best
not to dictate a particular model to users.
ADDED a DRC error when text (or a dimension) appears on the Edge.Cuts
layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/8470
2021-05-24 19:54:52 +01:00
Jeff Young
8f3343b9e3
Clear UUID paths of unmatched footprints even when not deleting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8461
2021-05-23 22:50:11 +01:00
Jeff Young
ab8428bd68
Naming conventions.
2021-05-23 22:21:34 +01:00
Jeff Young
9554aaee7f
Can't use wxDD_MULTIPLE before 3.1.4.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8465
2021-05-22 22:19:37 +01:00
Jeff Young
ee00d8386f
Make sure dir case can handle multiple selection too.
...
Files case already can.
Fixes https://gitlab.com/kicad/code/kicad/issues/8465
2021-05-22 20:39:26 +01:00
Jeff Young
baf868fce7
Add footprint repair tool (currently just for duplicate IDs).
2021-05-21 17:52:11 +01:00
Jeff Young
0d8a9a1091
Make sure that a tool never exits with autopan or capture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8459
2021-05-21 14:53:58 +01:00
Jeff Young
3de60231db
Allow clearance debugging of exact items in DRC violation.
...
ADDED: Run clearance resolution tool... RMB menu item to DRC
clearance errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/8438
2021-05-21 00:00:24 +01:00
Jeff Young
e93e9fa3e5
Add rudimentary type checking to rule eval with reporter.
...
Also cleaned up existing error reporting to not expend CPU cycles
when there was no reporter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8438
2021-05-20 23:06:24 +01:00
Jeff Young
4c3d78dec0
Break out separate holes-co-located violation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8456
2021-05-20 10:36:56 +01:00
jean-pierre charras
60dbda9dd2
Pcbnew: try to fix an issue about frame title.
...
for Pcbnew, this issue (see bug 8404) is only seen on OSX.
So I am blindly trying to add to Pcbnew a fix made for Eeschema.
2021-05-19 17:28:15 +02:00
jean-pierre charras
be3a08bfa7
Pcbnew printing: fix missing zones on non copper layers.
2021-05-19 10:05:49 +02:00
Jeff Young
ed2f2257ce
Remove footprint locking in the footprint editor.
...
(It doesn't make any sense there as the position is always {0, 0} in
the editor.)
For discussion see:
https://kicad.zulipchat.com/#narrow/stream/258851-Developer-Chat/topic/Is.20there.20a.20reason.20why.20kicad.20now.20seems.20to.20lock.20pads.3F
2021-05-18 23:14:17 +01:00
Simon Richter
810a717e4e
Remove unused NETINFO_MAPPING member
...
The legacy plugin no longer implements saving, so no net code renumbering
is needed.
2021-05-17 11:54:06 +00:00
jean-pierre charras
c33b2cfa8d
PANEL_SETUP_MASK_AND_PASTE_BASE: fix another cosmetic issue.
...
On KDE, a text was truncated, although there is room to display it
2021-05-16 13:22:48 +02:00
Jeff Young
4c69a74505
Force layers visible when routing on them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8432
2021-05-16 11:18:31 +01:00
jean-pierre charras
2354222188
Remove tool tips not related to the objects they are depending on.
...
Probably due to a too zealous copy/paste.
2021-05-16 10:03:12 +02:00
jean-pierre charras
057e2cd6b7
Pcbnew: fix some cosmetic issues in a few dialogs
...
Depending of Window managers, some texts were truncated.
Also avoid to write a sentence with the beginning in one widget,
and the end in another widget: it makes the sentence not translatable
2021-05-16 09:13:13 +02:00
Jeff Young
138a4b21c1
Smarten custom-pad-shape test for collapsing solder mask margins.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8413
2021-05-16 00:41:19 +01:00
jean-pierre charras
d1061b9683
3D viewer: Fix broken handling of text thickness, thus creating erroneous item positions
...
Especially, texts having a not centered justification were shown with artifacts.
2021-05-15 13:18:06 +02:00
Jeff Young
ccaf9e11df
Load footprint info when there's no cache available.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8371
2021-05-14 22:24:21 +01:00
david-beinder
1642f0d784
Move microwave tools from toolbar to Place menu
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8233
2021-05-12 02:34:52 +00:00
david-beinder
75f49ba1b6
Add length tuner settings to toolbar context menu
2021-05-12 02:34:52 +00:00
david-beinder
34145d8170
Add length tuning menu to vertical pcb toolbar
2021-05-12 02:34:52 +00:00
Jeff Young
c49af57c2a
Don't require a restart to get the current m_Live3DRefresh setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8349
2021-05-11 15:07:52 +01:00
Jon Evans
bc6b9b527a
Allow stackup height to be excluded from length calculations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8384
2021-05-10 22:11:58 -04:00
Jon Evans
5157c6c3b9
Use half copper thickness as the thickness of the start and end of vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8384
2021-05-10 21:48:50 -04:00
Jon Evans
64c76d8067
Hide unimplemented controls in length tuner settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8383
2021-05-10 21:40:52 -04:00
Jon Evans
1201ab5cac
Clarify track segment length vs net length in message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8396
2021-05-10 21:06:17 -04:00
Jon Evans
ce01a28aad
Don't double-remove nets when netcodes are reused
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8206
2021-05-10 19:52:19 -04:00
Jeff Young
7356f9568d
Move grid disable modifier from ALT to CTRL.
...
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.
Fixes https://gitlab.com/kicad/code/kicad/issues/8124
2021-05-09 20:17:40 +01:00
Ian McInerney
916a15793f
Fix some OSX compiler warnings
2021-05-09 12:59:57 +01:00
jean-pierre charras
a5ff27cae7
Pcbnew, EDIT_TOOL::GetAndPlace(): fix and issue, and allows execution only if
...
called inside the board editor.
Fix also a broken behavior: the current action was not cancelled, and if it is
called during a move items (when typing the 'T' key), items were broken.
The actual bug is the fact it is called also in fp editor and footprint wizard frame,
because it is part of EDIT_TOOL action list, common to fp editor, and should not.
But a full change is much more costly than just a filter.
2021-05-09 11:51:57 +02:00
Jeff Young
b4b59c3b33
Fix uninitialized variable.
2021-05-08 20:49:51 +01:00
Jon Evans
1a45d9474b
Don't show commands that cancel routing when routing is in progress
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8363
2021-05-08 14:55:02 -04:00
Wayne Stambaugh
6e017b475d
Warn user before removing invalid rows from library table entries.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8080
2021-05-08 08:58:54 -04:00
jean-pierre charras
aaffd0c137
Pcbnew: fix crash due to a not tested null pointer.
...
Fixes #8369
https://gitlab.com/kicad/code/kicad/issues/8369
2021-05-07 10:35:00 +02:00
Jeff Young
e709e77870
Add missing locked setting to zone dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-05-06 22:50:03 +01:00
Allan Nordhøy
cda70a66c3
Spelling fix vrml->VRML
...
Closes https://gitlab.com/kicad/code/kicad/-/merge_requests/739
2021-05-06 21:55:36 +01:00
jean-pierre charras
1b9a8564af
Pcbnew: fix incorrect PCB_TEXT::TextHitTest( const EDA_RECT& aRect,... ).
...
It was not taking in account the text rotation in block selection.
Fixes #8366
https://gitlab.com/kicad/code/kicad/issues/8366
2021-05-06 18:48:23 +02:00
Jeff Young
2e3860de6f
Naming conventions.
2021-05-05 22:58:40 +01:00
jean-pierre charras
56058314be
Fix minor Coverity warnings and minor compil warnings.
...
(uninitialized or shadowed vars)
2021-05-05 08:58:55 +02:00
Fabien Corona
094dd2e08c
pcbnew : rotate relatively to selection center
2021-05-04 09:13:20 +00:00
Wayne Stambaugh
16bb45208a
Fix save accelerator key handling when library tree has focus.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8247
2021-05-03 19:41:07 -04:00
Marek Roszko
c7345096f8
Use wxFFileInputStream explicitly when loading xml documents
...
wxFFile (FILE, buffered) is better than wxFile (syscalls)
2021-05-03 19:39:56 -04:00
Tomasz Wlostowski
939b5e1932
PCB_EXPR_EVALUATOR: don't use string comparison to check for undefined enum values
2021-05-03 23:45:54 +02:00
Jeff Young
d7e44b5181
Default delete-tracks-inside-pads to false.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8326
2021-05-03 19:48:24 +01:00
Roberto Fernandez Bautista
f2677340f2
Access the new paste behaviour via a new Paste Special... dialog
...
ADDED Paste Special... action in pcbnew
CHANGED Additional options for Paste Special... in eeschema, including
"Assign unique reference designators to pasted instance"
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista
98c8f43320
eeschema and pcbnew paste: consistent paste behaviour
...
Duplicates are reannotated on paste in the same way in pcbnew and
eeschema such that when copying and pasting the same block in the
pcb and schematic, the reference designators will match.
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista
ae009e0758
Ensure clipboard data is available after KiCad closes
...
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
Jeff Young
688ee18989
Don't apply margin to "interior" shapes in a shape-set.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8345
2021-05-03 12:12:03 +01:00
jean-pierre charras
a6ad7a4a70
Python wizards: Fix a compatibility with "old" pythons scripts, after commit 21fde9b6
.
...
Temporary fix until a full python API exists.
2021-05-02 16:06:11 +02:00
Marek Roszko
c4801a4dd4
Catch oom for graphics importer
...
Because DXFs and SVGs could be nasty sized
2021-05-01 14:26:47 -04:00
Marek Roszko
d4bb1cbc63
Make drawing sheet loading slightly smarter
2021-05-01 14:11:31 -04:00
jean-pierre charras
f6f2284851
Fix missing includes on Linux after commit 0427bda7
2021-05-01 20:05:01 +02:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko
18ff8ea4a0
Try to catch memory allocation errors in pcbnew and eeschema
2021-05-01 13:11:10 -04:00
Marek Roszko
3a9a85b373
Enum class PAD_PROP_T
...
Renamed such that it does not affect python
2021-05-01 10:58:30 -04:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko
e20562b09b
Some cleanup
2021-05-01 10:37:20 -04:00
Marek Roszko
b243c2280d
enum class PAD_SHAPE_T
2021-05-01 08:22:35 -04:00
Marek Roszko
21fde9b629
enum class PCB_SHAPE_TYPE_T
2021-04-30 22:36:12 -04:00
Jeff Young
7df9fa0631
Diffpair gap should only override clearance within a coupled diffpair.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-04-30 18:39:21 +01:00
Marek Roszko
6e874265fa
Autosize all of the layer columns to ensure dpi match
...
Fix #8202
2021-04-29 20:01:07 -04:00
Jeff Young
c149ed8905
Allow diffpair gap to override normal netclass clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-04-29 10:23:49 +01:00
Jeff Young
91421f9908
Separate logic for multi-select and click-select when filtering.
...
Also removes a bunch of old implementations of pad locking and
filtering which are no longer needed. (They're now handled by the
uniform locking code.)
Also removes some of the auto-promotion logic. Rotating a footprint
when a pad was selected is going to be surprising whether the pad
is locked or not.
Fixes https://gitlab.com/kicad/code/kicad/issues/8322
2021-04-29 00:07:35 +01:00
Marek Roszko
39a0bc6252
Remove erroneous block check in dxf import added during previous improvements
2021-04-28 18:48:59 -04:00
jean-pierre charras
4d9829ec8b
Fix some issues related to python scripts:
...
- make PadArray.py compatible python2/3
- fix a wxWidgets warning in pcbnew_scripting_helpers.cpp shown in some cases
2021-04-28 14:02:47 +02:00
Seth Hillbrand
78b555afa2
Filter Select All event against hierarchy
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8316
2021-04-27 16:58:45 -07:00
Tomasz Wlostowski
a433451bd8
router: 'root line' tracking in the SHOVE algorithm. See comments for detailed explanation.
2021-04-27 14:13:16 +02:00
Tomasz Wlostowski
3a8744d054
router: introduce concept of a root lines in the OPTIMIZER.
...
By 'root lines' we mean the oldest traceable ancestor of each track moved by the router
(i.e. after shoving for a while, the root of each shoved line is it's latest non-shoved version).
With this we can teach the OPTIMIZER more tricks, such as the LIMIT_CORNER_COUNT constraint. It ensures
the results of the optimization will not be less cornery than the original line, reducing the feeling
of the optimizer being too intrusive.
2021-04-27 14:13:16 +02:00
Tomasz Wlostowski
76f8861e6e
router: revert Seth's arc adjustment in StartDragging().
...
Fixes picking the last segment instead of the last vertex to drag (when one is requested).
I didn't notice any behaviour change of the dragger wrs to arcs.
2021-04-27 14:13:16 +02:00
jean-pierre charras
524ca442f3
Old python scripts: fix issues due to code change, and make them Python3/3 compatible
2021-04-27 11:55:56 +02:00
jean-pierre charras
b63c482347
Fix a link issue with pcbnew_wrap.cxx (MSYS + Windows 64 bits specific)
...
For some reason the .cxx file generated by SWIG cannot be linked if compiled
with debug options.
It creates a *lot* of not found symbols. So compile it with release mode (MSYS only)
2021-04-27 07:40:34 +02:00
Jeff Young
5bf37a9b24
Don't allow selection crossing a parent/child relationship.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8292
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-04-26 18:47:44 +01:00
Jeff Young
b65b1f8e9c
Revert NPTH commit, and add some comments.
2021-04-26 17:33:49 +01:00
Jon Evans
7afc3f7df9
Rearrange track width button to be more obvious
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8300
2021-04-25 19:58:11 -04:00
david-beinder
cbe8b1644a
Fix segfault after using group properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8302
2021-04-25 22:15:19 +02:00
Jeff Young
d2b6050792
Minor dialog spacing adjustment.
2021-04-25 19:26:05 +01:00
Jeff Young
e6bf922a77
Make sure connectivity is locked for zone filling.
...
See 1e33928b96
for the original addition and rationale.
2021-04-25 18:09:53 +01:00
Jeff Young
e3eacafbcb
Run hole clearance tests on NPTH pads, but not copper clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8295
2021-04-25 17:55:43 +01:00
Jeff Young
b7279c0bab
Don't allow rounding errors to flag DRC violations in hole2hole.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8295
2021-04-25 17:55:43 +01:00
Jeff Young
517bcb15b1
Formatting.
2021-04-25 17:55:43 +01:00
Jeff Young
953f579d59
Keep dialog fields in sync with dummyPad values.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8294
2021-04-25 14:19:38 +01:00
jean-pierre charras
93d42e9902
Pcbnew: Fix crash when importing a netlist created by a 5.1 Eeschema version.
...
Fixes #8293
https://gitlab.com/kicad/code/kicad/issues/8293
2021-04-25 15:13:55 +02:00
Jeff Young
eb85836234
Make sure we have footprint courtyards before depending on DRC rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8291
2021-04-25 12:45:06 +01:00
Jeff Young
1e8b23402c
Bump board format version for locked syntax fix.
2021-04-24 19:11:17 +01:00
jean-pierre charras
e27733587d
Fix 2 minor Coverity warnings.
2021-04-23 19:57:36 +02:00
jean-pierre charras
3be17ceb50
PANEL_SETUP_TRACKS_AND_VIAS: fix UI issues.
...
Fixes #8264
https://gitlab.com/kicad/code/kicad/issues/8264
2021-04-23 10:58:59 +02:00
Jon Evans
7569fc8aad
Bring back live move of footprint in 3D view if live refresh is on
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8220
2021-04-22 22:32:41 -04:00
Jon Evans
263e026ac4
Initialize grid visibility in appearance panel constructor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8266
2021-04-22 22:10:55 -04:00
Jonathan Haas
075bd788eb
Remove unused OBSTACLE_VISITOR::m_extraClearance
2021-04-23 01:53:09 +00:00
Jon Evans
3e96fb851c
Give diff pair toolbutton a menu also
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8233
2021-04-22 21:37:15 -04:00
Ian McInerney
ecd9bf696e
Be consistent about using nullptr instead of 0
...
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Wayne Stambaugh
54e18f6b1f
Pcbnew: remove update schematic option for geographical annotation dialog.
...
REMOVED: Update schematic option from geographical annotation dialog due
to potential issues with incomplete and/or broken updates. Use "Update
Schematic from PCB" tool to update reference designation changes.
Forcing the footprint reference designator changes back to the schematic
without checking any other board changes in the schematic could leave the
schematic in a undefined state. The update schematic from board tool is
the correct method to sync any changes from the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8042
2021-04-22 12:45:59 -04:00
Jon Evans
cf47d665ea
PNS: Dragged line needs to retain width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8246
2021-04-22 09:04:41 -04:00
Jon Evans
9b1890606d
PNS: Do not allow resolved optimal values to go below board minimums
2021-04-21 22:43:26 -04:00
Jon Evans
ae113ea299
DRC: inDiffPair should return false if the coupled net is missing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8268
2021-04-21 22:41:17 -04:00
Jon Evans
e7d3bf29aa
Don't save project for legacy board without explicit action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7368
2021-04-21 21:27:23 -04:00
Jeff Young
e5d029af6b
Margin layer missing from some edge clearance tests.
...
Fixes bug reported on KiCad Forums.
2021-04-21 21:58:47 +01:00
Jeff Young
61ce1b35ec
R/W dimension lock flags and update format for all lock flags.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-04-21 19:59:27 +01:00
Jeff Young
3b049b32cf
Show if pads, zones, and dimensions are locked in the status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-04-21 19:58:18 +01:00
Adam Wolf
25e2f35308
Remove no-longer-needed macOS wxPython things.
2021-04-21 12:50:31 +00:00
Adam Wolf
a06f0ca908
Clean up macOS Python3 paths
2021-04-21 12:50:31 +00:00
Adam Wolf
7357424efc
Update macOS to Python 3, wx 3.1, and Phoenix.
...
This is a work-in-progress. It could use testing while I continue to fix
the remaining pieces.
There are some changes that will be needed for signing and notarization.
This currently relies on a Python tool I wrote (dyldstyle) to fixup
KiCad.app correctly. I would like any bundle fixing necessary to use a
built KiCad on macOS to live inside KiCad, rather than in
kicad-mac-builder or elsewhere. While I was experimenting, I found this
worked, however, and I would love to get extra hands testing.
I added a CMake argument, MACOS_EXTRA_BUNDLE_FIX_DIRS, for devs and
packagers who have extra directories they need to add to
fixup_bundle on KiCad.app.
There's an issue about differing behavior when KiCad is opened via
the command line or via Finder/launchd.
2021-04-21 12:50:31 +00:00
Jon Evans
c973a447df
Make sure board netinfo list is updated when net inspector renames a net
2021-04-20 21:15:42 -04:00
Jon Evans
cbd7d698a9
Fix diff pair error message suffix suggestions
...
We accept diff pairs that end in N/P, no underscore required
2021-04-20 21:08:34 -04:00
Jon Evans
8792d7288d
Net inspector: Fix calculation of via length
...
We have a function for this in the BOARD_STACKUP now, and it returns
a more correct number (excluding the start and end copper layers)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8256
2021-04-20 20:03:38 -04:00
Jon Evans
2535daf661
PNS: Account for via stack height in diff pair length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8256
2021-04-20 19:31:10 -04:00
Wayne Stambaugh
a7f956581c
Pcbnew: fix board file formatting issues.
...
This does not required a board file version change. All of the changes
are white space formatting fixes and improvements.
2021-04-20 10:18:31 -04:00
Marek Roszko
ce3a84f579
Consolidate wx aui dock art color setting
2021-04-19 21:12:02 -04:00
jean-pierre charras
ba3f0d5d07
Fix a wxWidget assert and a minor wxWidgets alert
2021-04-19 15:01:00 +02:00
jean-pierre charras
287b0eea0f
TRACK::GetMsgPanelInfo(): For arc, display shape ("TRACK (arc)") and radius.
...
Also display "TRACK (arc)" in DRC error message, instead of just "Track".
2021-04-19 10:00:46 +02:00
Jon Evans
dd828bd964
PNS: Bring back original Highlight Collisions behavior
...
From discussion with Tom, Jeff, and Wayne, it appears as though
we all agreed that Highlight Collisions should behave like it
did in 5.1, which is to say, always just highlight collisions,
never prevent them. The Allow DRC Violations checkbox just
controls whether or not you can fix/commit the head line if it
has violations; you are not prevented from moving the head
line to violating positions in any case.
Right now, there does not seem to be much demand for a separate
"Stop at First Obstacle" mode since Walkaround basically does that
but better, but we agreed that if there is demand for it in the
future, it should be implemented as a new router mode rather than
a behavior of Highlight Collisions mode controlled by the Allow
DRC Violations checkbox.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7828
2021-04-18 21:01:07 -04:00
Tomasz Wlostowski
4538d78828
router: fix via shoving regression.
2021-04-19 00:43:30 +02:00
Tomasz Wlostowski
57de83897a
router: VIA SetDrill() and SetPosition() must update the hole shape too.
2021-04-19 00:43:15 +02:00
jean-pierre charras
dc3a73a2fb
PAD::MergePrimitivesAsPolygon(): add option to approximate circles outside the actual shape
...
When creating a polygon from an arc/circle, the small error due to approximation
can be now inside (when drawing/plotting the shape) or outside the circle
(when building a clearance area) like other pad shapes
Fixes #5313
https://gitlab.com/kicad/code/kicad/issues/5313
2021-04-18 20:10:00 +02:00
Jon Evans
ec6995697d
PNS: even more free performance
...
If this doesn't work, we have bigger problems
2021-04-18 09:50:06 -04:00
jean-pierre charras
2d9bac804c
Pcbnew: minor fix: remove extra spaces when outputting pad primitives section.
...
No format change.
2021-04-18 15:25:14 +02:00
Jon Evans
6425ad4118
PNS: Fix propagateDpHeadForces obstacle calculation
...
Using a synthetic via here doesn't quite let us use VIA::PushoutForce
because it will use the wrong clearance, and also doesn't quite have
the logic we want. I am not familiar enough with PushoutForce to know
if its logic is a bug in other cases, so instead I just brought in the
parts of its algorithm that are needed here.
Additionally, we prevent pushing more than once from a given obstacle,
which causes walkaround to be more successful when routing diff pairs
against a large collider such as a keepout area.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8232
2021-04-17 22:37:30 -04:00
Jon Evans
5974446523
PNS: Let's make the r-tree work for us
...
I'm not sure where the magic number of "4x worst" came from, but it's
been around forever. This is extremely inefficient as it negates much
of the power of r-tree filtering in dense designs. If we really trusted
it, we could set this just to worstClearance. Keeping it above the worst
clearance by a little bit seems to provide enough of a speed improvement
to resolve the test cases I have, so I'll go with that for now.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7777
2021-04-17 21:37:11 -04:00
Jeff Young
a577b6386d
Fix missing status bar update after undo/redo.
...
(Reported by Franck.)
2021-04-17 17:21:54 +01:00
Jeff Young
13473420e5
Remove duplicated routine and fix bug in UTIL version.
2021-04-17 15:10:59 +01:00
Wayne Stambaugh
2ae264751f
Rename class_board_stackup.{h|cpp} to board_stackup.{h|cpp}.
2021-04-16 17:07:06 -04:00
Jeff Young
3a6a919097
Improve clarity in the Print dialog around edge cuts layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8200
2021-04-16 16:53:51 +01:00
Jon Evans
29c45743b7
Fix calculation of arc lengths; include them in net inspector
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8140
2021-04-15 21:06:35 -04:00
Jon Evans
64c8befa01
Fix copy/paste error
2021-04-15 20:45:32 -04:00
Jon Evans
928d336bee
Only try to copy design rules file if it exists
2021-04-15 20:43:35 -04:00
Jeff Young
23a1f8b17a
Enforce board minimum clearance over local clearance overrides.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8199
2021-04-15 21:44:04 +01:00
Jeff Young
311bb9c36e
Save rules file when saving project.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8143
2021-04-15 10:23:38 +01:00
Jeff Young
9a282f081a
Document rules version clause.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8201
2021-04-15 10:23:38 +01:00
Jon Evans
4920692bcd
DIFF_PAIR_GAP_CONSTRAINT does not need to be restricted to two items
...
We just need one item to see what netclass we're in; the constraint
itself is specific to diff pairs so the condition doesn't need to be.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8205
2021-04-14 23:43:43 -04:00
Jon Evans
1d7e5a0443
Fix merge error that prevented a previous change from working
2021-04-14 23:30:16 -04:00
Jon Evans
433e148e08
Move some string formatting functions out of base_units
...
Keeping them in base_units means that we can't introduce
any dependence on these functions to anything that needs to
compile without one of the unit defines (EESCHEMA, PCBNEW, etc)
2021-04-14 23:21:10 -04:00
Jon Evans
268d570941
PNS: keep last valid diff pair trace as current state
...
This allows fixing/committing what is on screen even if the current
cursor position doesn't have a valid solution (the old behavior
would result in the current trace disappearing)
2021-04-14 23:21:10 -04:00
Jon Evans
c829dba88e
PNS: Reduce minimum distance to start turn in diff pair placer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8193
2021-04-14 23:21:10 -04:00
Jon Evans
cac4d70154
PNS: Respect fix-all in diff pair placer
2021-04-14 23:21:10 -04:00
Jeff Young
fe6cc0c3d8
Spokes are from center of pad, not from hole (ie: pad position).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8195
2021-04-14 11:34:26 +01:00
Jeff Young
f7cc6d1e1e
Fix save as and save copy as for project files.
2021-04-13 17:56:50 +01:00
Jeff Young
d79057b83a
Fix merge wreckage in building netclasses.
2021-04-13 17:56:50 +01:00
Jeff Young
94e8855c13
Generate changed message before making change.
...
Otherwise we've lost the "before" value.
Fixes https://gitlab.com/kicad/code/kicad/issues/8186
2021-04-13 13:43:30 +01:00
Jeff Young
55d2d0d93e
Fix some bugs in file save as.
...
The order of operations *appeared* to be a bit out of joint.
We need to create a new project in project mode as well as in standalone.
Fixes https://gitlab.com/kicad/code/kicad/issues/8143
2021-04-13 13:34:40 +01:00
Jon Evans
296a9df530
PNS: Pick up diff pair starting width from continuation track
2021-04-12 23:10:15 -04:00
Jon Evans
1d9ca181a2
PNS: Use existing seg direction if both DP segs are parallel
2021-04-12 22:34:13 -04:00
Jon Evans
37dd4038eb
Display options can change during the picker lifecycle
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7133
2021-04-12 22:12:48 -04:00
Jon Evans
36ef198610
Clean up nets from items when deleting in the inspector
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8162
2021-04-12 21:17:42 -04:00
Jon Evans
311cde0984
Safety check suggested by Coverity
2021-04-12 20:42:50 -04:00
Jon Evans
2aa5e568e8
Refactoring
2021-04-12 20:40:05 -04:00
Jon Evans
73fb85a352
PNS: Calculate diff pair primitive orientation using anchors only
...
The previous method fails if the primitive is an expanding or
contracting pair (diagonals going inward or outward) resulting in
incorrect orientation, which then leads to incorrect candidate
gateways being generated and no solution found.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8185
2021-04-12 20:34:44 -04:00
Jon Evans
94fad2944d
ConvertOutlineToPolygon: Don't crash if we didn't find a segment owner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8184
2021-04-12 19:59:55 -04:00
Jon Evans
715c61ac9f
PNS: Fix yet more arc edge cases
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8150
2021-04-12 19:59:55 -04:00
Roberto Fernandez Bautista
edb2136a0d
CADSTAR PCB: KiCad's minimum permitted Through Drill is 0.0508mm(2mils)
2021-04-12 20:25:05 +01:00
Roberto Fernandez Bautista
a3196a11a7
CADSTAR PCB: Be more specific with "allow thermal pads" DRC hack
...
Only tag the footprint as such when we know it has overlaping copper
over the pads with different pad numbers
2021-04-12 20:25:05 +01:00
Roberto Fernandez Bautista
b5edd5f6a5
CADSTAR PCB: Fix loading of thermal pads
...
- Create a pad if a component copper is associated with any other pads
in the footprint.
- Rename/renumber 'PCB Only' pads that are associated with a component
copper and make them all use the same pad name/number.
2021-04-12 20:25:05 +01:00
Roberto Fernandez Bautista
2eb96279a2
Fix FOOTPRINT copy constructor so it maintains ordering of containers
2021-04-12 20:25:04 +01:00
Jeff Young
a4c08e2af6
Apply Eeschema cursor updating architecture to PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8135
2021-04-12 11:11:11 +01:00
Jeff Young
2cba64b258
Fix missing env var expansion in pos file generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8178
2021-04-12 10:17:42 +01:00
Jeff Young
34ea6891b0
Formatting.
2021-04-12 10:17:42 +01:00
jean-pierre charras
675ec70f0f
PANEL_SETUP_BOARD_STACKUP: fix a wxassert due to a "C" locale test in a format function.
...
A call to FormatInternalUnits() was made without switching to "C" locale.
In this case it was not necessary, but FormatInternalUnits() expects in some tests
this locale, thus creating issues (assert and incorrect conversion)
Fixes #8177
https://gitlab.com/kicad/code/kicad/issues/8177
2021-04-12 09:57:40 +02:00
Jon Evans
49a91414d7
PNS: Apply co-linear seg merging to drag operations
2021-04-11 22:32:11 -04:00
Jon Evans
1c431d9929
PNS: Fix some off-by-one errors with arc dragging
2021-04-11 22:12:53 -04:00
Jon Evans
a26fc6d65d
PNS: Fix several issues with arc dragging
...
Do not merge vertices that belong to different arcs
Fix start segment identification after arcs
Fix free-angle drag after arc
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8150
2021-04-11 17:56:40 -04:00
Jeff Young
7d58c53e42
Apply new hole-dimming logic to via pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8144
2021-04-11 17:51:38 +01:00
Jeff Young
2cde76a191
Don't do any hole clearance testing within a single footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8141
2021-04-11 16:03:16 +01:00
Jon Evans
7ba110bd77
PNS: Fix dragging of segments with arcs in line
2021-04-11 10:18:57 -04:00
Thomas Pointhuber
a30894e5a1
Allow SHAPE_LINE_CHAIN and SHAPE_ARC to be mirrored using a SEG
2021-04-11 13:27:25 +00:00
Thomas Pointhuber
fe8fbf1d5d
Use arcs instead of line approximation for Miter shape
...
TODO:
* The resulting line chain is broken with the arcs, and
this appears to be some subsequent issue I was not able to pin down.
* The requirement of a correction factor is not clear to me
2021-04-11 13:27:25 +00:00
Jeff Young
cc956695ae
Hit test for worksheet before adding Properties to menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8171
2021-04-11 14:18:35 +01:00
Jeff Young
6072f5831b
Apply uniform spacing to orientation controls.
2021-04-11 10:33:26 +01:00
Jeff Young
29e5882637
Fix typo (found by Coverity).
2021-04-11 10:32:15 +01:00
Jeff Young
675444a646
Dim hole walls that don't pass through high-contrast layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8144
2021-04-10 22:41:38 +01:00
Jon Evans
5c448057c8
PNS: Prevent state flicker when starting drag
2021-04-10 16:31:39 -04:00
Jon Evans
7784d7cb12
PNS: Fix visible area restriction
...
VIEW::GetBoundary() returns the entire view area, not the visible area.
Surprisingly, we had no API for this, so I added one.
Also, changed the dragger behavior to toggle between optimizing just the
modified area and optimizing the visible area, i.e. we will now never
optimize off-screen portions of the dragged track.
2021-04-10 16:13:08 -04:00
Jon Evans
94afdcb92a
PNS: Allow control of area-restricted drag optimization
...
CHANGED: The interactive router settings now include a switch to
enable or disable optimization of the entire dragged track,
which is now disabled by default. When enabled, the router
will reroute the entire track (from the dragged segment to
the closest pad/via in each direction) to be more optimal.
When disabled, only the area around the dragged segment
will be modified.
CHANGED: The "optimizer effort" slider is removed from the interactive
router settings dialog, as this setting did not have any
meaningful impact in most cases and was a source of confusion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5918
2021-04-10 15:17:39 -04:00
Jonathan Haas
846e4aed42
Fix selection filter in Edit Text and Graphics dialog
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7966
Fixes https://gitlab.com/kicad/code/kicad/issues/8149
2021-04-10 15:49:23 +00:00
Jeff Young
dc0cf3b802
Clean up a confusing API.
...
AllowDRCViolations is kept in any mode as a *setting*, but only
controls router behaviour when the mode is mark obstacles.
Fixes https://gitlab.com/kicad/code/kicad/issues/7795
2021-04-10 11:08:02 +01:00
Jeff Young
176fcd43d8
Cleanup.
2021-04-10 10:04:02 +01:00
Jeff Young
252fad1cc7
These grids *must* have a border on OSX to render correctly.
2021-04-10 10:04:02 +01:00
Jeff Young
f606069bf6
Formatting.
2021-04-10 10:04:02 +01:00
Mikolaj Wielgus
43d8145304
Pcbnew: Snap to the closest point on graphic polygon border
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8164
2021-04-09 22:33:55 +00:00
Jonathan Haas
58dfb6539f
Change orientation and flip sign of dimension height when rotating orthogonal dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6940
2021-04-09 22:30:18 +00:00
Jeff Young
d2c7df155b
Don't show blind/microvia holes on layers they don't appear on.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8144
2021-04-09 17:14:53 +01:00
Jeff Young
3450610977
Add ability to allow thermal vias to be implemented as pads.
...
This is mostly just for CADSTAR. Since we don't (yet) have general
purpose footprint attributes, this reuses the "net tie" hack.
Fixes https://gitlab.com/kicad/code/kicad/issues/8141
2021-04-09 14:02:13 +01:00
Jon Evans
619a353c5e
Decouple 3D view dirty marking and refresh
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8154
2021-04-08 22:09:19 -04:00
Seth Hillbrand
7b3c7e1ef3
Fix some free/delete issues
...
Removes the C-format memory management
2021-04-08 16:58:45 -07:00
Ian McInerney
9939af3e27
Fix color handling in the stackup manager panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5671
2021-04-09 00:56:31 +01:00
Ian McInerney
401bc53038
Move the DRC constraints page into a scrolled window
...
We seem to be getting a lot of these now, and it was
being cutoff by default - so make it a scrolled window
like the severities.
2021-04-09 00:56:31 +01:00
Ian McInerney
5490a85f97
Don't recompute the board thickness on UI update
...
The thickness only needs to be computed when the actual
values change, so computing on UI update is a waste of
resources and can cause UI lag.
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-09 00:56:31 +01:00
Mikolaj Wielgus
d64de3808f
Pcbnew: Snap to group items
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7694
2021-04-08 23:22:19 +00:00
Jeff Young
a8b40bf683
Avoid Clipper when possible.
...
When expanding an error to the outside of a rounded corner pad we
need to trim it to the pad bounding box or else we get little ears
where the circle approximation meets the pad square. This is expensive,
and for clearance lines we don't really care whether the error is
inside or outside.
Fixes https://gitlab.com/kicad/code/kicad/issues/8157
2021-04-08 22:37:14 +01:00
Jeff Young
5ea68c7694
Copy some bug fixes from DRC dialog across to Footprint Checker.
2021-04-08 22:37:14 +01:00
Jon Evans
4521091cc1
Do not invalidate geometry when all we need is a repaint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8157
2021-04-08 17:35:51 -04:00
Jon Evans
d878cbddbc
PNS: a few forgotten cleanup items
2021-04-07 23:34:45 -04:00
Jon Evans
c9040a5c53
PNS: fix some weirdness identified by PVS
2021-04-07 23:16:56 -04:00
Jon Evans
e0f26fd525
Make live 3D refresh optional
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8068
2021-04-07 22:39:30 -04:00
Jon Evans
d4957b112e
PNS: Keep last valid drag solution in the node
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5450
2021-04-07 21:59:23 -04:00
Jon Evans
26835f582c
Some situations require more than one dummy
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7820
2021-04-07 21:30:18 -04:00
Jon Evans
9432484394
PNS: Find origin segment correctly when arcs are present
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8139
2021-04-07 20:28:30 -04:00
Ian McInerney
18f07024a6
Simplify UI event handling in pcbnew global edit dialogs
...
Instead of enabling/disabling the controls on every possible
UI event in these dialogs, only do it when the actual control
wants to know if it should change status.
2021-04-07 17:39:48 +01:00
Ian McInerney
1a727558b0
Switch update event handlers to use the event instead of pointers
...
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01:00
Ian McInerney
29cc16a4c4
Push pcbnew layer alpha change update into base frame
...
This code was shared between the footprint frame and
pcb edit frame, so push it into the base edit frame.
Also remove the dummy wxUpdateUIEvents that weren't
actually being used.
2021-04-07 17:39:48 +01:00
Jeff Young
3fd3be9843
Layer fixes for PCBNew drawing tools.
...
1) Implement layer changes for dimension drawing tool
2) Ensure drawing layer is visible for (1) and for the text drawing
tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/8106
2021-04-07 15:02:48 +01:00
Jeff Young
e50b450092
Formatting and organisation.
2021-04-07 14:50:29 +01:00
Roberto Fernandez Bautista
85efdb85b0
CADSTAR PCB: Ensure continuous track routes
...
When route offsetting, add an additional thin track to ensure
end point of one track and start point of the next are at the same
location.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8131
2021-04-07 11:28:02 +00:00
Roberto Fernandez Bautista
211fd65c23
Move: Ignore mouse up and click events until a mouse move / drag event
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8123
2021-04-06 17:29:52 +00:00
Jeff Young
09b2db3139
Test for group in footprint was snagging all footprint children.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8121
2021-04-06 18:27:43 +01:00
Jon Evans
9f957d3e08
Fix crash when attempting to tune discontinuous lines
...
Also correctly find the tuning path through arcs
https://gitlab.com/kicad/code/kicad/-/issues/8131
2021-04-06 09:07:11 -04:00
Roberto Fernandez Bautista
235688e459
Less restrictive Arc Track Dragging tool
...
Use the connecting straight tracks even if not exactly parallel - allow
an error margin configurable in ADVANCED_CFG (default 1 degree). Also
be less strict about end point matching and use the width of the track
as the criteria to determine suitability.
Finally, delete any short lengths of track at the end of the operation
and amend the arc end points to keep connectivity.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7967
2021-04-06 12:52:01 +00:00
Roberto Fernandez Bautista
0a2c8575ce
ZONE properties: stage commit even if !Settings().m_AutoRefillZones
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8028
2021-04-06 12:52:01 +00:00
Jeff Young
69fd0b38ff
Remove a couple of unused OnUpdateUI handlers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-04-06 13:47:15 +01:00
Jeff Young
daaf738c7f
Add save-as files to file history.
...
Also fixes where lock wasn't getting reset on a Save As.
Fixes https://gitlab.com/kicad/code/kicad/issues/8111
2021-04-06 13:35:26 +01:00
david-beinder
b2f788adc1
PNS: Fix UseConnectedTrackWidth when starting from ARCs
2021-04-06 01:27:13 +00:00
Jon Evans
e46c9d35ac
Add undo/redo handling to length tuner event loop
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8129
2021-04-05 19:58:14 -04:00
Jon Evans
24cd174a23
Don't dereference a possibly-invalid optional
2021-04-05 19:34:57 -04:00
Jeff Young
ec45855aed
Make sure drawing layer is visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8106
2021-04-06 00:06:23 +01:00
Roberto Fernandez Bautista
9a764126ce
CADSTAR PCB: Keep all tracks as a single chain where possible
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8119
2021-04-05 20:15:09 +01:00
Jon Evans
a6c3d74a73
Pass active layer to StartRouting in length tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7857
2021-04-04 21:51:54 -04:00
Jon Evans
a24bc34b66
Better colors for length tuning popup in dark mode
2021-04-04 20:33:59 -04:00
Jon Evans
c7ecb51f77
Update PNS length tuning algorithm to match the new BOARD algorithm
...
Now tracks inside pads are optimized to give a more accurate length.
Also, the start/end of the assembled line is used to identify the right
pad joints for pad-to-die length calculation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4204
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1765
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6877
2021-04-04 20:27:22 -04:00
Jon Evans
41c54d383e
Fix some edge cases with length calculation
2021-04-04 19:38:54 -04:00
Jon Evans
cdfb014ab6
CHANGED: Account for via height in track length calculations
2021-04-04 13:59:18 -04:00
Jon Evans
80728f8d78
Improve algorithm for calculating net length; use it for netinfo message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4258
2021-04-04 12:27:09 -04:00
Jon Evans
6b24abac8f
PNS: Don't snap to end items if snapping is disabled by modifier key
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8033
2021-04-04 10:22:23 -04:00
Jeff Young
52ca7ed27c
Naming conventions.
2021-04-04 10:43:56 +01:00
Jeff Young
c1df77f59b
Terminology.
2021-04-04 10:32:24 +01:00
Jeff Young
98e6a089ab
Treat board edges same as graphics for locked/unlocked.
...
It would appear that not using the locked/unlocked graphics filters
is confusing too (see deleted comments in code).
Fixes https://gitlab.com/kicad/code/kicad/issues/8114
2021-04-04 10:27:26 +01:00
Jeff Young
2c3ee0d85f
Don't forget CommitPendingChanges.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8083
2021-04-04 01:02:31 +01:00
Ian McInerney
83ae28f04f
Fix selection when pasting/duplicating items
...
The item flags weren't getting reset after placing
the new items, so the next operation on them was
having weird behavior.
Fixes https://gitlab.com/kicad/code/kicad/issues/7528
2021-04-03 19:09:21 +01:00
Carsten Schoenert
cb17c9f3dd
Typo fix: Correct various misspelled words
...
agressive -> aggressive
decription -> description
miscellanous-> miscellaneous
rectange -> rectangle
Unkown -> Unknown
2021-04-03 13:39:50 +00:00
Carsten Schoenert
8dff3725ac
Typo fix: Correct 'allow to' -> 'allows one to'
2021-04-03 13:39:50 +00:00
Jeff Young
52aea0a2c9
Consistent terminology.
2021-04-03 11:15:11 +01:00
Jeff Young
c5536b2cab
Title case in menus.
2021-04-03 11:15:11 +01:00
Mikolaj Wielgus
aa09d6448a
Pcbnew: Allow Create Array on groups
...
Also removes possible null pointer dereferencing.
Fixes https://gitlab.com/kicad/code/kicad/issues/7515
2021-04-03 09:06:49 +00:00
Jon Evans
a8896ebd73
Don't show leading ratline for unconnected net
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8040
2021-04-02 20:29:25 -04:00
Mikolaj Wielgus
d7a95e2af4
Rotate FP_TEST properly when flipping
...
The angle was `-angle` instead of `180 deg - angle` when flipping top to
bottom.
Fixing that, in turn, created some problems with justification, which
was modified both by `FP_TEXT::Flip()` and `FP_TEXT::KeepUpright()`.
What's worse, `FP_TEXT` has another mechanism for keeping the text
upright: `FP_TEXT::GetDrawRotation()` returns different angles if the
"keep upright" flag is set. But there is no analogous behavior for
justification, so the text would sometimes get shifted, and sometimes
not, depending on which mechanism was engaged. And both are used,
apparently.
Clearly, such an arrangement an open invitation to bugs and
inconsistencies. One of these mechanisms should be removed. I haven't
done this yet, and would prefer to postpone this until V6 is out.
I've fixed the justification problems, but this was by trial-and-error,
and I don't feel I really understand the behavior responsible. But I
think it's a good sign that most of my changes are line removals, not
additions. Flipping is a simple operation, it's just mirroring and layer
change. If something simple has a complicated routine, then it's
probably full of hacks.
Fixes https://gitlab.com/kicad/code/kicad/issues/7289
2021-04-02 21:13:21 +00:00
Mikolaj Wielgus
0a660c2364
Pcbnew: Remove 180 deg rotation when flipping PCB_TEXT in some cases
2021-04-02 21:13:21 +00:00
Mikolaj Wielgus
99fd872fce
Pcbnew: Do not move footprint fields twice in align/distribution tools
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8094
2021-04-02 21:09:36 +00:00
Mikolaj Wielgus
7655533412
Do not move footprint fields twice when performing Move Exactly
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8062
2021-04-02 21:07:59 +00:00
Ian McInerney
1931677316
Ensure the layer dropdowns are correctly sized
...
On GTK, the layer dropdown was sized based on an empty list,
so for non-default fonts it would be undersized and cutoff
the font.
2021-04-02 21:33:31 +01:00
Ian McInerney
1db5e2bc96
Don't force an entire refresh of toolbars to update sizes
...
Forcing an entire refresh of the toolbars is wasteful,
so instead just update the sizers directly.
2021-04-02 19:12:21 +01:00
jean-pierre charras
d3bf20e80b
Pcbnew, place free via: take netcode from the pad, if the via is inside a pad.
...
Fixes #8089
https://gitlab.com/kicad/code/kicad/issues/8089
2021-04-02 17:19:44 +02:00
Jeff Young
f88d39b4f0
Fix state issue in router's switch layer handling.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7590
2021-04-01 18:10:04 +01:00
Jeff Young
f6f31b7654
Get rid of save warning after Footprint Editor Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8084
2021-04-01 11:17:24 +01:00
Jeff Young
94470bfa15
Minor cleanup.
2021-04-01 11:10:01 +01:00
Jeff Young
0c4184f1a4
Split lib tree initialization into a two-pass affair.
...
This is under the supposition that we can't set the column widths
on some Mac instances because the host controls haven't yet been
created. This is primarily conjecture based on looking at things
that have the *possibility* of going wrong. Why this only happens
in some installs is beyond me.
Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-04-01 10:51:29 +01:00
jean-pierre charras
90abc8ba8b
Excellon drill files: slightly change comments inside files
2021-04-01 07:38:00 +02:00
Jeff Young
b6f2941a06
Another try a allowing touching courtyards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8076
2021-03-31 22:54:30 +01:00
Roberto Fernandez Bautista
a530c22eff
Shorten "Allow free pads" tooltip and rename button "Skip Locked Items"
2021-03-31 18:28:18 +00:00
Roberto Fernandez Bautista
7077e59395
Make moving pads independent of footprint much harder with new setting
...
It is still possible to move a pad independent of footprint through
the pad properties dialog. This is a much more conscious decision
than using the move tools.
ADDED: "Allow free pads" preference setting in pcbnew, default to off.
When enabled, allows moving unlocked pads independent of the footprint
(i.e. previous behaviour). When disabled (default), any attempt to move
a pad will move the parent footprint instead.
REMOVED: "Lock pads of newly added footprints" preference setting in
pcbnew. (Pad lock state is now loaded from the footprint definition)
CHANGED: There are now only two possible lock states for a footprint:
locked and unlocked. The lock state of the pads in the footprint is
now independent of the footprint lock state.
Also fixed a latent bug that would allow a pad to be moved when the
parent footprint was locked (see m_selectionTool->RequestSelection
lambdas in edit_tool.cpp)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7739
2021-03-31 18:28:18 +00:00
Jeff Young
737262ffa8
Allow touching courtyards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8076
2021-03-31 10:44:59 +01:00
Ian McInerney
0a0935e0f3
Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
...
After commit 9535153f9e
there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Jeff Young
8cb6f15687
Warn when diff pair router can't start due to too-small-gap.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7795
2021-03-30 19:49:23 +01:00
Roberto Fernandez Bautista
b151dd02b9
CADSTAR PCB: Fix incorrect solder mask/paste clearance
...
Need to divide by two as this is a clearance, not diameter.
2021-03-30 13:03:56 +00:00
Roberto Fernandez Bautista
ad2043eda6
CADSTAR PCB: DrillXoffset and DrillYoffset are zero when not specified
...
Fixes an issue that resulted in pads being loaded 100nm off from the
original CADSTAR position.
2021-03-30 13:03:56 +00:00
jean-pierre charras
6eb2e2a6e3
Fp editor: do not change item UUIDs when loading a footprint from library.
...
Fixes #8066
https://gitlab.com/kicad/code/kicad/issues/8066
2021-03-30 12:58:22 +02:00
Jon Evans
78a60e9dfb
PNS: Put polygon error outside pad shapes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7672
2021-03-29 19:49:59 -04:00
Jon Evans
6cbc3fb97d
Fix a minor inconsistency between router and DRC
...
Also make sure collision highlighting runs at the starting
location of a drag.
See: https://gitlab.com/kicad/code/kicad/-/issues/7672
2021-03-29 19:41:17 -04:00
Jon Evans
8be9832153
PNS: Don't highlight Net 0 (the unconnected net)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8040
2021-03-29 17:45:07 -04:00
Wayne Stambaugh
38c849bde7
Pcbnew: load write board netlist to file tool action dynamically.
...
Loading this advanced configuration option statically will cause it to
show up in the hotkey list even when the option is disabled. Creating
the tool action at run time resolves this issue.
2021-03-29 09:04:55 -04:00
jean-pierre charras
3c51964c57
drill report: use more digits in float values for diameters.
...
(Use same resolution in map and rpt files)
2021-03-29 13:02:43 +02:00
Jeff Young
f2e68e68d0
Add "Hide Tree" context menu options when tree has no selection.
...
Also cleans up some other code to be more consistent between symbol
editor and footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8052
2021-03-29 12:02:00 +01:00
Wayne Stambaugh
6d2f80b4cf
Pcbnew: add write board netlist to file support.
...
This is hidden behind an advanced configuration setting and is primarily
useful for developers trying to troubleshoot the netlist payload sent
from the board editor to the schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8051
2021-03-28 08:38:29 -04:00
Ian McInerney
475ac3697f
Ensure toolbar controls have the correct width on frame creation
...
Otherwise they could be slightly too small and then look odd.
2021-03-28 13:07:56 +01:00
Jon Evans
d0d6352a25
Fix crash launching footprint editor frame
...
Apparently we get this event before the frame is fully-baked
2021-03-27 23:48:07 -04:00
Ian McInerney
42c6af4bd8
Cleanup ACTION_MENU creation in some places
...
The ACTION_MENU constructor now takes the tool as an argument,
so the call to SetTool() immediately following it can be removed
and the tool just passed into the constructor.
2021-03-27 19:16:58 +00:00
Ian McInerney
9535153f9e
Move the import graphics menu item to the action
2021-03-27 19:04:16 +00:00
Ian McInerney
7bfa8575fa
Remove redundant information from import/export menu item labels
...
Saying "Import/Export" on the labels when the submenu has "Import"
or "Export" in it is redundant.
Note that we can't just update the action text with the new name,
because that is used in the hotkey list and would become too confusing
without the "Import"/"Export" text.
2021-03-27 18:50:35 +00:00
Konstantin Baranovskiy
eb8744816e
pcbnew: fix the i18n of the rules syntax help
2021-03-27 16:26:13 +00:00
Ian McInerney
f6041fb52d
Force update of some text when activation status changes
...
The text areas aren't always redrawn when the window is activated
or deactivated, so we need to force a refresh of the text to ensure
it is the correct font color.
2021-03-26 15:50:56 +00:00
jean-pierre charras
d18323dcf0
Excellon file writer: remove not very useful comments outsider the header section.
...
Looks like comments outside header section can create problems in some readers.
Note: comments inside header section are clearly allowed in Excellon file format)
(trial to fix bug 8032)
2021-03-26 09:46:32 +01:00
Jon Evans
132ec37b56
Handle arc in buildHullForPrimitiveShape
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8008
2021-03-25 21:25:30 -04:00
Roberto Fernandez Bautista
34a435cd56
CADSTAR PCB: Handle import of pads with different paste and mask sizes
...
KiCad doesn't yet support full padstacks, but at least we can use the
solder mask / solder paste expansion to import a better result. Also
we can disable the specific layer if the shape has a size of zero.
2021-03-25 17:54:56 +00:00
Roberto Fernandez Bautista
107a1990c9
CADSTAR PCB: Handle route offset
...
The CADSTAR post processor has a peculiar feature called "route offset"
which effectively shortens tracks when the pad, track or via that it
connects to has a smaller width. This operation is not saved in the
design itself, but applied as a post processing operation meaning that
the importer has to apply it when loading on the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6648
2021-03-25 17:50:33 +00:00
Roberto Fernandez Bautista
1468764f83
CADSTAR PCB: Lock footprint pads after import
2021-03-25 17:50:33 +00:00
Jeff Young
3279e295ac
Don't start filling zones with possibly stale caches.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8014
2021-03-25 17:20:08 +00:00
Jeff Young
a2ffb45698
Update diff pair rule syntax to be clearer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8010
2021-03-25 10:29:38 +00:00
jean-pierre charras
bbd7b4ca8c
Eeschema, selection tool: uniformize the cursor shape and the actual modifiers.
...
SHIFT, CTRL, ALT modifier keys were handled in 2 different codes, one for
the selection tool and another to modify the mouse cursor shape, with 2
different configs.
Now the modifiers are managed from only one function.
Pcbnew: group also SHIFT, CTRL, ALT modifier keys management to a specific function.
Fixes #8021
https://gitlab.com/kicad/code/kicad/issues/8021
2021-03-25 10:28:20 +01:00
jean-pierre charras
9a0f9575b6
Fix minor Coverity warnings
2021-03-25 09:12:24 +01:00
firebladed
41839f7e3f
Update panel_setup_rules_help.md diff pair clearance example to use new A.isCoupledDiffPair() function
2021-03-25 03:33:19 +00:00
Jon Evans
cb722c6bfa
Code style
2021-03-24 18:11:32 -04:00
qu1ck
75819206a0
Add support for dark theme in plugin icons
...
Action plugin authors can specify alternative icon path for dark theme.
If it's not specified then standard icon will be used for both light and
dark themes. If neither icon is specified then the default puzzle piece
icon is used.
Fixes #7984
2021-03-24 21:59:30 +00:00
Wayne Stambaugh
b37b7d53b4
Fix geographic annotation bug when back annotating to schematic.
...
For some reason, the footprint UUID was being prefixed to the sheet path
which caused the symbol look up by sheet path to fail. An option was
added to not do this when the geographical back annotation to the schematic
is performed.
2021-03-24 09:57:36 -04:00
Marek Roszko
e409b04538
More gracefully handle tinyspline not liking a spline definition
...
Partial fix for #6634
2021-03-24 00:37:01 -04:00
Jon Evans
f57dcf2a34
Fix connectivity to only resolve conflicts on netlist load
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8007
2021-03-23 17:43:24 -04:00
Jeff Young
a94ce75c02
Fix multiple filter calls that were producing false cache positives.
...
When processing a compound shape we'd decide the first of them didn't
collide and then put false into the cache. The cache value would then
be used for all the other shapes in the compound shape, which very well
might actually collide.
Fixes https://gitlab.com/kicad/code/kicad/issues/8003
2021-03-23 21:06:16 +00:00
Ian McInerney
a94a481574
Fix compile warnings
...
Some simple warnings and also a deprecation warning from wx
because they felt that a function should be renamed...
2021-03-23 19:46:49 +00:00
Jon Evans
4dbeb15024
Use a worker thread to send socket commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6503
2021-03-23 03:20:40 +00:00
Jon Evans
381cc27548
Add missing include
2021-03-22 21:25:03 -04:00
Jeff Young
49b1aceb8b
Handle doc urls enclosed in parens.
...
It seems this has become a common pattern in at least some of our
libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/7963
2021-03-22 21:20:54 +00:00
Jeff Young
f24f0d93a5
Make OK default in inspectors (and hook up to close window).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7831
2021-03-22 21:20:54 +00:00
Jonathan Haas
a677998f47
Don't select new items after cancelling move following item duplication
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7956
2021-03-22 18:49:43 +01:00
Jon Evans
9ce34102af
Make sure projects get created for boards migrated from 5.x
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6886
2021-03-21 16:21:44 -04:00
Jeff Young
8be213e36f
Trim includes (and use consistent terminology in error messages).
2021-03-21 20:15:47 +00:00
Roberto Fernandez Bautista
a9eb83201e
Remove ZONE::ClearFilledPolysList() and fix ZONE::Unfill()
...
ClearFilledPolysList is redundant and Unfill() was missing the clearing
of m_insulatedIslands
This fixes potential latent bugs in zone unfilling.
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
50aafb9d2a
Do not auto-refill zones when added or edited
...
The only exception is when using the Zone Properties Dialog and
user preference is enabled
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
7a255edc5f
Panel Edit Options: Fix "Show Page Limits" tooltip message
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
f6c4677189
ADDED Option to disable automatic zone filling in pcbnew
...
The new setting is stored as 'editing.auto_fill_zones' and controls
whether zones should be refilled after certain actions or not.
2021-03-21 20:13:20 +00:00
Roberto Fernandez Bautista
a743e0c52b
Add Zone fill to undo stack
...
Allows undoing zone filling and reverting to previous fill state.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7440
2021-03-21 20:13:20 +00:00
Jon Evans
5e0b65c3a8
Change wording of corner rounding action
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4505
2021-03-21 15:55:56 -04:00
Jon Evans
37242f67e0
Connectivity: just pick the most popular net to update conflicting clusters
...
CHANGED: when pad net assignments are changed in a conflicting way (i.e.,
tracks exist that short out more than one net after the change,
track nets will be updated to the net with the most pads).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7929
2021-03-21 15:31:37 -04:00
jean-pierre charras
f0ed5fab39
add missing include for wxWidgets 3.1.4
2021-03-21 17:35:20 +01:00
Jon Evans
e1840ccbd3
Handle exceptions thrown by footprint library table
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7973
2021-03-21 11:43:24 -04:00
Thomas Pointhuber
68f3d09ac1
altium: introduce tokenizer for query language
...
Based on this tokenizer, a LL1 parser will be built in the future.
2021-03-21 16:39:23 +01:00
Jeff Young
fe196771d8
Implement isCoupledDiffPair() DRC rule function.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-03-20 23:07:36 +00:00
Jeff Young
44e2151ade
Allow diffpair gap to override netclass clearance value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7975
2021-03-20 21:53:30 +00:00
Jeff Young
ce46fe6581
Add insideFrontCourtyard and insideBackCourtyard DRC functions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7972
2021-03-20 21:53:30 +00:00
Jeff Young
07aea4339d
Formatting.
2021-03-20 21:53:29 +00:00
jean-pierre charras
4a53917efa
wrml exporter: optimize circle to segment approximation.
2021-03-20 18:16:58 +01:00
Jon Evans
f1c599fa4d
Tweak PCB selection behavior to reduce unintuitive behavior
...
We were discarding shapes too aggressively for having a
larger area than a shape underneath.
Let's also try showing fewer disambiguation menus, in particular
always preferring items on the active layer when the candidates
include overlapping items of similar area on other layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7949
2021-03-20 13:11:51 -04:00
Jon Evans
6924b98bc3
Remove deprecated BRIGHT_BOX preview item
2021-03-20 12:09:20 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
jean-pierre charras
6d5536707c
wrml exporter: remove all duplicate code with Pcbnew. Especially, converting layers to polygons exist in Pcbnew, so no need to rebuild item shapes in the exporter. Moreover, in exporter, rebuilding shapes was not up to date and did not include changes in Pcbnew.
2021-03-20 13:44:52 +01:00
jean-pierre charras
4073153e75
vrml exporter: fix incorrect export of zones on solder mask layers. minor changes in colors.
2021-03-20 11:13:55 +01:00
Jon Evans
7a8abcadd2
PCB_SHAPE: Use SHAPE_ARC as the effective shape of an arc
2021-03-19 22:43:43 -04:00
Jeff Young
6c3b02aabe
Cleanup (no functional changes).
2021-03-19 16:14:34 +00:00
jean-pierre charras
3fec3a3a15
Fix a minor Coverity warning
2021-03-19 15:01:16 +01:00
Jeff Young
90742bba9f
Adjust constraints after editing other points.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7103
2021-03-19 11:35:17 +00:00
Jeff Young
4034fcb7ac
Fix yet another edge case in B&W printing of holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7944
2021-03-18 23:50:04 +00:00
jean-pierre charras
af88b01068
export_vrml: Better export of pad shapes, both on copper and paste layers.
...
It removes duplicate code between Pcbnew and the vrml exporter.
Remove also an useless option (plain board) that exported just the board body.
2021-03-18 20:43:27 +01:00
jean-pierre charras
8d5161dae2
export_vrml: more code cleanup and export solder mask
2021-03-18 16:44:28 +01:00
Jonathan Haas
95051c4786
Also duplicate arcs in pcbnew
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7943
2021-03-18 13:35:30 +00:00
Jean-Samuel Reynaud
e377f2667e
Adding COMMIT support before/after invocation of a python script
...
Allows undo/redo of ACTION_SCRIPT commands
2021-03-18 12:52:17 +00:00
jean-pierre charras
16ef1910ff
export_vrml: more code cleanup and fix incorrect shape of round chamfered pads
2021-03-18 13:35:06 +01:00
jean-pierre charras
074f0432f0
vrml exporter: more cleaning code and enhancements. Dialog exporter: Add option to use board center as coord origin.
2021-03-18 09:52:04 +01:00
jean-pierre charras
b050823c98
export_vrml.cpp: mainly clean code and add some fixes.
2021-03-18 09:52:03 +01:00
Jeff Young
36259b1f6b
Refresh lib trees after editing library tables.
...
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.
Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young
46d71f0d23
Go back to validate-on-OK, but stop doing design checks.
...
If we keep doing design validations at two different places, they can
only start to drift apart. Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.
This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why. We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
pgvoorhees
bb8d31cd06
Fix context item selection filter type omissions
...
Fixes #7839
2021-03-16 13:08:50 +00:00
Jeff Young
cad1cb0262
Improve naming.
2021-03-16 12:07:06 +00:00
Jeff Young
c7648b4dba
Formatting.
2021-03-16 12:07:06 +00:00
Jeff Young
2ad9da582a
Refresh geometry when clearance changes if clearance lines are shown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7906
2021-03-16 12:07:06 +00:00
Mikolaj Wielgus
c3c3649211
Stop text from causing a shift during flip when >1 items are selected
...
1e1be730
fixed this only for one item.
Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-15 21:24:16 +00:00
Jeff Young
b2ac9cc29f
Formatting & naming conventions.
2021-03-15 19:04:59 +00:00
Fabien-B
a086795ac9
Pcbnew: fix dimensions text rotation and position.
...
Issue #6940 is not addressed, as being able to
rotate a dimension with a group is preferred over
easily rotating the text.
Fixes https://gitlab.com/kicad/code/kicad/issues/3847
2021-03-15 15:44:36 +00:00
jean-pierre charras
cb451dc4b2
Pcbnew: Fix memory leaks and fix inefficient code.
2021-03-14 20:27:59 +01:00
Jon Evans
52e2bf0000
Keep focus on filter boxes in footprint viewer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4884
2021-03-14 15:10:20 -04:00
jean-pierre charras
a1b4bcc210
Refinements (add icons to menuitems and better help strings)
2021-03-14 18:44:31 +01:00
jean-pierre charras
c763b0088e
Fix some issues in drawing_stackup_table_tool.cpp
2021-03-14 17:44:16 +01:00
jean-pierre charras
3ba7fc0cc2
Move board stackup table drawing code from drawing_tool.cpp to drawing_stackup_table_tool.cpp
...
This avoid a too large drawing_tool.cpp file.
Remove also values in internal units and convert them to mm.
2021-03-14 17:44:16 +01:00
Jon Evans
521982cbf6
Avoid double-redraw on board load
2021-03-14 11:42:09 -04:00
Jon Evans
2cbd7b5043
Reduce scope of some view repaints to improve performance
2021-03-14 11:42:09 -04:00
jean-pierre charras
2528e1fc98
EXCELLON_WRITER: update info in comments.
2021-03-14 12:38:03 +01:00
jean-pierre charras
953279ce70
Gerber plot: fix missing AperFunction attribute for texts.
...
Fix also a incorrect AperFunction attribute for graphic items on Edge.Cuts
in footprints
2021-03-14 12:37:13 +01:00
Fabien Corona
f428ce03f2
ADDED: pcbnew - stackup / characteristics table
2021-03-13 20:19:46 +00:00
Jeff Young
18470693fe
Copy linewidths when coverting to polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7893
2021-03-13 17:06:49 +00:00
Jeff Young
93db7a130a
Offset 3D models when moving footprint origin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7868
2021-03-12 17:37:38 +00:00
Jeff Young
faf9cca938
Fix many cases of old mils flag getting interpreted as allowEval flag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +00:00
Jeff Young
24fd326cd1
Make sure we have different strings for past & future tense.
...
(In English both were 'Set', but that means our translation framework
won't support two different strings in other languages. Changed to
'Add' and 'Added'.)
Fixes https://gitlab.com/kicad/code/kicad/issues/7888
2021-03-12 14:59:38 +00:00
Jeff Young
ba46a8d12d
Fix some layout issues resulting from wxWidgets version bump.
2021-03-12 14:54:54 +00:00
Jeff Young
a01bd52571
Use default line width when creating polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7876
2021-03-12 14:54:54 +00:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young
4db10d419d
Implement future & past tenses for dry-run vs. changes made report.
...
Also improves zone reporting to list either the zone name or the layer
and coordinates.
Fixes https://gitlab.com/kicad/code/kicad/issues/7851
2021-03-11 12:34:02 +00:00
Jeff Young
ea9c269914
Don't fill polygons converted from lines.
...
The lines couldn't have been filled, so the polygon shouldn't start
out filled either. The user can set it to filled if they want.
Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:42:21 +00:00
Jeff Young
4b88d4beed
Don't police the user.
...
There are too many holes and the police-state just makes it harder to
get back from error conditions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:38:32 +00:00
Jeff Young
e48f86bfd6
Move default assignment on Mac.
...
CHANGED: add corner and repeat last command now default to 'I' instead
of '<insert>' on Mac.
1) wxWidgets doesn't currently display the correct graphic in the menu
for the insert key
2) Mac laptops don't have an instert key
Fixes https://gitlab.com/kicad/code/kicad/issues/5016
2021-03-10 13:35:04 +00:00
Wayne Stambaugh
d4231d8e9f
Pcbnew: add footprint keepouts to Specctra DSN exporter.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7684
2021-03-10 07:18:37 -05:00
Marek Roszko
3d4ac9af03
Relocate win32 resource files to the central folder for further consolidation
2021-03-09 21:48:14 -05:00
Wayne Stambaugh
d160b30ff1
Pcbnew: add keepout helper methods to ZONE object.
2021-03-09 08:13:06 -05:00
Jeff Young
60b17e727a
Make sure pad locked flags get transferred on ExchangeFootprint.
...
They used to be in the footprint but were moved to the individual
pads a few months ago.
Also applies to text items.
Fixes https://gitlab.com/kicad/code/kicad/issues/7844
2021-03-09 12:29:14 +00:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jeff Young
2bc10d58b5
Fix some cases where PCB_FP_ZONE_T was left out.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7615
2021-03-08 13:00:46 +00:00
Jonathan Haas
274d4e2eb4
Fix orientation of orthogonal dimensions
...
When drawing and editing orthogonal dimensions, take distance and
relative position to the end points into account.
Fixes https://gitlab.com/kicad/code/kicad/issues/7243
Fixes https://gitlab.com/kicad/code/kicad/issues/7189
2021-03-08 00:13:38 +00:00
Mikolaj Wielgus
0f22b54cd8
Clip the leader lines properly when using circular text frame
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7810
2021-03-07 21:19:19 +00:00
Jon Evans
720147d272
Remove transitive inclusion of bitmaps.h
2021-03-07 16:08:57 -05:00
david-beinder
df99ee39d9
PNS: new through vias should span all copper layers
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7576
2021-03-07 17:58:43 +00:00
Jeff Young
47145d349b
Don't run insideArea on ruleAreas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7826
2021-03-07 17:55:30 +00:00
jean-pierre charras
e0cbcc3330
Excellon drill files: add structured comments to identify via holes and pad holes.
...
This is useful for CAM tools because constraints for via holes and pad holes are
not the same
2021-03-07 17:47:37 +01:00
jean-pierre charras
fde22da478
Greber drill files: Enable using flashed shapes for oval holes.
2021-03-07 17:44:59 +01:00
Jeff Young
0fde536223
Adjust zones when moving footprint origin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7825
2021-03-07 15:04:01 +00:00
jean-pierre charras
d57f5b1a2c
DIALOG_GENDRILL: fix incorrect initialization of drill coord origin option
...
Fix also missing board change mark when drill plot settings are modified.
2021-03-06 09:47:42 +01:00
Jeff Young
b691c18bfc
Allow netclass assignents to unnamed nets.
...
Most of the code had already moved over to this, but there were a few
hold-outs.
Fixes https://gitlab.com/kicad/code/kicad/issues/7802
2021-03-05 19:16:09 +00:00
Jeff Young
3e9eb3c8ac
More complete fix for crasher JP found.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7806
2021-03-05 15:30:52 +00:00
Jon Evans
68f958145d
Gracefully handle lack of diff pair settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7806
2021-03-05 09:09:56 -05:00
Jon Evans
4ddb942ec0
Do not allow drag selection or drag move when already moving something
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7800
2021-03-04 19:01:31 -05:00
Jeff Young
c85c14e6e4
Don't allow exponential notation in specctra export.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7786
2021-03-04 22:39:33 +00:00
Jeff Young
bbf02a5f08
Formatting.
2021-03-04 21:23:45 +00:00
Jeff Young
528f933ad5
Don't revert commit after user has OK'ed the dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7799
2021-03-04 19:16:43 +00:00
Jeff Young
d18afa42cd
Resync nets & netclasses after updateFromPCB.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7793
2021-03-04 15:05:06 +00:00
Jeff Young
91350ec9ea
Don't update thickness unless it really changed.
...
Otherwise we're going to generate a continuous stream of OnUpdateUI
events....
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-03-04 14:15:39 +00:00
Marek Roszko
8831c5567c
Add win32 version manifest block
2021-03-04 00:34:48 -05:00
Jon Evans
1fc399fa31
Fix a few more cases of picking up wrong mouse positions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7745
2021-03-03 20:09:24 -05:00
Mikolaj Wielgus
1e1be730d8
Do not recalculate center from boundaries when flipping
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-03 23:33:31 +00:00
Jeff Young
b9d26a55f2
Show variable references of text in status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7790
2021-03-03 18:58:04 +00:00
Jeff Young
fcb9af2b12
When saving footprint to library don't detach from board too early.
...
In particular, make sure it's been flipped to the front layer first.
We need to know the layers to do the flip.
Fixes https://gitlab.com/kicad/code/kicad/issues/7780
2021-03-03 15:07:01 +00:00
Ian McInerney
51d445007f
Switch to using make_shared in another place
2021-03-03 02:19:46 +00:00
Ian McInerney
908de37e7c
Don't hardcode the file extensions where possible
2021-03-03 01:13:59 +00:00
Mikolaj Wielgus
81570e02f3
Do not change orientation when moving orthogonal dimensions
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7727
2021-03-02 19:59:16 +00:00
WhiteChairFromIkea
bbd6a1db0e
Formatting
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
b33ec125ac
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
a9ca1e4ebd
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
WhiteChairFromIkea
6533b47f0a
use "pattern" instead of "sourcelibreference" for footprints
2021-03-02 19:57:19 +00:00
Jonathan Haas
f90164f7cf
Fix some typos and improve wording
2021-03-02 19:13:49 +01:00
qu1ck
3199a88d54
Fix pcbnewshell not showing namespace inspector tools
...
on msvc build with recent wxpython
2021-03-02 17:12:57 +00:00
Wayne Stambaugh
79a9d69ff5
Coverity fixes for issues 314755, 316287, 324536, 324539, and 324539.
2021-03-02 08:10:37 -05:00
Jeff Young
d06e8ef01c
Honour pre-defined-size selections for diff pairs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7759
2021-03-02 12:12:05 +00:00
Jeff Young
7760570d76
Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young
57e948ff08
Make sure axesEnabled is set before saving config.
...
We don't actually allow the user to change this at present, so one
could argue that we should remove it from what is saved out of the
config. But this is a smaller, safer change.
Fixes https://gitlab.com/kicad/code/kicad/issues/7666
2021-03-01 20:37:04 +00:00
qu1ck
cc6df515a1
Make ARCs accessible from python
2021-03-01 17:34:47 +00:00
Jeff Young
f4cc9b86e3
Inform user (and bail on UpdatePCB) if annotation failed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7310
2021-03-01 16:57:29 +00:00
Jeff Young
1a9f55872c
Don't leave a pad with a netinfo pointer from the footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7766
2021-03-01 11:12:51 +00:00
Jeff Young
83d07dc7f7
Comments.
2021-03-01 11:12:51 +00:00
Jon Evans
63b5d8db43
Pcbnew: use MRU path when opening files in standalone mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7734
2021-02-28 14:30:16 -05:00
Jon Evans
dbb6d0fb4a
Move paste and mask clearance settings back to board file
...
These are needed for correct Gerber plotting so need to be stored
along with the board file
2021-02-28 14:04:28 -05:00
Marek Roszko
4debfbcc53
Fix pcbnew cross probing ignoring the disabling of the cross probing zoom to fit setting
2021-02-28 10:39:51 -05:00
Jon Evans
cd7a2cd807
Fix shadowing fix that caused logic bug and different shadowing
2021-02-27 20:01:14 -05:00
Jon Evans
65531accf6
DRC: allow testing against particular diff pair membership
2021-02-27 19:54:55 -05:00
Jeff Young
061218e567
Take a stab at fixing Python build issue.
2021-02-27 23:56:47 +00:00
Jeff Young
3538c8a963
Thread safety for new caches (which are also used during zone fill).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7749
2021-02-27 21:33:30 +00:00
Jeff Young
2606ecc619
Add isDiffPair() to custom rule syntax examples.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7746
2021-02-27 19:45:03 +00:00
Jon Evans
ccba4b1462
Pcbnew: don't show project warning on stackup pages
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5568
2021-02-27 14:28:24 -05:00
Jeff Young
14e670408e
Fix some bugs in rule examples and add some more examples.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7744
Fixes https://gitlab.com/kicad/code/kicad/issues/6884
2021-02-27 19:21:41 +00:00
Jon Evans
d269778cd4
PNS: disable smart pads in walkaround if posture is forced
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7710
2021-02-27 13:48:01 -05:00
Wayne Stambaugh
5ca25a609e
Pcbnew: fix shadow variable in expression evaluator.
2021-02-27 12:09:06 -05:00
Seth Hillbrand
f952434aee
Replace "pours" with "fill" in Rule Area
...
KiCad terminology refers to copper "Fill" rather than copper "Pour".
Also adds some tooltips for the various options
Fixes https://gitlab.com/kicad/code/kicad/issues/7740
2021-02-27 08:32:05 -08:00
Seth Hillbrand
bcc3767c2a
FABMASTER: Fill both kinds of silk polys
...
Silkscreen polygons are always filled (I think) in FABMASTER. Other
layer polygons are not
2021-02-27 06:58:04 -08:00
Jon Evans
eae9e954c3
Hide BOARD internals that shouldn't be wrapped from swig
2021-02-27 08:54:21 -05:00
Jeff Young
6d6765cdaf
Improve DRC status reporting.
...
1) Don't report on tests not run.
2) Don't cancel subsequent tests because the current test didn't
have any constraints
3) Exit a little bit quicker when cancelled
Fixes https://gitlab.com/kicad/code/kicad/issues/7724
2021-02-27 13:44:45 +00:00
Jeff Young
4ede4e061e
More DRC performance work.
...
Push DRC zone RTrees into BOARD so that they can also be used by
insideArea.
All these caches are a bit of an encapsulation leak, but they make a
significant impact on performance.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-27 11:45:04 +00:00
Seth Hillbrand
283d176cdc
Use std::locale::classic() globally
...
This is a better alternative when imbuing streams
2021-02-26 17:21:55 -08:00
Seth Hillbrand
5d352d2373
FABMASTER: Enforce KiCad limits on line width
...
We require unfilled polygons to have positive width
2021-02-26 17:16:54 -08:00
Seth Hillbrand
7e0168a99d
FABMASTER: Process newer outline tag
...
Allegro uses the subclass "DESIGN_OUTLINE" in newer version for their
edge cuts instead of just "OUTLINE". This handles both.
Fixes https://gitlab.com/kicad/code/kicad/issues/7735
2021-02-26 17:06:56 -08:00
Seth Hillbrand
c9b39aaaed
FABMASTER: Process REFDES position
...
The reference designator is stored separately with the Tracks, so we
need to extract position/size data from it there and match back to the
components later.
Fixes https://gitlab.com/kicad/code/kicad/issues/7733
2021-02-26 17:04:21 -08:00
Marek Roszko
b82fcbcad6
More exception var disuse warnings
2021-02-26 19:30:58 -05:00
Seth Hillbrand
75c525af4f
FABMASTER: Handle polygons better
...
Polygons in non-etch layers need special handling to ensure they get
treated the same.
Fixes https://gitlab.com/kicad/code/kicad/issues/7731
2021-02-26 14:01:04 -08:00
Seth Hillbrand
2d5015c217
FABMASTER: Try harder to figure out nets
...
Find all intersecting points both forward and back between the filled
areas and the outlines in order to determine the proper net assignment
for the zones
Also creates rule areas for special zones instead of filled zones
Fixes https://gitlab.com/kicad/code/kicad/issues/7732
2021-02-26 13:06:06 -08:00
jean-pierre charras
b31bf1e40f
Always store via drill value in .kicad_pcb file.
...
Old boards were using UNDEFINED_DRILL_DIAMETER value in file for via drill when
the via drill value was the netclass value.
Recent boards always set the via drill to the actual value, but now we need
to be sure always store the drill value, because netclass value is not stored
in the board file. Otherwise the drill value of some (old) vias can be unknown
2021-02-26 20:57:43 +01:00
Seth Hillbrand
73dd93701a
FABMASTER: demote odd graphics warning
...
Drill layers have many different shapes in FABMASTER. These are not
used for board information, so we can ignore them.
2021-02-26 11:37:21 -08:00
Seth Hillbrand
ae2a9ef538
Use std::locale::classic static local
...
Prevents performance issues when creating new locales under MSVC
2021-02-26 11:37:21 -08:00
Seth Hillbrand
103dde67f6
FABMASTER: Handle rotated/flipped custom pads
...
The rotate mirror actions need to line up with the expectation.
FABMASTER keeps elements board-referenced while KiCad has some elements
referenced to the board and some referenced to the footprint
2021-02-26 11:37:21 -08:00
Seth Hillbrand
ff1300d13b
FABMASTER: Preallocate vectors
...
Reserves memory for vector elements based on file size. This helps
reduce the number of re-allocations needed when reading large files
2021-02-26 11:37:21 -08:00
Jeff Young
f226373324
Add cache for insideArea() and insideCourtyard().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 19:22:25 +00:00
Jeff Young
cb830f74b7
Bounding box caching comments.
2021-02-26 18:03:51 +00:00
Jeff Young
d523129929
Minor performance improvements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 17:58:08 +00:00
Jeff Young
c716313a24
Fix footprint hittesting. (How in the world did that compile?)
2021-02-26 17:44:36 +00:00
Jeff Young
c7a71b44e5
Zones must be entirely inside for insideCourtyard.
...
This is a huge performance win as otherwise we're doing *lots* of
shape collisions with ground planes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 17:19:48 +00:00
Jeff Young
22005299af
Remove old hacks for UTF8 mode.
...
wxWidgets' UTF8 mode wasn't thread-safe, so we had to put mutex's on
a bunch of string operations, which meant that we couldn't return
references to strings. Now that we no longer use UTF8 mode anywhere
(and the mutex's were removed long ago), using references is a big
performance win in some places.
2021-02-26 17:19:48 +00:00
Jeff Young
86aaa2e9cb
Rationalize footprint bounding boxes and cache all of them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
jean-pierre charras
da005bd2a6
Pcbnew, plot files: fix very poor shape of trapezoid pads having a non null
...
clearance on mask or solder mask layers.
2021-02-26 10:36:04 +01:00
Seth Hillbrand
c15a9e60d4
Used cached footprints without check in preview
...
Between the time the user loads the footprint preview in cvpcb or Add
Footprint in pcbnew, we don't need to verify cache integrity to display
the footprint. We use the cache copy when displaying until we close the
selection window and re-open. This limits our need to iterate over the
full directory on every footprint display.
Alternate solutions for v7 should include looking into libfswatch for
change detection
2021-02-25 15:46:52 -08:00
Jeff Young
b36e1c741d
Fix insidious bug which resets layer of SOLID when marking collision.
...
It's supposed to be setting the layer of the collsion display object,
not the host object, but there's a typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/7712
2021-02-25 23:39:48 +00:00
Jeff Young
75032f3acd
Use the more-constrained layer when running rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7639
2021-02-25 22:58:07 +00:00
Seth Hillbrand
54539d2cd7
Calculate timestamp the same way both times
...
Timestamps were checked using a different routine than they were
generated with, leading to the cache always being out of date.
This uses the same routine for both. While it iterates over the
directory twice during the initial load, this will never be dominant
Fixes https://gitlab.com/kicad/code/kicad/issues/7711
2021-02-25 14:36:49 -08:00
Tomasz Wlostowski
87ea540953
Fix whitespace errors
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
c79610e132
router: post-rebase fixes
2021-02-25 17:18:23 +01:00
Marek Roszko
6948cdd8ef
router: Fix return type within pointInside2
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
9bdfc13155
router: improve locality of post-shove optimization
...
Fixes : #4359
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
e1d4bb777c
router: use new LINE::Walkaround in the walkaround algo
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
045d02f818
router: add strict/loose area restriction constraint. WIP
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
24574aa2f5
router: first insert intersections, then build graph in Walkaround()
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
61e75a838b
router: replace large stack variables with std::array
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
028f209126
router: more robust LINE::Walkaround() implementation
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
e9c55cd0e3
router: if the drag anchor is not reachable by the mouse, use the closest point on dragged trace for optimizer restriction
...
Fixes : #4056
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
a141ed3444
router: feed view size change events to the router engine
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
12dfb541fc
router: expose current view area to the router algorithms so that the optimizer could know not to mess with traces/vias not currently visible to the user (wip)
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
2831c7d24c
router: fix compile error in DRAGGER
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
b67e5768a6
router: feature to save debug event log & board dump for easier recreation of router bugs and misbehaviours
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
ebdc68ac1d
router: correctly handle line width in PREVIEW_ITEMs
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
34c037684b
router: partially migrate SHOVE algorithm to use new DEBUG_DECORATOR
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
0e6cf3f56e
router: fix board edge clearance queries
...
Fixes : #7254
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
4574f52eac
router: DRAGGER::CurrentNode() should always return non-null value
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
e221b11e3b
GRID_HELPER: fixed arithmetic issue in segment snap distance check disguised as 'excessive optimization' by the dragger in the router
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
325300bd76
router: don't use compound pad shapes if pad contains a single primitive shape
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
a4bd2ad8c6
router: drag in walkaround mode now works
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
f84836f51e
router: factor out POSTURE_SOLVER to more generic MOUSE_TRAIL_TRACER class
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
af95235f47
router: report debug log events from DRAGGER
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
0306d16748
router: make post-drag optimization less intrusive
...
Fixes : #5918
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
14ce7a0ad7
router: implement area constraint in optimizer
2021-02-25 17:18:23 +01:00
Tomasz Wlostowski
64cf593ee9
router: debug points now have variable size
2021-02-25 17:18:23 +01:00
Jeff Young
b8c95345d0
Make sure reporters have a better default path than /bin.
2021-02-25 15:05:26 +00:00
Jeff Young
caa18c8e16
Fix bugs in diffPair hole-to-hole logic and add rule resolution.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7697
2021-02-25 14:23:02 +00:00
Jeff Young
2c009906e5
Set unprinted layer colors to background.
...
This allows our Black&White special cases to still work when the
hole annular rings aren't being printed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7692
2021-02-25 14:23:02 +00:00
Jon Evans
bba7fae104
Coverity fixes
2021-02-24 22:55:11 -05:00
Jeff Young
c077612163
Make sure custom shaped pad primitives get their parents set.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7696
2021-02-24 22:53:58 +00:00
Jeff Young
d384316335
Fix some layout issues in board stackup pane.
...
Also decided the extra paramaters on the right weren't working out
on smaller screens and so moved Board Finish to its own panel.
2021-02-24 21:42:00 +00:00
Jeff Young
fa89263c8f
Push hole-to-hole min processing down a level.
...
Also removes adding the track width to the via gap, which was
never right.
Fixes https://gitlab.com/kicad/code/kicad/issues/7173
2021-02-24 21:42:00 +00:00
Seth Hillbrand
0bab025832
Fixup toolchaining for immediate mode
...
The move tool can stack on others, so when we re-enter the previous tool
this caused another immediate action. We flag re-entry in the tool
stack to check for this and avoid unexpected tool starts
2021-02-24 10:44:54 -08:00
Jon Evans
3d7c202192
Fix pad clearance bounding box and initial display
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7673
2021-02-23 22:15:39 -05:00
Jon Evans
887ad1c30d
CHANGED: Copper layer count is now set on physical stackup page
...
REMOVED: Board layer stackup presets that were not very useful
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6765
2021-02-23 21:31:12 -05:00
Jon Evans
d087ede21d
Don't show ratsnest on layers hidden by contrast mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7667
2021-02-23 20:07:46 -05:00
Jon Evans
aedc65f20f
Fix footprint editor default grid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7659
2021-02-23 20:07:46 -05:00
Seth Hillbrand
0518d9c546
Add more force-immediate tools
2021-02-23 17:05:03 -08:00
Seth Hillbrand
005622027f
Add component/footprint is always immediate
...
When a user clicks on the "Add Component", "Add Power" or "Add Footprint"
icon, they want to add the item. Requiring an extra click on the screen
before selecting the component/footprint is not needed.
2021-02-23 16:15:31 -08:00
Jeff Young
f30eab422e
Don't allow footprint text item columns to be resized.
...
We auto-size them in the code and doing both produces nothing but a
mess.
Also improves the auto-sizing for the layers drop-down (particularly
needed for the new, somewhat longer, layer names.
Fixes https://gitlab.com/kicad/code/kicad/issues/7671
2021-02-23 17:46:15 +00:00
Jeff Young
b48071015b
Don't reset focus flag yet on non-GTK platforms. It's required.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7671
2021-02-23 17:46:15 +00:00
Seth Hillbrand
154d56b4f4
If items exist on the "Rescue" layer, prompt user
...
Don't allow Rescue items to enter the board design. This prompts the
user to either delete them or move them to the Comments layer.
2021-02-23 09:25:00 -08:00
Jeff Young
7f892669cc
Consistent punctuation.
2021-02-23 12:46:27 +00:00
Jeff Young
b1943bf6b6
Don't shout at the user.
2021-02-23 12:45:37 +00:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Seth Hillbrand
2013a801d1
Fix zone merge undo
...
Also remove an implicit zone merge that was happening when the user
edited the zone parameters. This appears to have been a feature but it
happened without a) telling the user and b) having the option to prevent
it.
Fixes https://gitlab.com/kicad/code/kicad/issues/7661
2021-02-22 15:45:17 -08:00
Seth Hillbrand
b484c0787b
Disable commands in SingleTop
...
We cannot do forward/reverse annotation in Single Top mode because we
depend on shared memory access. This disables the menu options in this
case and replaces the toolbar update pcb icon with the import netlist,
which is more appropriate for single top mode
Fixes https://gitlab.com/kicad/code/kicad/issues/7637
2021-02-22 14:49:13 -08:00
Seth Hillbrand
bac7b3e77a
Protect against dynamic_cast
...
Items might not be FOOTPRINT, in which case the dynamic_cast will return
nullptr. Check for this in the subfunction
2021-02-22 10:12:54 -08:00
Seth Hillbrand
26995b10fb
Fix uninitialized ptr
2021-02-22 10:07:40 -08:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Seth Hillbrand
a6263fc595
Remove superfluous "Rebuild Ratsnest" button
...
This happens when clicking OK already and there is nothing to change
before then.
2021-02-22 09:16:20 -08:00
david-beinder
c1aa50e522
Notify control when removing items without parent
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7441
2021-02-22 14:00:13 +00:00
Roberto Fernandez Bautista
09ebfcd650
CADSTAR Importer: Fix Code Style
...
- Rename member variable names to use the 'm_' prefix
- Rename a few object types that clashed with KiCad object names, such
as BOARD and SCHEMATIC, to avoid the use of '::' to access the KiCad
objects.
- Remove some unused code.
2021-02-22 13:24:00 +00:00
Jon Evans
67f16110af
Fix netlist QA after API changes in 8a12aa4e
2021-02-21 20:30:57 -05:00
Jeff Young
ba2d0cdd62
Nullptr safety.
2021-02-22 01:14:06 +00:00
Jon Evans
68b81c8271
Don't copy footprint text along with the footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7647
2021-02-21 19:59:16 -05:00
Jon Evans
6fa0ac45af
Re-enable custom grid settings for Pcbnew
...
Add a reset button that will only show up if the user
edits the JSON configuration for grids. This is a temporary
measure until we have a real grid editor GUI in V7.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7595
2021-02-21 15:33:13 -05:00
Jeff Young
2d28ed8eda
Move canvas backend selection to Preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Jon Evans
3bc9d7b95e
Rework GAL layer enum to fix visibility import from legacy boards
2021-02-21 13:41:43 -05:00
jean-pierre charras
fbf12cb85c
microwave tools: use ShowQuasiModal instead of ShowModal to display WX_TEXT_ENTRY_DIALOG dlgs
...
In some cases ShowModal does not work fine with our events handlers, at least on Windows.
Fixes #7641
https://gitlab.com/kicad/code/kicad/issues/7641
2021-02-21 16:01:53 +01:00
jean-pierre charras
8beeb368d2
Scripting: Fix missing utf8 to unicode string conversion in swig file
...
So non ASCII7 chars in .py filenames were non working, especially on Windows.
Fixes #5507
https://gitlab.com/kicad/code/kicad/issues/5507
2021-02-21 11:38:10 +01:00
Seth Hillbrand
8a12aa4e3a
Handle unit changes in the netlist
...
Each symbol unit in eeschema has a unique identifier. But we don't have
a unique identifier for the entire symbol. So changing which symbol
instance was unit A (our default base for matching), changed the UUID
that we were using to match the footprints.
This commit adds all UUIDs to the netlist, allowing us to match symbol
to footprint without worrying about which unit is referenced.
This still does not handle changing different units on different sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/7604
2021-02-20 20:11:49 -08:00
Mikolaj Wielgus
2a9d76f1e3
Pcbnew: Fix snapping segment traces and graphics when initiating move
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4746
2021-02-20 20:29:43 +00:00
Jeff Young
a6c5c40f02
Fix another case of treating a modal return result as a bool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7629
2021-02-20 18:22:34 +00:00
Jeff Young
9dacd4abb7
Don't allow footprint children in groups outside their footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7625
2021-02-20 18:09:56 +00:00
Marek Roszko
622baa6531
Silence more unused exception var warnings
2021-02-20 12:01:51 -05:00
Marek Roszko
c12666ec43
Fix arg type of NODE::followLine
2021-02-20 11:58:55 -05:00
Marek Roszko
6fce39607e
Fix return type within pointInside2
2021-02-20 11:58:55 -05:00
Marek Roszko
907e282347
Silence some msvc warnings
...
- exception variables that were unused
- RAYSEG2D improperly foward declared with class instead of struct
- unused vars
2021-02-20 11:58:55 -05:00
Jon Evans
ec334f172b
Fix some issues with reloading of action plugins
...
First issue: the C++ action plugins list should be cleared so that any
plugins that fail to reload do not hang around on the toolbar.
This is fixed on the C++ side.
Second issue: inner dependencies of plugins that are modules were not
reloaded before, which broke reloading for many plugin examples out there.
This is fixed on the Python side by keeping track of dependencies and
clearing them out before reloading a module (unfortunately there doesn't
seem to be a way to do this in the standard library)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7245
2021-02-20 11:19:33 -05:00
Jeff Young
91e876ce0d
Make sure the title is updated when file is saved/reverted/etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7626
2021-02-20 15:09:47 +00:00
Jeff Young
67c7e7c759
Formatting.
2021-02-20 15:09:47 +00:00
Jeff Young
d4e68a985c
Formatting.
2021-02-20 15:09:47 +00:00
Jeff Young
e89f9db438
Footprint disallow layer checking needs to be based on courtyards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7620
2021-02-20 14:13:36 +00:00
Jeff Young
0337c42d25
Swap courtyards when flipping footprint.
2021-02-20 14:13:36 +00:00
Jeff Young
ba63ac801a
Don't make assumptions about what layers things are on.
2021-02-20 14:13:36 +00:00
Jeff Young
a1f09befe0
Vias are plated holes too....
2021-02-20 14:13:36 +00:00
jean-pierre charras
be25b7a132
Use ShowQuasiModal to show a few dialogs.
...
This change is mainly due to the fact Modal dialogs do not work when our
current tool is the tool used to create new item (text, zone, graphic).
If when this tool is active, one try to edit the properties of the new item
being created (or being placed) the modal dialog does not capture the event tool
and hangs (cannot be dismissed)
Our quasi modal dialogs have their own event loop and work.
Fixes #7585
https://gitlab.com/kicad/code/kicad/issues/7585
2021-02-20 14:24:57 +01:00
Zoltan Gyarmati
5a0a2a8366
pcbnew: only update cursor instead of activating selection tool when quiting delete tool
...
Fixes: https://gitlab.com/kicad/code/kicad/issues/7531
2021-02-20 06:40:00 +00:00
Jeff Young
881cb3182b
Move writable dir checking lower down.
...
(Well, it was already lower down, this really just removes the higher
up calls that were getting in the way.)
Fixes https://gitlab.com/kicad/code/kicad/issues/5937
2021-02-19 22:24:08 +00:00
Jeff Young
5994ce3711
Be more aggressive about updating title to show dirty status.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7613
2021-02-19 21:58:49 +00:00
Jeff Young
e3560e6414
Add parent property to footprint children.
2021-02-19 21:06:45 +00:00
Jeff Young
c2f68ca4da
Whittle down library tree context menus to be more contextual.
...
(From discussion on Zulip.)
2021-02-19 19:07:45 +00:00
jean-pierre charras
d0b91b1106
Router, place via: fix issue created by 45b2bc: cancelling via must be made
...
only when the select layer is called.
Fixes #7606
https://gitlab.com/kicad/code/kicad/issues/7606
2021-02-19 17:28:20 +01:00
Zoltan Gyarmati
bbe2ee39a0
pcbnew: actually reload DRC parity checkbox value in project mode
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7551
2021-02-19 00:37:29 +00:00
Seth Hillbrand
54282dffe3
Move preview items using FP orientation
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7600
2021-02-18 16:32:40 -08:00
Jeff Young
828cdacc6f
Add some missing tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7582
2021-02-18 18:33:52 +00:00
PJM
c001c26575
Pcbnew: Drag selections containing only tracks or vias
...
CHANGED: If the user made a selection and then tried dragging it, the
drag would only succeed if the selection contained at least one
footprint. Selections with only tracks and vias would instead make
KiCad drag a new selection box.
This MR allows routing of selections of a single track or via, while moving
selections containing more than one item, whether or not they also contain
a footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/7539
2021-02-18 17:49:48 +00:00
Jon Evans
b2cd97fd84
Don't rotate/flip footprint texts along with the footprint
2021-02-18 12:39:28 -05:00
Jeff Young
66b33834b5
Always enable save; move dirty bit to asterisk in title bar.
...
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).
Fixes https://gitlab.com/kicad/code/kicad/issues/7587
Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Jeff Young
45b2bce698
Cancel placement of via if user cancels layer selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7578
2021-02-18 11:53:36 +00:00
Jeff Young
59b81462ab
Fix button lay out issue on OSX.
2021-02-18 11:53:36 +00:00
Jeff Young
6a5bba2a80
We don't really want users hand-editing library table files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7591
2021-02-18 11:53:36 +00:00
Seth Hillbrand
25e78162c8
Cleanup icons
...
- Adjust group/ungroup
- Use Mirror triangles for rotate
- Smooth goto badge
2021-02-17 17:26:16 -08:00
Jeff Young
b2a4cbedda
Add conditions for rotate/group/lock items in toolbar.
...
Also fixes cut/copy/delete conditions to allow use in immediate mode.
2021-02-18 00:10:41 +00:00
jean-pierre charras
5d2dc0b50e
Fix a few (minor) issues:
...
- Make DIALOG_SHIM::SetPosition working)
- rename PCB_BASE_FRAME::SelectLayer() to PCB_BASE_FRAME::SelectOneLayer()
- PCB_BASE_FRAME::SelectOneLayer(): make dismiss dialog by escape key working.
Fixes #7578
https://gitlab.com/kicad/code/kicad/issues/7578
2021-02-17 20:56:43 +01:00
Jeff Young
34c2028e7b
Assign via net before running DRC checks.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7579
2021-02-17 19:39:56 +00:00
Jeff Young
0c2870c65f
Fix missing check against DELETED_BOARD_ITEM::GetInstance().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7575
2021-02-17 19:39:56 +00:00
Jeff Young
b6a7981e62
Write changes back to grid after using file explorer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00
Jeff Young
d66de5bb35
Exclude footprints and groups from VIA_PLACER DRC testing.
...
(Their children need to get tested, but not the parent objects
themselves.)
Fixes https://gitlab.com/kicad/code/kicad/issues/7569
2021-02-17 14:08:53 +00:00
Jeff Young
cc11c8d45f
Fix change in preference panel name.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7563
2021-02-17 14:08:53 +00:00
Jeff Young
6f9ebcfdb5
Make sure a pad has a hole before running hole test on it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7567
2021-02-17 14:08:53 +00:00
Marek Roszko
b609c7dcd6
Kick the osx specific path helpers into PATHS
2021-02-16 23:29:26 -05:00
Jon Evans
ba6aa3e034
Pcbnew: allow multiple selection of footprint text
...
With the selection filter and other improvements, we no longer
need to use this workaround to prevent accidental selections.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7527
2021-02-16 22:40:23 -05:00
Jon Evans
34c2bbfe51
Don't rebuild the whole nets grid on show/hide
...
Besides being slow, this causes the scroll position
of the grid to be lost.
2021-02-16 22:31:09 -05:00
Jon Evans
0198d5a3bd
PNS: don't lose track of pad offset when dragging footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7500
2021-02-16 19:47:52 -05:00
Seth Hillbrand
dbbe9cdee4
Hide infobar for save when saving
2021-02-16 15:54:43 -08:00
Jeff Young
2a7e60960a
Use standard mirror icons & terminology.
...
Also use standard group icons.
Also put both (and rotate commands) in toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/7504
2021-02-16 21:11:36 +00:00
James Jackson
dd7030a28f
Keepout and graphic selection filters in footprint editor behave as per PCB editor
...
Fixes #7547
Fixes https://gitlab.com/kicad/code/kicad/issues/7545
2021-02-16 20:49:14 +00:00
Seth Hillbrand
fb5cd22cd0
Honor locking in cleanup ops
...
Assume that the user has locked tracks/vias for a reason and would very
much like them to remain in place, regardless of the operation
Fixes https://gitlab.com/kicad/code/kicad/issues/7562
2021-02-16 10:20:45 -08:00
Jeff Young
015c4d5779
Don't force disallow tests to a particular layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7552
2021-02-16 16:24:37 +00:00
Jon Evans
14cba9723f
Allow selection filtering in global Pcbnew edits also
2021-02-15 22:14:28 -05:00
Seth Hillbrand
9212197c26
Grammar
2021-02-15 15:18:13 -08:00
Jeff Young
199ef61cdc
A footprint isn't "inside" itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7549
2021-02-15 22:52:12 +00:00
Seth Hillbrand
de7d9ef874
Fix tabs
2021-02-15 08:09:20 -08:00
Jeff Young
cf42d692bf
Remove some dead code. A little bit of comment cleanup as well.
2021-02-15 14:13:43 +00:00
Jeff Young
b08862e445
Fix group undo/redo bugs.
...
1) Don't remove items from group when the group is being deleted as
well. We need those pointers for undo/redo.
2) Flip the GROUP/UNGROUP undo status when undoing/redoing group and
ungroup actions.
3) Remove PCB_GROUP_T from the rebuild-netlists section. Nothing
about an item's group/ungrouped status changes its netlisting.
4) Add PCB_PAD_T to the rebuild-netlists section. It can probably
only happen in the footprint editor where we don't care about
netlisting, but it's conceptually more correct and who knows what
might change in the future....
Fixes https://gitlab.com/kicad/code/kicad/issues/7540
2021-02-15 14:13:43 +00:00
Jeff Young
6ee5476fba
Remove misleading help text for now.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7536
2021-02-14 23:51:51 +00:00
Jeff Young
b7672d3c92
Respece router Allow DRC Violations in free via placer.
...
Also don't check for collision on non-copper layers, but do check
for hole clearance violations.
Fixes https://gitlab.com/kicad/code/kicad/issues/7532
2021-02-14 22:32:12 +00:00
Jon Evans
1ab17dd2e7
MSVC: don't set python home when running from build dir
...
This allows you to specify your python home via the
environment and get a working python setup when running
in-place.
2021-02-14 09:34:25 -05:00
Jeff Young
60d4d5b846
Scale down netnames on tracks so overbars fit.
...
Also fixes a bug where the overbar ignored the color opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/7524
2021-02-14 12:15:26 +00:00
Mikolaj Wielgus
379c28340f
Pcbnew: Do not disable grid snap in copy to clipboard operation
...
This simple commit makes the Pcbnew copy to clipboard operation snap the
obtained cursor position to grid before the anchors are calculated. This
is also the way the move operation has been apparently working so far.
To be clear, this will not remove all cases where the copy reference
point is not aligned to the grid (see the linked Gitlab issue for
details about the problem). This will still occur for zone outlines that
are not axis-aligned. But such behavior has been so far also present in
the moving operation, so this may be as designed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7507
2021-02-14 01:44:28 +00:00
Seth Hillbrand
55db1aa5f5
Fix minor Fabmaster issue
2021-02-13 16:32:39 -08:00
Jon Evans
d98daad835
Fix updating of preset MRU when overwriting presets
...
Also fix a few minor things about deleting presets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7473
2021-02-13 11:33:01 -05:00
Jon Evans
00ab36092c
Fix margin layer being missing from draw order
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7159
2021-02-13 10:40:09 -05:00
Seth Hillbrand
8c2fe42ef0
More Undo/Redo Cleanup.
...
Don't need the reference point or container action type. Clearing this
command signatures to prevent future confusion/use
2021-02-12 11:26:48 -08:00
Seth Hillbrand
d244c09680
Cleanup undo/redo
...
Mirror/Rotate/etc were all just "Change" items in the undo/redo stack.
This removes the old calls
2021-02-12 10:25:14 -08:00
Jon Evans
ab34d94f36
Add a less-intrusive validation system to board setup
...
For some kinds of issues, we want a way to point them out but
we don't need to keep the user from being able to close the
dialog. A separate Validate button lets the user check for
issues if desired, but these issues are not "fatal" and can
be ignored if the user wishes.
2021-02-11 22:19:46 -05:00
Jon Evans
b708fd36ae
Add tooltips to netclass setup panel column headers
...
Change router tooltips to be more straightforward
2021-02-11 20:50:26 -05:00
Seth Hillbrand
10442b98df
Unify thickness
...
The removal of the pcbnew general section was meant for v6 but passed
the deadline. This removes the duplication of thickness. We do not
allow the thickness to be different between nominal and stackup, so
keeping separate text fields is unnecesarily confusing to users
2021-02-11 11:28:00 -08:00
Marek Roszko
20ec1fa354
Clear pythonpath and pythonhome vars on msvc like msys2 does
2021-02-10 23:58:58 -05:00
Marek Roszko
39c8922ff6
Block off setting pythonhome and pythonpath wrongly on MSVC
2021-02-10 23:54:35 -05:00
Marek Roszko
b21da9672f
Adjust py_sethome for the new path
2021-02-10 21:44:33 -05:00
Mikolaj Wielgus
1dc0ef01b3
Fix automatic wire tool in gridless mode
...
The automatic wire tool was not working in the gridless mode because the
grid snapping on/off logic present in `EE_GRID_HELPER`, based on the
value of `m_enableGrid`, was not taking into account that another check,
but for the global KiCad setting, would be performed in the `Align()`
method, which is inherited from `GRID_HELPER`.
I've modified all tests of `m_enableGrid` value to also take the global
setting into account, and moved checks for it to `Align()` method, as
it's more consistent this way.
I've also removed an override of the `Align()` method in the
`PCB_GRID_HELPER` class, as it was made redundant by my changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7402
2021-02-10 22:07:49 +00:00
Jeff Young
05ff0fb658
Add flip board view to footprint editor menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7484
2021-02-10 21:55:14 +00:00
Roberto Fernandez Bautista
19d786852a
CADSTAR PCB Archive Loader: Fix loading of zero sized pads
...
Some CADSTAR designs use zero sized pads because CADSTAR did not allow
arbitrarily assigning pad numbers: they had to be sequential. The
workaround to this was to use zero sized pads. However this causes DRC
errors in KiCad, so we load them just in a mask layer.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
aabe9c063f
CADSTAR PCB Archive Loader: Some fixes to design rules
...
1. Make sure to convert to KiCad units
2. There are some KiCad rules that have no CADSTAR equivalent.
Make a guess as to what an appropriate rule could be.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
2d66abdc89
CADSTAR PCB Archive Importer: More improvements to loading of zones
...
Adds a new function Area() to SHAPE_POLY_SET
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
06c420a2a3
CADSTAR PCB Archive Importer: Improve loading of zones
...
Load fill state and guess zone priorities from fill state
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
80d8974f87
CADSTAR Archive Importer: Fix loading of non-cadstar font text sizes
...
Non-cadstar fonts use a width of 0.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
f559e94b00
Non-Kicad Project Importers: Fix the creation of project fp libraries
...
Adds a new function to PLUGIN GetImportedCachedLibraryFootprints() that
loads the library footprints of the board design that was imported
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7449
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Jeff Young
20338c92e8
Move Flip board view to a shared tool (for FP Editor).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6687
2021-02-10 17:06:19 +00:00
Jeff Young
4679682fe9
Don't treat success == true as "we got an outline".
...
It just means the outline wasn't malformed. It might still be
empty.
[Edit: my fix collided with JP's, so all this really is now is a
couple of slight performance improvements.]
2021-02-10 12:38:06 +00:00
Jeff Young
05d2053ded
Put MSW bug fix back in.
2021-02-10 12:37:13 +00:00
jean-pierre charras
d738c91dd7
minor fix in DIALOG_SYMBOL_PROPERTIES: make m_cbPreservePads ON the default
...
Keep Through Hole pads on external layers should be ON by default, because
such a pad does not allow soldering/unsoldering, if this option this option is OFF
Also rename dialog_enum_pads.fbp as dialog_enum_pads_base.fbp, as usual
2021-02-10 12:47:11 +01:00
jean-pierre charras
5079881f3f
BuildFootprintPolygonOutlines(): fix incorrect outlines when no pad in the footprint.
...
It is used in 3D viewer to build a "board" polygonal outlines.
The polygon was empty when no pad and no item on ede cuts found (i.e. logos)
Fixes #7448
https://gitlab.com/kicad/code/kicad/issues/7448
2021-02-10 08:45:17 +01:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Seth Hillbrand
09be44a352
Use Jeff's method+font for monospace
2021-02-09 12:14:17 -08:00
Seth Hillbrand
505844f68c
Generalize the Ctrl-Q to all frames
...
Rather than adding our handler to each frame separately, we initialize
the Ctrl-Q quit action at the base frame to be consistent
2021-02-09 11:43:42 -08:00
Jeff Young
65c41cff42
Another way to set fixed-width font (that works on OSX).
2021-02-09 18:46:04 +00:00
Wayne Stambaugh
5ecef204cd
Coding policy fixes.
...
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Jeff Young
a49a6c2f52
Refresh zone layers when copper layers change opacity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7468
2021-02-09 12:26:46 +00:00
Jeff Young
618e824b0f
Cleanup includes and formatting.
2021-02-09 12:26:46 +00:00
Seth Hillbrand
6f0424d742
Use monospace font for textboxes
...
Matches the spacing of our stroke font so the tabs are correctly
displayed in WYSIWYG
Fixes https://gitlab.com/kicad/code/kicad/issues/1807
2021-02-08 15:59:58 -08:00
Jeff Young
e2f8b1a4b1
Interpreting wxDialog::ShowModal()'s retval as bool is never what you want.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7454
2021-02-08 17:40:57 +00:00
Mikolaj Wielgus
5aaedd86ed
Add "Limit graphic lines to 45 deg" to line drawing tool context menu
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7181
2021-02-08 16:20:38 +00:00
Jeff Young
6272b48481
Make sure layer gets passed in to rules evaluation.
2021-02-08 14:53:49 +00:00
Jeff Young
7aa7e3fd43
Push undo/redo blocking down a level in LengthTuner tool.
...
This way it's active only while tuning a single line, rather than
while the tool is selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/7462
2021-02-08 14:15:46 +00:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
jean-pierre charras
34d7c3e31f
fp shape, ARC: fix incorrect arc end position after flipping/mirroring.
...
Add also comments in FP_SHAPE::SetAngle() to avoid a similar issue.
2021-02-08 10:11:04 +01:00
Seth Hillbrand
81b83a8f5b
Remove unused line width parameter
2021-02-07 17:11:05 -08:00
Seth Hillbrand
792904557e
Remember Parent data when routing
...
Keeps parent information such as UUID and pad removal options for
elements that are just updated in routing rather than created fresh or
fully destroyed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7460
2021-02-07 17:08:43 -08:00
Jeff Young
0ca76571ce
Add footprint zones to paste routine.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7442
2021-02-07 11:50:59 +00:00
Thomas Pointhuber
088ff5b2bb
altiium: set fill version, which allows us to do a copper pour without a line
2021-02-06 23:58:30 +01:00
Michael Kavanagh
7cc28a5a02
Shrink appearance manager bitmap buttons to 16x16
...
Finish off 38cc2f106b
2021-02-06 22:51:56 +00:00
Thomas Pointhuber
8ee6694c57
altium: Set smaller zone MinThickness by default to better account for missing design rules
2021-02-06 23:45:28 +01:00
Thomas Pointhuber
d444ed80a5
altium: parse Regions6 to fill zone on import
2021-02-06 23:06:59 +01:00
Seth Hillbrand
624a231cc0
Remove unused line width option
...
You had to set the line width in the SVG export dialog in order to
change the displayed line width in the 3d viewer. The line width did
not affect the SVG export. Removing in favor of the Board design
settings for line widths
2021-02-06 06:44:53 -08:00
Jeff Young
c2dbd28101
Simplify and harmonize symbol editor and footprint editor menus.
...
Some differences are due to difference between libraries being files
in symbol editor and directories in footprint editor, but this unifies
most of the rest.
It also dispenses with the save-to-library vs save-to-document distinction
in the GUI because it makes for too much variability in the GUI, was
implemented differently between the two editors, and isn't needed as much
anymore now that we have the highly visible infobar.
There was also an issue that the save-to-board icon occupies the same
location and has the same size/shape/colours as the Board Setup icon in
PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/7215
2021-02-06 14:33:16 +00:00
Jeff Young
49a09f4c1c
Pad selectability fix.
...
Physical layer test needs to be board-visible-layers, not pad-layers.
Also cleans up the tests so that LOD factors in. (When things
disappear due to zoom level they should not be selectable.)
Fixes https://gitlab.com/kicad/code/kicad/issues/7238
2021-02-06 13:57:40 +00:00
jean-pierre charras
d2213708eb
FOOTPRINT_WIZARD_FRAME: minor fixes.
...
Fixes #7435
https://gitlab.com/kicad/code/kicad/issues/7435
2021-02-06 08:10:13 +01:00
Seth Hillbrand
016bffc899
Remove some more unneeded atof() calls
2021-02-05 10:18:34 -08:00
qu1ck
5c3ee0443c
Make footprint properties accessible from python
...
Now that footprint properties inherit custom fields from schematic
they are very useful.
Setting custom properties from python will also be handy in plugins
that need to somehow mark their own objects.
2021-02-05 02:31:48 +00:00
Seth Hillbrand
2e67cd2db8
Fix locale issue in Fabmaster import
2021-02-04 16:32:02 -08:00
Seth Hillbrand
55a6013a32
Remove errant printf
2021-02-04 15:58:59 -08:00
Seth Hillbrand
aa0db969ca
Caching ConvexHull routine
...
Stores a cache of the convex hull similar to the bounding box. Modifies
the hull based on actions to allow complex footprint graphics without delay
Fixes https://gitlab.com/kicad/code/kicad/issues/7341
2021-02-04 15:56:52 -08:00
Jeff Young
78ba87be8f
More explicit error message for unconnected items.
2021-02-04 22:47:37 +00:00
Jeff Young
7b9700d871
Convert insideArea test for zones to be "any copper inside".
...
The test used to be "entire zone inside", but that didn't work when
we use it to implement "copper pour" keepout areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/7420
2021-02-04 13:43:50 +00:00
jean-pierre charras
0de3d48db5
typo
2021-02-04 09:00:35 +01:00
Jon Evans
721bf82603
Handle malformed lines in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7398
2021-02-03 20:55:22 -05:00
Jon Evans
f7e21682ec
Update model in APPEARANCE_CONTROLS::SetObjectVisible
...
Don't make the caller remember to do so
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7411
2021-02-03 20:18:13 -05:00
Jeff Young
da8d0472f5
Layer must be between 0 and PCB_LAYER_ID_COUNT.
2021-02-04 01:00:20 +00:00
Jon Evans
3ac5fd6342
Get rid of wx popups when opening a read-only project
2021-02-03 19:17:32 -05:00
Jon Evans
b314e0828c
Don't create project files unconditionally when importing boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7368
2021-02-03 19:17:32 -05:00
Jeff Young
065a16b48c
Careful that we don't move the wrong end of the arc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7409
2021-02-03 23:53:11 +00:00
Jeff Young
90b3d0c96d
Implement TransformShapeWithClearanceToPolygon for DIMENSIONs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6890
2021-02-03 23:34:17 +00:00
Jeff Young
e26c912b86
Don't apply electrical clearance to non-copper zones.
...
Also removes a very old (and somewhat confusing) comment.
Fixes https://gitlab.com/kicad/code/kicad/issues/7404
2021-02-03 11:56:43 +00:00
Jeff Young
6dee7f30fa
Whack-a-mole on another case of "module".
2021-02-03 10:53:24 +00:00
Seth Hillbrand
22d78a5827
FABMASTER: Handle flipped custom pads and rounded rects
...
Adds error messages for more cases and fallback for custom pads to
prevent invalid pad generation
2021-02-02 19:33:18 -08:00
Roberto Fernandez Bautista
c25cab0cf8
Fix typo
2021-02-03 01:55:05 +00:00
Roberto Fernandez Bautista
9aedeae5c3
Don't log error messages when using the clipboard
...
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example: https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.
The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
Jeff Young
46658076bd
Minor cleanup.
2021-02-02 22:55:18 +00:00
Jeff Young
d7ddc62d7e
Fix mouse warping and dialog placement for layer switcher.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2607
2021-02-02 17:20:01 +00:00
Jeff Young
b8e97bb6b6
Only apply B&W printer fixes when printing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7388
2021-02-02 15:37:30 +00:00
Jeff Young
90519c8324
Allow pads with holes to be selected when hole is visible.
2021-02-02 14:23:29 +00:00
Jeff Young
d261fa3792
Make sure items are removed from groups when deleted.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7387
2021-02-02 14:23:29 +00:00
jean-pierre charras
c98c7cf200
Fix minor wxWidgets alerts
2021-02-02 10:01:19 +01:00
jean-pierre charras
e3e03e09d0
detect_file_type(): update detection to handle last change in .kicad_mod files
...
These files can start now by "(module" or "(footprint".
2021-02-02 09:53:30 +01:00
Marek Roszko
9695717a46
Fix assert in SwapItemData
2021-02-01 19:29:58 -05:00
Marek Roszko
ee2c5bb489
Remove memory leak when importing settings for a board
2021-02-01 19:23:23 -05:00
Jeff Young
8f4d2cf33b
Fix typo in footprint flip code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7224
2021-02-02 00:07:29 +00:00
Jeff Young
8571687f51
Upgrade place via tool to new DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7358
2021-02-01 23:00:13 +00:00
Seth Hillbrand
29632e8b6f
Include footprint center as snap point
...
Only when footprint center isn't approximate the footprint origin as
well. This can help when moving/aligning THT footprints
Fixes https://gitlab.com/kicad/code/kicad/issues/7385
2021-02-01 12:03:26 -08:00
Seth Hillbrand
54f5a47208
Remove confusing GetFirstPad() call
...
This no longer returns the first pad, just the first by pad sort order
in output. The call is not used correctly in pcbnew, so removing to
prevent future misuse
2021-02-01 12:03:26 -08:00
Seth Hillbrand
23c6dbff38
Need to check track/track clearance
...
The misplaced else prevented non-track/track intersection clearances
from being reported
Fixes https://gitlab.com/kicad/code/kicad/issues/7376
2021-02-01 10:08:27 -08:00
Jeff Young
1f27b7e7df
Don't render hole walls when no physical layers are visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7369
2021-02-01 17:14:30 +00:00
Marek Roszko
dc4b73fcef
Correct m_board check location in PNS_KICAD_IFACE_BASE::SyncWorld
2021-02-01 11:58:22 -05:00
Marek Roszko
9d0b16e814
bool/int type safety
2021-01-31 19:54:32 -05:00
Jeff Young
89d3b0b670
Remove breakage of corner pinning in point editor.
...
For some reason the post-pinned local variable references were replaced
with calls to the points themselves (which are the pre-pinned values).
Fixes https://gitlab.com/kicad/code/kicad/issues/7291
2021-02-01 00:35:45 +00:00
Seth Hillbrand
8778599c0d
Apply same nettie hack to zone filler
...
The nettie hack is used in DRC but we also need to use it in zone filler
to allow zones to be used with netties. We limit this to the
appropriate nets in the nettie
Fixes https://gitlab.com/kicad/code/kicad/issues/7351
2021-01-31 16:16:48 -08:00
Marek Roszko
991c8fbf8f
Use the new nudge path for the footprint lib table, save global and project mru differently
2021-01-31 19:01:33 -05:00
Seth Hillbrand
1a3ab551cf
Cleanup
...
FindLineSegmentIntersection() was refactored in 2012 but there are a few
uses that didn't get updated. This finalizes the cleanup
Fixes https://gitlab.com/kicad/code/kicad/issues/7365
2021-01-31 15:55:52 -08:00
Seth Hillbrand
8567739a7a
Remove conditions from common immediate-mode keys
...
The conditions prevent use in immediate mode for common actions. While
this makes enable/disable easier in menu items, this fix is a patch
until we refactor the action framework to distinguish between immediate
mode hotkeys that should start without selections and menu items that
need a selection before running.
Fixes https://gitlab.com/kicad/code/kicad/issues/5333
2021-01-31 14:45:24 -08:00
Seth Hillbrand
b54e951ed8
Fix a couple of checks in Fabmaster
2021-01-31 14:12:40 -08:00
Marek Roszko
8f21034254
Fix invalid windows macro
...
Missing one underscore at the end
2021-01-31 16:15:50 -05:00
Marek Roszko
051621a2ca
Use M_SQRT1_2 in place of the number
2021-01-31 15:47:23 -05:00
Marek Roszko
3d45668354
Fix typo in TRACK::GetEndY
2021-01-31 15:43:12 -05:00
Marek Roszko
21fe8542df
Remove shadowing of identical base m_parser member
2021-01-31 12:56:27 -05:00
Jon Evans
abf0a46dce
Refactor PICKER_TOOL and push up snapping disable functionality
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Jon Evans
a45b86d2ba
Fix Coverity warning
2021-01-31 09:50:41 -05:00
Jeff Young
a868fb97b6
Preserve Uuids when editing board footprints.
...
One way to do this would have been to keep the Uuids in the editor
copy. However, this opens us up to errors if we forget a Save As or
export path and end up writing the Uuids out somewhere else.
In the end, it felt safer to store a map of the original Uuids and
restore them if we happen to save the editor footprint back to the
board.
Fixes https://gitlab.com/kicad/code/kicad/issues/7312
2021-01-31 14:09:59 +00:00
Thomas Pointhuber
70e6d0e79f
altium: use those new fancy user definable layers and import the name from Altium
2021-01-31 11:15:08 +01:00
Jeff Young
56ea55ae9c
Make sure that NPTH pads still get handled in copper clearance checker.
...
... because that's where we do hole-to-copper clearance testing.
Also augments the Clearance Resolution reporter to report on said
hole clearances.
And changes the interpretation of HOLE_CLEARANCE_CONSTRAINT to include
local pad clearance overrides.
Fixes https://gitlab.com/kicad/code/kicad/issues/7325
2021-01-31 00:33:35 +00:00
Thomas Pointhuber
6a9e1ecf9e
altium: Center board after import
2021-01-30 17:43:02 +01:00
Jeff Young
41234a8373
Implement more precise annotation-required messages.
...
Also moves the message to an infobar so it's more noticeable.
Fixes https://gitlab.com/kicad/code/kicad/issues/7332
2021-01-30 16:31:27 +00:00
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
Jeff Young
488a5b7567
Draw via holes in high contrast when they cross a high contrast layer.
2021-01-30 16:31:27 +00:00
Seth Hillbrand
6b685dfb3f
Fix the knockout conditions
...
We need to knock out thermal clearance for same net pads but this
doesn't need to be placed in the regular clearance area (probably).
Fixes https://gitlab.com/kicad/code/kicad/issues/7321
Fixes https://gitlab.com/kicad/code/kicad/issues/7340
2021-01-30 08:15:00 -08:00
Seth Hillbrand
73886aecb1
Ensure partially triangulated polys are not valid
...
Moves rule area triangulation outside of layer iterator and keeps the
triangulation_valid flag false until the triangulation has been
completed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7032
2021-01-29 16:33:57 -08:00
Seth Hillbrand
386ead30c5
All circle and arc tools to select all at first
...
Non-layer elements can be logical centers for the circle and arc tools.
We allow the non-layer to snap for the center points and revert to only
on-layer elements after
Fixes https://gitlab.com/kicad/code/kicad/issues/7327
2021-01-29 10:14:44 -08:00
Seth Hillbrand
553166f932
Handle ARC bbox in tracks
...
Need to handle arcs separately to ensure we get the full bounding box
Fixes https://gitlab.com/kicad/code/kicad/issues/7318
2021-01-29 09:07:23 -08:00
Marek Roszko
30ba3aa240
Get python loading the new "user scripting" paths
2021-01-28 23:45:53 -05:00
Marek Roszko
43fd416d13
Flip the footprint new library flow to prompt global or project first
2021-01-28 20:15:44 -05:00
Jon Evans
b5e9a949bc
Selection: skip sloppiness pruning if invalid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7320
2021-01-28 19:51:29 -05:00
Jeff Young
74a5db64c2
Update pad netnames (and numbers) to the new visibility architecture.
2021-01-28 23:31:38 +00:00
Jeff Young
21bec6c016
Comment.
2021-01-28 23:31:38 +00:00
Jeff Young
6983bcd55b
Push addition of shape width down into computeArcBBox.
...
Also improves performance by calling GetBoundingBox only once (this
is not always an inexpensive routine for some items, such as
polygons).
2021-01-28 22:29:28 +00:00
Seth Hillbrand
1733a23ac7
Take width into viewBBox account
...
Don't let objects disappear until their full extend has been removed
from view.
Fixes https://gitlab.com/kicad/code/kicad/issues/7318
2021-01-28 14:20:13 -08:00
Seth Hillbrand
714430fefa
Flash pads when connected by zone
...
Zone connections (even half-connections) should trigger the connected
logic in flashPads. This removes the double-standard for painting pads
and imposes thermal standoff based on the net connection to the pad if
it shares a net, not just if connected
2021-01-28 13:21:22 -08:00
Jeff Young
1a7b7e84c6
Use consistent terminology for component placement files.
...
CHANGED footprint positions files -> component placement files.
Not all footprints get placed, so component is a more neutral word.
Use of "placement" instead of "positions" removes the double-plural
that makes footprint positions files such a mouth-full.
Fixes https://gitlab.com/kicad/code/kicad/issues/7097
2021-01-28 19:24:55 +00:00
Jeff Young
636ae012ed
Overhaul the pad drawing special cases yet again.
...
New strategy is to draw the hole wall cylinder if the pad (or via)
isn't flashed on a particular layer. This is (1) more correct,
(2) keeps pads which aren't flashed on any layer from disappearing,
and (3) allows us to remove a bunch of the other special cases.
Or at least I think it does. The proof will be in the (lack of)
follow-on bug reports....
Also fixes a bug where via annular rings weren't highlighted in
high contrast mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/7279
2021-01-28 17:02:42 +00:00
Seth Hillbrand
2ef00e9de4
Rebuild ratsnest when importing netlist
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7287
2021-01-27 17:57:00 -08:00
Seth Hillbrand
89a72df0b1
Fix a few FABMASTER issues
...
- Custom pads now properly supported with offset/rotation
- Fix missing pads from alternate layers
Fixes https://gitlab.com/kicad/code/kicad/issues/7299
2021-01-27 17:50:14 -08:00
Ian McInerney
beb50c529e
Reorganize the CMake folder to separate build and configure steps
...
The BuildSteps folder now contains the CMake scripts that are
called during the build process as individual stages, while
the root CMakeModules directory contains the CMake files used
during the configuration phase.
2021-01-28 00:24:22 +00:00
Marek Roszko
2807a37fc0
Create a stock scripting path helper
2021-01-27 19:12:18 -05:00
Marek Roszko
e6dd95e83a
Create a default user projects folder
2021-01-27 19:12:18 -05:00
Marek Roszko
28c6967dbc
Start trying to shuffle around path management
2021-01-27 19:12:18 -05:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
Mikołaj Wielgus
3e42ba18a9
Show dragging tools in context selection menu for components
...
Show the dragging tools in the context selection menu when a single
component is selected. Prevent the dragging tools from appearing when
more than one object is selected, as they will not activate anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/7258
2021-01-27 19:55:42 +00:00
Jeff Young
06a0094597
Minor improvements to layer highlighting.
2021-01-27 14:52:22 +00:00
Jon Evans
bb79eb0e45
Fix typo causing no netnames in SPECCTRA export
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7298
2021-01-26 22:04:45 -05:00
Jon Evans
1e030655cd
Always create project when doing a Save As on a board with a project
2021-01-26 21:58:17 -05:00
Jon Evans
bea310569b
Fix parsing of track/via user sizes from legacy boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6134
2021-01-26 21:51:36 -05:00
Jon Evans
30f3a7d124
Rework high contrast for pads/vias slightly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6923
2021-01-26 21:02:11 -05:00
Jon Evans
79f94c096e
Rename legacy selection filter action to avoid confusion
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7290
2021-01-26 18:15:36 -05:00
Seth Hillbrand
aefc107d86
Fix button sizing
2021-01-26 13:42:02 -08:00
Seth Hillbrand
9a51a75403
Confirm when cancelling a changed custom rule
2021-01-26 08:18:38 -08:00
Jeff Young
1e9639e89c
Save pintype alongside pinfunction (in pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7283
2021-01-26 15:28:48 +00:00
Jeff Young
0e7c18119e
Make sure pads are unlocked when editing footprint from board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7274
2021-01-26 15:28:48 +00:00
jean-pierre charras
2e58826338
Minor fix: remove an unwanted font setting from panel_setup_constraints_base.fbp
...
that cannot be removed using wxFormBuilder due to a bug in wxFormBuilder.
2021-01-26 14:03:12 +01:00
Jeff Young
5a5f96bd9f
More consistent naming.
2021-01-26 11:41:47 +00:00
Jeff Young
b165ae6519
Fix note formatting issues.
...
Also removes the "tip" icon which doesn't work on OSX and isn't as
important as the graphics which actually convey information. Replaced
with the more generic "Note: " string.
Fixes https://gitlab.com/kicad/code/kicad/issues/7281
2021-01-26 11:29:30 +00:00
Jeff Young
7d6c1c5ee6
Improve comments.
2021-01-26 10:56:19 +00:00
Jeff Young
dca7e44455
Fix a missed Module -> Footprint.
2021-01-26 10:56:19 +00:00
Jon Evans
b96bcc86b1
Don't restrict start item to same layer if snapping is enabled
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7276
2021-01-25 21:19:26 -05:00
jean-pierre charras
96af236493
Code cleanup: remove include wx.h from pcb_plot_params.h.
...
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Michael Kavanagh
d933a0a863
Use the pencil for Properties in Pcbnew
2021-01-25 14:21:23 +00:00
Michael Kavanagh
eba09a59e9
Remove inappropriate icon
2021-01-25 14:21:22 +00:00
Jeff Young
09eb4b35c6
Make sure footprint edges get checked.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7267
2021-01-25 13:20:16 +00:00
Jeff Young
d40fe127aa
Update pad locked status when adding footprints from schematic.
...
Also fixes some latent bugs with not updating the local ratsnest
visibility in other places, and the netcode in update PCB from schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7202
2021-01-25 01:20:36 +00:00
Seth Hillbrand
5a9c0a9b5a
Quiet a few coverity warnings
2021-01-24 14:53:18 -08:00
Seth Hillbrand
47d5900600
Fix build warnings
2021-01-24 11:37:48 -08:00
Mikolaj Wielgus
04cc64c008
Restore the old reference after rotation or flip instead of clearing
...
After a rotation or flip the reference point has to be restored to the
previous value to prevent the dragged item from warping to the cursor.
Before this change, the reference point was only cleared, causing odd
behavior when a rotation or flip was performed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7112
2021-01-24 18:56:46 +00:00
Roberto Fernandez Bautista
f353fc448b
Fix edge cases in EDIT_TOOL::DragArcTrack
2021-01-24 16:41:11 +00:00
Roberto Fernandez Bautista
99d203feae
Clarify CIRCLE::ConstructFromTanTanPt
...
Remove unused bool aAlternateSolution and add doxygen comments
2021-01-24 16:41:11 +00:00
Roberto Fernandez Bautista
48823c0723
Formatting fixes and fix qa_kimath following rebase
2021-01-24 16:41:10 +00:00
Roberto Fernandez Bautista
6e7ae93cc8
EDIT_TOOL::DragArcTrack Fix incorrect undo history when items are deleted
...
Need to make sure we only apply one COMMIT operation per object before calling COMMIT::Push() or COMMIT::Revert()
2021-01-24 16:41:10 +00:00
Roberto Fernandez Bautista
2b5c1bae97
CHANGED: Dragging a curved track starts an interactive resizing of it, keeping start an end points tangent
2021-01-24 16:41:10 +00:00
Jeff Young
25956152c6
Scan actual nets; not assumed nets.
...
Specctra exporter should not assume that PCB nets are numbered
sequentially without any holes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7249
2021-01-23 22:55:03 +00:00
Jeff Young
d5d9372839
Don't cancel dialog when esc-ing out of autocomplete.
2021-01-23 22:55:03 +00:00
jean-pierre charras
15cc368918
Gerber plotter: prepare optimization of aperture macros type free polygons.
...
They are used for chamfered round rect pads, and can be used for custom shaped pads.
No actual change currently, but the shape rotation of custom pads and chamfered rr pads
can be now used in gerber plots.
2021-01-23 21:15:27 +01:00
Jeff Young
d8c7c8f700
Evaluate rules when fetching zone edge clearance.
2021-01-23 17:04:44 +00:00
Jeff Young
2d8cac658e
Allow negative clearances to signal supression of DRC test.
2021-01-23 00:10:01 +00:00
Jeff Young
0ba0160da9
Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
...
ADDED a new pin electrical type "free" for internally unconnected pins.
CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists. (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jeff Young
f5e35af1a5
Transmit pin electrical types through to pads.
2021-01-23 00:10:01 +00:00
Jeff Young
9ac807bdd2
Freeze implicit footprint file version at last before explicit.
...
We have been writing footprint versions for a while now, but we were
still interpreting the lack of a version as "current". This changes
lack of a version to mean "last format before we started writing out
versions".
Fixes https://gitlab.com/kicad/code/kicad/issues/7143
2021-01-23 00:10:01 +00:00
jean-pierre charras
cbff706916
Update the .fpb file to be able to open it with wxFormBuilder 3.9, used by Kicad
2021-01-21 20:28:05 +01:00
Jeff Young
3fcd0860c1
Make 'E' go straight to Custom Track Width dialog.
...
Also fixes some mouse capture issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/7198
2021-01-20 18:19:55 +00:00
qu1ck
07d4a28024
Improvements to pcbnew action plugins settings panel
...
1. Add open plugins directory button (same as in tools menu)
2. Add show plugin errors button to help debug issues
2021-01-20 09:09:53 +00:00
Roberto Fernandez Bautista
74aa081b8a
Don't add board-only footprints to the netlist (fixes back-annotation issue)
2021-01-20 00:37:38 +00:00
Jeff Young
360953ba98
"comp" -> "symbol".
2021-01-19 23:50:40 +00:00
Jeff Young
0ded846130
Go back to previous arc midpoint editing routine.
...
It avoids erratic behaviour near the chord or end-points.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-19 23:50:40 +00:00
Michael Kavanagh
80dbc24326
Icons: remove superfluous icon
...
Remove icons where menu text gives context
2021-01-19 22:57:25 +00:00
Michael Kavanagh
ef2aa8a730
FP Editor: remember to update appearance manager
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6926
2021-01-19 20:24:16 +00:00
Seth Hillbrand
060635b14c
fabmaster: Fix graphic handling in geometry section
2021-01-19 12:16:40 -08:00
Jeff Young
35978adef9
Don't run dimension updates while parsing files.
...
They mess up the geometry when only partial values are provided.
Fixes https://gitlab.com/kicad/code/kicad/issues/7177
2021-01-19 16:09:44 +00:00
Jeff Young
25ff0fa662
Fix typo in unit label assignment and some minor layout improvements.
2021-01-19 16:09:44 +00:00
Jeff Young
e9dc1824d6
Minor improvements to layout.
2021-01-19 16:09:44 +00:00
Jeff Young
06dec36625
Improve layout and terminology in PCBNew/FPEditor edit settings.
2021-01-19 13:16:26 +00:00
Jeff Young
1ac47c2ac6
Fix misleading tooltip.
2021-01-19 11:05:25 +00:00
Jeff Young
0a2a3c9903
Fix Coverity-discovered typo.
2021-01-19 10:57:07 +00:00
Jon Evans
330d717c69
Fix typo
2021-01-18 21:50:26 -05:00
Michael Kavanagh
7461b96dea
Hide the selection tool submenu in the FP Editor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7164
2021-01-19 00:30:44 +00:00
Jeff Young
12fe44d4b3
Snap arc center *by* the grid, not *to* the grid.
...
Also fixes a bug with editing an arc endpoint because the cursor pos
was being forced before the arc constraints stuff had been run (in
updateItem()).
2021-01-19 00:26:31 +00:00
Seth Hillbrand
b8dfcb34c4
Revert "Use less-sophisticated arc editing math."
...
This reverts commit 3b424d3868
. And fixes
issue with rouding causing arc errors
2021-01-18 12:44:27 -08:00
Ian McInerney
44655b98de
Initialize variables properly
2021-01-18 18:35:10 +00:00
Ian McInerney
d030d1667b
Fix improper string creation in fabmaster importer
2021-01-18 18:35:10 +00:00
Jon Evans
1e33928b96
Fix issues with zone filling connectivity locking
...
Two issues found with the locking system used to prevent access to
stale connectivity data during the zone fill process:
1) a std::mutex has undefined behavior if you try to use it to guard
against access from the same thread. Because of the use of wx event
loops (and coroutines) it is entirely possible, and in some situations
inevitable, that the same thread will try to redraw the ratsnest in the
middle of zone refilling.
2) The mutex was only guarding the ZONE_FILLER::Fill method, but the callers
of that method also do connectivity updates as part of the COMMIT::Push.
Redrawing the ratsnest after the Fill but before the Push will result in
stale connectivity pointers to zone filled areas.
Fixed (1) by switching to a trivial spinlock implementation. Spinlocks would
generally not be desirable if the contention for the connectivity data crossed
thread boundaries, but at the moment I believe it's guaranteed that the reads
and writes to connectivity that are guarded by this lock happen from the main
UI thread. The writes are also quite rare compared to reads, and reads are
generally fast, so I'm not really worried about the UI thread spinning for any
real amount of time.
Fixed (2) by moving the locking location up to the call sites of
ZONE_FILLER::Fill.
This issue was quite difficult to reproduce, but I found a fairly reliable way:
It only happens (for me) on Windows, MSYS2 build, with wxWidgets 3.0
It also only happens if I restrict PcbNew to use 2 CPU cores.
With those conditions, I can reproduce the issue described in #6471 by
repeatedly editing a zone properties and changing its net. The crash is
especially easy to trigger if you press some keys (such as 'e' for edit)
while the progress dialog is displayed. It's easiest to do this in a debug
build as the slower KiCad is running, the bigger the window is to trigger this
bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7048
2021-01-18 13:22:12 -05:00
Jeff Young
26bc29808a
Clean up Text Properties dialog.
...
It's no longer used for dimensions so doesn't need the line thickness
controls.
The spacing was a bit wonky.
Changed to disabling rather than hiding visibility checkbox. The less
the GUI moves around the better.
2021-01-18 15:20:15 +00:00
Jeff Young
4f399d4304
One more attempt to fix flipping geometry.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4480
2021-01-18 15:20:15 +00:00
Michael Kavanagh
479487ceb1
Tidy up context menus a bit
...
Try and put the common actions in the same places
2021-01-17 22:42:03 +00:00
Jon Evans
6bb9aeab4b
Position relative: store discarded pad for use as the selection anchor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6996
2021-01-17 14:25:52 -05:00
Jeff Young
f1221a9ca3
Resolve text variables in title blocks for outputing to netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +00:00
Jon Evans
1754504234
Fabmaster: fix MSVC build
...
std::map is not move-constructable on MSVC because
it is not declared noexcept (and is not required to be
by the standard)
This means that a struct containing graphic_element
cannot be inserted into a vector with move semantics without
compile errors. However, wrapping it in a unique_ptr
works.
2021-01-17 10:23:31 -05:00
Jeff Young
68efdb2fff
Push shared parts of GRID_HELPERs into common.
2021-01-16 23:18:10 +00:00
Seth Hillbrand
950db6ff9c
pcbnew: Add Fabmaster import
...
Allows importing ASCII design output from OrCAD designs
2021-01-16 14:28:33 -08:00
Jeff Young
3b424d3868
Use less-sophisticated arc editing math.
...
While it doesn't do the tangent retention that the old version did,
this one I can at least make work.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-16 20:46:14 +00:00
Roberto Fernandez Bautista
00918c68f5
Don't do clever snapping logic when drawing a circle
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7131
2021-01-16 08:39:20 +00:00
Jon Evans
38455c25ef
Bring back consideration of world scale to PcbNew snapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7125
2021-01-15 12:29:47 -05:00
Jeff Young
08d595c9bf
Move title block fields to global availability in PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7118
2021-01-15 15:41:18 +00:00