aboutsummaryrefslogtreecommitdiffstats
path: root/examples/scriptableapplication
Commit message (Collapse)AuthorAgeFilesLines
* scriptableapplication: execution as one lineCristian Maureira-Fredes2018-06-061-9/+16
| | | | | | | | | | | | | | | | | | The previous approach executed the entered script line-by-line, it was not possible to execute multi-line statements, for example: for i in range(0, 10): print(i) because PyRun_SimpleString was complaining about the colon. To avoid all these extra steps we can concatenate all the lines into one, and then execute it, instead of creating a temporary file. This will delegate error handling to Python. Change-Id: Idda572aa1b2e3daad2ba1ed9d70f0a8714b8c995 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix scriptableapplication after PEP384Cristian Maureira-Fredes2018-06-051-1/+1
| | | | | | | | | | | | | | Due to the PEP384 many casts related to SbkObjectTypes dropped the `const` because of a change on the signature of the methods like `pointerToPython`, `referenceToPython`, among others. Many examples of these changs can be found in the commit: 18dc31becdd994c53a9f894087cf1ef99fbd0232 file `sbkconverter.cpp`. Change-Id: Id7b9f8e14fd931c686608a89e0d989d9026e0c85 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add an example that demonstrates bindings to a custom C++ libraryAlexandru Croitor2018-05-163-299/+16
| | | | | | | | | | | | | | | | | | | | | A CMake project is included that builds two shared libraries: 1) libuniverse - a hypothetical C++ library for which bindings need to be created. 2) Universe - a Python module containing bindings to the above library. The example showcases the following concepts: * primitive type bindings (bool, std::string) * types with object and value semantics (pass by pointer VS pass by copy) * inheritance and overriding virtual methods * ownership of heap-allocated C++ objects * constructors with default parameters * general structure of CMakeLists.txt file for generating bindings Task-number: PYSIDE-597 Change-Id: I7b0f203e2844e815aa611af3de2b50a9aa9b5bfc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix a few scriptableapplication bugsAlexandru Croitor2018-05-085-89/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Remove LIBPATH because that causes linker warnings on macOS, and its usage is deprecated on Windows. 2) Remove all qmake clang related code, as well as clang code from pyside2_config.py. It used to be needed on Windows because we didn't deploy libclang.dll to the PySide2 dir. Now that we do, the code is unnecessary. 3) Remove README.txt reference. 4) Add clarifying comments in README.md. 5) Remove NO_DEFAULT_PATH from find_library because that causes a failure to find the python library on Ubuntu (makes sense because the specified libdir is /usr/lib, but the actual library is under /usr/lib/[arch], and disabling the option forces CMake not to look under the arch dir. 6) Fix rpath to PySide2 dir not being embedded on Linux (presumably because the link flags style changed to absolute paths, not sure). 7) Fix README to be more precise about how MSBuild needs to be invoked, and how to run the executable. 8) Improve the error handling in the project files. 9) Refactor pyside2_config.py usage. Change-Id: I402d5c42ef7e01e94d3827682564e95ee280b40b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Update scriptableapplication exampleCristian Maureira-Fredes2018-05-047-75/+198
| | | | | | | | | | | | | Absolute paths are used to link the PySide2 libraries on Linux, since it's not possible to ship symbolic links inside a wheel. The README.txt was renamed to README.md to allow syntax highlight on modern editors and also to be compatible with online platforms. The README.CMake.txt was merge to the README.md to include the instruction on the same file. Change-Id: Ie0fcb8cda770ff552576f6014b5822f8d278bfe6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change license from all the filesCristian Maureira-Fredes2018-05-038-8/+8
| | | | | | | | | | | | | | | | | Removing the word 'project' from all the headers, and changing the PySide reference from the examples to Qt for Python: The following line was used inside the source/ and build_scripts/ directory: for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done and the following line was used inside the examples/ directory: for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix scriptableapplication build on WindowsCristian Maureira-Fredes2018-03-132-1/+4
| | | | | | | | | | | | CMake failed to find shiboken2 binary (without .exe). The configuration script was unable to get information from the LIBDIR variable, since it is not set automatically on Windows, using LIBDEST if that is the case. Task-number: PYSIDE-627 Change-Id: Id8031891a2da98af33b81b0740e25299828d6fb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix scriptableapplication to build on macOS with framework QtAlexandru Croitor2018-03-062-0/+12
| | | | | | | | | | | In case of a Qt framework build, shiboken needs to be passed a --framework-include-paths=foo parameter pointing to the Qt framework libdir. This is used by the C++ parser to resolve framework include paths. Task-number: PYSIDE-623 Change-Id: I38cf34a51102265056aea8718ad059aea3438354 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add CMake-based build rules for scriptableapplication exampleAlexandru Croitor2018-02-223-21/+294
| | | | | | | | | Mostly a clean-ish port of the qmake project file, which also uses the pyside_config.py for getting proper include and link paths. Task-number: PYSIDE-597 Change-Id: I87f71b93ecdcc27d49250ccc0710e64300532dab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix scriptableapplication example qmake include hackAlexandru Croitor2018-02-021-5/+3
| | | | | | | | | I'm not sure why the hack was there in the first place. Includes seem to be always copied into the package, so we can simply query for the includes path, and pass that along to qmake INCLUDEPATH. Change-Id: Ib3af020fa9f841f57e00ac0cd4c3548b47b3e459 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move examples from submodule to pyside-setupFriedemann Kleint2018-01-1211-0/+1012
Move PySide2 examples that are owned by the Qt Company to a new examples directory. Done-with: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Task-number: PYSIDE-363 Change-Id: I14099764d9eef2bc35e067086121427955862e3a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>