Seth Hillbrand
8f0b3b59f0
Offer to create missing plugin directory
2025-09-02 20:32:14 -07:00
John Beard
299a6c6c7b
Netinfo: avoid transitive string_utils.h include
...
Put the string manipuuation utils in the cpp, and
remove string_utils.h from the includes of netinfo.h.
This spams that header into about 350 files, not all of which
need it. Then go round and tidy up the places (most exporters
and dialogs) where CPP files weren't including string_utils.h
when they used it, as well as some other order-sensitive
include issues that turned up.
2025-08-12 20:00:15 +08: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
Jeff Young
c758a2fbaf
Don't sequence layers when order doesn't matter.
2025-07-14 19:12:44 +01:00
Jeff Young
a7e2878e6b
Kicad SEXPR should no longer need LOCALE_IO.
2025-07-14 13:17:53 +01:00
Jeff Young
68d4940087
Thread-safety (potentially KICAD-VMX...)
...
... KICAD-6PV, KICAD-82, KICAD-R3A, and others.
2025-07-13 15:25:10 +01:00
Jeff Young
18e107529a
Don't force callers of GetAppSettings to implement exception processing.
2025-06-14 20:25:59 +01:00
Jeff Young
116bd924c2
Static cast safety.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20958
2025-06-08 23:21:02 +01:00
Jeff Young
524575a595
Allow embedded files to come from components
...
as well as parent containers, part II.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20210
2025-04-25 12:26:31 +01:00
Ian McInerney
7ad1103f55
Move toolbars to a serializable storage format
2025-02-28 01:57:37 +00:00
Jon Evans
54e8233b36
Don't scan for API plugins if server is disabled
2025-01-10 21:46:51 -05: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
JamesJCode
3800bae281
Enforce thread safety in clearance and creepage checks
...
Previously, these checks injected a custom handler to add graphic
objects to a DRC marker. This was not thread-safe and was causing
non-deterministic crashes. The DRC reporting methods now accept
a customer handler which is called on the newly created
PCB_MARKER within the commit context. This defaults to nullptr
for DRC checks which do not require graphics or other additional
processing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19282
2024-12-23 18:10:47 +00:00
Jon Evans
9eda526871
API: Show API actions alongside SWIG action plugins in preferences
2024-12-14 18:00:07 -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
Jeff Young
9e7ffc6ff0
Load input-specific project; don't use default (blank) project
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19176
2024-11-22 21:29:05 +00:00
jean-pierre charras
ab1b22d435
Python script: Ensure image handlers are loaded before loading a board,.
...
because a board can include bitmap images using various formats, all
available image handlers must be loaded.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18959
2024-10-21 17:19:27 +02:00
jean-pierre charras
f96c9b2f20
Avoid an wxASSERT when loading a board from a python script outside KiCad.
...
In this case, a call to Pgm() generates a wxASSERT due to a nullptr.
However this nullptr is not used, so using PgmOrNull() avoid this assert
2024-10-21 16:54:24 +02: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
Jeff Young
00bbe4dbc6
ADDED: ERC & DRC checks for footprint matching footprint filters.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6401
2024-08-16 16:31:53 -06:00
James J
7ce00e511b
Multi-netclass support
2024-07-26 20:49:29 +00:00
Jeff Young
0f099ac65e
Use lock when clearing and loading libTables.
...
Also make sure it's re-indexed after loading.
2024-07-23 09:53:01 +00:00
Seth Hillbrand
77797103f7
Add ability to embed files in various elements
...
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures. File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.
kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document. Embeds are allowed in schematics, boards,
symbols and footprints. Currently supported embeddings are Datasheets,
3D Models and drawingsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Seth Hillbrand
293075426b
Clean up some LSEQ functions
...
We are derived from std::vector now. We don't need our own prima donna
increment and dereference overload as these just create bloat and
non-standard coding practices
2024-07-08 20:59:46 -07:00
Jeff Young
080cbbe0dd
Error reporting for drawing sheet loading.
2024-06-24 20:22:29 +01:00
Alex Shvartzkop
5475359d00
More build time optimizations.
2024-05-06 04:39:28 +03:00
Jon Evans
1dbe78c68b
Add QA tests and expand serialization for API
2024-04-02 19:51:18 -04:00
Jon Evans
a3b6ab48a4
Add a new plugin system for the new API
2024-04-02 19:51:16 -04:00
Jeff Young
0598ca0f90
Keep BOARD_DESIGN_SETTINGS DRC marker exclusions up-to-date.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17429
2024-03-17 16:29:24 +00:00
Mike Williams
36331e259a
VRML: add options to exclude DNP/unspecified types like STEP exporter
2024-03-04 10:10:34 -05:00
Jeff Young
fa0ead98d8
Split out table editing and table cell editing.
2024-02-24 20:05:51 +00:00
Marek Roszko
762c159b96
Fix KIPRJMOD by setting the project as active by modifying the board loading helper
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16973
2024-02-15 23:06:41 -05:00
Jeff Young
13935399a5
Second part of d854de9d681267c1f0211fd75a29bbb4bf74d74d
...
This one for symbol <-> footprint. (Original was for
lib footprint <-> board footprint.)
Also fixes a major bug in DRC where we bail out of parity
checking if DRCE_MISSING_FOOTPRINT is set to ignore (or
overflows).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16671
2024-01-20 18:41:35 +00:00
Marek Roszko
d0236ca751
Make DRC exclusions work in cli & python DRC
...
The way exclusions work is actually silly, and you can end up with your project file losing them too.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11562
2024-01-10 19:55:44 -05:00
Marek Roszko
08c2237a94
Update the layer names in cli/python board load of the property grid layer enum because DRC quietly uses it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16555
2024-01-09 20:43:14 -05:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00
snhobbs
5cf244dd90
Added a ImportSpecctraSession overload that doesn't require a PCB_EDIT_FRAME
2023-11-20 03:06:27 +00:00
Zhuang Jiezhi
9b8fa85b32
feat:Add python API GetKicadCurrentLanguage
2023-11-12 22:52:54 +00:00
Seth Hillbrand
d99641be40
ADDED: Git integration support
...
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Seth Hillbrand
4ed8b14c12
Fix Mac build
...
Clang requires tighter forward declaration of derived enums
2023-10-17 09:26:00 -07:00
Marek Roszko
bee6e6be01
AddMenuLanguageList should live in EDA_BASE_FRAME, its only user
2023-10-16 19:49:52 -04:00
Marek Roszko
584757f2df
Move the menu helpers to ui_common instead of sitting in bitmap for some reason
2023-10-16 19:40:46 -04:00
SYSUeric66
9d4e0ba439
add python api FocusOnItem
2023-10-16 22:28:47 +00:00
Marek Roszko
6b12a12b3e
On second thought rename PROJECT_PCBNEW to PROJECT_PCB
2023-09-27 23:15:54 -04:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -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
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
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
1b8abdfde7
ADDED: Basic STEP manipulation utils available to Python.
2023-09-07 10:57:02 +03:00