Commit graph

96 commits

Author SHA1 Message Date
therecipe
aa8a227277 even more changes related to the js binding + fixes for Qt 5.14
* support for static darwin docker deployments
2019-12-21 17:42:05 +01:00
therecipe
0cc82d7b2f more changes related to the js binding 2019-12-12 20:47:54 +01:00
therecipe
6dbef71d44 various changes related to the js binding 2019-12-10 17:08:50 +01:00
therecipe
47559b8cfa fixes for various potential memory leaks
* speedup js binding generation + minor js related fixes
* support for private quickcontrols2 classes with `QT_GEN_QUICK_EXTRAS=true`
* fix for static linux deployment issue
* minor example updates
* fix for minor qtmoc docker related issue
2019-11-28 18:42:54 +01:00
therecipe
3738bb9320 greatly extend the Go <-> Qml/JS interoperability
These changes introduce two new functions called (*qml.QJSEngine).NewGoType and (*qml.QJSEngine).ToGoType, that can be used (similiar to how core.NewQVariant1 and (*core.QVariant).ToGoType can be used) to convert Go objects and functions to *qml.QJSValues and vice versa.
This allows for a more natural communication between Go and Qml/JS and makes it possible to simply pass a Go structs to Qml/JS and then call Go methods on that object.
For this to work, the object passed to Qml/JS needs to implement the `Pointer() unsafe.Pointer` and `SetPointer(unsafe.Pointer)` functions atm.
Which means, since all Qt classes already implement these functions, that you can now use the whole binding from Qml/JS as well and theoretically create a full Qt application inside an QJSEngine as well. A few example applications almost entirely written in JS can be found here: https://github.com/therecipe/examples/tree/master/js/
Furthermore, the `widgets_playground` example (https://github.com/therecipe/widgets_playground) now fully works on desktop and mobile targets as well.

other changes:
* core.NewQVariant1 and (*core.QVariant).ToGoType now recognize json tags
* workaround for qtmoc issue related to named imports
* speed-up go module android docker deployments
* fix webengine related qtdeploy bug on macOS
* fix int overflow issue for arm docker images
* fix js docker images
2019-11-17 18:05:18 +01:00
therecipe
6c3ac91945 declare various additional metatypes 2019-10-14 20:30:44 +02:00
therecipe
e9f3046c76 new (*QObject).ConnectSignal function + new fedora docker image
* new docker images to make it easier to deploy to "embedded" armv6/armv7/arm64 systems such as Raspberry Pi, Orange Pi, Banana Pi, BeagleBone, BeagleBoard, ODROID, Asus Tinker Board, ...
2019-10-06 22:14:18 +02:00
therecipe
5aa0dd4260 fix static linux deployment issue + re-add various QWebEnginePage/View functions
* make changes from 38467ad2 available for js/wasm as well
2019-09-03 18:23:46 +02:00
therecipe
7a4e353ce4 re-add missing QMetaObject class 2019-08-20 17:50:05 +02:00
therecipe
9e0d301216 breaking changes: bump default Qt version to 5.13.0
* fixes for Go 1.13 + retain go module 1.12 GOPATH behavior for internal/examples
* update docker images to 5.13.0
* new docker images (windows_64_shared_512, linux_512, darwin_512)
* update examples to match the Qt 5.13 api
* bump android minSdkVersion to 21 (5.0 / lollipop)
* bump OpenSSL version for android docker deployments to 1.1.1a
* let the binding use the 513 env by default

you can use QT_VERSION=5.12.0 and/or QT_API=5.12.0 to keep the binding backward compatible with your code
just setting QT_API=5.12.0 alone should also be sufficient to keep docker deployments working
if you did install an official Qt version then just set the correct QT_VERSION and procede as usual
2019-06-27 22:16:04 +02:00
therecipe
eedf008a49 fix []string issue + fix docker images + add fcitx plugin to linux images 2019-05-23 00:17:16 +02:00
therecipe
79b8fae1a7 breaking changes: support *long + change internal qt.{Connect,Get,Lend}Signal signature
* various minor fixes and cleanups
* support interface{} returns for js/wasm
* fix android builds on darwin
* support for the virtualkeyboard module
* fixes for docker image builds
* cleanup callback handling
* fix possible moc memory leaks
* new virtualkeyboard examples
2019-04-20 19:34:45 +02:00
therecipe
47435cc1dd various fixes for wasm, raspberry, go 1.12 and minor issues + initial support for Felgo (former V-Play)
* js/wasm GOCACHE fix for Go 1.12+
* make use of the official Go 1.12 wasm build and replace js.NewCallback with js.FuncOf
* update docker images to Go 1.12.4
* revive raspberry images
* fix raspberry related bundling issue
* add the multimedia module to the raspberry images
* fix raspberry related QT_API issue
* remove unecessary *char to []byte copy overhead in some unlikely cases
* fix Qt install script
* initial partially support for Felgo (former V-Play) on darwin
* fix charts/audio example and darwin
* fix common/widgets_demo example on iOS (issue #451)
* fix widgets/renderer memory leak
* fix possible QT_PKG_CONFIG + QT_VERSION race condition
* fix static linux docker image
2019-04-16 18:28:55 +02:00
therecipe
b09bb04a61 breaking changes: some functions accept []byte now
this is the start of series of a few incrementally breaking changes, mainly started to remove the uneccessary conversion of []byte to string or vice versa on your side
the few functions accepting *string will also be affected the future
functions generated by qtmoc are not affected
2018-12-18 20:54:43 +01:00
therecipe
308a4f1aa8 various changes for js/wasm 2018-11-06 18:16:33 +01:00
therecipe
16b369950c fix qtrcc symlink issue + make QGridLayout::addItem functions persistent 2018-10-24 19:42:47 +02:00
therecipe
2df4248fbc fixes for several bugs + change js string conversion + fix showcase example 2018-07-11 16:42:34 +02:00
therecipe
5355937d17 more fixes for 5.11.1 + split js image again + fix sailfish image 2018-06-26 17:34:11 +02:00
therecipe
7a6e675e64 revert some changes made with 299f210 2018-04-21 00:45:20 +02:00
therecipe
6d191b17a3 fix const issue + new examples + new sia showcase 2018-03-21 18:22:29 +01:00
therecipe
299f21022a cgo fix for Go 1.10 + fixes for various memory leaks + fix homebrew support 2018-03-19 20:54:58 +01:00
therecipe
a76e708146 update to Qt 5.10.0 + support for Go 1.10 2018-01-17 20:38:03 +01:00
therecipe
a7d7d6588c update to Qt 5.9.1 + new module 2017-08-30 23:38:52 +02:00
therecipe
f404f386ec add missing OpenGL classes + new OpenGL examples 2017-08-01 19:43:48 +02:00
therecipe
846da6efa0 cleanup callback functions 2017-07-18 00:35:33 +02:00
therecipe
0f99eb634c initial inclusion of vagrant + register missing std types for moc 2017-07-11 23:33:08 +02:00
therecipe
7d84ab4f7b fix packed string issue + qtmoc isBool issue 2017-06-21 17:32:20 +02:00
therecipe
c6cb74d45e support for strings containing null bytes + fix docker file ownership 2017-06-20 22:43:48 +02:00
therecipe
9720239949 msys2 + qtrcc + docker fixes 2017-06-16 23:51:36 +02:00
therecipe
404e54013b fixes for 5.9 + qml related qtmoc fixes 2017-06-10 21:37:03 +02:00
therecipe
9470f7dba3 android jni related fixes + clear finalizers upon destroy + qtmoc fix 2017-06-09 01:47:53 +02:00
therecipe
35143f319a fix destructors 2017-06-02 16:18:30 +02:00
therecipe
06a1fd8bdf fix destroyed signals 2017-05-30 23:01:01 +02:00
Kenneth Shaw
567a430704 Dropping exec permissions on files 2017-04-12 15:21:13 +07:00
therecipe
9b7d566d6d add missing qmlRegisterType function 2017-04-05 17:13:51 +02:00
therecipe
b2418c2c22 partially fix constructors with polymorphic inputs 2017-03-20 18:33:55 +01:00
therecipe
8fc476c30c fix connect functions 2017-03-10 17:40:29 +01:00
therecipe
70f198d247 fix connect functions, dynamic mxe lookup, futher qmake related changes 2017-03-02 19:24:25 +01:00
therecipe
4e702e0d6e fix missing header for minimal builds + change empty string behaviour 2017-02-21 14:13:05 +01:00
therecipe
3efb5f57e8 removed unnecessary overridden functions 2017-02-15 17:48:35 +01:00
therecipe
9cb2c840ec initial update to Qt 5.8 + breaking changes + new speech module
1. the qt api changed in various places
2. dropped the "_minimal" suffix for the deployment folders
3. to keep using older versions of Qt (5.7.1 for example), one would
now need to explicit export "QT_VERSION=5.7.1" and also
"QT_DIR=/path/to/Qt5.7.1"
2017-02-10 18:18:44 +01:00
therecipe
3456e5280a initial support for generic lists / containers 2017-01-27 20:22:58 +01:00
therecipe
580d22b6fb initial support for qtmoc constructors + new androidextras exception functions 2017-01-22 18:34:39 +01:00
therecipe
aa03aa56d5 cleanup + refactor 2017-01-18 19:28:40 +01:00
therecipe
6f05f39db9 minor cleanup 2017-01-14 00:36:20 +01:00
therecipe
a38697d6be support the readData function 2017-01-11 16:18:44 +01:00
therecipe
2fa4966d4f cleanup 2017-01-02 17:01:18 +01:00
therecipe
986dd10067 support various additional functions 2016-12-19 21:13:41 +01:00
therecipe
d10ed7da32 cleanup internal/parser 2016-12-11 21:03:06 +01:00
therecipe
4afb83f930 partial support of generic containers 2016-11-15 23:07:05 +01:00