Commit graph

29 commits

Author SHA1 Message Date
bluszcz
eec4e575fd More 'cleanup' 2023-02-02 20:09:08 +01:00
Rafał Zawadzki
5aaf306e07 Change source 2023-02-02 10:38:44 +01:00
StarAurryon
b65f0ffe10 Fixing repo naming 2020-08-08 09:31:13 +02: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
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
0167e2b766 fix setup issues on linux + detect go version at runtime + let examples use NewQVariant1 + add pkg-config to docker images 2019-06-01 23:45:14 +02:00
therecipe
8a927e9edb various minor fixes
* make private constructors work across packages
* fix go module related docker deployment issues
* make svg module optional
* bump openssl version for android docker images
* new (experimental) function to directly call qml functions from go
* fix QVariant related issue with older Qt versions
* fix qtmoc issue
2019-05-22 00:01:13 +02:00
therecipe
38467ad28e improved type compatibility with qml through the transparent type conversion of QVariant
* qml support for map[string]T, map[string]map[string]*QVariant, [][]*QVariant, []map[string]*QVariant and map[string][]*QVariant
* qml support for []*CustomMocStruct
* new "NewQVariant1(interface{}) *QVariant" and "(*QVariant).ToInterface() interface{}" functions
* fix docker go module support
2019-05-16 05:31:11 +02:00
therecipe
89b7941f48 overall deployment speedup and size reduction
* various fixes for js/wasm ([]byte support, quickcompiler support, moc fixes)
* docker go modules support
* android arm64 support
* hide rarely used dependencies behind build flags
* various minor fixes
2019-05-13 20:37:59 +02:00
therecipe
3bd1af564b new docker image for darwin deployments 2019-04-25 00:07:32 +02:00
therecipe
c1fcd95507 fix docker builds again + fix QT_PKG_CONFIG 2019-04-21 02:42:59 +02:00
therecipe
27fd3fea5f fix docker builds + reduce go module encapsulation + make setup more portable 2019-04-21 01:03:23 +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
20875b0327 work around msys2 kernel32 issue + fix deployment of multimedia libs for linux qml builds + reduce size of docker base images 2019-04-09 20:14:33 +02:00
therecipe
86108509bd initial support for go modules 2018-12-17 18:56:35 +01:00
therecipe
5746a84fb2 support for Qt 5.12
* use clang for android builds
* official windows builds are 64 bit now
2018-12-17 01:52:29 +01:00
therecipe
c2524f50a5 breaking changes: make *bool usable
+ various fixes for js/wasm
+ fix QT_DEBUG_QML for android(-emulator)
+ make os.Args usable in android(-emulator) and ios(-simulator)
2018-11-12 18:38:23 +01:00
therecipe
2022397b00 minor fixes for dockerfiles 2018-11-09 18:25:24 +01:00
therecipe
e36f16190b use azure pipelines for docker image building 2018-11-07 19:45:50 +01:00
therecipe
308a4f1aa8 various changes for js/wasm 2018-11-06 18:16:33 +01:00
therecipe
70c935202e fixes for various minor issues + webassembly support 2018-10-30 16:53:05 +01:00
therecipe
fcc16d8acf fix dockerfiles 2018-08-16 00:11:10 +02:00
therecipe
abcbd186f2 cleanup dockerfiles 2018-08-14 20:10:08 +02:00
therecipe
691e628621 fix js target + fix moc error type related issues + new self compiled static Qt 5.11.1 mxe docker image 2018-08-11 16:54:20 +02:00
therecipe
ad4b26dcd5 minor bugfixes + cleanup docker images 2018-08-03 20:17:13 +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
a7a1b3fd2b update to Qt 5.11.1 + split js docker image 2018-06-25 18:32:27 +02:00
therecipe
491342284b initial support for the js target 2018-06-09 02:31:50 +02:00