Commit Graph

179 Commits

Author SHA1 Message Date
jean-pierre charras 9501f4303d Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
Marek Roszko 7e089182b8 Swap out deprecated Iconized for IsIconized in python
Supported since wx 3.0, wxpython seems to have dropped it
2022-09-19 20:29:52 -04:00
Jeff Young 64a6fc0fd4 Push UNITS_PROVIDER down into a low-level mixin.
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Wayne Stambaugh 7155d1af29 Fix a few more compile warnings. 2022-08-15 15:15:35 -04:00
Marek Roszko 47fe8ff8eb bitmaps and template are resources. 2022-07-21 20:14:10 -04:00
Marek Roszko b6b4ae959e Shuffle around the helper script folders 2022-07-21 19:04:08 -04:00
Ian McInerney b51d8c9825 Introduce new CMake variable to store kiface install location 2022-06-22 23:40:25 +01:00
Marek Roszko 44296dfea2 Forcefully ignore PYTHONPATH env variable on Windows
Fix https://gitlab.com/kicad/code/kicad/-/issues/11328
2022-04-04 22:10:59 -04:00
Marek Roszko 46f86e51e4 Stuff a resource manifest into the kipython kiface 2022-03-14 20:35:02 -04:00
Seth Hillbrand 455e330f3b Cleanup a few more raw strings 2022-03-10 11:22:18 -08:00
Seth Hillbrand 5881471a52 Don't write bytecode on MacOS
MacOS packages are signed and checked on each run.  Since Python lives
inside the package, adding byte code will break the package signature
2022-03-10 11:17:24 -08:00
qu1ck b53b68c686 Fix double loading plugins and sys.path entires multiplying 2022-02-17 17:41:52 +00:00
Seth Hillbrand 917845cf00 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

(cherry picked from commit 0a13f15a9d)
2022-02-03 15:59:10 -08:00
Seth Hillbrand 098e8f7d9b Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
This reverts commit ea9f960cc1.

Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Davide Gerhard ea9f960cc1 cmake: adding KICAD_MACOSX_APP_BUNDLE option
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
Seth Hillbrand fe148df57e Catch language switch before Python
We don't translate the python scripting window yet, so we need to catch
the KIWAY message to change the language and simply discard it

Fixes https://gitlab.com/kicad/code/kicad/issues/10021
2021-12-17 13:11:28 +00:00
qu1ck 8170e2f57c When reloading plugins delete top level module too
importlib.reload() has some differences in semantics from import
which leads to some plugins not reloading correctly
2021-12-06 15:07:25 +00:00
qu1ck 0f67c7ed25 When reloading plugins don't delete system modules 2021-12-02 02:18:41 +00:00
Seth Hillbrand 182ccb63ae Remove config options menu from PyShell
We should figure out how to get these into the json settings.  In the
meantime, disable as they are broken on close

Fixes https://gitlab.com/kicad/code/kicad/issues/9691
2021-11-20 14:37:18 -08:00
Seth Hillbrand 70df3822b5 Link command IDs to window frame
This should be compatible with both 4.0 and 4.1 of wxPython

Fixes https://gitlab.com/kicad/code/kicad/issues/9432
2021-10-20 11:54:25 -07:00
Seth Hillbrand 93b25b115b Handle alternate exception
Apparently, some versions throw one exception, some another.  We really
don't care which, we just want an ID value
2021-10-20 09:28:49 -07: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
Marek Roszko 67d24e8b00 Don't try and use a empty config path for startup scripts
Fix #9205
2021-09-22 21:03:34 -04:00
Marek Roszko 1463c9ab01 Init isPcbframe in the correct order
Fix #9205
2021-09-22 20:59:32 -04:00
Seth Hillbrand f469d02f47 Force fitting of the Python window
Test commit to see if this fixes an issue for macs

Fixes https://gitlab.com/kicad/code/kicad/issues/8622
2021-09-22 11:45:18 -07:00
Seth Hillbrand 8ff20fd97b Ensure python window splits
The History/Calltips/locals window splits were only being shown when
running SingleTop.  For unknown reasons, the crust "CallAfter" routine
was not running, so we force the call
2021-09-21 15:18:24 -07:00
Seth Hillbrand becc3a228e Hide Python window on close button 2021-09-21 15:00:08 -07:00
Seth Hillbrand a5955ecbf7 Don't destroy parents
Now that we are handling windows from inside the KiCad framing system,
python console does not need to destroy its own windows.  This may help
prevent some odd preference corruption as well
2021-09-21 14:43:51 -07:00
Seth Hillbrand 38cdc362a0 Don't fail if we can't create startup file
Fixes https://gitlab.com/kicad/code/kicad/issues/9205
2021-09-21 14:21:59 -07:00
Seth Hillbrand 73401932f7 Fix python help() parser
Fixes https://gitlab.com/kicad/code/kicad/issues/9191
2021-09-21 14:14:41 -07:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
jean-pierre charras 57cfde3123 kicad_pyeditor.py: add missing imports
Fixes #9109
https://gitlab.com/kicad/code/kicad/issues/9109
2021-09-08 17:31:41 +02:00
Mikolaj Wielgus 0c66cb85e3 Python console: Adjust dark theme colors to look better
Fixes https://gitlab.com/kicad/code/kicad/issues/8928
2021-09-06 21:15:40 +00: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
jean-pierre charras 7a7eee86ce kicad_pyshell/__init_py: avoid loading pcbnew module if the board editor is not open.
It happens when opening the python console from Eeschema.
In this case, and on msys2, Pgm() returns a null pointer because the pcbnew
application is not initialized, and the first call to Pgm()
from a python script crashes Kicad
2021-08-15 15:11:07 +02:00
jean-pierre charras eece74efa7 kicad_pyeditor.py: remove useless "import pcbnew" that create issues when created from Eeschema 2021-08-15 12:37:39 +02:00
Seth Hillbrand e87fdf06c1 Wrap GetNewId() for older wxPythons
18.04 and earlier use wxPython 4.0.1 that doesn't have the new Id call.
This wraps the id to use the earlier version if the newer one is not
available

Fixes https://gitlab.com/kicad/code/kicad/issues/8887
2021-07-30 10:36:15 -07: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
Marek Roszko 7ff9806386 Add skipped pdb copy to kipython 2021-07-15 21:30:59 -04:00
Seth Hillbrand 76a6177eb7 Re-direct help() output to console
Keeps a copy of stdin as well, so that re-assigning this in the python
window does't close the output

Fixes https://gitlab.com/kicad/code/kicad/issues/8047
2021-07-12 16:22:07 -07:00
Wayne Stambaugh 6c3ba1c20b Coverity issue fixes.
Issues #332032, #332086, #332157, and #332171.
2021-07-09 10:56:35 -04:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jon Evans b611da161e Ensure console can be loaded from Eeschema standalone
PcbNew sets up the correct path as a side-effect of loading
the action plugins.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8661
2021-06-23 22:43:53 -04:00
Peter Montgomery b4f5b6ef3c Update environment var for Python to allow running from build or install folder 2021-06-15 01:12:45 +00:00
luz paz f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
Marek Roszko 0ffabf5e70 Shift the msvc specific pythonhome init 2021-06-08 23:39:22 -04:00
Marek Roszko ab82b01714 Evict the last bits of wx.h 2021-06-07 20:23:27 -04:00
Seth Hillbrand 891e200fc8 Use Python to test for modules (not CPython)
CPython call requires Python 3.8+, so we work around to keep the 3.6
users happy

Fixes https://gitlab.com/kicad/code/kicad/issues/8554
2021-06-07 13:56:31 -07:00
Jon Evans 148ac19386 Fix launching from the build dir after new_python 2021-06-01 21:37:33 -04:00