Jon Evans
1394509734
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
2022-03-05 12:50:45 -05:00
Greg Davill
55bdef9bd2
action_plugin: Remove duplicated entry in UndoList
...
(cherry picked from commit 429c311ec3
)
2022-02-24 14:46:13 -08:00
qu1ck
8b1f1c0296
Fix double loading plugins and sys.path entires multiplying
...
(cherry picked from commit b53b68c686
)
2022-02-17 10:59:52 -08:00
木 王
7c910c2d0b
fix-npth
2022-02-12 11:56:46 +01:00
Jeff Young
9e5e46514d
More wide-string declarations.
2022-02-05 13:29:00 +00:00
Seth Hillbrand
0a13f15a9d
Ensure we can version scripting properly
...
Adds Version() and FullVersion() calls to support reporting version to
scripts and scripting window
Fixes https://gitlab.com/kicad/code/kicad/issues/10079
2022-02-03 15:54:07 -08:00
qu1ck
739c14eaa2
FOOTPRINT::GetProperty() swig extension
...
(cherry picked from commit 33a4c9b08e
)
2022-01-13 13:10:44 -08:00
qu1ck
4bcfa8df1f
Template for vector<VECTOR2I> in swig
2022-01-06 23:48:52 -05:00
Seth Hillbrand
78e737b9d8
DRC scripting: load project from board if possible
...
s_SettingsManager is not always initialized when the WriteDRCReport is
run. We should first attempt to extract the project from the actual
board being checked. Failing that, we fall back to the static settings manager and then exit if we don't have a project associated.
Fixes https://gitlab.com/kicad/code/kicad/issues/10221
2022-01-06 11:50:21 -08:00
Seth Hillbrand
ca8cf14dff
Fix missing FOOTPRINT cast in swig
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10236
2022-01-04 10:49:29 -08:00
Jacob Mealey
cc84344499
fix in pcbnew/python/swig/units.i ... added error handling
...
Added error handling in unit conversions for the pcbnew python bindings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10081
2021-12-28 07:21:35 +00:00
Jon Evans
63f67b7e5b
Fix loading netclasses from legacy boards via Python
2021-12-07 18:55:08 -05:00
jean-pierre charras
c186d1f319
Force refresh AUI manager after reloading python scripts.
...
Because the tools in the Htoolbar can have changed, the AUI manager need refresh.
2021-12-03 09:30:24 +01:00
jean-pierre charras
01eebd0b9d
Do not call callLoadPlugins() every time a SCRIPTING_TOOL is created.
...
(i.e. from board editor and from fp editor)
Once is enough.
Once plugins are loaded, calling LoadPlugins() from fpeditor disable plugins
in board editor
Fixes #9846
https://gitlab.com/kicad/code/kicad/issues/9846
2021-12-03 08:12:06 +01:00
Jeff Young
ba6ae4fa9b
Kicad has many plugins. This one is for the pcb.
2021-11-25 12:56:46 +00:00
Seth Hillbrand
7529eb1812
SWIG out connected item vector for use
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8566
2021-11-19 13:39:06 -08:00
Jon Evans
d76c6bc884
Add NewBoard API to allow standalone BOARD creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9687
2021-11-18 21:43:05 -05:00
Jon Evans
c5ddb8de26
Hide confusing lowercase version of GetCenter from SWIG
2021-11-18 21:21:22 -05:00
Jeff Young
f6c160eb50
Apply a big hammer for python script refreshing.
...
While not ideal, this should tide us over until we have a commit
architecture for python scripts.
Fixes https://gitlab.com/kicad/code/kicad/issues/7065
2021-11-09 18:47:47 -05:00
Jon Evans
0234ae3003
Add CloneFrom API for BOARD_DESIGN_SETTINGS in SWIG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6885
2021-11-08 23:01:24 -05:00
Seth Hillbrand
cf6b18ec7e
Remove escaped double-quotes
...
For some reason, escaped double quotes in wxString::Format cause issues
on Mac. We can replace them with single quotes in most places without
loss of clarity
2021-11-03 17:03:14 -07:00
Asuki Kono
762cd5a32f
Add PLACE_FILE_EXPORTER to swig to call in python
2021-11-03 16:32:05 +00:00
Jon Evans
5475303ec2
Allow loading secondary boards from Python
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9271
2021-10-24 14:06:38 -04:00
jean-pierre charras
0bdb424215
FootprintWizardBase.py: fix Arc building due to recent code changes.
...
Add a arc_test wizard (only to test arcs in fp).
2021-10-22 10:07:31 +02:00
qu1ck
09a2701136
Fix arc angle calculation and python API for it
...
1. It's impossible to use methods that modify parameters in swig so
I extend it in wrapper
2. Simplify GetArcAngle() and fix the bug where it lies about 360
degree arc to be 0 degrees.
2021-10-20 10:38:42 +00:00
qu1ck
6db0216dd4
Bring back python compatibility constants for SHAPE_T
...
They were removed in a41944020d
and that broke a lot of stuff.
2021-10-17 03:21:47 -07:00
Seth Hillbrand
57d0cbcefa
Fix python QA
2021-10-15 13:50:36 -07:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Mike Williams
1b0c274e22
Python: Copy board iterables to prevent segfaults
...
Python code like:
for track in board.GetTracks():
board.Remove(track)
Would delete tracks in the the underlying m_tracks while iterating over
it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5192
2021-09-24 19:40:46 +00:00
Mike Williams
16ec6fbec4
Plugins: Fix QR code generator shape exception
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9079
2021-09-22 11:15:26 -04:00
qu1ck
0f7c0e3872
PCM implementation
2021-08-27 21:11:47 +00:00
qu1ck
78ab69027d
Add 3rdparty/plugins to plugin search
2021-08-27 21:11:47 +00:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
baab2e6119
Attempt to fix SWIG issue.
2021-08-23 22:04:31 +01:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Jon Evans
8eba0b356b
Fix issues calling SaveBoard on board loaded from PcbNew frame
...
KiCad cannot have more than one board/project open, so disallow
the Python APIs for loading additional boards when the frame is
present. Inherit the SETTINGS_MANAGER from the frame when present
instead of creating a new one that won't have the loaded project.
2021-08-14 09:18:21 -04:00
qu1ck
7b4dcb6e10
Refactor ExportSpecctraFile to be usable in API
...
Currently there is pcbnew.ExportSpecctraDSN() but it needs a pcbnew
frame set which makes it unusable outside of the scripting window or a
plugin.
This refactors actual exporting logic into separate helper and adds an
overload to ExportSpecctraDSN(board, filename) that doesn't need pcbnew
window.
2021-07-31 09:55:48 +00:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
qu1ck
c946070005
Fix TRACKs not being cast correctly in API
2021-07-26 22:37:22 +00:00
jean-pierre charras
31d2b2df8b
QA test: fix a wx assert about Locale when running qa_python tests.
...
Probably happens only when the system locale uses a comma as fp separator.
2021-07-23 11:45:45 +02:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
jean-pierre charras
6a886e7085
Wizard qrcode_footprint_wizard.py: fix a minor issue and update code.
2021-07-19 18:36:58 +02:00
luz paz
8bacc9fccb
Fix python 'testing for equality' syntax
...
'Testing whether an object is 'None' using the == operator is inefficient and potentially incorrect.'
Per https://lgtm.com/projects/g/KiCad/kicad-source-mirror/?mode=tree&ruleFocus=7900090
2021-07-19 15:42:30 +00:00
jean-pierre charras
4eafd2664a
FootprintWizardBase.py: fix use of cmp(), non existing in python3
...
Fixes #8677
https://gitlab.com/kicad/code/kicad/issues/8677
2021-06-25 09:04:49 +02:00
jean-pierre charras
5b8f32acd2
Python script sample: fix compatibility with recent changes in code.
2021-06-15 18:19:58 +02:00