Commit Graph

190 Commits

Author SHA1 Message Date
Ian McInerney 2b1040ae67 Fix compatibility with older wx versions
ToInt was only added in wx 3.1.6 apparently, so for now make them long
types. Fixes bug introduced in 8ce0a84ca7.
2023-02-14 13:48:47 +00:00
Ian McInerney 1e8cc6855d Relax wxPython version mismatch check to major.minor
The previous version check failed when the version was even slightly
different, including on the revision field. Theoretically the ABI of the
wx minor versions in use should be the same, so this might work. On the
other hand, with wxPython it could break as well. YOLO.
2023-02-14 00:21:15 +00:00
Seth Hillbrand a9ed47f06c Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
Marek Roszko 0ff32d20cd wxS more things 2023-01-22 09:41:42 -05:00
Jon Evans 70ec2f990f Work around wxPython / wxPropertyGrid fighting over global state
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13280
2023-01-21 17:06:51 -05:00
Stefan 2449f209b1 python version check: fix error message edge case 2023-01-02 20:20:01 +00:00
Jon Evans 5067e82e06 Only run the wxPython version check once 2023-01-02 13:26:55 -05:00
Jon Evans af0b176f57 Just catch any Python exception, we don't care what it is.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13354
2023-01-02 13:06:20 -05:00
Jon Evans f4a80903f0 Attempt to handle more edge cases in wxPython version check
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13354
2023-01-02 12:58:49 -05:00
Jon Evans 0a044656e3 Disable scripting and warn when wxPython version doesn't match 2023-01-02 11:52:14 -05:00
Jeff Young 66208b0ac0 Silence "menu item ID of 0 doesn't work on Mac" assert. 2022-12-30 22:59:08 +00:00
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