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
The Android API level can be customized changing the ANDROID_NDK_PLATFORM environment variable in
the host system. The value of this variable will be passed to QMake to generate the correct flags
required to build cgo using the Android NDK toolchain as backend.
Signed-off-by: Ángel <angelo.fly1@gmail.com>
* support a few more QVariant + QJSValue functions
* support for QWebEngineProfile + QJSValueIterator
* docker deployments now automatically uses the pinned tooling version for projects making use of go modules
* bump Go version for docker images to 1.13.4
* 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, ...
* Go 1.13 related fixes for js/wasm
* fix windows docker deployment issue
* new 3rdparty/UGlobalHotkey example
* fix webengine module on arch linux
* support for the prebuilt Qt wasm builds
* make use of -trimpath if available
* bump Go version in docker images to 1.12.9