Commit Graph

39944 Commits

Author SHA1 Message Date
Jeff Young 8028ea893f Reduce public API of PCB_GENERATOR_MEANDERS.
It doesn't make a huge difference because the class is declared in
the .cpp file, but it still makes it easier to understand what is
conceptually public and what is not.
2023-10-14 15:04:18 +01:00
Jeff Young 5f5113c80a Pick up current rule values when editing meanders. 2023-10-14 15:04:18 +01:00
Alex Shvartzkop 61bdee027b Fix a crash when using length tuning tools.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15874
2023-10-14 16:53:28 +03:00
Alex Shvartzkop b87496b834 Fix loading legacy (until 2009) schematic files. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop f7ed9cc5c7 Fix loading thru-hole pads when drill token is missing. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 7b94ecdc01 Fix the insufficient privileges message in symbol remap dialog. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 83af481688 Improve EAGLE file header detection. 2023-10-14 15:42:13 +03:00
jean-pierre charras 805f1dfbc5 Pcbnew: when adding layers, do not change via layers.
Via layers are not defined by a LSET, and the code that used the new LSET
broke the Via start and/or end layers (for blind/buried vias)
Fixes #15856
https://gitlab.com/kicad/code/kicad/-/issues/15856
2023-10-14 08:48:22 +02:00
Jeff Young 0a111e9fbb Hook up layer-toggle command to router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15812
2023-10-13 21:33:27 +01:00
Jeff Young 2bc273f8bc Don't fire event-parameter asserts when looking for a click event.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/KICAD-2CK
2023-10-13 20:31:01 +01:00
Jeff Young 0b06a1376b Don't turn an empty string into a '0'.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-13 19:07:45 +01:00
Jeff Young 8d3047d6eb Clear selection before deleting board layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15866
2023-10-13 18:20:33 +01:00
Mark Roszko 8b7af2b545 Fix broken 3dconnexion driver check
It essentially inverted it because version > min_win_version would return true, but then it would be checked against <= 0 which is false
2023-10-13 17:06:44 +00:00
Jeff Young a69869f72a Simplify undo/redo for pad edit mode.
Also simplifies high-contrast-mode handling to fix a bug when exiting
pad edit mode via an undo.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15845
2023-10-13 13:59:31 +01:00
Jeff Young 62d959ed0e Don't assume an error location for PAD::GetEffectivePolygon().
While ERROR_INSIDE was good for plotting, 3D generation, etc., it's
not good for generating router hulls.

Also reverts part of the change to always use polygons for PNS::SOLIDs.  A single shape in a SHAPE_COMPOUND will be faster (and
more accurate).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-13 13:59:26 +01:00
jean-pierre charras 38c7fa6db9 Pcbnew: do not display the outlines of a very special zone used by DRC
to show layer mask bridges created by DRC to show these bridges.
This is not a real ZONE, just a container to displays these filled areas.
2023-10-13 14:25:49 +02:00
jean-pierre charras 57efde1bbb Pcbnew: rename ZONE* m_SolderMask to m_SolderMaskBridges
(It is a container to build bridges on solder mask layers by DRC, not real zone)
Disable also this special zone selection by adding it in
PCB_SELECTION_TOOL::itemPassesFilter
2023-10-13 09:57:21 +02:00
Jon Evans 96f9f2c658 PNS: Allow for approximation error in hull clearance
Also revert to using exact hulls for non-compound shapes

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-12 22:55:34 -04:00
Jon Evans 660c407095 ADDED: Control of multi-layer plot order from plot dialog
Enabled by 0b136ae0
2023-10-12 21:52:37 -04:00
Marek Roszko 0fe2e06949 Fix ambiguous cast compiler errors on MSVC 2023-10-12 19:07:12 -04:00
Marek Roszko 5a8f38952b Move vcpkg forwards 2023-10-12 18:32:58 -04:00
Thomas Pointhuber 7cb198e021 fix SEGV in pcb_generator_meanders 2023-10-12 21:47:34 +02:00
jean-pierre charras 79a45c4803 TestBoardOutlinesGraphicItems(): handle small arcs. 2023-10-12 19:59:11 +02:00
Jeff Young af020f4f9a Fixes for diff-pair meander rectangle & edit points. 2023-10-12 17:54:34 +01:00
Jeff Young 78ee6f2e42 Fix a couple of undo bugs.
The first caused items coming back from undo to be hidden.

The second caused them to be ungrouped from the parent meander.
2023-10-12 17:54:34 +01:00
Jeff Young cdc9c2e409 Fix undo bug where items come back hidden. 2023-10-12 17:54:34 +01:00
Jeff Young 16d904d47e Add support for diff-pair meanders. 2023-10-12 17:54:34 +01:00
Jeff Young d4b8b550f3 Go back to using VIEW::Hide() instead of ForcedTransparency().
(The issue was that the selection VIEW_GROUP drawing ignores the
HIDDEN flag so we need to make sure the PCB_GENERATOR_MEANDERS isn't
in the selection VIEW_GROUP while we're editing it.)
2023-10-12 17:54:34 +01:00
Jeff Young 1b676985f6 Retire length tuning tool in favour of first-class meanders. 2023-10-12 17:54:34 +01:00
Jeff Young 1ca477aeee Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young d6c2ad7503 Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young 1aeccc5895 Unroll from PICKER_TOOL so we can handle amplitude/spacing events. 2023-10-12 17:54:34 +01:00
Jeff Young a57c9967f3 Draw meander borders while placing. 2023-10-12 17:54:34 +01:00
Jeff Young 4da3e0ff93 Make meander dashed-line borders constant size. 2023-10-12 17:54:34 +01:00
Jeff Young d04641c868 ADDED: support for editing target length in Meander Properties dialog.
Also supports overriding the custom rules.
2023-10-12 17:54:34 +01:00
Wayne Stambaugh e3c491424b Coding policy, Doxygen comment, and spelling fixes. 2023-10-12 12:27:30 -04:00
Wayne Stambaugh 50ec069a01 Fix build warnings. 2023-10-12 10:10:09 -04:00
jean-pierre charras a7d540ce94 TestBoardOutlinesGraphicItems(): add missing case.
DRC_TEST_PROVIDER_MISC::testOutline(): use a smaller size to dectedt small items.
2023-10-12 15:53:21 +02:00
Wayne Stambaugh 5d6ef69726 Coding policy and Doxygen comment fixes. 2023-10-12 09:36:28 -04:00
jean-pierre charras 499f3ca95b DRC_TEST_PROVIDER_MISC::testOutline(): add test to detect questionable items.
Graphic items (segments, rects, circles) on Edge.Cuts can create issues when
building board outlines, when they are very small (a few nm in size), because
they are not easily handled when trying to search connected graphics.
Also protect RC_ITEM::SetItems() against null pointer.
Fixes #15865
https://gitlab.com/kicad/code/kicad/-/issues/15865
2023-10-12 14:48:24 +02:00
Alex Shvartzkop b0f4adf052 Improve borderless items logic in schematic plotting. 2023-10-12 08:40:37 +03:00
Alex Shvartzkop d9c123b1ec HPGL plotting: write rects as polygons to prevent always filling. 2023-10-12 06:11:12 +03:00
Alex Shvartzkop 45791ff8d6 HPGL plotting: fix random lines connecting to circles. 2023-10-12 06:11:12 +03:00
Alex Shvartzkop 4c0a75cbd4 Fix an assert in HPGL plotter. 2023-10-12 06:11:11 +03:00
Alex Shvartzkop 3e82e59c24 DXF plotting: write zero-sized rects and circles as points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
Alex Shvartzkop 843bd4f79c PDF plotting: fix zero-sized or too thick rectangles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
Alex Shvartzkop 0ea85ec9f5 Restore fill polygons on proper layers when flipping zones. 2023-10-12 02:21:47 +03:00
Marek Roszko 5a1c300cff Remove unused headers in pgm_base 2023-10-11 07:22:50 -04:00
Jon Evans 0b136ae0df CLI: Allow controlling layer order for multilayer plots 2023-10-11 00:18:58 +00:00
Seth Hillbrand dc47d251f5 Fix richio vprint
stdlib checks do not allow dereferencing the first element of a vector
when there are no elements in the vector (regardless of whether we have
allocated memory for them).  This whole function is rather
over-engineered, setting up multiple allocations and branches depending
of the string size.  This commit reduces the function to the actions
needed (get the string size, print it into the output)
2023-10-10 10:58:37 -07:00