Commit graph

115 commits

Author SHA1 Message Date
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
01e05b1d5c support for the uic
* fix faulty dealloc
* fix qtminimal issue
* fix windows 32 bit deployment issue
* update sailfish docker image
2019-05-06 23:55:31 +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
c97efc221f fix nativeEvent functions + various fixes for minor issues 2019-03-22 20:48:57 +01: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
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
de3f785199 more fixes for js/wasm + fix ldFlags issue + fix minor iOS build issue 2018-11-17 02:47:23 +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
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
c1f31803cb fixes for various minor issues 2018-10-14 18:50:54 +02:00
therecipe
41dadd489d minor cleanup + fix signal/slot error type issue 2018-07-23 22:18:06 +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
7840b778c3 fix invokeMethod signature errors 2017-08-18 00:08:07 +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
therecipe
d9ade1b5be fix poly issue 2017-05-07 19:31:28 +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
177d16c013 new webview module + example + more subnamespace functions 2017-02-17 18:55:39 +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