7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-11 00:30:01 +00:00
Commit Graph

4249 Commits

Author SHA1 Message Date
Jeff Young
c2818dcb29 Disable pad-hole-not-fully-inside-copper for board-level testing.
Also fixes the error string for it.
2025-01-07 14:50:16 +00:00
Jeff Young
e94449df81 Modernize board setup formatting panel. 2025-01-07 11:54:48 +00:00
Jeff Young
a4754eef5d Modernize drill map dialog. 2025-01-07 11:11:37 +00:00
Marek Roszko
ffdfa09024 Stop setting the default step export path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19512
2025-01-06 22:41:06 -05:00
JamesJCode
77448f032b Improve placement rule areas UI 2025-01-06 22:24:38 +00:00
Wayne Stambaugh
3755b77b92 Dialog string capitalization and layout fixes. 2025-01-06 14:01:00 -05:00
Wayne Stambaugh
2cac5d29a1 Setup and settings panels layout improvements. 2025-01-05 16:42:53 -05:00
Marek Roszko
82c7736087 Don't save mru for step export https://gitlab.com/kicad/code/kicad/-/issues/19499 2025-01-05 13:14:56 -05:00
Alex Shvartzkop
9a3d7594d9 Add pivot/pan/rotation/lights controls to PCB render dialog. 2025-01-05 11:42:58 +05:00
Ian McInerney
3add0afdff Restore current index counter in plot dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19454
2025-01-05 04:38:05 +00:00
Wayne Stambaugh
34fcda224c Minor dialog layout improvements. 2025-01-04 12:34:32 -05:00
jean-pierre charras
7f114d737e Fix missing switch to "C" locale before plotting board files. 2025-01-04 17:28:49 +01:00
Jeff Young
ad513345fe Ugh. Once more into the breach to try and get our terminology consistent. 2025-01-04 15:41:05 +00:00
Alex Shvartzkop
1be6ecd972 Fix --background option in kicad-cli pcb render. 2025-01-04 11:21:45 +05:00
Seth Hillbrand
074e6df3bc Revert "Move thread pool to singleton class"
This reverts commit 361f61a023.
2025-01-03 21:22:44 -08:00
Seth Hillbrand
361f61a023 Move thread pool to singleton class
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started.  Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.

The singleton class can be extended to provide single instance
guarantee for any element across kifaces
2025-01-03 13:51:11 -08:00
Graham Keeth
6c335b9804 Update Solder Mask/Paste design rule tooltips 2025-01-03 16:28:16 +00:00
Ian McInerney
5705e928e1 Move dialog launch function into tool class
This makes it easier to find.
2025-01-02 14:51:30 +00:00
Ian McInerney
a2e115833c Cleanup UI for global edit tracks and pad dialog
* Don't hide the annular rings control - makes confusing UI
* Always show annular rings control - all boards must have >2 layers
  anyway
* Move into single column of choice boxes to be cleaner and take less
  monitor space

https://gitlab.com/kicad/code/kicad/-/issues/19457
2025-01-02 14:51:30 +00:00
Jeff Young
9ed3c8eb82 Naming consistency for jobs. 2025-01-02 13:20:31 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
a3c29a1343 Allow resizing of Output Properties dialog.
Also fixes a bug where the GenDrill dialog returned a fixed
result.
2025-01-01 20:10:07 +00:00
Jeff Young
c5ae32c51c Auto-edit job properties and then description after creation. 2025-01-01 19:17:11 +00:00
Jeff Young
530a66a489 More job-specific option dialog titles. 2025-01-01 19:17:07 +00:00
Marek Roszko
72acbe1de4 Add missing options dialog title
https://gitlab.com/kicad/code/kicad/-/issues/19452
2025-01-01 14:04:33 -05:00
John Beard
e9f8b2ba77 Pcbnew: apply same IPC rule in properties panel as in dialog
This means when you switch a pad to be roundable (round rect or
chamfered-with-round), you get the same behaviour as in the dialog
(and an IPC-compliant pad by default).

Also fixes the radius visibility in the properties panel for
chamfered pads (which can have radii).
2025-01-02 00:42:31 +08:00
Jeff Young
d7eed69831 Job-specific option dialog titles. 2025-01-01 16:33:57 +00:00
Jeff Young
f4ec6d2eaa Fix layout issues when plot dialog opened from job.
Also removes Open Directory button as in a job the filepath
will be relative to whichever Output it is placed in.

Also removes the Run DRC button when called from a job.
2025-01-01 16:33:57 +00:00
jean-pierre charras
bbea339279 PANEL_SETUP_MASK_AND_PASTE_BASE: fix swapped widgets
Global textboxes solder paste clearance were swapped versus labels

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19442
2025-01-01 10:18:48 +01:00
Marek Roszko
8f750baa79 Deprecate and support using the more normal "plot" logic for dxf and svg. 2024-12-31 23:10:24 -05:00
Marek Roszko
cad0e3fc27 Lets move the chunk of plot logic from dialog_plot and share it with the jobs handler
More factoring in V10. This is just because it's getting annoying really lol
2024-12-31 21:15:05 -05:00
Alex Shvartzkop
8a3091c80d Vertically align mask expansion labels in shape properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19438
2024-12-31 21:53:56 +03:00
Jeff Young
8aa0b3e16c Convert output dialog to checkbox list.
Also cleans up the RC options dialog.
2024-12-31 17:13:29 +00:00
Marek Roszko
d6bf87bcaa Add flag to pdf jobs created by gui needed for processing correctly. Fix enum naming 2024-12-31 11:00:19 -05:00
Marek Roszko
33183ad795 Expand pdf plot job to normal pdf plot behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19352
2024-12-31 10:55:09 -05:00
Jeff Young
0a7ed8c9a2 Fix some dialog sizing bugs. 2024-12-31 13:34:06 +00:00
Marek Roszko
17a1706257 ADDED: "Single document" PDF plot option for PCB plots 2024-12-30 23:51:42 -05:00
Alex Shvartzkop
dcf66a675a Fix copy/paste error in track_segment_length help string. 2024-12-31 06:31:49 +05:00
Ian McInerney
7f8b88221d Initialize variables 2024-12-31 00:18:10 +00:00
Alex Shvartzkop
c4091fc7ad Fix tooltip for Fill all vias. 2024-12-31 05:01:30 +05:00
Jon Evans
25036cc5cd Set padstack earlier in via properties dialog
Need to override specific padstack properties
after setting the whole thing
2024-12-30 11:36:07 -05:00
Marek Roszko
bd202a5fdc Ensure more settings are saved for plotting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-29 13:31:56 -05:00
Eric Zhuang
b3259a1c42 ODB++:Support choice compress format and specify output filename. 2024-12-29 17:01:27 +00:00
Marek Roszko
d8d84f300f CHANGED: Eliminate the independent SVG plot dialog that only duplicated and half-implemented the functions of the full Plot dialog 2024-12-28 18:55:03 -05:00
Marek Roszko
0f70c7747c Save drill/place origin for plot jobs for pdf/SVG
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-28 18:49:16 -05:00
Marek Roszko
197c01aa48 Save drill shape for pdf/svg jobs
Partial fix https://gitlab.com/kicad/code/kicad/-/issues/19401
2024-12-28 18:49:16 -05:00
Marek Roszko
af7764fc92 Wooo typo again 2024-12-28 18:25:17 -05:00
Marek Roszko
9e1df0e3c2 Don't forget to actually init generate map to the job value 2024-12-28 18:23:58 -05:00
Marek Roszko
f07e3e5b3b CHANGED: Make drill dialog generate maps a checkbox option rather than explicit button
Wouldn't you want to always consistently generating both drill list and map rather than separately?

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19400
2024-12-28 18:23:07 -05:00
Jeff Young
1cf569b0be Firebomb teardrop curve points.
See 17b0dabec3 for the start.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19403
2024-12-28 22:38:51 +00:00
JamesJCode
dfe0d6345b Another go at supressing FOOTPRINT field on FOOTPRINT objects 2024-12-28 21:57:35 +00:00
Marek Roszko
015a320875 Add controls for width/height in render job 2024-12-28 14:32:26 -05:00
Marek Roszko
d8779a6c98 Add initial dialog for pcb render job 2024-12-28 14:16:28 -05:00
Marek Roszko
eeb77103c9 Don't forget to save format to file for 3d jobs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19402
2024-12-28 12:12:32 -05:00
Jon Evans
78f83b5a39 Update PTH/Via rendering
- Add separate hole wall and net name color for vias
- Overemphasize hole wall thickness to make objects more visible
2024-12-28 10:02:11 -05:00
Graham Keeth
9ceaed7201 fix typos in teardrops tooltip 2024-12-27 22:30:30 +00:00
Jeff Young
e164c55bf8 Fix layout issues in shape properties dialog.
Also don't show/hide the Net selection; just enable/disable it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19330
2024-12-27 22:21:48 +00:00
Marek Roszko
9dd0d67845 Add a job config dialog for ERC/DRC
Also make the default names for drc/erc unique with a suffix break.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19355
2024-12-27 11:35:09 -05:00
Marek Roszko
92404b33f0 Save 2 additional params for plotting jobs 2024-12-26 13:18:04 -05:00
Jon Evans
bb29d5205a Fix ordering of saving via properties from dialog 2024-12-24 18:01:28 -05:00
John Beard
4b5f809961 Prefs: fix bug in FP editor prefs resetting
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19369
2024-12-24 20:38:34 +08:00
John Beard
9d7d6eae10 FP-edit: split fields and graphics default settings
This prevents the dialog growing too much and going off a
smaller screen. It's also more consistent split to match
Pcbnew, which has the same graphical items settings and
allows more granular resetting and avoids confusing settings
that only apply to new footprints with settings that apply
to items with in a footprint.

Resetting is also then more granular, so you can reset text item
defaults without, say, also resetting your default line widths.
2024-12-24 20:38:34 +08:00
John Beard
0c625e6cec Pcbnew: unify dimension default configurability
This resolves an inconsistency between Pcbnew and FP editor that means
default dimension properties cannot be set in the FP editor, but the
dimension line widths and text sizes _can_, which can lead to mismatches
between different parts of the same dimension that can't be prevented
except retroactively using the properties tools.
2024-12-24 20:38:34 +08:00
Jeff Young
1fe2dcc914 Improve accuracy of control label.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19304
2024-12-23 18:09:56 +00:00
Alex Shvartzkop
1b28ee51dc IPC-2581: Improve dialog layout; Limit precision to 4-10 digits.
To represent KiCad's internal units (1 nm), it's enough to have:
- 6 decimal digits in mm;
- 8 decimal digits in inches.

There's not much point in reducing the precision.
Up to 10 digits allowed just in case.
Also changes precision to 6 decimal digits by default.
2024-12-22 20:19:54 +03:00
Alex Shvartzkop
46850aad92 Switch Excellon Drill Units to Millimeters by default.
Having Gerber Plot outputs in mm and drill outputs in inches was
causing tiny misalignments. This change switches Excellon output
units to mm by default.
2024-12-22 00:29:09 +03:00
Jon Evans
3ebe124ae7 API: Add a mechanism to recreate Python environments 2024-12-20 17:07:09 -05:00
Alex Shvartzkop
418c8592aa Allow to control via hole cutting in board body/copper.
- "Fill all vias" option disables the cut in copper layers which is
  important to speed up EM simulations.
- "Cut vias in board body" enables cutting even if copper layer export
  is disabled, which is useful if you're using vias as mounting holes.

Related: https://gitlab.com/kicad/code/kicad/-/issues/18735
2024-12-20 23:28:46 +03:00
Jeff Young
a3f69046ba Fix double-click in footprint chooser.
Also fixes the assert when closing the chooser after the 3D
view was shown.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18107
2024-12-20 11:25:31 +00:00
Seth Hillbrand
527e2e8027 Unify Trace/Track usage
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19329
2024-12-19 15:55:26 -08:00
Jon Evans
d79b736e57 Follow-on fix for 23db5573 2024-12-19 08:46:59 -05:00
Jon Evans
23db557317 Support building with KICAD_IPC_API off
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19321
2024-12-18 21:34:14 -05:00
Wayne Stambaugh
2e7d819b5d Fix thread deadlock when closing the footprint chooser dialog.
Fixing this required disabling the footprint/3D viewer canvas drawing
before destroying the canvas in the dialog dtor.  This in turn required
adding a virtual method to DIALOG_SHIM that can be overridden by the
derived object to allow performing actions during dialog shutdown that
can be problematic when performed in the dialog dtor.  Please note that
this only works for quasi-modal dialogs.  Modal and modeless dialogs
should use close window events.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18107
2024-12-18 08:13:15 -05:00
Jon Evans
9eda526871 API: Show API actions alongside SWIG action plugins in preferences 2024-12-14 18:00:07 -05:00
Alex Shvartzkop
add58faa30 Send wxSIGKILL to STEP/OCCT 3D model export process when cancelled.
Also adds a cancel confirmation dialog.

Also fixes an issue where a thread termination error message is shown
when calling Delete(), because the thread has already exited after
Wait().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19279
2024-12-12 11:57:17 +03:00
Marek Roszko
af8f25875b Get the pcb plot dialog hooked up to jobs editing 2024-12-09 07:17:38 -05:00
Jeff Young
753d385473 Reduce dependency on dynamic_cast.
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
jean-pierre charras
8d83df3264 DIALOG_TRACK_VIA_PROPERTIES: blind/buried vias: fix not working layer sel. 2024-12-08 15:53:13 +01:00
Jeff Young
d1b1ae13f1 Fix typo. 2024-12-07 14:11:24 +00:00
Jeff Young
f058a4ed26 File update from build. 2024-12-07 13:59:31 +00:00
Jeff Young
0f8538c709 Manual cherry-pick of 1ce594d689.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19260
2024-12-07 13:51:04 +00:00
Alex Shvartzkop
b41198035e Improve P-curves option name in STEP export. 2024-12-06 21:01:20 +03:00
Alex Shvartzkop
aafa835d8e Split STEP export dialog options into board/conductor categories.
Also change "copper" to "conductor" in names and tooltips.
2024-12-06 21:01:20 +03:00
Jeff Young
9b4c1024c9 Default focus for Enumerate Pads dialog. 2024-12-04 17:49:42 +00:00
Seth Hillbrand
bf6a255a3e Move more elements from fixed size arrays
Refactor layer data storage from compile-time array sizes to run-time
map storage
2024-12-03 13:25:11 -08:00
Jon Evans
ecdc7ee08f Add a null type for libeval / std::optional support
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19158
2024-12-02 21:21:18 -05:00
Jon Evans
f504a07556 ODB++: Add to CLI and jobs system 2024-12-02 10:53:01 -05:00
Jon Evans
9b1b318736 REMOVED: Footprint field from footprints
This field was redundant (was generally set to the footprint's LIB_ID)
but also buggy (not guaranteed to contain the footprint's LIB_ID)
and confusing (not a way to change the footprint's LIB_ID).
2024-12-01 15:50:40 -05:00
John Beard
c9164272ab Pcbnew: line polar edit: correct endpoint calculation
The translation vector went missing so it was wrong for lines
not starting at (0, 0).

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19220
2024-11-29 19:05:40 +08:00
John Beard
7e75fe19de Pcbnew: mid/endpoint was confusing
Technically, any endpoint is equivalent for the
geometry that you get out. But "endpoint" sounds like
it means the point that is not the start point.

So change the tool to explicitly take the start and
midpoint as inputs.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19221
2024-11-29 19:05:40 +08:00
John Beard
7a9cb919dc Use the bds() function in the DRC dialog
It should be the same object either way, but it's easier
to figure out if it's the same.

Also break out a variable.
2024-11-29 04:12:10 +08:00
John Beard
37469b00b2 Pcbnew: fix track start property display
The display in the properties manager for arc tracks
was wrong. Implement a set of Get/SetStartX/Y functions
for the traces, to match the End functions.

This is needed because PCB_ARC overrides GetPosition
to return the arc center, not the start position (whereas
PCB_TRACK does return the start for GetPosition)

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19215
2024-11-28 05:56:40 +08:00
Jon Evans
dd8f7901b1 Multichannel: use GRID_TRICKS for grid
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19067
2024-11-25 18:51:54 -05:00
Jon Evans
69fe1368f1 Multichannel: support free items; fix group handling
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19096
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19095
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19097
2024-11-24 12:10:14 -05:00
aris-kimi
e917e03a10 Fix some typos 2024-11-24 16:44:01 +00:00
Alex Shvartzkop
0efc17ccc0 Show empty field for unconstrained length in length tuning properties.
Because it's confusing when the dialog shows last target value, but it
doesn't apply when you start tuning.

Also the last values are remembered in DRAWING_TOOL::PlaceTuningPattern
now, instead of global variables.

Related: https://gitlab.com/kicad/code/kicad/-/issues/18979
(cherry picked from commit a950d55cb2)
2024-11-23 18:11:53 +03:00
Jon Evans
0045538512 ODB++: file handling improvements
- Use board filename in compressed output
- Don't generate uncompressed output next to compressed
- Make clear that the path in the dialog is a folder, not a file
- Handle existing output files gracefully
2024-11-20 18:40:51 -05:00
Dhineshkumar S
dc5550c875 Fix schematic setup dialog reopens instead of activating if already open
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18757
2024-11-19 21:06:40 +00:00
JamesJCode
120b06f916 Update DRC rules syntax help 2024-11-18 21:50:20 +00:00
Jeff Young
88dbd46538 Remove fixed sizes from Rule Area Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19144
2024-11-17 20:05:38 +00:00
jean-pierre charras
120106c6c6 Fix button labels: "Cancel" button should be "Close" and "Ok" "Apply and Close" 2024-11-17 09:17:40 +01:00
Jan Wichmann
6d9b73237e Add apply button to the dialog 'Edit track and vias'
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19110
2024-11-17 05:19:26 +00:00
Jon Evans
bc45f1b352 REMOVED: separate color for via net names
Vias can now use track net name color
2024-11-16 11:27:20 -05:00
Jon Evans
71a0a638a0 Remove unused pad layers and simplify pad colors 2024-11-16 11:27:20 -05:00
jean-pierre charras
079855af18 DIALOG_GLOBAL_EDIT_TEARDROPS: add Apply button, and fix bad button labels
Especially, "Cancel" button should be "Close" and "Ok" should be "Apply and Close"
2024-11-14 19:48:41 +01:00
Jon Evans
c5683ea73d Fix ordering of color settings after layer ID changes 2024-11-13 19:38:02 -05:00
Jon Evans
683ce4c904 Support component class in footprint custom rules 2024-11-11 18:34:27 -05:00
aris-kimi
4b1b0982a3 Added generated *.h files and adjust code to translate and combine results 2024-11-11 23:23:05 +00:00
aris-kimi
5340cb3580 Split beloved translatable rule check helper string in more sources
and fully enable creepage drc rule syntax in markdown file.
2024-11-11 23:23:05 +00:00
Jeff Young
dee59bd4f5 UNIT_BINDER does it's own eval processing.
Also fixes a related bug where editing a eval'ed control
from "0" to empty doesn't reset the original text.
2024-11-09 21:47:39 +00:00
Jon Evans
5832fa0982 Remove redundant change to padstack mode 2024-11-09 15:02:19 -05:00
Jon Evans
0a20482359 Remove flag from via stack GUI 2024-11-09 14:48:40 -05:00
Marek Roszko
40345a924c Fix dnp not saving in DIALOG_GEN_FOOTPRINT_POSITION for job 2024-11-07 20:50:43 -05:00
Dhineshkumar S
07f96b83b7 Fix copy-paste issue for grids with checkboxes
Handle boolean value parsing during paste operation. The boolean value
was not being handled correctly in grid_tricks, which prevented the
boolean value from being pasted into the target row

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18985
2024-11-07 18:26:08 +00:00
Jan Wichmann
99d5e66370 CHANGED: Clear drill holes table before loading board file 2024-11-07 15:49:36 +00:00
Mike Williams
dc1b756846 warnings: remove unused variable 2024-11-07 09:32:46 -05:00
jean-pierre charras
6354f5b6a1 DIALOG_SHAPE_PROPERTIES: fix incorrect display at startup (Windows only)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19070
2024-11-07 15:10:59 +01:00
John Beard
39528de0a7 Pcbnew: Use RemovePage for shapes properties dialog
Hide() doesn't work on Windows, apparently.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19070
2024-11-07 21:24:06 +08:00
Jon Evans
f8b193dd9c Teardrops: Improve support for padstacks 2024-11-06 19:49:37 -05:00
John Beard
4858994a77 Pcbnew: shape props dialog: avoid slightly fragile index enum
If this enum is not in order, it will choose the wrong tabs.
We can get the tab index directly from the sizers by going
to the parent, which makes this process automatic.

The CTRL_IDX orders are still possible to de-sync, but at least
that's all in the file and not split between CPP/FBP files.
2024-11-06 22:24:17 +08:00
John Beard
e0c7fd8ce6 Pcbnew: layout shape properties tabs when shown 2024-11-06 22:19:03 +08:00
Alex Shvartzkop
2c62c151fc Save 3D export path when changing output format. 2024-11-05 14:54:09 +03:00
Marek Roszko
796be37c6f Save settings and close step dialog properly when configuring job 2024-11-04 20:30:10 -05:00
Alex Shvartzkop
3b987776c7 ADDED: STL and PLY (since OCCT 7.7.0) 3D model export. 2024-11-04 16:15:02 +03:00
JamesJCode
231fa952fb Add auto-generation of placement rules areas from component classes 2024-11-03 21:43:55 +00:00
Tomasz Wlostowski
2daabbf6e2 MULTICHANNEL_TOOL: enable the tool by default and remove ADVANCED_CFG option 2024-11-02 19:59:09 +01:00
Tomasz Wlostowski
27f26822dc MULTICHANNEL_TOOL: put the 'group items' option in one unique place 2024-11-02 19:59:09 +01:00
Jon Evans
59f7615fbd Expose padstack settings in via properties dialog
Behind a flag because this feature may not
stabilize before V9
2024-11-02 10:02:29 -04:00
John Beard
1450af7d30 Pcbnew: get footprint by name dialog: focus the item in the dropdown on typing
It's not a complete UI for this dialog (especially as the comments
around m_multipleHint->Show( false ) indicate the intent was to
have a multi-selection ability here, but at least there's a way to
confirm what you're about to pick up.
2024-11-01 20:37:18 +08:00
John Beard
fdd4994bbb Pcbnew: get footprint by name dialog - create .cpp file 2024-11-01 20:09:38 +08:00
Fabien Corona
8a6910d96f Enable Creepage check by default 2024-11-01 10:01:19 +01:00
Seth Hillbrand
4d25d94076 Fix clang error
ambiguous conversion between VECTOR2I and VECTOR2D breaks clang.
Forcing it into integers seems like the right way to go
2024-10-31 12:06:34 -07:00
John Beard
f3056d45f0 Pcbnew: handle polygons not having a panel in the new shape dialog 2024-10-31 23:28:59 +08:00
John Beard
e373af53f7 Pcbnew: normalise spelling of End/Mid Point
Not sure which is better, but at least they should be the same.
2024-10-31 23:24:18 +08:00
John Beard
47aeb68937 Pcbnew: allow to set line geometry by midpoint and one end
This is especially handy when drawing symmetrical footprints
where you know the endpoint of the line, and you know it's
centred on the x/y axis.
2024-10-31 23:17:07 +08:00
Hasan Jaafar
6e9188713b Pcbnew: Add inward/outward dimension arrows
This adds a toggle between outward ( |<--->| ) and inward
( -->|----|<-- ) dimensions.

The original merge request for this feature had more nice
features to it: automatic switching and an 'outward' version of the
radial dimension. However, both of these are very tricky problems, and
need more thought: for example, if the radial dimension is overloaded
into a diameter dimension based on the arrow direction, then you have
implement the fiddly concept of a prefix override, and it also make
the point editor much harder to make seamless.

So, rather then delay the very good and useful upgrade of
the "normal" ortho/aligned dimensions, just sidestep the
issue by not doing the radial lines or auto detection right now.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5819
2024-10-30 21:22:37 +08:00
John Beard
58c131efa6 Pcbnew: improve shape edit dialog options
Provides options for editing the shapes though entry of
different modes, such as "centre/start/angle" for arcs.

Several new modes are implemented.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13356
2024-10-30 09:00:14 +08:00
John Beard
c956e6761b Pcbnew: add interative relative offset tool 2024-10-30 09:00:14 +08:00
Ikoma So
45b68a5059 Rebuilt UI using wxFormBuilder instead of direct edits 2024-10-28 15:54:47 +00:00
John Beard
2391e5ecdc Pcbnew array: allow selecting the center point interactively
This involves recasting the array tool from the slightly
eccentric ARRAY_CREATOR class into a full-blown TOOL, which
allows it to usefuly store state asd the dialog hides. This
is modelled on the POSITION_RELATIVE_TOOL strategy.

The by-radius-and-point mechanism is removed entirely,
as it's very fiddly and hard to describe in the UI,
and what you probably really want to do is get your
item onto the circle with tools like "move exact",
and then define the circle origin (now using the picker
tool)

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16783
2024-10-28 22:01:14 +08:00
John Beard
9c0e4a3f66 Pcbnew: Make point selection more reusable
This moves the interactive pick point/item tool action to
PCB_PICKER_TOOL, and add a parameter to allow it to be useful for other
tools that want to pick a point from the canvas.
2024-10-28 22:00:45 +08:00
IkomaSo
f5765bac7f Added a button to open output directory in plot dialog
Shows a bitmap button next to the output location string, allowing the user to quickly view the generated file location

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17659
2024-10-27 23:33:24 +00:00
jean-pierre charras
26094762ee DIALOG_UNUSED_PAD_LAYERS: fix "Restore All Layers" not working.
Fix also a very bad name for a widget in dialog.
2024-10-27 20:32:05 +01:00
John Beard
b931dc5299 Array: add option to centre grid on the original location
Especially for SMD footprint array, it's awkward to have to
offset the pad to the corner first before making the array.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/16882
2024-10-28 00:47:01 +08:00
Jeff Young
9231516238 Lower case the "to" in infinitives.
(See Chicago Manual of Style.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18925
2024-10-27 15:56:40 +00:00
John Beard
a090b86b87 Separate generic aspects of NET_SELECTOR_COMBOPOPUP
Lots of this class is reusable, and it's a fiddly one
that can be useful elsewhere.
2024-10-27 05:13:32 +08:00
jean-pierre charras
d031652d9d DIALOG_GLOBAL_EDIT_TEARDROPS: add option "Remove all teardrops"
"Remove teardrops" remove only teardrops allowed by the filtering/scope options
"Remove all teardrops" remove all existing teardrops
2024-10-25 17:39:47 +02:00
Lucas Dumont
bb9a329ee4 Avoid wxWidgets alert when removing bottom to top
Fix assert ./src/generic/grid.cpp(5216): assert "idx >= 0 && idx < m_numRows" failed in GetRowPos(): invalid row index happening when selecting >= 3 row starting from the bottom last row. Even if not all row are selected.

This happen because wxGrid::DeleteRows will try to update the selected row between each call.
2024-10-24 23:11:26 +00:00
Fabien Corona
6d85853365 Creepage : add minimum slot width 2024-10-22 08:42:42 +02:00
Jon Evans
62e5663473 Make sure to initialize all members
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18953
2024-10-20 16:02:48 -04:00
aris-kimi
36bac3f467 Fix non working Esc when init Polyline Properties dialog.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18850
2024-10-20 12:00:56 +01:00
Seth Hillbrand
a5ada3230c Initialize m_job explicitly
New flags mean that implicit nulling is no longer available
2024-10-18 15:49:27 -07:00
Daniel Treffenstädt
2200eebc06 Added DRC test for minimum/maximum segment length
Checks segment lengths, optionally flagging segments that are minor-size and thus hard to see
2024-10-18 19:48:08 +00:00
Dhineshkumar S
1fc8e65f7a Fixing Paste Issue in Library Table
Previously, when attempting to paste an entire row copied from the global
table into a project table, the value would be pasted from the cell where
the cursor was focused, rather than from the first cell. This issue
occurred because the first cell, a checkbox column, was not selectable.
To resolve this, the checkbox column should be enabled for selection
when the Left Mouse Button event is triggered

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18732
2024-10-18 19:39:54 +00:00
Seth Hillbrand
4077c57d7a Check in compiled help that keeps changing 2024-10-18 10:01:47 -07:00
jean-pierre charras
d04f30de5d DIALOG_GLOBAL_EDIT_TEARDROPS: a bit of code cleanup. 2024-10-18 13:28:39 +02:00
Daniel Treffenstädt
5e3c9334cc ADDED: DRC Checks for connected track angles
This MR adds a new DRC Test provider for the angle between two connected Track segments.

Rule example:

(rule test_track_angle (constraint track_angle (min 135)) (severity error) )
2024-10-16 19:16:42 +00:00
Fabien Corona
f258cc5164 DRC creepage 2024-10-15 18:04:51 +00:00
JamesJCode
1677288798 Don't flag empty placement source as missing in rule area properties 2024-10-15 18:36:17 +01:00
jean-pierre charras
bff4ab5cfe DIALOG_GLOBAL_EDIT_TEARDROPS: save teardrop scope in board design settings.
These parameters were already in board design settings, but never used.
2024-10-15 18:02:22 +02:00
JamesJCode
8c8c38a359 Code formatting 2024-10-12 17:38:24 +01:00
JamesJCode
3152b6750d Rule area properties: persist last source choice when not enabled 2024-10-12 17:15:21 +01:00
JamesJCode
68ae75bd45 Bugfixs to rule area placement UI 2024-10-12 16:27:33 +01:00
Jeff Young
5f00293744 Simplify placement rule area GUI. 2024-10-12 13:44:29 +01:00
JamesJCode
37a3e55bd3 Allow pcb rule areas to handle keepout and placement concurrently
- Implements component classes for placement rule areas and multichannel tool
- Implements property inspector properties for rule areas
- Fixes some zone member default initialisation issues
- Gates all multichannel-related imlpementation with existing adv config flag
- Removes rule area type enum, replaces with inference from keepout and
  placement settings
2024-10-10 23:29:02 +01:00
Andrzej.W
b49ebaeb16 ADDED: Soldermask layer option for graphic shapes
Allows adding a soldermask opening for shapes on a copper layer.
Soldermask expansion can also be specified.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2125
2024-10-10 12:46:06 +00:00
JamesJCode
bc0c9634b8 Don't store DRC expressions in file format for placement rule areas 2024-10-09 18:47:05 +01:00
John Beard
4bad76825c Standardise clamp function
std::clamp and alg:clamp had different argument orders.
Since std::clamp is constexpr, we might as well just use
that now we have it.
2024-10-09 21:27:58 -06:00
Andrzej Wolski
537d3ac81a ADDED: Soldermask layer option for tracks
Allows adding a soldermask opening for individual tracks.
Soldermask expansion can also be specified.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2125
2024-10-08 02:48:33 +00:00
Jon Evans
2a605e4a4e Infrastructure and file format for via stacks 2024-10-06 18:45:25 -04:00
Jon Evans
df0de2b059 Expose padstack editing in Pad Properties dialog 2024-10-05 23:23:44 -04:00
John Beard
095e414f12 Pcbnew: add way to re-enable locking prompts
While it's still session-limited, this means you don't have
to restart to get your locking ability back.

Finer-grained locking enablement probably makes better long-term
sense, but this at least prevents "gun shyness" about a setting
you can't turn off again easily.

Also it gets a bool's-worth of application configuration state
out of a dialog (it was a static).
2024-10-05 22:26:18 +01:00
John Beard
3d6d8b9946 Strip richio.h from headers that don't need them
Like the DSNLEXER header, this has visibility in over 700
files, whereas well under half actually use any of it
(quite a bit, but not all, of it actually via DSNLEXER)

Many places already forward-declare the OUTPUTFORMATTER type,
by doing that for the others, it still possible to use the
non-IO methods without having to see richio.h.
2024-10-04 18:06:18 +01:00
Wayne Stambaugh
90ed4bae99 Remove debugging output from last commit. 2024-10-04 11:58:56 -04:00
Wayne Stambaugh
7228321b5d Show schematic parity tab in DRC dialog when parity marker is selected. 2024-10-04 11:42:15 -04:00
jean-pierre charras
51e50c1479 Fix some (minor) issues related to string translation
- Avoid not printable chars in strings to translate
- remove a trailing space.
- disambiguate to short strings.
2024-10-03 10:46:59 +02:00
Jon Evans
468ebc3174 CHANGED: Render vias using copper layer colors
Update microvia and blind/buried via rendering to remove
dedicated layer colors and only use copper layer colors
2024-10-01 19:55:05 -04:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
John Beard
3f131e2011 Abstract REFERENCE_IMAGE to a separate class
Break the non-PCB-specfic parts of PCB_REFERENCE_IMAGE out
to a common REFERENCE_IMAGE class, which is then composed into
the PCB_REFERENCE_IMAGE. This will make it easier to bring the
transform origin logic to eeschema without repetition.
2024-09-30 10:20:20 +01:00
John Beard
215533f31a Unify flip direction handling
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).

Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.

This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
2024-09-27 17:13:13 +01:00
Astropeak
3066ad2088 Pcbnew: make 'Flip board items' option more clear
CHANGED: The 'Filp board items' checkbox in the 'PCB Editing Options'
was changed to a radio box.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16652
2024-09-27 17:13:13 +01:00
jean-pierre charras
98830577eb Pcbnew, DIALOG_SWAP_LAYERS: Use UI layer order to display copper layers list. 2024-09-27 17:55:43 +02:00
jean-pierre charras
5255a09dfa Pcbnew, DIALOG_SWAP_LAYERS: fix crash when opening the dialog. 2024-09-27 16:56:17 +02:00
jean-pierre charras
eee98383b7 DIALOG_MAP_LAYERS: list Pcbnew layers using the UI order, not the layer ID order 2024-09-24 11:50:44 +02:00
Jon Evans
1199488ce2 Prevent assertion in color settings panel 2024-09-21 14:34:12 -04:00
jean-pierre charras
e71fabf640 DIALOG_MULTICHANNEL_GENERATE_RULE_AREAS_BASE: fix minor issues. Rename fbp file.
Mark some strings as translatable.
2024-09-20 20:13:39 +02:00
Mike Williams
867cb58175 feature removal: remove Show Hidden Text
Does not work properly since 8.0 introduction of footprint fields.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18656
2024-09-19 15:41:44 -04:00
John Beard
8fdb6d6e88 Feature: Exact item offset tool
This is a little bit like the bounding hull tool, but the
output is "exact" and it only supports the most common
source items.

By 'exact', this means that rounded corners are real arc
segments rather than polygonal approximations. Obviously,
this is rather tricky in the general case, and especially
for any concave shape or anything with a bezier in it.

Envisioned main uses:

* Creating courtyard and silkscreen offsets in footprints
* Making slots around line or arcs.

The one thing that it does not currently do, but which it might
plausibly do without reimplementing Clipper is convex polygons,
which would bring trapezoidal pad outsets for free. But that
is a stretch goal, and bounding hull can be used.
2024-09-19 06:35:43 +01:00
John Beard
32b824e3cd Clarify track/via snapping in dialog
Very minor tweaks:

* "When creating tracks" -> "When routing tracks"
  This setting affects the router tool, but not, say,
  copy/paste or other non-router ways to create tracks.
* The 'Snap to tracks' setting also toggles snapping to
  vias, so say so.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18508
2024-09-19 06:35:43 +01:00
Jon Evans
1895ec58a0 Fix various compile warnings 2024-09-18 18:51:02 -04:00
jean-pierre charras
22af8628ed DIALOG_FOOTPRINT_CHOOSER: ensure the display is always updated on footprint change. 2024-09-18 15:35:11 +02:00
jean-pierre charras
d4909f59fa PANEL_SETUP_LAYERS: fix issues for VIAs when reducing the copper layer count. 2024-09-17 17:52:52 +02:00
jean-pierre charras
9b6d167236 Convert graphic to polygon or zone: fix some issues:
- fix gap added twice
- add missing gap setting in DIALOG_COPPER_ZONE and DIALOG_NON_COPPER_ZONES_EDITOR

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18724
2024-09-17 13:26:33 +02:00
Eric
1506beecbc Implement ODB++ export
ADDED: Add support in Pcbnew for exporting ODB++ files under Fabrication
       Outputs, base on ODB++Design Format Specification (Release v8.1
       Update 3 February 2021).

Note: There is still a lot of work to do if we will make the feature as
      complete as the ODB++ spec.  However, the current functionality's
      completeness is already sufficient to cover general production
      scenarios. I have compared the output results with Gerber files by
      DFM tool and the accuracy at the graphic level should be able to
      cover most usage scenarios.  Additionally, I am very grateful to
      the great open-source project Horizon EDA for giving me a lot of
      inspiration in terms of ideas.

The feature can be enabled by adding "EnableODB=1" to the kicad_advanced
configuration file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2019
2024-09-14 15:34:51 +00:00
Jan Wichmann
79271ca865 CHANGED: pcbnew - Refilling of zones before and after cleanup. 2024-09-11 19:18:41 +00:00
jean-pierre charras
3ac29eba83 PANEL_SETUP_LAYERS: ensure testLayerNames() test only layers that exist in dialog
Previously, all possible layers were tested, but some are not existing in dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18680
2024-09-11 11:40:26 +02:00
jean-pierre charras
c8b113870a Pcbnew: Preferences/Fp editor/Default values: allow to remove defaut text items.
These texts/fields are not mandatory, so allow remove them from default texts list.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18663
2024-09-09 16:54:16 +02:00
Marek Roszko
fd09ad2a75 Split header for DIALOG_EXPORT_IDF3 2024-09-07 20:01:17 -04:00
Marek Roszko
f1fdb5a1d5 Split off header for DIALOG_EXPORT_VRML and rename it from DIALOG_EXPORT_3DFILE 2024-09-07 19:57:19 -04:00