Goal is to support "*!" which is a variant of multiplication
without the commutative nature.
The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
* Added python stubs with type hinting and documentation.
The documentation was extracted by inspecting the docstrings within each class and methods.
This should enable type hinting and checking by IDEs like VSCode.
The stubs were automatically generated, and have not been manually curated. (TODO)
* created tl ArgType to python type translator
* Fixing a pyaModule.cc bug
* almost finished stubgen
* fixing little bug in classes defined within classes
* Release version of the stubgen script. Good enough for release.
* Adding notes
* Including stubs when installing from source
* typechecking bugfix: missed checking is_iter()
* Cleaning up unused code for merge review
* Including stubs when installing from source (part deux)
* Putting the GenericDeviceExtractor name setting into the right place.
* Updating python stubs
Co-authored-by: Matthias Koefferlein <matthias@koefferlein.de>
* Fixed issue #1029
The problem happened because in the described case the
tl::Variant used as a intermediate container holds the
Python QBrush object and when it gets deleted, the
QBrush object is deleted too.
* Added tests
Needed to represent QIODeviceBase as a second base class for
QIOdevice, QFile etc. Additional base classes are supported but
in a rather limited way. They only contribute constants like enums.
No methods can be provided this way (a limitation of the method
enumeration scheme which only supports one base classe)
* Fixed the issue - Byte array variant was not properly converted to Python/Ruby objects.
* Added tests + properly converting byte arrays to byte array variants in Python.