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
Mark Roszko
9dd642b66c
Kick out strtod in legacy parsers
2025-08-29 23:38:00 -04:00
Seth Hillbrand
8acf5c1a25
ADDED: Rounded Rectangles
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4742
2025-08-29 17:37:30 -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
Mark Roszko
5895c27f4a
Rename Prj() on schematic to avoid conflict with global function
2025-08-07 23:21:41 -04:00
Seth Hillbrand
50c7aff3ff
Simplify KiROUND using std::llround/clamp
...
Removes the bespoke rounding in favor of std::llround and std::clamp
routines
2025-08-04 09:26:25 -07:00
Seth Hillbrand
4aa2047f45
Replace alg::delete and alg::delete_if with std c++20
2025-08-04 09:03:16 -07:00
jean-pierre charras
e1c56c71ef
Fix compil warnings (some due to declarations colliding with a Windows header)
2025-08-03 16:11:14 +02:00
jean-pierre charras
76c5e256a7
Fix a name ( INPUT ) conflicting with a windows header, creating compil warnings
...
This name is just renamed, without actual code change
2025-07-28 15:19:38 +02:00
Seth Hillbrand
094870e7a4
String fixes
...
- Clarify wording in a couple places
- Fix missing 'not' and remove non-standard dashes
- Standardize on single-quote for strings in strings
2025-07-23 17:36:51 -07:00
jean-pierre charras
eb473012a6
*.kicad_sch files: add missing quotes to uuid string for some grahic shapes.
...
Uuid strings are (like other strings) quoted, but a few items were missing quotes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21360
2025-07-23 17:07:35 +02:00
Jeff Young
ec155c00f3
Comboboxes for units and body styles.
...
Also for pin-types in pad properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19904
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19905
2025-07-23 14:35:37 +01:00
Jeff Young
e230d5164d
Honour renderSettings' default font.
...
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
2025-07-17 09:35:21 +01:00
Seth Hillbrand
ab5aa661e9
Fix a few more stagglers for floating point
...
Update banned functions to better catch these
- page size
- erc/drc reports
- x/y position files
- color alpha
- footprint reports
- specctra
2025-07-15 13:27:45 -07:00
Seth Hillbrand
6cd076eed4
Blast quite a bit of LOCALE_IO into the sun
...
After forcing the locale-specific read/writes out of our IO, we can
remove the global LOCALE_IO calls in many places.
Still to do: exporters, pcm, specctra, settings, drawing sheets,
plotters
2025-07-14 15:30:42 -07:00
Seth Hillbrand
55da0e46af
Remove locale-specific floating point from io
...
Use only C-locale functions wxString::ToCDouble and fmt::format{}
functions so that we do not need to set the locale for file io
operations
This also introduces a cmake check that looks for certain banned
functions (strtod, strtof and atof) that convert strings into doubles
by the user locale or formatting specifiers like %f/%g that convert
doubles into strings by the users locale. It will prevent compilation
in this case.
For the limited cases where we want to show the user a string in their
locale, we have an override string "format:allow" that can be added to
lines in order to allow them with %f/%g format specifiers
2025-07-14 14:26:00 -07:00
Jeff Young
6b32815887
Be more robust around filesystems that don't support timestamps (KICAD-R7V).
2025-07-13 15:25:10 +01:00
jean-pierre charras
67aaac48e7
Fix a compil and a Coverity warning
2025-07-12 18:27:19 +02:00
Jeff Young
ddd7f6df16
We're no longer saving symbol libs from Altium import.
2025-07-12 12:00:08 +01:00
Jeff Young
1990eec90e
We no longer create a symbol lib...
...
... so there's nothing to read from. Anyway, if
it has already been seen it'll be in the cache.
2025-07-12 09:54:16 +01:00
Jeff Young
f53c9c4cb8
Formatting (from 9.0 branch).
2025-07-12 09:24:09 +01:00
Jeff Young
1591bf0df7
Remove stale comments.
2025-07-12 09:14:39 +01:00
Jeff Young
e51908e6c8
Bounds checking (KICAD-GGM).
2025-07-11 21:26:19 +01:00
Jeff Young
dc0e211e1e
Can't add to parent group without a commit.
...
We allow this only for file import, where we don't
need to handle group membership anyway.
2025-07-11 21:26:19 +01:00
Jeff Young
b4f44a0833
Formatting.
2025-07-08 09:42:19 +01:00
Jeff Young
86280d5a65
Type safety (KICAD-QQT).
2025-07-04 15:23:31 -06:00
Alex Shvartzkop
4a5039c2cf
Remove some unused variables.
2025-07-02 16:48:26 +03:00
jean-pierre charras
01e67d78d6
board area fixes (jpc)
2025-06-19 18:26:39 +02:00
Jeff Young
17158f21da
Ignore visibility and style attrs in instance data.
...
It appears that it's always null/0. (At least in this
test-case.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19734
2025-06-15 20:48:31 +01:00
Jeff Young
aaa0e74311
Eagle sheet descriptions are elements, not attributes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20957
2025-06-13 12:28:08 +01:00
Jeff Young
4678000a0e
ADDED: DNP, etc. attributes to SCH rule areas.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14037
2025-06-10 18:26:34 +01:00
Mike Williams
f4659b4c4f
warnings: remove unused variables
2025-06-09 09:00:47 -04:00
Jeff Young
af1a246e12
Nullptr safety.
2025-06-06 18:28:39 +01:00
Seth Hillbrand
fbaf480351
Split bar check for fp/symbols
2025-06-05 11:40:47 -07:00
Jeff Young
9750f7690c
Performance optimizations.
2025-06-05 18:01:44 +01:00
Seth Hillbrand
dd92736c46
Handle unquoted strings that use the bar '|' character
...
We use this as part of the standard sexpr now. But previously, if a
designer used the '|' character as part of a string with no spaces, it
would be entered unquoted into the file, which neccesitates special
handling
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21065
(cherry picked from commit 5eacca8b18324422334180a38bd1c1adc62e20d6)
2025-06-04 10:54:22 -07:00
Jeff Young
e5682ff2c1
Line-breaking; decrease use of auto.
...
Also some "fixes" to keep Coverity queit.
2025-06-02 14:00:37 +01:00
Jeff Young
e615fcfe90
Improve progress reporting for opening and importing schematics.
2025-06-01 21:05:50 +01:00
Jeff Young
d0f0c4022f
Be explicit about avoiding catastrophic O(n^2) pretty printing we had in Altium importer.
2025-06-01 19:38:24 +01:00
Jeff Young
f97ab279a3
Remove unused member variable.
2025-06-01 19:38:24 +01:00
Jeff Young
30748006f7
Standardize on American English spelling of "canceled".
2025-06-01 19:38:24 +01:00
Jeff Young
06dcb64ad8
Harden progress reporter API against misuse.
...
Also, titles are nouns, not verbs. (Messages
*inside* reporters are verbs.)
Also implements progress reporter for Altium
schematic import.
2025-06-01 19:38:24 +01:00
Jeff Young
74fc5cde02
Don't save symbol library when importing Altium schematic.
...
The user can always export the symbol library from
the schematic if they want it.
This also improves performance by more than 100X
in the test case for #20299 .
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15468
2025-06-01 19:38:24 +01:00
Jeff Young
38c53edc39
Don't try to convert Altium UUIDs to KiCad.
...
They're different format and all it does is generate
exceptions and slow things down.
2025-06-01 19:38:23 +01:00
Jeff Young
59a172101b
Formatting.
2025-06-01 19:38:23 +01:00
Jeff Young
65dfee161b
Read Altium's showName property for fields.
...
Also fixes a potential crash bug in schematic
cleanup when breaking lines that are part of a
group.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20985
2025-05-31 22:14:09 +01:00
Jeff Young
e8e7282fe1
Fix a bunch more bugs in bezier approximation.
2025-05-26 18:12:43 +01:00
Jeff Young
2dd28d18e8
Performance improvements for ERC.
2025-05-26 13:37:57 +01:00
Marek Roszko
5e4ad048e2
Load the saved rule area uuid back in
...
Partial fix for https://gitlab.com/kicad/code/kicad/-/issues/20918
2025-05-23 19:51:30 -04:00
Jeff Young
f58fc0b952
Rewrite GROUP undo based on uuids.
...
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00