AnyOldName3
c5d4857f47
Make functor converter variadic
...
Duplicating code three times is silly.
2020-04-16 00:56:57 +01:00
AnyOldName3
5825661a4f
Only initialise Python once
...
When switching instances, the Python runner gets another initPython call, despite the previous interpreter existing. Most of the function was either a no-op or was redundant, and the GIL state got confusing. This is the simplest fix.
If things catch fire that I haven't anticipated, instead of returning true, we can destroy the pre-existing interpreter and create a new one by running the rest of the function.
2020-04-16 00:53:29 +01:00
AnyOldName3
2e13cf0dab
Ensure we relinquish the GIL after initialising Python and have it when destroying callables
2020-04-15 17:01:28 +01:00
AnyOldName3
63a6c504b0
Restore logging of historically-logged Python exceptions.
2019-07-22 00:08:35 +01:00
AnyOldName3
19dcdd95c0
Prevent PyQt from using its buggy exception logging by making it look like we're using custom exception handling.
2019-07-15 20:04:44 +01:00
AnyOldName3
ac5540ba87
Forward Python stdout and stderr to qDebug and qCritical
2019-07-15 20:02:18 +01:00
AnyOldName3
e280b07cb6
Correctly use SIP to transfer ownership of objects from Python to C++
2019-06-01 00:59:39 +01:00
AnyOldName3
f841a3b13a
Add support for the default (invalid) QVariant
2018-09-19 22:52:40 +01:00
AnyOldName3
60701b6ba0
Add forgotten PyDict_Check
2018-09-19 22:36:11 +01:00
AnyOldName3
a8cf8d45f3
Fix typo preventing IOrganizer::setPluginSetting from being used in Python
2018-09-19 22:16:50 +01:00
AnyOldName3
84c04c32dc
Add missing PyUnicode_Check which prevented QVariants being created from Python 3 strings
2018-09-19 21:45:42 +01:00
AnyOldName3
b70fa8174e
Add support for free plugins which don't implement any specialised interface
2018-08-15 15:34:08 +01:00
AnyOldName3
00c38f5f03
Remove superfluous template parameter specification to shrink lines to a more readable length.
2018-05-03 22:22:32 +01:00
AnyOldName3
8919fbd351
Use new template for game features wrappers.
2018-05-03 22:19:55 +01:00
AnyOldName3
ec4945db3e
Use new template for (non-pointless) uibase wrappers.
2018-05-03 22:02:06 +01:00
AnyOldName3
9f975b92b2
Create template for wrapper functions and add helpful error message. Use this for plugin wrappers.
2018-05-03 21:56:23 +01:00
AnyOldName3
7ab4b71ed3
Return a plugin as multiple (differently-typed) instances to work around multiple inheritance issues
2018-05-02 17:24:09 +01:00
AnyOldName3
94886104f3
Prevent the C++ part of PyQt objects being deleted while the Python component is still accessible.
2018-05-02 00:19:29 +01:00
AnyOldName3
902024e508
Add Game Features support
2018-04-25 17:25:12 +01:00
AnyOldName3
0a9b4b9fc4
Change the capitalisation of sipapiaccess.h to make it consistent with other files
2018-04-22 15:39:09 +01:00
AnyOldName3
028c14a951
Add missing include guard to sipApiAccess.h
2018-04-22 15:37:29 +01:00
AnyOldName3
bf8f427cd8
Move sipAPI getter function to a shared header so it isn't duplicated.
2018-04-22 00:59:42 +01:00
AnyOldName3
8fe091ab48
Implement IPluginProxy bindings.
2018-04-22 00:34:59 +01:00
AnyOldName3
8877fee4fa
Implement IpluginModPage bindings.
2018-04-20 16:40:39 +01:00
AnyOldName3
f13a5961df
Align ModRepositoryFileInfo indentation
2018-04-20 16:40:39 +01:00
AnyOldName3
7b6ca76dec
Handle conversion for types IPluginModPage depends on
2018-04-20 16:40:39 +01:00
AnyOldName3
a35208d902
Improve QVariant conversion and generalise QMap conversion
2018-04-20 16:40:39 +01:00
AnyOldName3
4feb06a099
Add IPluginFileMapper Wrapper and bindings.
2018-04-20 16:40:39 +01:00
AnyOldName3
0abbab9f8c
Add missing parts of IOrganizer bindings
2018-04-20 16:40:39 +01:00
AnyOldName3
86d859d430
Allow anonymous Python functions to return values
2018-04-20 16:40:38 +01:00
AnyOldName3
5a730941db
Implement wrapper and bindings for IPluginDiagnose
2018-04-20 16:40:38 +01:00
AnyOldName3
c70f78adfe
Reduce code duplication by moving common implementation to macros
2018-04-20 16:40:38 +01:00
AnyOldName3
e8af8819df
Add PYCATCH missed when rebasing
2018-04-20 16:40:38 +01:00
AnyOldName3
de809c6d57
Fix simple errors with IPluginGame proxy and add warning when the unimplemented part is encountered
2018-04-20 16:40:38 +01:00
AnyOldName3
01168483c5
handle errors in Python game plugins
2018-04-20 16:40:38 +01:00
AnyOldName3
317f13177e
Move IPluginGameWrapper's mentod implementations into the cpp file
2018-04-20 16:40:38 +01:00
AnyOldName3
c47b94d534
Restore indentation which rearraging things broke
2018-04-20 16:40:38 +01:00
AnyOldName3
ca51a53d41
Make IPluginGameWrapper into a class and include the necessary Qt annotations
2018-04-20 16:40:38 +01:00
AnyOldName3
9722d5b093
Move IPluginGameWrapper to proxypluginwrappers.h as it's a wrapper for a plugin.
2018-04-20 16:40:38 +01:00
AnyOldName3
2df983e22c
Create ExecutableInfo interface
2018-04-20 16:40:38 +01:00
AnyOldName3
52417d64e4
Implement missing handling for QFileInfo
2018-04-20 16:40:38 +01:00
AnyOldName3
4a558d4caf
Implement from_python handling for QStringList
2018-04-20 16:40:38 +01:00
AnyOldName3
8dd9a710b4
Replace wrong QDir converter
2018-04-20 16:40:38 +01:00
AnyOldName3
377199f233
Put plugin wrappers in alphabetical order
2018-04-20 16:40:38 +01:00
AnyOldName3
e277c9b56b
Add missing comparison operators and functions for MOBase::VersionInfo
2018-04-12 01:16:27 +01:00
AnyOldName3
d8ad6569ba
remove dead include
2018-04-11 17:27:23 +01:00
AnyOldName3
e08b8be570
Remove dead code
2018-04-11 17:12:27 +01:00
AnyOldName3
aca861194d
Update .gitignore with msbuild stuff
2018-04-11 17:10:55 +01:00
AnyOldName3
f3fa0baa41
Make indentation consistent
2018-03-17 00:35:59 +00:00
AnyOldName3
9a3465cc7a
Register converters for all remaining uses of QFlags in the Python wrappers
2018-03-17 00:19:45 +00:00
AnyOldName3
277a2862b1
Make QFlags conversion bidirectional and register the converter for more uses of QFlags
2018-03-17 00:05:17 +00:00
AnyOldName3
af7823b920
Register some functions which Tannin created wrappers for, but omitted to make accessible from Python
2018-03-16 17:03:48 +00:00
AnyOldName3
10437e0aca
Allow conversion of any unicode sequence into a QString
2018-03-16 00:32:21 +00:00
AnyOldName3
425ec8df5a
Add support for converting Python unicode strings to QStrings
2018-03-15 21:21:23 +00:00