7264 Commits

Author SHA1 Message Date
Seth Hillbrand
733a379ca3 Unify sheet name validators and apply to properties
Properties panel and properties dialog now share a validator with shared
strings

Fixes https://gitlab.com/kicad/code/kicad/issues/21689
2025-09-13 02:42:03 -07:00
Jeff Young
2c102a62e0 Auto-convert numeric values in fields when referencing them in expressions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21723
2025-09-12 20:35:17 +01:00
Jeff Young
9b006c4f3b Formatting. 2025-09-11 15:47:13 +01:00
Seth Hillbrand
fc7d91214d Make pasting in lib tables easier
You generally copy/paste whole rows in lib tables, so make this workflow
easier.  Allows pasting rows as new data.  Prevent overwriting existing
data and don't force pasting from the first column
2025-09-11 02:30:49 -07:00
Seth Hillbrand
6e2b20ed0e Update BS Threadpool to 5.0 2025-09-10 13:02:24 -07:00
Jeff Young
6e316d9faa ADDED: menu items to control cross-probing from ERC
dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17916
2025-09-10 17:52:09 +01:00
Jeff Young
3c5fb9d90d CHANGED: progressive disclosure in DRC dialog.
CHANGED: moved Report All Track Errors to config menu.

ADDED: menu items to control cross-probing from DRC
dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17916
2025-09-10 17:52:09 +01:00
jean-pierre charras
11cc86e586 Hotkey handling: disable usage of keyboard modifier flag wxMOD_ALTGR.
The flag wxMOD_ALTGR is defined in wxWidgets as wxMOD_CONTROL|wxMOD_ALT
So AltGr key cannot used as modifier key because it is the same as
Alt key + Ctrl key that is already handled.
So the previous code did not work with modifiers Alt key, Ctrl key and Altgr key

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21696
2025-09-10 18:10:43 +02:00
Seth Hillbrand
a1f816e8be Add additional modifies to hotkeys
Allows (depending on system) AltGr, Meta, Win, Super in combination with
other keys

Fixes https://gitlab.com/kicad/code/kicad/issues/1908
2025-09-09 13:30:01 -07:00
Seth Hillbrand
59dcdb4a4f ADDED: proper icons for datasheet and fp in props
The properties panel needs to look like the data fields for user
experience.  In wx3.3 we get a helpful action button but until then, we
need to make our own
2025-09-09 07:12:27 -07:00
Jeff Young
0b102fc085 Use WX_GRID::ClearRows() to avoid assertions.
Fixes KICAD-VM1.
2025-09-08 18:37:47 +01:00
Seth Hillbrand
0c35068e8d ADDED: Optional flashing with cross-probing
Sometimes it is hard to find an element especially if we do not zoom to
the part.  The flash should help draw your eye to the relevant part

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19842
2025-09-07 18:08:04 -07:00
Seth Hillbrand
f66cbaf43a ADDED: Stacked pin notation support
Implement bracket notation for stacked pins ([1,2,3], [1-4], [1,3,5-7]).
Automatic net naming proceeds based on the smallest logical pin number
in stacked groups.

Provide explode/reform commands in symbol editor for conversion.
Supports arbitrary ranges including BGA alphanum ranges like
[AA1-AA3,CD14-CD22]

Adds some additional QA and trace logging

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2004
2025-09-07 14:59:51 -07:00
jean-pierre charras
288c93198a Fix compatibility with wxWidgets 3.3.1 2025-09-07 18:46:54 +02:00
Jeff Young
702f774a1f Bring DIALOG_LIB_FIELDS into line with DIALOG_SYMBOL_FIELDS_TABLE. 2025-09-06 15:10:30 +01:00
Jeff Young
c163f0a24c CHANGED: better real-estate usage in Edit Symbol Fields dialog.
1) Moved view controls list to a wx_grid.
2) Allow show/hide of columns in view controls.
3) Allow editing of BOM Names in grid without long-click on Mac.
3) Added column show/hide states and sash pos to prefs.
4) Decreased mininum sash pane width to allow wider main grid.
5) Simplified presentation by moving "include" and "cross-probe"
   settings to config menu.
2025-09-05 13:00:50 +01:00
jean-pierre charras
168975b0a8 Fix a compil warning on MSYS2 (POINTS collide with a Windows header define)
POINTS is renamed LY_POINT. no actual code change
2025-09-05 09:34:49 +02:00
Mark Roszko
0ce952e705 Fix windows build, IN conflicts with windows header 2025-09-04 19:52:34 -04:00
Seth Hillbrand
44cc5b8e93 Move to fmt 2025-09-04 14:57:16 -07:00
Seth Hillbrand
a857ea77d9 ADDED: Text expression evaluation
Arbitrary text strings now support full evaluation with a rich
functional language

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6643
2025-09-04 14:57:16 -07:00
Seth Hillbrand
11c5e03890 Update Font widget
Now displays the font next to its name

Also keeps a static version of itself for rapid display
2025-09-03 15:48:15 -07:00
Seth Hillbrand
62e220a8db Reverse cell painting for Windows
Apparently Windows might not respect painting with a transparent alpha,
so reverse the paint order

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21635
2025-09-03 10:35:59 -07:00
Seth Hillbrand
e85a8056f5 Don't convert URI slashes on Windows
We auto-convert paths for windows boxes but this should not happen for
uri schemes that have the form <URI>://<path>

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20381
2025-09-03 06:56:28 -07:00
John Beard
b34746e06b Symbol editor: allow editing all related symbols from the treeview
This makes it more straightforward to edit a group of related symbols
(related = all derived from the same parent, including the parent).

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/21067
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/9742
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/11506
2025-09-03 00:24:18 +08:00
Seth Hillbrand
9cba910d53 ADDED: Library Table Editor
Edits all symbols in a library at once.  Supports copy/paste, multiple
field assignment and selective coloration based on existing data

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11506
2025-09-01 21:47:14 -07:00
John Beard
eedfb7a573 Pcbnew: pickup footprints by points, add a selection filter 2025-09-02 01:24:14 +08:00
John Beard
e016dc52fd Pcbnew: Add concept of a 'point'
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.

Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.

They also have a layer, which allows them to be selected and
made visible according to layer filters.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
JamesJCode
bd04d508e0 Fix some compiler warnings 2025-09-01 14:50:22 +01:00
Jeff Young
4024a15a17 Don't reference stack variables from a long-life lambda.
In particular, a lambda for conditional menus should
never capture more than `[this]`.  Even the tool's
frame pointer could change.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21615
2025-09-01 12:44:20 +01:00
Seth Hillbrand
2eb7ba2fb9 Simplify overlapping points after editing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21571
2025-08-31 17:48:59 -07:00
Seth Hillbrand
2c4d792358 Stop converging at existing point
Prevents collapsing points into drag element when hitting convergence
2025-08-31 17:48:59 -07:00
Seth Hillbrand
bbc762a546 ADDED: Angle preview for polygon mod
Shows angle for the current and adjacent corners and whether they are
congruent
2025-08-31 11:49:41 -07:00
Seth Hillbrand
4af585c531 Revert "Remove the forced ancillary grid"
This reverts commit 29dc45d584a882866f2f3f27a7257481043ecc84.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21535
2025-08-31 07:54:12 -07:00
Seth Hillbrand
8acf5c1a25 ADDED: Rounded Rectangles
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4742
2025-08-29 17:37:30 -07:00
Seth Hillbrand
e282dca102 Add configurable hysteresis to PCB snapping
Makes it harder to enter and harder to exit a snap.  ideally this should
help make snapping more intuitive and easier to use.  Once you have a
snap, it is harder to lose it but it avoids being overly snappy in the
begining
2025-08-29 16:21:35 -07:00
Seth Hillbrand
ec7b831be3 ADDED: Search feature for html message box
Allow search for text in e.g. the custom rules examples

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21550
2025-08-29 10:29:11 -07:00
Seth Hillbrand
e8cec41355 ADDED: Indication of filter blocking
If the selection filter has blocked all selections under the cursor,
show a subtle flash on which filter(s) did the blocking.  Helpful for
people getting frustrated by not being able to select locked items.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20487
2025-08-29 07:08:27 -07:00
Jeff Young
6dd4e01f16 ADDED: custom body styles.
(Also moves editing of unit display names to the
Symbol Properties dialog and retires the Set Unit
Display Name dialog.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16069

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14843
2025-08-27 18:11:56 +01:00
Seth Hillbrand
fe4de09d71 Add undo/redo functionality to dialog boxes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18986
2025-08-26 14:39:19 -07:00
Seth Hillbrand
0a767acb3a Wrap net_selector widget for properties
Provides consistent interface to modify/filter nets in property panel
and dialogs

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17643
2025-08-26 11:50:12 -07:00
Seth Hillbrand
29c4d9b197 Add width/height adjustment to reference image
Allows setting specific width or height on a reference image instead of
just scale

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18567
2025-08-26 11:22:32 -07:00
John Beard
4bebd09bd0 EDA_LIST_DIALOG: Simplify ctor args
Sometimes you want to add these in the ctor of the child
class based on some logic and having to construct the vector
in the init-list is a bit ugly.

Theoretically allows to not require a vector too.
2025-08-26 23:34:46 +08:00
John Beard
7f4a1bf64a Sym edit: allow to flatten symbol on save as
Sometimes, you don't want to drag the whole inheritance hierarchy with
you.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/8895
2025-08-26 23:34:46 +08:00
Seth Hillbrand
6dd03bc735 Fix screen scaling
We don't use wxWidget DPI (which is the screen DPI) for our on-screen
display.  Instead, we use 91 (?!?).  Make this configurable in advanced
config and use the set value in our scaling widget
2025-08-25 18:03:46 -07:00
Seth Hillbrand
bfe805a221 Add user-controlled scaling factor
Lets the user decide what 100% zoom is for their system based on a
slider.

This is inspired by Inkscape's custom scaling widget

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19256
2025-08-25 14:37:07 -07:00
Jeff Young
8c3026cf1a Naming conventions. 2025-08-25 12:13:38 +01:00
Seth Hillbrand
3ef862f7b6 Specialize the pad wall drawing
Avoids slowdown when zoom/pan with many THTs as everything remains
cached.  Still slow in Cairo but this is expected

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-08-24 11:25:50 -07:00
Jeff Young
a7772e3b91 CHANGED: flatten image properties dialogs.
Also moves scale to UNIT_BINDER for correct locale
handling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17837
2025-08-23 20:32:11 +01:00
Seth Hillbrand
26f0c03e61 ADDED: support for 45 degree crosshairs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6047
2025-08-23 06:20:00 -07:00
Alex Shvartzkop
1dc278488d REPORTER's HasMessage indicates that any message got reported, not stored. 2025-08-23 00:24:58 +03:00