aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix system header inclusions for proper support of C primitive typesAlexandru Croitor2018-01-152-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order for GL types like GLint64 to be available on macOS, the macOS-specific system header "gltypes.h" has to be parsed by libclang. Before this change, shiboken skipped parsing system headers (except for gl.h) because there are issues when trying to parse C++ std headers (ostream for example). The file "gltypes.h" contains the typedef declarations for GL numeric types. A few other system headers like "cstdint" are also needed (which contain the actual typedefs from int32_t to int for example). A few different system headers are also needed on Linux (also for GL -> numeric typedefs). This system header exclusion mechanism is far from a clean solution, but it seems like current versions of libclang do not provide enough preprocessor information to be able to limit the parsing to specific chunks of code (for example everything included by gltypes.h), thus we need to limit ourselves to exclusion by file paths. Change-Id: I58c151e2cb083e16f7cafb3dc9df2d757442bb59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Fix system framework handling on macOSAlexandru Croitor2018-01-152-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | System framework paths queried from the system clang compiler should be re-added to libclang via the -iframework command line argument instead of -F, so that they appear at the bottom of the list of candidate include search paths. This prevents issues with picking up incorrect headers, like an installed official package of Qt 4.8. Also there is no need to use CMAKE_SYSTEM_FRAMEWORK_PATH like in the 5.6 branch because it duplicates the list of includes and also causes conflicts with the same paths being added as both system and non-system include paths. It was necessary in 5.6 branch because the list of include paths was not queried from the clang compiler. Change-Id: I04b299fc5bc759842a0ab890a85170f153932e79 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Use cmake install for typesystem filesFriedemann Kleint2018-01-151-1/+2
| | | | | | | | | | | | | | | | | | | | install is better suited for distro installation due to permission issues. Amends 5d5eed53e49f4aaea85ce1638dd6fa3774a960e0. Task-number: PYSIDE-589 Change-Id: I6539b7c9957fd542a39b68e2d63a66f544414cd7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add bindings for QHelpSearchResultCristian Maureira-Fredes2018-01-154-0/+47
| | | | | | | | | | Change-Id: I256eced0fb4fcef097c63cdf63257e89953c54d0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix return conversion for readData/readLineDataCristian Maureira-Fredes2018-01-153-6/+90
| | | | | | | | | | | | | | | | | | The proper approach is to replace the returning data as Python Strings instead of QByteArray. Task-number: PYSIDE-40 Change-Id: I554b88bb79b7ae7d36fdc8c597704e3fcadd4527 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtWebKitWidgets: fix path to typesystem_printsupport.xmlDavide Pesavento2018-01-131-1/+1
| | | | | | | | | | Change-Id: Ib98eaeb3895bb933a7b611406f622a92c9d72619 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Remove modules from typesystem files when installingFriedemann Kleint2018-01-121-1/+12
| | | | | | | | | | | | | | | | | | | | | | The typesystem files end up in a flat directory after installing, so, the include by module name introduced by f2063ee4737f90c5d412a9a328672fde32b033eb no longer works. Remove the module in the install step. Task-number: PYSIDE-584 Change-Id: I6d0acdc26ee865c7e452bb702b7383579eef060d Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Remove old license header templatesFriedemann Kleint2018-01-1215-449/+0
| | | | | | | | | | | | | | | | License header templates should be at the top if at all. Task-number: PYSIDE-363 Change-Id: If9e2f6631b478b9a1a991682a6f52dce1a04e2dc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add bindings for QColormapCristian Maureira-Fredes2018-01-094-2/+50
| | | | | | | | | | | | | | | | Removing depth and Mode from tests. assertEqual instead of assertTrue. Change-Id: I9f0f04a460790b65af264c58ab65f248ae207e81 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Revive PySide2 API documentationTopi Reinio2018-01-0810-357/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename qdoc3 to qdoc. - Run qdoc in single-exec mode. - Qt 5 documentation modules are added to the build from /qtmodules (see existing examples in that folder). - Fix modules.rst Done-with: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Done-with: Topi Reiniö <topi.reinio@qt.io> Task-number: PYSIDE-363 Change-Id: I47c3ec60c3132517424aef6c066a51c955e5bf2d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | pysideinclude.py: Fix reading included filesVenugopal Shivashankar2018-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Doc: 'make apidoc' fails while reading lines from a qml file (Python 3). Apparently, the python code that reads the rsts and the corresponding snippet qml files, uses a stream reader that needs a byte stream and not a decoded string. Otherwise, the build fails with the following error: TypeError: can't concat str to bytes Task-number: PYSIDE-363 Change-Id: I84f97f2be37f9e81bca312013b49fad3a7d984c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2018-01-052-5/+7
|\| | | | | | | Change-Id: I254cc725505349e73c7abc290afc7abb85156997
| * Signature existence tests: Fix generation of the signature fileFriedemann Kleint2018-01-042-5/+7
| | | | | | | | | | | | | | | | Amends cd1037060e0cbc263e601fb67fbd40d85c8801a1. Task-number: PYSIDE-510 Change-Id: Ic93a6ef4ab846b07b369f691f52240aeedbfbec3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Replace Python2-style constructsVenugopal Shivashankar2018-01-041-1/+1
| | | | | | | | | | | | | | 'make apidoc' fails while generating htmls using python3. Change-Id: I21f1c0dcaa5bfb9cb5021ed98ce5db2138538195 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | libshiboken: Recover from numpy import failuresFriedemann Kleint2017-12-211-3/+3
| | | | | | | | | | | | | | | | | | | | Clear the Python error on failure. Note that PyErr_Occurred() is not set for some reason in that case. Task-number: PYSIDE-580 Change-Id: I5672b9f5bf98e3d409abb4132f2face060826a0a Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Remove attributes Final and FinalInCppFriedemann Kleint2017-12-213-37/+17
| | | | | | | | | | | | | | | | | | | | Apparently, the meaning of FinalInCpp for functions was "virtual and not private". The previous code cleanup removed most uses of them. For the remaining cases, checking for virtual is sufficient. Change-Id: I6f794e36b99920af36fd0eba895be673dc35d9dd Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken: Remove unused code in abstractmetalang.hFriedemann Kleint2017-12-213-547/+25
| | | | | | | | | | | | | | | | | | | | | | | | The AbstractMeta* classes had a lot of functions trying to determine whether wrapper functions/classes should be generated. Apparently at some stage, this functionality was moved to the generator classes (apparently in conjunction with the "protected hack"), leaving the functions unused. Change-Id: Ia3fef96fe86cc6a6f9c70c674635bccf510362bc Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-12-219-155/+262
|\| | | | | | | Change-Id: I78039827d32c1d4d540a8b1b2afd4841e40d5c2c
| * Signature existence tests: Fall back to previous patch releasesFriedemann Kleint2017-12-212-18/+51
| | | | | | | | | | | | | | | | | | | | | | In case the reference file for a given patch release does not exist, fall back to a previous one. Replace variables in the init_platform module by functions getEffectiveRefPath(), getRefPath(). Task-number: PYSIDE-510 Change-Id: I208f4618be6e20be5023938850ca0eacc43b0101 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Adjust inheritance_diagram.py exception to Python 3 syntaxChristian Tismer2017-12-211-1/+1
| | | | | | | | | | | | | | | | The file inheritance_diagram.py still had the old python 2 syntax. Obviously nobody tried to build documentation in Python 3... Change-Id: I0e245940a2593a1a5e93c7f538d8e73ca1001a0f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix QtCore test bug829 to run on WindowsFriedemann Kleint2017-12-191-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The test used Python functionality to create a temporary file which caused an access error on Windows, apparently due to the file still being open. Besides, the temporary file was leaked. Rewrite using QTemporaryFile and make sure the file is closed and the QTemporaryFile is deleted before using it and delete it in __del__(). Task-number: PYSIDE-431 Change-Id: I5d63e76ead7169d9f3f2267ee53aa91b601a3968 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Unify signature registry for py2 / py3 and clean upChristian Tismer2017-12-056-88/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turned out that there are tiny differences between Python2 and Python3 which make the versions of the registry almost, but not totally equal. There are functions which are slot wrappers in Python2 instead of method wrappers in Python3, and we currently don't support slot wrappers. There are other tiny differences when we switch to Qt 5.9, too. Initially, I thought to split the files for Python2 and Python3, but then it turned out that the problems vanish when we ignore the 'next' and '__next__' functions in both python versions. The filter function is both applied to the generating function and the testing function. Therefore we can keep the existing data intact. I further removed an indentation leftover in cppgenerator.cpp, fixed handling of duplicate entries and improved modularisation of the signature enumerator and formatter. This part will later be moved into the signature library. Task-number: PYSIDE-510 Change-Id: I18f5e8f08fb9b07534003919abe55ab4dafeb2c2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Fix signature registry on Python2 with .pyc files, part 2Christian Tismer2017-12-043-49/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is unfortunately another bad side effect with .pyc files. I had to make sure that not the __file__ attribute is used, but the correct filename is computed, because __file__ can refer to the .pyc file under certain circumstances. Improved error handling, more file type checks and short filenames relative to the project path added for convenience. Task-number: PYSIDE-510 Change-Id: Ia0002fdfb382b7d3681156b1aef42739eb22dcc9 Reviewed-by: Simo Fält <simo.falt@qt.io>
| * libpyside: Fix code forwarding Python exceptions to JSFriedemann Kleint2017-11-301-14/+4
| | | | | | | | | | Change-Id: I6dffab506814e1d33812ed23b3e3920882b6c4e6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | shiboken/AbstractMetaBuilder: Remove create* functionsFriedemann Kleint2017-12-092-59/+15
| | | | | | | | | | | | | | | | There are no classes deriving from AbstractMetaBuilder, so there is no need to have virtual creation functions. Change-Id: I2d4c494ac6b0a17ceea71939a1f07a49a369df73 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken: Stop using the FinalInCpp attribute for classesFriedemann Kleint2017-12-093-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides its use for functions, the FinalInCpp attribute was used for classes meaning something like neither the class nor its derived classes can be constructed due to presence of private destructors and absence of non-private constructors. Since 'final' is now a reserved word in C++ 11, this becomes confusing. Remove the usage of the attribute for classes, add a bit field indicating presence of a private constructors and a new function isConstructible() instead. Change-Id: Ieb2f9943c21511e4f59d228885361e3ad66fb266 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Refactor copying of the MetaLang* classesFriedemann Kleint2017-12-062-11/+35
| | | | | | | | | | | | | | | | | | Disable copying of the base classes AbstractMetaAttributes and AbstractMetaVariable and refactor the copy() functions of the derived classes in terms of protected assign*() functions. Change-Id: I6cbe1cfa02207230e914ad41dddba46c866cb689 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Unify constructors of the MetaLang* classesFriedemann Kleint2017-12-052-108/+110
| | | | | | | | | | | | | | | | | | Use member initialization where possible. Move constructors/destructors of classes in hierarchies out of line (fixing Clang warnings about classes having no virtual out of line methods). Change-Id: I511e7261a077db259e6c305cb1dcb08c1ee4810f Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Refactor typesystem modification structsFriedemann Kleint2017-12-055-187/+75
| | | | | | | | | | | | | | | | | | | | | | - Use member initialization where possible - Make constructors explicit - Remove unused version attributes, unused comparison operators of FunctionModification and unused struct ExpensePolicy - Rearrange members to minimize Clang warnings about padding Change-Id: I1423f120b2117237c2674cdbb6d06923c842999f Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Do not use QString::split() to find nameFriedemann Kleint2017-12-051-3/+10
| | | | | | | | | | Change-Id: I83e254a5d0f7ba4613a04a73683ed08c273fc2ca Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Generate override instead of virtualFriedemann Kleint2017-12-051-11/+8
| | | | | | | | | | Change-Id: Ifcbabe09665c33daf5dd8d5df52036598c9f428f Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Cleanup of the TypeEntry hierarchyFriedemann Kleint2017-12-042-260/+366
| | | | | | | | | | | | | | | | | | | | | | Use member initialization where possible. Move constructors/destructors of classes in hierarchies out of line (fixing Clang warnings about classes having no virtual out of line methods). Add override and move virtual functions out of line. Remove unused method ComplexTypeEntry *ComplexTypeEntry::copy(). Change-Id: Ie4a6c30cb0c99be35697f29ebe407b327079222a Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Do not generate wrappers for final classesFriedemann Kleint2017-12-045-1/+44
| | | | | | | | | | | | | | Check the attributes and add test. Change-Id: I6c3d76ed32b5d20b6940849dd4895f98abd62fca Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Do not generate wrapper methods for final C++ methodsFriedemann Kleint2017-12-022-4/+7
| | | | | | | | | | | | | | | | | | This will result in a compilation error (overriding final method). Final methods appear in Qt3DInput::QMouse/QKeyboardDevice. Task-number: PYSIDE-487 Change-Id: I6eb300c91327c587b6bfe530fdafb519817171c4 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Use information about virtual from the code modelFriedemann Kleint2017-12-022-3/+1
| | | | | | | | | | Change-Id: I27411e810fc3b3ff9d3bb629b5ebc2c7fdaa59ef Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken/MetaLang: Add information about override/finalFriedemann Kleint2017-12-024-20/+71
| | | | | | | | | | | | | | Take over information from code model and test. Change-Id: Ibed2973e09b117966ed241798125f60ba337b0e9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken/Clang parser: Add information about override/finalFriedemann Kleint2017-12-013-0/+51
| | | | | | | | | | Change-Id: I0f1bad0567ae928d4117e7785e7788d9efd551c2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken/AbstractMetaAttributes: Remove some unused attributesFriedemann Kleint2017-12-013-46/+3
| | | | | | | | | | | | | | Remove Native, FinalOverload, InterfaceFunction, Fake. Change-Id: I1232751169fafb144387343857a962bafee714e9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-11-302-8/+11
|\| | | | | | | Change-Id: I8325557c5ac81f81f03489f5f8ebb9111e04c8cb
| * Fix signature registry on Python2 with .pyc filesChristian Tismer2017-11-302-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a problem on Python2 when ci was activated. Because there are .pyc files in the same folder, a leftover .pyc file would be imported and lead to weird results. This problem is not recognized now, but would have effects when we turn on the multiple testing. The intended behavior is that a tests generates an error and a listing once and succeeds for the repeated test runs. This worked in Python3. Now this works the same with Python2. Task-number: PYSIDE-510 Change-Id: Id892715faa8eee1322b28c7e109f3b0b7329f12c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add QOpenGLFunctions::glGetString(), QOpenGLExtraFunctions::glGetStringi()Friedemann Kleint2017-11-292-1/+24
| | | | | | | | | | | | | | | | Modify the return type to be a QString. Task-number: PYSIDE-516 Change-Id: Ic79d4c69956cd439b60face4ce87788c451bfa96 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-11-292-1/+2
|\| | | | | | | Change-Id: Ibef497a2439a05114eb2123e5f39c00aec8dc460
| * signature: Support a new constant for QOpenGLChristian Tismer2017-11-282-1/+2
| | | | | | | | | | | | | | | | | | | | | | There are QOpenGLFunctions::glGetString() etc. Some platforms have new, unrecognized constants. I also reverted a change to parser.py to accept all regular exceptions, again. It makes little sense to be explicit, here. Change-Id: I7e0289ed074c1452ad163f68fdc6d35f046844e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-11-2732-232/+98951
|\| | | | | | | Change-Id: I79637555fbfbd596dee4313baf80149d03bb5206
| * Create a function existence registryChristian Tismer2017-11-272-2/+16639
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the signature module, it is now a straight forward task to generate a registry of all known function signatures. We check that these signatures all exist. One file contains all signatures for one platform and version. The test is only activated when run in the CI system. An initial call creates the expected file as output and raises an error. The result can then be picked up from the error log and added to the repository. The linux2 and linux platforms are now unified. There will be a new version of testrunner.py which is more versatile. In future, this teach-in process will be made much easier because we will be able to view the initial versions without raising an error. Done: linux 5.6.4 Done: darwin 5.6.4 Done: win32 5.6.4 Done: darwin 5.9.3 Done: linux 5.9.3 Done: win32 5.9.3 Task-number: PYSIDE-510 Change-Id: I4e3953f9d8e781ae170b455dc7884da9bf632f47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Create a function existence registryChristian Tismer2017-11-277-69274/+37211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the signature module, it is now a straight forward task to generate a registry of all known function signatures. We check that these signatures all exist. One file contains all signatures for one platform and version. The test is only activated when run in the CI system. An initial call creates the expected file as output and raises an error. The result can then be picked up from the error log and added to the repository. The linux2 and linux platforms are now unified. There will be a new version of testrunner.py which is more versatile. In future, this teach-in process will be made much easier because we will be able to view the initial versions without raising an error. Done: linux 5.6.4 Done: darwin 5.6.4 Done: win32 5.6.4 Done: darwin 5.9.3 Done: linux 5.9.3 Task-number: PYSIDE-510 Change-Id: Ib57e1e1771649c95435132a9fc65d86f4a3df05b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * shiboken: Do not generate richcompare methods for namespacesFriedemann Kleint2017-11-243-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shiboken used to generate richcompare methods for namespaces when it contained free comparison operators for classes in that namespace, resulting in compile errors. For example: namespace Qt3DRender { bool operator!=(const QGraphicsApiFilter &reference, const QGraphicsApiFilter &sample) ... Add a check preventing that. Task-number: PYSIDE-487 Change-Id: If2fa1de1bfb0fdc11c9415421dab0c7e13abc500 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Create a function existence registryChristian Tismer2017-11-243-9648/+25921
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the signature module, it is now a straight forward task to generate a registry of all known function signatures. We check that these signatures all exist. One file contains all signatures for one platform and version. The test is only activated when run in the CI system. An initial call creates the expected file as output and raises an error. The result can then be picked up from the error log and added to the repository. Done: linux2 5.6.4 Done: darwin 5.6.4 Done: win32 5.6.4 Done: darwin 5.9.3 Done: linux2 5.9.3 Done: linux 5.9.3 Task-number: PYSIDE-510 Change-Id: I32dfd5fcd56ca8d91d48a81959cc762cd5340c68 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Skip some permanently failing tests and blacklist flaky onesAlexandru Croitor2017-11-242-2/+6
| | | | | | | | | | Change-Id: Idcbf62b58f097370f61a27d0f16bce630e817526 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Create a function existence registryChristian Tismer2017-11-241-0/+16246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the signature module, it is now a straight forward task to generate a registry of all known function signatures. We check that these signatures all exist. One file contains all signatures for one platform and version. The test is only activated when run in the CI system. An initial call creates the expected file as output and raises an error. The result can then be picked up from the error log and added to the repository. Done: linux2 5.6.4 Done: darwin 5.6.4 Done: win32 5.6.4 Done: darwin 5.9.3 Done: linux2 5.9.3 Task-number: PYSIDE-510 Change-Id: I00cc1a4854a8149a40659c04d81ffd3e6db64bc8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>