Commit Graph

231 Commits

Author SHA1 Message Date
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
Matus Pavelek d57c5d3ad9
QFN footprint wizard - Allow different number of pads in x and y directions 2023-09-04 13:39:28 +00:00
Alex Shvartzkop b2a0d85c84 Hide std::abs for EDA_ANGLE from Python. 2023-09-04 06:45:12 +03:00
jean-pierre charras 67d3528866 fix minor compil warnings 2023-08-30 09:09:54 +02:00
Alex Shvartzkop a9a2d4aa7a Improve error reporting when running Python action plugins.
Python error traceback is now logged to stderr.
On Windows, a console window will pop up if wxTheApp gets destroyed,
because message dialogs crash due to hooks that wxWidgets sets up.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15520
2023-08-29 07:06:11 +03:00
Alex Shvartzkop b1b66f66f4 Prevent crash when a python script tries to use pcbnew too early.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15414
2023-08-25 00:09:56 +03:00
Alex Shvartzkop 76e0d5981d Import system refactor for PCB plugins. 2023-08-15 05:26:12 +03:00
jean-pierre charras 91b3b296fe Update python footprints wizards to be compatible with last changes in code.
(PCB_TEXT Ctor has changed).
2023-08-11 09:57:45 +02:00
Jan Mrázek 2d010278ad Fix failure on multiple DRC runs via scripting 2023-08-04 02:32:08 +00:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
qu1ck ec94439df4 Footprints swig API: access shown text in fields 2023-06-29 20:36:27 +00:00
Mike Williams a24c55affe PCB Fields: fix up python, API
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams 85c633eb00 QA: PCB Fields bug fixes 2023-06-20 18:34:52 +00:00
jean-pierre charras 9a47b34499 Replace PAD_SHAPE::RECT by PAD_SHAPE::RECTANGLE to avoid a collision NAME with a windows header on MSYS2, creating many compil warnings. No actual code change. 2023-06-02 12:18:24 +02:00
Seth Hillbrand aacf8f50bf Remove unneeded headers from pcbnew_scripting_helpers.h 2023-05-31 15:54:46 -07:00
jean-pierre charras 8fc70d577f better QFNWizard. 2023-04-23 17:34:21 +02:00
Marek Roszko 9f64c7f354 Load custom drawing sheets for pcb cli
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14171
2023-04-20 23:17:52 -04:00
jean-pierre charras 1406341d2d Fix a few doxygen errors (no actual code change) 2023-04-19 16:20:24 +02:00
Marek Roszko ea077bc34d Banish ignore.h to core 2023-04-18 22:44:04 -04:00
qu1ck 9b58f50c68 Add usable PCB_GROUP::GetItems() swig wrapper 2023-04-17 15:41:49 +00:00
jean-pierre charras 725c2fd661 footprint wizards: fix for my previous commit 50502c4 2023-04-16 17:16:54 +02:00
jean-pierre charras 50502c450f footprint wizards: fixes and enhancements 2023-04-16 17:03:32 +02:00
Jeff Young 521aa5b5ae Update DRC exclusions model to match terminology.
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here).  However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.

Fixes https://gitlab.com/kicad/code/kicad/issues/14351
2023-04-15 12:18:41 +01:00
jean-pierre charras 27ebba6b33 Python and footprint wizard: fix issues and update to be compatible
with recent changes in Kicad code.
2023-04-15 10:30:33 +02:00
Salvador E. Tropea d5c0bf3d0e Load the global fp-lib-table before running the Python DRC
Without this we get parity errors for all the KiCad footprints

(cherry picked from commit e5087ca3db)
2023-04-14 12:09:48 -04:00
Ian McInerney 5d0b5e16ff Remove python-based board_item duplicate method
This method shadows the C++ method, and doesn't properly handle updating
the duplicated object's KIID to be unique.

Also add tests to ensure the KIIDs are unique after duplication.

Fixes https://gitlab.com/kicad/code/kicad/issues/14460
2023-04-12 16:05:56 +01:00
Jeff Young bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Jeff Young a0adb59437 Update dimension units when opening PCBs in CLI.
Fixes https://gitlab.com/kicad/code/kicad/issues/14170
2023-03-13 20:26:11 +00:00
qu1ck 88062c5fc3 Add vector3 to swig
Fixes regression in 7.0 making fp 3d model offsets not accessible in
python

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14179
2023-03-05 15:59:22 -08:00
qu1ck 733978dfd0 Fix swig mappings for PCB_BITMAP 2023-02-26 09:24:06 +00:00
mitxela 734d3667a8 Helper function to allow net.GetNetClassName() 2023-02-25 13:14:55 +00:00
mitxela 716328e511 Fix python GetAllNetClasses 2023-02-25 13:14:55 +00:00
jean-pierre charras bb62c21abc python wizard: fix compatibility with current code 2023-02-25 11:06:01 +01:00
qu1ck 9f10c142c4 Sync pcbnew selection with selected items after plugin is run 2023-02-16 02:29:06 +00:00
Jon Evans 6948a0bebd Expose new netclass storage to SWIG
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13337
2023-02-11 09:50:24 -05:00
Marek Roszko 0ff32d20cd wxS more things 2023-01-22 09:41:42 -05:00
Seth Hillbrand 1d223d1439 Safely load python plugins
Catch potential exceptions when doing the initial python plugin load

Fixes https://gitlab.com/kicad/code/kicad/issues/12231
2023-01-17 12:56:15 -08:00
qu1ck f153ff8453 Add GetCurrentSelection() python scripting helper 2023-01-10 16:39:48 +00:00
jean-pierre charras ae8bbcad32 PadArray.py: ensure parameters used to create a VECTOR2I are ints.
Fixes #13430
https://gitlab.com/kicad/code/kicad/issues/13430
2023-01-08 09:10:13 +01:00
qu1ck 7dfa100ff0 Correctly refresh the board after action plugin run and maintain
selection
2023-01-05 14:05:15 -08:00