| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signature was missing "typing.Optional[T]" which has to be wrapped
around any argument with a default value of "None".
This is the only case where the repr of a type looks different than
it was written, because it renders as "typing.Union[T, NoneType]".
Solving that by redefining a few typing structures was way too
hard and too error prone. It was finally solved by a regex replacemet
that is run as a post process in generate_pyi.py .
The enumerations are now even more complete, since toplevel enums
are also included. This had the effect that enums with Python
keywords were revealed, and so the function "createEnumItem" had
to be modified.
The order of creation was also changed to avoid name clashes.
The overall structure was improved, and instead of parsing the
generated signatures to find out if something is a class method,
this is now very cleanly implemented as an inquiry to get_signature().
I tried to make sense of the flags structure that comes with many
enums. PyQt5 has a standard set of "__...__" methods without useful
signature information. I could mimick that as well, but that would
create a whole lot of pointless extra information. We should decide
later if it makes sense to include that. Right now the flags
structures show the class name, only.
This patch will be merged with the 5.14 branch. The additions of this
patch could fortunately be placed into areas which do almost not
overlap with the 5.14 signature additions.
Change-Id: Ie513e15917b04d746ab597fb7a9eb1fd766f7c73
Fixes: PYSIDE-1079
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signature of QtCore.Slot and other classes could not automatically
be generated because the function is not generated by cppgenerator.cpp .
We add it manually in the C++ code into the generation process.
The case of QtCore.Slot had diverse follow-up issues to be solved:
- Classes which did not inherit from Shiboken were not generated.
This is a long-standing omission and creates very many new
simple types.
- The arity of Slot has default arguments after the varargs parameter
"*types". This needed an extended Python parser analysis that fixes
the arguments given to the inspect module, accordingly.
- The signature generation was completely new implemented and
relies no longer on the restricted syntax of a Python (2) function
but generates signatures directly as Parameter instances.
Implemented classes with hand-made signatures:
QtCore.ClassInfo
QtCore.MetaFunction,
QtCore.MetaSignal
QtCore.Property
QtCore.Signal
QtCore.SignalInstance
QtCore.Slot
QtQml.ListProperty
QtQml.VolatileBool
As a side effect, many more subtypes were published.
Enums are done, which concludes this work.
Fixes: PYSIDE-945
Fixes: PYSIDE-1052
Change-Id: Ic09f02ece3a90325519e42e4e39719beb0c27ae9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were some refinements applied while developing
"Support Pointer Primitive Types by Arrays or Result Tuples".
This patch moves these changes out which are not essential
for that patch. They include
- sort all mapping groups by name
- replace huge regex by a pattern generator
- replace dictionary string entries by SimpleNameSpace
- improve PEP 563 handling
- simplify "zero(sometype)" substantially
- better handling of "QGenericMatrix" (preview)
A test for the generated pattern against a reference parser
was added.
Task-number: PYSIDE-795
Task-number: PYSIDE-951
Change-Id: I5a6b236850c63a7db77b7f7b88881486fd1e61be
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the project split, shiboken exposed its own modules, and the
overall structure with shiboken2.support.signature and
PySide2.support.signature was already quite complicated.
When introducing embedding, it is necessary to have some support
folder that gets unpacked from a zipfile. That means, the shiboken2
root directory would be in the zip file in the embedding case.
This does not only increase the complexity, it further means
that we must make shiboken2.so available in the shiboken2
containing zipfile!
In order to avoid that, we stop the dependency from the two
support directories and use shibokensupport, instead. The
simplification of the loader and other modules is also significant.
Task-number: PYSIDE-510
Change-Id: Ic735a8d36f10f03698378f2ac9685a5955e40b0c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
| |
to be replaced by a subtree merge.
|
|
|
|
|
|
|
| |
From time to time, it is good to update the master project.
Change-Id: I50c45caf7c37ebb4ea865b4e4f5896e5cd8915fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
From time to time, submodules need to be updated.
Actually, I would even like to update the master module after every submodule
checkin, but this seems to be not easy to do all the time.
Change-Id: I52f266c58086186df05ddcc85085f35e2e28ead7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The recent change that made use of framework headers on OS/X did
not work with homebrew Qt, and it didn't work with official builds
either, because neither of the chosen include folders contained
all the necessary headers to lead to a successful build.
Fortunately shiboken actually supports being passed multiple include
locations, separated by a colon on OS/X, and a semicolon on Windows.
This patch makes sure to always pass the Qt include folder, and in
case if the Qt build is a framework build, also passes the root
frameworks location, with headers found by shiboken under
frameworkName.framewework/Headers.
This works for homebrew builds, official builds and custom
non-installed prefix / in-source builds of Qt.
Change-Id: I47b24e197839883de2ab873461efc1f4d4d33743
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Versions of OSX lower than 10.9 link libstdc++ by default.
Also libstdc++ is linked when the osx minimum deployment target is
lower than 10.9.
The new option allows explicitly linking libc++ in the cases mentioned
above. It is not enabled by default, because most libraries and
executables on versions lower than 10.9 are compiled with libstdc++,
and mixing standard library versions can lead to crashes.
Change-Id: I7397d2bbce2cfceaeb848f25e0bbf1a24ac9bde8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
| |
This was modified, but not corrected in setup.py
|
| |
|
|
|
|
| |
We will see how travis works now.
|
| |
|
| |
|
|
|
|
|
| |
How on earth did people debug without debug builds?
This must have been wrong before the move to Qt5.
|
| |
|
| |
|
|
|
|
| |
Fix for empty PYTHON*_VERSION_* variables
|
|
|
|
| |
Quick fix for last PR.
|
| |
|
| |
|
|
|
|
| |
still, there seem to be errors....
|
|
|
|
|
|
| |
I just understood what is needed to define a package:
The files PySide2Config(...).cmake are crucial, the project names
have little to do with that.
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is to have PySide2 and Shiboken2 as project names, to
allow for co-existence of PySide and PySide2.
This is the first version that builds with these settings on OS X:
$ python3 setup.py build --debug --no-examples --ignore-git --qmake=/usr/local/Cellar/qt5/5.5.0/bin/qmake --jobs=9
This is not yet tested.
|
| |
|
|
|
|
| |
pyside2-setup.
|
| |
|
| |
|
|\
| |
| |
| | |
For the old qt4 version, the old repository should be used.
|
| | |
|
| | |
|
| |
| |
| |
| | |
window debugging)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
exploration
|
| |
|
| |
|
|
|