Seth Hillbrand
c772d116b2
Ensure that layer names are unique when importing
...
Altium allows duplicate layer names but KiCad prefers to have unique
names for each layer. This enforces a unique name for each layer when
importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15583
2023-09-27 18:05:21 -07:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -04:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
jean-pierre charras
4e77c9089e
Fix typos
2023-09-27 17:01:21 +02:00
Zhuang Jiezhi
618c2be380
Pcbnew: Adding net pop-up menu for placing via
...
ADDED: Add feature showing a pop-up menu of possible nets when it's ambiguous in Pcbnew
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15003
2023-09-26 19:42:55 +00:00
Jeff Young
54171ec030
Add action for switching to Project Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Marek Roszko
37e8a008ab
Remove obsolete config_params.h includes
2023-09-25 20:40:29 -04:00
Jeff Young
be532e96d6
Fix errors in calculating tuning length.
...
Fix mismatched parameter passing in TOPOLOGY::followTrivialPath()
and TOPOLOGY::AssembleTrivialPath().
Fix logic error in PNS::JOINT::IsLineCorner().
Handle VVIAs in PNS::JOINT::IsNonFanoutVia().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10614
2023-09-25 15:50:44 +00:00
jean-pierre charras
58d52df97c
Fix missing header on wxMSW
2023-09-25 15:19:27 +02:00
Jeff Young
bf493f32f5
Nullptr safety for various panels.
...
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Jeff Young
7835b8ddc7
Bring various appearance managers into line over preset editing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15726
2023-09-25 12:35:54 +01:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Jeff Young
63558d4b09
Don't double-code the format of unconnected netnames.
...
It's owned by SCH_PIN::GetDefaultNetName().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15723
2023-09-24 22:54:10 +01:00
Jeff Young
e962615407
Use original event position if it's available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15623
2023-09-24 19:01:53 +01:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Jeff Young
c2c71facb1
Tidy up shutdown of APPEARANCE_CONTROLS.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15024
2023-09-24 18:27:06 +01:00
Jeff Young
d428b0e20e
Improve SameLogicalPadAs() shorting nets test.
...
This is required to support 4cd26ab6bc
.
2023-09-24 16:19:26 +01:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
jean-pierre charras
e7233a8dc6
DIALOG_CREATE_ARRAY, minor changes: better look, and added a few tool tips.
2023-09-23 10:08:37 +02:00
Seth Hillbrand
4cd26ab6bc
Ensure NC nets are not connected in board
...
Even when a pin connects to multiple pads, placing an NC indicator on
the pin type or the connected net means that all pads for that pin
should be independent and not ratsnest with each other
We accomplish this by assigning a unique id "unconnected-(REFDES-PAD#_#)" to each
pad with the pintype "no_connect". The pad numbers and uniquely
incremented per footprint based on UUID ordering
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15692
2023-09-21 21:36:19 +00:00
Jeff Young
9e2fc9b07c
Footprint item positions are relative.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15477
2023-09-21 14:28:25 +01:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02:00
Seth Hillbrand
f4afd7e363
Thread testTrackClearances
...
We are frequently testing thousands of track segments. They can each be
uniquely tested in parallel with reporting and marking guarded by
mutexes. This speeds up the DRC tests substantially
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15466
2023-09-20 19:51:33 -07:00
Seth Hillbrand
88cbbbcdae
Add error message when we cannot form a polygon
...
Explains to the user why the polygon creation failed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15704
2023-09-20 13:42:31 -07:00
Jon Evans
d781d70a09
PNS fix dragging a single footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15693
2023-09-20 11:53:43 -04:00
Jon Evans
d371bb06ae
New macOS installation scripts
...
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Jeff Young
58889f8120
Improve shape properties dialog layout.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
jean-pierre charras
0a26ab1cae
PANEL_SETUP_BOARD_STACKUP: save the m_HasDielectricConstrains BOARD_STACKUP member.
...
This member was not saved in the board stackup data.
Fixes #15690
https://gitlab.com/kicad/code/kicad/-/issues/15690
2023-09-19 17:47:29 +02:00
jean-pierre charras
e24c6d04ff
DIALOG_CREATE_ARRAY: enhancement to commit f775637d: ensure last selection
...
(Set center by radius / Set center by position) has the right widgets enabled
when reopen the dialog.
2023-09-19 16:22:38 +02:00
Josue Huaroto
f775637da8
Add Radius and Angle parameters to set center in Circular Array
2023-09-19 14:02:17 +00:00
Jon Evans
5a9c028e85
PNS: Allow dragging more than one footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11312
2023-09-18 22:37:11 -04:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop
1decd31baf
Vertically center wxGrid cells by default.
2023-09-18 17:15:34 +03:00
Jeff Young
469a94db8c
Fix mirroring of TextBox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
2023-09-18 14:49:38 +01:00
Alex Shvartzkop
06463fd35a
Fixes for Wayland cursor warping:
...
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
jean-pierre charras
b59910a749
catch exception thrown by LIB_TABLE::FindRow().
...
Previously, was not handled, and crashes Pcbnew.
2023-09-18 14:30:47 +02:00
Jeff Young
ec97ac189c
Fix typos in FOOTPRINT_EDIT_FRAME::SaveFootprintAs().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15678
2023-09-18 13:12:13 +01:00
Jeff Young
ef92429ac2
Implement changed notifiers for textvar, netclasses and severities.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Jeff Young
c80eb44900
Disentangle IBIS model controls from built-in model controls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13855
2023-09-17 12:42:06 +01:00
Jon Evans
467c672bcd
Fix all-layer snapping for footprint editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15538
2023-09-16 22:55:40 -04:00
Jeff Young
9114578004
Improve custom rules syntax help (based on info in docs).
...
Also turns on table processing in ConvertMarkdown2Html().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15609
2023-09-16 14:41:43 +01:00
Jeff Young
ed292e180d
Don't assert on 0-width tracks. Just don't inherit from them.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14558
2023-09-15 19:09:58 +01:00
Jeff Young
408f505b75
Formatting.
2023-09-15 19:09:58 +01:00
Jeff Young
68111a1682
Handle redraws from any tent-vias changes in plot settings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15254
2023-09-15 18:32:33 +01:00
Jeff Young
5842e9c57e
Smarten the UpdateAllItemsConditionally() tests in SetActiveLayer().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15329
2023-09-15 17:44:43 +01:00
Jeff Young
28e16fbdb9
Don't do layer trimming when importing Altium footprint libraries.
...
It's unclear (to me) what the long-term solution should be here --
Kicad can't currently show any FP layers other than F.Cu, B.Cu, and
In1.Cu -- but that might change.
2023-09-15 14:54:05 +01:00
Jeff Young
c7f69503c0
Do full high-contrast update of vias & pads if netnames are shown.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15657
2023-09-15 14:54:05 +01:00
jean-pierre charras
581cc0de5c
Pcbnew, apparence control: add missing control of layer footprint confict
...
the selection of color and visibility of LAYER_CONFLICTS_SHADOW was missing.
2023-09-15 10:31:25 +02:00
Marek Roszko
cb7d7b09e3
config_params doesnt need color4d
2023-09-14 19:21:55 -04:00
Jeff Young
962f79334f
Don't import Altium objects to disabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15586
2023-09-14 17:17:07 +01:00
Alex Shvartzkop
ff49d5ada9
Fix ambiguous overloads on wx 3.3
2023-09-14 19:05:46 +03:00
Jeff Young
cc0facdd4e
ADDED: Convert Pad to Polygon
2023-09-14 16:36:37 +01:00
jean-pierre charras
a7b1448ccd
Fix a compil warning.
...
Fix also an incorrect comment.
2023-09-14 15:19:46 +02:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
jean-pierre charras
51456d973b
Better detection of degenerated PCB_ARC.
2023-09-14 11:40:20 +02:00
jean-pierre charras
931401b5be
Fix a compil issue (missing header) and a minor compil warning
2023-09-14 08:44:09 +02:00
Jeff Young
e492efe3c5
Finish up custom-shaped pad spoke templates.
...
Also fixes a bug in number box for rotated pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Jeff Young
31c88d1bcb
Don't show cursor or grid axes in pad preview; do show the pad anchor axes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15631
2023-09-13 23:34:25 +01:00
jean-pierre charras
2c10d5e3a0
Pcbnew: fix some issues with very small arcs (size a few internal units)
...
these very small arcs do not allow to calculate a reliable center position,
and therefore a reliable radius.
So seeing them as a very small segment fix plotting/drawing issues.
Fixes #15639
https://gitlab.com/kicad/code/kicad/-/issues/15639
2023-09-13 17:54:57 +02:00
Jeff Young
375a4af478
Don't throw the number box baby out with the bathwater....
2023-09-12 23:49:08 +01:00
Josue Huaroto
2d54bc42cb
Save flip board status in custom preset
2023-09-12 17:10:41 +00:00
Tomasz Wlostowski
a7ae4d8e9a
router: orphaned net is not the same as null net handle
2023-09-12 16:03:55 +02:00
Jeff Young
93f004ff65
Formatting, and a fix for a shadowed variable.
2023-09-12 13:45:28 +01:00
jean-pierre charras
7bc0e138fb
DIALOG_NET_INSPECTOR: add a close button to allow closing the dlg by ESC.
...
Fixes #15624
https://gitlab.com/kicad/code/kicad/-/issues/15624
2023-09-12 09:28:17 +02:00
Jeff Young
3fcbde00c9
Clean up dead code.
2023-09-11 22:05:24 +01:00
Jeff Young
9f5a268f15
Don't go through a middle man when reading pad shape primitives.
...
They're both PCB_SHAPEs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15073
2023-09-11 22:05:24 +01:00
Jeff Young
0315adc646
Dim other SMD pads when in Pad Edit Mode.
2023-09-11 22:05:24 +01:00
Jeff Young
84a9f6f665
Set padEntered when entering pad edit mode with a non-custom shaped pad.
2023-09-11 22:05:24 +01:00
Jeff Young
899fe8be17
Fix change footprints dialog to use correct selection state.
2023-09-11 22:05:20 +01:00
jean-pierre charras
c66d4bab9c
SEXPR_BOARD_FILE_VERSION: fix a typo in commit 0e382669: the date is incorrect.
...
was set to 20230606 instead of 20230906. it creates some issues when reading
files having a 20230606 as file version.
Fixes #15617
https://gitlab.com/kicad/code/kicad/-/issues/15617
2023-09-11 10:40:07 +02:00
Alex Shvartzkop
7eb4b0710d
Fix reading/writing thermal spoke angles for custom pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
7.0 commit: 86ec36d183
2023-09-10 19:02:16 +03:00
jean-pierre charras
45e83541cd
Try to make DIALOG_CREATE_ARRAY more understandable for circular arrays.
...
Added toop-tips and info texts.
No actual code change.
2023-09-09 11:06:36 +02:00
jean-pierre charras
f2f572c370
drc_test_provider_text_dims.cpp: ensure glyphs to test are OUTLINE_GLYPH.
...
For non Kicad font texts with a overbar, the overbar is not a OUTLINE_GLYPH.
Fixes #15604
https://gitlab.com/kicad/code/kicad/-/issues/15604
2023-09-09 10:28:28 +02:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
bd3aca2887
Cleanup the kiface dll export declaration slightly
...
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko
3bbf3a61b5
Remove PNS APIEXPORT that never made sense
...
It can't work because all base classes must be APIEXPORTed
2023-09-08 18:44:46 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
jean-pierre charras
8aa408f0c9
fix a minor compil warning
...
fix a typo in translatable string.
2023-09-07 20:00:29 +02:00
Jeff Young
d3e255a383
Allow context-menu update/change footprint for multiple footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15595
2023-09-07 17:51:18 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
jean-pierre charras
3e6f7ab3e5
Fix compil issues (especially easyeda_parser_base.xx) and compil warnings
...
Compil issues can be gcc13/msys2 specific.
2023-09-07 13:41:25 +02:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Alex Shvartzkop
892761920a
FOOTPRINT::AutoPositionFields: reset justification and angle as well.
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
f211b2cdd0
Remove unused method from router_tool.h
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
1b8abdfde7
ADDED: Basic STEP manipulation utils available to Python.
2023-09-07 10:57:02 +03:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
John Beard
3c5052c1ac
Add snaps to pad hole edges
...
This is often useful when measuring the distance from an
object to a pad hole edge, and also when dimensioning
holes.
2023-09-06 21:34:17 +01:00
John Beard
78c8de9b08
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Seth Hillbrand
1662f6aad6
Speed up footprint loading by caching
...
Store the COMPOUND_FILEs in a map referenced to the library name. This
keeps the COMPOUND_FILE cache in memory rather than regenerating it each
time
2023-09-06 19:15:35 +00:00
Seth Hillbrand
1b63d11adf
Speed up Altium compound file reader
...
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand
b8b2498e0c
Add support for fp cutouts in Altium libs
2023-09-06 19:15:35 +00:00
Seth Hillbrand
cb3c712a9c
ADDED: memberOfSheet() design rule function
...
Footprints that are a member of a specific sheet may be assigned
distinct rules, allowing users to group their rules based on sheet
layout
2023-09-06 19:14:00 +00:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
c07e9c834f
Validate new footprint / save as footprint info before exiting dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Alex Shvartzkop
e09a15ae4c
Altium PCB import: fix rectangular keepout fills.
2023-09-06 09:02:54 +03:00