From af50791865888c7f72bcffc4860e4f16079837cb Mon Sep 17 00:00:00 2001 From: "Dr. Peter Droste" Date: Tue, 25 Jul 2023 12:44:00 +0200 Subject: [PATCH] --- README.md => README | 10 +- antfiles/autotests.xml | 2 + antfiles/generator.xml | 18 + antfiles/native.xml | 9 +- releases.properties | 5 +- src/cpp/QtJambi/cast.cpp | 12 +- src/cpp/QtJambi/configure.pri | 2 + src/cpp/QtJambi/containeraccess.cpp | 12 +- src/cpp/QtJambi/containeraccess.h | 6 +- src/cpp/QtJambi/containeraccess_hash.cpp | 20 +- src/cpp/QtJambi/containeraccess_hash.h | 6 +- src/cpp/QtJambi/containeraccess_iterator.cpp | 4 +- .../QtJambi/containeraccess_linkedlist.cpp | 4 +- src/cpp/QtJambi/containeraccess_linkedlist.h | 8 +- src/cpp/QtJambi/containeraccess_list.cpp | 21 +- src/cpp/QtJambi/containeraccess_list.h | 6 +- src/cpp/QtJambi/containeraccess_map.cpp | 4 +- src/cpp/QtJambi/containeraccess_map.h | 14 +- src/cpp/QtJambi/containeraccess_multihash.cpp | 12 +- src/cpp/QtJambi/containeraccess_multihash.h | 6 +- src/cpp/QtJambi/containeraccess_multimap.h | 14 +- src/cpp/QtJambi/containeraccess_pair.cpp | 4 +- src/cpp/QtJambi/containeraccess_pair.h | 4 +- src/cpp/QtJambi/containeraccess_vector.cpp | 9 +- src/cpp/QtJambi/containeraccess_vector.h | 6 +- src/cpp/QtJambi/containers.cpp | 14 +- src/cpp/QtJambi/convert.cpp | 134 +- src/cpp/QtJambi/coreapi.cpp | 20 +- src/cpp/QtJambi/coreapi.h | 2 + src/cpp/QtJambi/debug.cpp | 8 +- src/cpp/QtJambi/fileengine.cpp | 28 +- src/cpp/QtJambi/java.cpp | 10 + src/cpp/QtJambi/java_p.h | 13 +- src/cpp/QtJambi/jni_metatype.cpp | 2 +- src/cpp/QtJambi/jni_signals.cpp | 2 +- src/cpp/QtJambi/qtjambi_cast_impl_jnitype.h | 37 +- src/cpp/QtJambi/qtjambiapi.h | 4 + src/cpp/QtJambi/qtjambilink.cpp | 329 +- src/cpp/QtJambi/qtjambilink_p.h | 78 + src/cpp/QtJambi/qtjambimetaobject.cpp | 122 +- src/cpp/QtJambi/qtjambimetaobject_p.h | 4 +- src/cpp/QtJambi/registry.cpp | 290 +- src/cpp/QtJambi/registryapi.h | 4 +- src/cpp/QtJambi/setup.cpp | 3 +- src/cpp/QtJambi/typeentry.cpp | 1540 +++++--- src/cpp/QtJambi/typeentry_p.h | 163 +- src/cpp/QtJambi/typemanager.cpp | 735 ++-- src/cpp/QtJambi/utils.cpp | 8 +- src/cpp/QtJambi/utils.h | 20 +- src/cpp/QtJambi/utils_p.h | 1 + src/cpp/QtJambi/variant.cpp | 4 +- src/cpp/QtJambiCore/QHash_shell.cpp | 152 +- src/cpp/QtJambiCore/QIterator_shell.cpp | 114 +- src/cpp/QtJambiCore/QLinkedList_shell.cpp | 20 +- src/cpp/QtJambiCore/QList_shell.cpp | 166 +- src/cpp/QtJambiCore/QMap_shell.cpp | 172 +- src/cpp/QtJambiCore/QSet_shell.cpp | 80 +- src/cpp/QtJambiCore/QVector_shell.cpp | 82 +- src/cpp/QtJambiCore/future.cpp | 2 +- src/cpp/QtJambiCore/hashes.h | 18 + src/cpp/QtJambiCore/impl.cpp | 8 +- src/cpp/QtJambiCore/utils_p.h | 7 + src/cpp/QtJambiGenerator/cppgenerator.cpp | 7 - .../QtJambiGenerator/cppheadergenerator.cpp | 22 +- src/cpp/QtJambiGenerator/cppimplgenerator.cpp | 101 +- src/cpp/QtJambiGenerator/generator.qrc | 4 + src/cpp/QtJambiGenerator/javagenerator.cpp | 822 ++-- src/cpp/QtJambiGenerator/javagenerator.h | 3 +- src/cpp/QtJambiGenerator/metabuilder.cpp | 93 +- src/cpp/QtJambiGenerator/metalang.cpp | 21 +- src/cpp/QtJambiGenerator/metalang.h | 12 +- src/cpp/QtJambiGenerator/parser/ast.h | 5 + src/cpp/QtJambiGenerator/parser/binder.cpp | 54 + src/cpp/QtJambiGenerator/parser/binder.h | 37 +- src/cpp/QtJambiGenerator/parser/parser.cpp | 171 +- .../parser/rpp/pp-engine-bits.h | 29 +- .../parser/rpp/pp-qt-configuration | 26 +- src/cpp/QtJambiGenerator/targets/all.h | 4 + src/cpp/QtJambiGenerator/targets/all.qml | 1 + .../QtJambiGenerator/targets/graphs.h} | 121 +- .../QtJambiGenerator/targets/graphs.qml} | 86 +- .../typesystem/java/QtJambi3DCore.java | 6 +- .../typesystem/java/QtJambiConcurrent.java | 2142 +++++------ .../typesystem/java/QtJambiCore.java | 1677 +++++---- .../typesystem/java/QtJambiGui.java | 41 +- .../typesystem/java/QtJambiNetwork.java | 20 +- .../typesystem/java/QtJambiQml.java | 6 +- .../typesystem/java/QtJambiScxml.java | 32 +- .../typesystem/java/QtJambiTest.java | 146 +- .../typesystem/java/QtJambiWidgets.java | 50 +- .../typesystem/qml/QtBluetooth.qml | 2 + .../typesystem/qml/QtCore.qml | 453 ++- .../typesystem/qml/QtDBus.qml | 5 + .../typesystem/qml/QtGraphs.qml | 1237 ++++++ .../QtJambiGenerator/typesystem/qml/QtGui.qml | 33 +- .../typesystem/qml/QtMultimedia.qml | 20 + .../typesystem/qml/QtNetwork.qml | 4 + .../typesystem/qml/QtOpenGL.qml | 299 +- .../typesystem/qml/QtOpenGLWidgets.qml | 17 +- .../QtJambiGenerator/typesystem/qml/QtPdf.qml | 22 +- .../typesystem/qml/QtPdfWidgets.qml | 60 +- .../QtJambiGenerator/typesystem/qml/QtQml.qml | 26 + .../typesystem/qml/QtQuick.qml | 17 + .../typesystem/qml/QtQuick3D.qml | 4 + .../typesystem/qml/QtSerialBus.qml | 12 +- .../QtJambiGenerator/typesystem/qml/QtSql.qml | 149 +- .../typesystem/qml/QtStateMachine.qml | 63 +- .../typesystem/qml/QtTextToSpeech.qml | 162 +- .../typesystem/qml/QtWebChannel.qml | 8 +- .../typesystem/qml/QtWebChannelQuick.qml} | 104 +- .../typesystem/qml/QtWebEngine.qml | 36 +- .../typesystem/qml/QtWebEngineCore.qml | 261 +- .../typesystem/qml/QtWebEngineQuick.qml | 37 +- .../QtJambiGenerator/typesystem/typeentry.h | 11 +- src/cpp/QtJambiGraphs/QtJambiGraphs.pro | 9 + .../QtJambiGraphs/hashes.h} | 49 +- src/cpp/QtJambiGui/hashes.h | 2 + src/cpp/QtJambiMultimedia/hashes.h | 10 + src/cpp/QtJambiQuick/hashes.h | 6 + src/cpp/QtJambiTextToSpeech/impl.cpp | 54 + src/cpp/QtJambiTextToSpeech/utils_p.h | 5 + .../QtJambiWebChannelQuick.pro | 3 + src/cpp/QtJambiWidgets/impl.cpp | 23 +- src/cpp/autotests/internal.h | 6 +- src/cpp/autotests/tulip.cpp | 15 + src/cpp/autotests/tulip.h | 7 + src/cpp/functionpointers/functionpointers.pro | 9 +- .../ant/CreateFunctionPointerQrcTask.java | 37 +- .../ant/io/qt/tools/ant/CreatePOMTask.java | 4 +- .../ant/io/qt/tools/ant/GeneratorTask.java | 24 +- .../io/qt/tools/ant/InitializeBuildTask.java | 4 + .../autotests/TestContainerPerformance.java | 181 + .../autotests/io/qt/autotests/TestGraphs.java | 258 ++ .../autotests/TestInitializationGraphs.java} | 82 +- .../qt/autotests/TestItemEditorCreator.java | 4 +- .../io/qt/autotests/TestMetaType.java | 80 +- .../autotests/TestMultimediaServicesQt5.java | 2 +- ...QPaintEngine.java => TestPaintEngine.java} | 401 +- .../io/qt/autotests/TestPaintOnWidget.java | 7 +- .../io/qt/autotests/TestQPermissionQt65.java | 14 +- .../io/qt/autotests/TestQThreadPool.java} | 62 +- .../io/qt/autotests/TestQVariant.java | 2 +- .../io/qt/autotests/TestTableModel.java | 27 +- .../io/qt/autotests/TestWebEngineWidgets.java | 36 +- src/java/modules/modules.xml | 46 +- .../qt/qtjambi/deployer/BundleGenerator.java | 3 + .../io/qt/qtjambi/deployer/Main.java | 43 +- .../qt/qtjambi/deployer/PluginGenerator.java | 28 +- src/java/modules/qtjambi.graphs/build.xml | 20 + .../modules/qtjambi.webchannelquick/build.xml | 20 + .../qtjambi/Qt5/io/qt/core/QLinkedList.java | 43 +- .../modules/qtjambi/Qt5/io/qt/core/QList.java | 53 +- .../qtjambi/Qt5/io/qt/core/QStack.java | 10 +- .../qtjambi/Qt5/io/qt/core/QVector.java | 46 +- .../internal/AbstractMetaObjectUtility.java | 7 + .../modules/qtjambi/Qt6/io/qt/core/QList.java | 288 +- .../qtjambi/Qt6/io/qt/core/QStack.java | 106 +- .../internal/AbstractMetaObjectUtility.java | 5 + .../Retro/io/qt/internal/RetroHelper.java | 12 + .../RetroJDK8/io/qt/internal/RetroHelper.java | 9 +- .../qtjambi/main/io/qt/InternalAccess.java | 9 + .../qtjambi/main/io/qt/MemberAccess.java | 1 + .../qtjambi/main/io/qt/NativeAccess.java | 3 + .../qt/QClassCannotBeSubclassedException.java | 3 + .../modules/qtjambi/main/io/qt/QFlags.java | 73 +- ...QInterfaceCannotBeSubclassedException.java | 3 + .../main/io/qt/QLibraryNotFoundError.java | 4 + .../main/io/qt/QLibraryNotLoadedError.java | 4 + .../io/qt/QMisfittingSignatureException.java | 4 + .../QMissingVirtualOverridingException.java | 3 + .../qtjambi/main/io/qt/QNativePointer.java | 3 + .../main/io/qt/QNoDefaultValueException.java | 4 + .../io/qt/QNoImplementationException.java | 3 + .../main/io/qt/QNoSuchEnumValueException.java | 3 + .../main/io/qt/QNoSuchMethodException.java | 10 + .../main/io/qt/QNoSuchSignalException.java | 10 + .../main/io/qt/QNoSuchSlotException.java | 13 + .../io/qt/QNonVirtualOverridingException.java | 4 + .../main/io/qt/QUninvokableSlotException.java | 6 + .../qt/QUnsuccessfulInvocationException.java | 8 + .../qtjambi/main/io/qt/QtDeclaredFinal.java | 1 + .../qtjambi/main/io/qt/QtUtilities.java | 30 + .../qt/core/AbstractAssociativeContainer.java | 355 ++ .../AbstractContainer.java} | 94 +- .../AbstractIterator.java} | 232 +- .../qt/{internal => core}/AbstractList.java | 121 +- .../AbstractMultiAssociativeContainer.java | 288 ++ .../AbstractSequentialContainer.java | 81 +- .../io/qt/core/QAssociativeConstIterator.java | 155 +- .../main/io/qt/core/QAssociativeIterator.java | 21 +- .../main/io/qt/core/QDeclarableSignals.java | 914 +++-- .../main/io/qt/core/QFutureSynchronizer.java | 32 +- .../main/io/qt/core/QFutureWatcher.java | 12 +- .../qtjambi/main/io/qt/core/QHash.java | 680 ++-- .../io/qt/core/QInstanceMemberSignals.java | 1060 ++++-- .../modules/qtjambi/main/io/qt/core/QMap.java | 1157 ++++-- .../qtjambi/main/io/qt/core/QMath.java | 114 - .../qtjambi/main/io/qt/core/QMetaObject.java | 3315 +++++++++++++++-- .../qtjambi/main/io/qt/core/QMultiHash.java | 704 ++-- .../qtjambi/main/io/qt/core/QMultiMap.java | 1131 ++++-- .../qtjambi/main/io/qt/core/QPair.java | 36 + .../qtjambi/main/io/qt/core/QQueue.java | 64 +- .../io/qt/core/QSequentialConstIterator.java | 101 +- .../main/io/qt/core/QSequentialIterator.java | 11 +- .../modules/qtjambi/main/io/qt/core/QSet.java | 114 +- .../main/io/qt/core/QStaticMemberSignals.java | 783 ++-- .../qtjambi/main/io/qt/gui/gl/GLsync.java | 3 + .../AbstractAssociativeConstIterator.java | 115 - .../AbstractAssociativeContainer.java | 102 - .../main/io/qt/internal/AbstractMap.java | 320 -- .../AbstractMultiAssociativeContainer.java | 111 - .../main/io/qt/internal/AbstractMultiMap.java | 385 -- .../main/io/qt/internal/CoreUtility.java | 5 + .../main/io/qt/internal/LibraryUtility.java | 208 +- .../main/io/qt/internal/MetaTypeUtility.java | 8 +- .../main/io/qt/internal/ResourceUtility.java | 28 +- .../io/qt/widgets/QItemEditorCreator.java | 42 +- .../widgets/QStandardItemEditorCreator.java | 28 +- src/java/plugins/plugins.xml | 30 +- src/java/qml/qml.xml | 8 +- www/Android.md | 20 +- www/Characteristics-of-QtJambi.md | 52 +- www/How-to-bundle-Qt-libraries.md | 12 +- www/How-to-deploy-QtJambi-applications.md | 36 +- www/How-to-develop-Qt-in-Java.md | 23 +- www/Modules.md | 1752 ++++----- www/Whats-New.md | 17 +- 227 files changed, 20186 insertions(+), 10453 deletions(-) rename README.md => README (94%) rename src/{java/modules/qtjambi/main/io/qt/internal/AbstractContainer.java => cpp/QtJambiGenerator/targets/graphs.h} (63%) rename src/{java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeIterator.java => cpp/QtJambiGenerator/targets/graphs.qml} (58%) create mode 100644 src/cpp/QtJambiGenerator/typesystem/qml/QtGraphs.qml rename src/{java/modules/qtjambi/main/io/qt/core/QIterator.java => cpp/QtJambiGenerator/typesystem/qml/QtWebChannelQuick.qml} (57%) create mode 100644 src/cpp/QtJambiGraphs/QtJambiGraphs.pro rename src/{java/modules/qtjambi/main/io/qt/core/QMapIterator.java => cpp/QtJambiGraphs/hashes.h} (53%) create mode 100644 src/cpp/QtJambiWebChannelQuick/QtJambiWebChannelQuick.pro create mode 100644 src/java/autotests/io/qt/autotests/TestContainerPerformance.java create mode 100644 src/java/autotests/io/qt/autotests/TestGraphs.java rename src/java/{modules/qtjambi/main/io/qt/internal/AbstractSequentialIterator.java => autotests/io/qt/autotests/TestInitializationGraphs.java} (81%) rename src/java/autotests/io/qt/autotests/{TestQPaintEngine.java => TestPaintEngine.java} (57%) rename src/java/{modules/qtjambi/main/io/qt/internal/AbstractHash.java => autotests/io/qt/autotests/TestQThreadPool.java} (57%) create mode 100644 src/java/modules/qtjambi.graphs/build.xml create mode 100644 src/java/modules/qtjambi.webchannelquick/build.xml create mode 100644 src/java/modules/qtjambi/main/io/qt/core/AbstractAssociativeContainer.java rename src/java/modules/qtjambi/main/io/qt/{internal/AbstractMultiHash.java => core/AbstractContainer.java} (51%) rename src/java/modules/qtjambi/main/io/qt/{internal/AbstractSequentialConstIterator.java => core/AbstractIterator.java} (51%) rename src/java/modules/qtjambi/main/io/qt/{internal => core}/AbstractList.java (60%) create mode 100644 src/java/modules/qtjambi/main/io/qt/core/AbstractMultiAssociativeContainer.java rename src/java/modules/qtjambi/main/io/qt/{internal => core}/AbstractSequentialContainer.java (60%) delete mode 100644 src/java/modules/qtjambi/main/io/qt/core/QMath.java delete mode 100644 src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeConstIterator.java delete mode 100644 src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeContainer.java delete mode 100644 src/java/modules/qtjambi/main/io/qt/internal/AbstractMap.java delete mode 100644 src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiAssociativeContainer.java delete mode 100644 src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiMap.java diff --git a/README.md b/README similarity index 94% rename from README.md rename to README index ffdce66f..8077ca02 100644 --- a/README.md +++ b/README @@ -115,7 +115,7 @@ to your project: $VERSION ``` -(exchange `$VERSION` either by `5.15.15` or by `6.5.1`). +(exchange `$VERSION` either by `5.15.16` or by `6.5.2`). Otherwise, download QtJambi JAR file from [Maven Central Repository](https://search.maven.org/artifact/io.qtjambi/qtjambi/). @@ -135,7 +135,7 @@ public class Test { Compile the file: ``` powershell -javac -cp qtjambi-6.5.1.jar Test.java +javac -cp qtjambi-6.5.2.jar Test.java ``` ### Execute Example @@ -154,19 +154,19 @@ In case your Linux distribution provides Qt (of correct version) as system libra The example program can be executed this way on Windows: ``` powershell -java -cp qtjambi-6.5.1.jar;. -Djava.library.path=C:\Qt\6.5.1\msvc2019_64\bin Test +java -cp qtjambi-6.5.2.jar;. -Djava.library.path=C:\Qt\6.5.1\msvc2019_64\bin Test ``` On Linux it looks this way: ``` bash -java -cp qtjambi-6.5.1.jar:. -Djava.library.path=/Qt/6.5.1/gcc_64/lib Test +java -cp qtjambi-6.5.2.jar:. -Djava.library.path=/Qt/6.5.1/gcc_64/lib Test ``` On macOS you additionally need to use the start parameter -XstartOnFirstThread: ``` bash -java -cp qtjambi-6.5.1.jar:. -Djava.library.path=/Qt/6.5.1/macos/lib -XstartOnFirstThread Test +java -cp qtjambi-6.5.2.jar:. -Djava.library.path=/Qt/6.5.1/macos/lib -XstartOnFirstThread Test ``` In general, you can start learning how to use Qt in Java [as it is introduced for C++](https://doc.qt.io/qt-6/gettingstarted.html#create-your-first-applications). diff --git a/antfiles/autotests.xml b/antfiles/autotests.xml index 8c9a3b7a..5775ce74 100644 --- a/antfiles/autotests.xml +++ b/antfiles/autotests.xml @@ -70,6 +70,7 @@ + @@ -132,6 +133,7 @@ + diff --git a/antfiles/generator.xml b/antfiles/generator.xml index 8d4261c9..f74b4654 100644 --- a/antfiles/generator.xml +++ b/antfiles/generator.xml @@ -6,6 +6,24 @@ + + + + + + - + - ${deploymentdir}/qt-lib-core-native-${qtjambi.osname}${platformjar.debug.suffix}-${qtjambi.version.bundle}.jar not available. + ${deploymentdir}/native/qt-lib-core-native-${qtjambi.osname}${platformjar.debug.suffix}-${qtjambi.version.bundle}.jar not available. @@ -350,7 +350,7 @@ - + @@ -362,7 +362,8 @@ - + + diff --git a/releases.properties b/releases.properties index f18b9a6b..53c4cc59 100644 --- a/releases.properties +++ b/releases.properties @@ -1,7 +1,8 @@ -5.15=15 +5.15=16 6.0=2 6.1=2 6.2=13 6.3=7 6.4=5 -6.5=1 \ No newline at end of file +6.5=2 +6.6=0 \ No newline at end of file diff --git a/src/cpp/QtJambi/cast.cpp b/src/cpp/QtJambi/cast.cpp index 2d6b3148..7465de00 100644 --- a/src/cpp/QtJambi/cast.cpp +++ b/src/cpp/QtJambi/cast.cpp @@ -260,16 +260,16 @@ void test(JNIEnv *env){ { InternalToExternalConverter c1; InternalToExternalConverter c2 = c1; - InternalToExternalConverter c3 = [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{return false;}; - InternalToExternalConverter c4([](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{return false;}); - InternalToExternalConverter c5(InternalToExternalConverter([](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{return false;})); + InternalToExternalConverter c3 = [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{return false;}; + InternalToExternalConverter c4([](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{return false;}); + InternalToExternalConverter c5(InternalToExternalConverter([](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{return false;})); } { ExternalToInternalConverter c1; ExternalToInternalConverter c2 = c1; - ExternalToInternalConverter c3 = [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType)->bool{return false;}; - ExternalToInternalConverter c4([](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType)->bool{return false;}); - ExternalToInternalConverter c5(ExternalToInternalConverter([](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType)->bool{return false;})); + ExternalToInternalConverter c3 = [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType)->bool{return false;}; + ExternalToInternalConverter c4([](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType)->bool{return false;}); + ExternalToInternalConverter c5(ExternalToInternalConverter([](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType)->bool{return false;})); } { QStringList l; diff --git a/src/cpp/QtJambi/configure.pri b/src/cpp/QtJambi/configure.pri index 79ea44df..58331301 100644 --- a/src/cpp/QtJambi/configure.pri +++ b/src/cpp/QtJambi/configure.pri @@ -38,6 +38,8 @@ VER_MAJ = $$section(VERSION, ., 0, 0) VER_MIN = $$section(VERSION, ., 1, 1) VER_PAT = $$section(VERSION, ., 2, 2) +DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x050000 + isEmpty(QTJAMBI_PROJECT):{ QTJAMBI_PROJECT = $$TARGET } diff --git a/src/cpp/QtJambi/containeraccess.cpp b/src/cpp/QtJambi/containeraccess.cpp index 43c40c52..9e9115df 100644 --- a/src/cpp/QtJambi/containeraccess.cpp +++ b/src/cpp/QtJambi/containeraccess.cpp @@ -2334,10 +2334,10 @@ AbstractContainerAccess* createPreparedContainerAccess(JNIEnv* env, SequentialCo #endif isPointer, hashFunction, - [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }, - [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }); } @@ -2391,10 +2391,10 @@ AbstractContainerAccess* createPreparedContainerAccess(JNIEnv* env, AssociativeC align1, size1, isPointer1, hashFunction1, - [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }, - [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }, isPointer2 && !memberMetaType2.isValid() ? voidPtr : memberMetaType2, @@ -2402,10 +2402,10 @@ AbstractContainerAccess* createPreparedContainerAccess(JNIEnv* env, AssociativeC size2, isPointer2, hashFunction2, - [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }, - [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }); return containerAccess; diff --git a/src/cpp/QtJambi/containeraccess.h b/src/cpp/QtJambi/containeraccess.h index 9d93ae85..0efe386c 100644 --- a/src/cpp/QtJambi/containeraccess.h +++ b/src/cpp/QtJambi/containeraccess.h @@ -459,7 +459,7 @@ class SequentialConstIteratorAccess : public AbstractSequentialConstIteratorAcce jvalue _value; _value.l = nullptr; QTJAMBI_ELEMENT_LOCKER - bool success = m_internalToExternalConverter(env, nullptr, &(*(*iter)), &_value, true); + bool success = m_internalToExternalConverter(env, nullptr, &(*(*iter)), _value, true); if(success){ return _value.l; } @@ -588,7 +588,7 @@ class AssociativeConstIteratorAccess : public AbstractAssociativeConstIteratorAc jvalue _value; _value.l = nullptr; QTJAMBI_KEY_VALUE_LOCKER - bool success = m_valueInternalToExternalConverter(env, nullptr, &(iter->value()), &_value, true); + bool success = m_valueInternalToExternalConverter(env, nullptr, &(iter->value()), _value, true); if(success){ return _value.l; } @@ -600,7 +600,7 @@ class AssociativeConstIteratorAccess : public AbstractAssociativeConstIteratorAc jvalue _value; _value.l = nullptr; QTJAMBI_KEY_VALUE_LOCKER - bool success = m_keyInternalToExternalConverter(env, nullptr, &(iter->key()), &_value, true); + bool success = m_keyInternalToExternalConverter(env, nullptr, &(iter->key()), _value, true); if(success){ return _value.l; } diff --git a/src/cpp/QtJambi/containeraccess_hash.cpp b/src/cpp/QtJambi/containeraccess_hash.cpp index aeb6e4d7..625d8e3f 100644 --- a/src/cpp/QtJambi/containeraccess_hash.cpp +++ b/src/cpp/QtJambi/containeraccess_hash.cpp @@ -619,7 +619,7 @@ jobject AutoHashAccess::nodeKey(JNIEnv * env, Node* node) jvalue jv; jv.l = nullptr; if(node) - m_keyInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset1, &jv, true); + m_keyInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset1, jv, true); return jv.l; } @@ -628,7 +628,7 @@ jobject AutoHashAccess::nodeValue(JNIEnv * env, Node* node) jvalue jv; jv.l = nullptr; if(node) - m_valueInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset2, &jv, true); + m_valueInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset2, jv, true); return jv.l; } @@ -1349,7 +1349,7 @@ jobject AutoHashAccess::find(JNIEnv * env, QtJambiNativeID ownerId, void* contai QtJambiScope scope; void* akey = nullptr; if(m_keyExternalToInternalConverter(env, &scope, jv, akey, jValueType::l)){ - auto it = d->find(*this, key); + auto it = d->find(*this, akey); if (it.isUnused()) it = d->end(*this); return createIterator(env, ownerId, new iterator(it)); @@ -1383,7 +1383,7 @@ jobject AutoHashAccess::constFind(JNIEnv * env, QtJambiNativeID ownerId, const v QtJambiScope scope; void* akey = nullptr; if(m_keyExternalToInternalConverter(env, &scope, jv, akey, jValueType::l)){ - auto it = d->find(*this, key); + auto it = d->find(*this, akey); if (it.isUnused()) it = d->end(*this); return createConstIterator(env, ownerId, new iterator(it)); @@ -1419,7 +1419,7 @@ jobject AutoHashAccess::key(JNIEnv *env, const void* container, jobject value, j if (m_valueMetaType.equals(i.value(), value)){ jvalue jv; jv.l = nullptr; - m_keyInternalToExternalConverter(env, nullptr, i.key(), &jv, true); + m_keyInternalToExternalConverter(env, nullptr, i.key(), jv, true); return jv.l; } ++i; @@ -1449,7 +1449,7 @@ jobject AutoHashAccess::value(JNIEnv *env, const void* container, jobject key, j if (!iter.isUnused()){ jvalue jv; jv.l = nullptr; - m_valueInternalToExternalConverter(env, nullptr, iterator(iter).value(), &jv, true); + m_valueInternalToExternalConverter(env, nullptr, iterator(iter).value(), jv, true); return jv.l; } #endif @@ -2207,7 +2207,7 @@ jobject AutoHashAccess::keys(JNIEnv *env, const void* container) while (n != e) { jvalue jv; jv.l = nullptr; - m_keyInternalToExternalConverter(env, nullptr, n.key(), &jv, true); + m_keyInternalToExternalConverter(env, nullptr, n.key(), jv, true); listAccess->insert(env, listContainer, idx++, 1, jv.l); ++n; } @@ -2267,7 +2267,7 @@ jobject AutoHashAccess::keys(JNIEnv *env, const void* container, jobject value) if(m_valueMetaType.equals(n.value(), _qvaluePtr)){ jvalue jv; jv.l = nullptr; - m_keyInternalToExternalConverter(env, nullptr, n.key(), &jv, true); + m_keyInternalToExternalConverter(env, nullptr, n.key(), jv, true); listAccess->insert(env, listContainer, idx++, 1, jv.l); } ++n; @@ -2350,7 +2350,7 @@ jobject AutoHashAccess::take(JNIEnv *env, void* container, jobject key) if (!it.isUnused()){ jvalue jv; jv.l = nullptr; - m_valueInternalToExternalConverter(env, nullptr, it.value(), &jv, true); + m_valueInternalToExternalConverter(env, nullptr, it.value(), jv, true); d->erase(*this, it); return jv.l; } @@ -2400,7 +2400,7 @@ jobject AutoHashAccess::values(JNIEnv *env, const void* container) while (n != e) { jvalue jv; jv.l = nullptr; - m_valueInternalToExternalConverter(env, nullptr, n.value(), &jv, true); + m_valueInternalToExternalConverter(env, nullptr, n.value(), jv, true); listAccess->insert(env, listContainer, idx++, 1, jv.l); ++n; } diff --git a/src/cpp/QtJambi/containeraccess_hash.h b/src/cpp/QtJambi/containeraccess_hash.h index de4fe9f8..deea8cc1 100644 --- a/src/cpp/QtJambi/containeraccess_hash.h +++ b/src/cpp/QtJambi/containeraccess_hash.h @@ -333,7 +333,7 @@ class GenericHashAccess : public AbstractHashAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qvaluePtr, jValueType::l)){ K _qkey = reinterpret_cast *>(container)->key(_qvalue, _qdefaultkey); jv.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, &jv, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, jv, true)){ result = jv.l; } } @@ -470,7 +470,7 @@ class GenericHashAccess : public AbstractHashAccess{ T _qvalue = reinterpret_cast *>(container)->take(_qkey); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, _value, true)){ result = _value.l; } } @@ -493,7 +493,7 @@ class GenericHashAccess : public AbstractHashAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qdefaultValuePtr, jValueType::l)){ T _qvalue = reinterpret_cast *>(container)->value(_qkey, _qdefaultValue); jv.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &jv, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, jv, true)){ result = jv.l; } } diff --git a/src/cpp/QtJambi/containeraccess_iterator.cpp b/src/cpp/QtJambi/containeraccess_iterator.cpp index faca5b19..f143d165 100644 --- a/src/cpp/QtJambi/containeraccess_iterator.cpp +++ b/src/cpp/QtJambi/containeraccess_iterator.cpp @@ -44,7 +44,7 @@ jobject AutoSequentialConstIteratorAccess::value(JNIEnv * env, const void* itera const void* v = m_value(iterator); jvalue jval; jval.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, v, &jval, true)) + if(m_internalToExternalConverter(env, nullptr, v, jval, true)) return jval.l; return nullptr; } @@ -117,7 +117,7 @@ jobject AutoAssociativeConstIteratorAccess::key(JNIEnv * env, const void* iterat const void* v = m_key(iterator); jvalue jval; jval.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, v, &jval, true)) + if(m_keyInternalToExternalConverter(env, nullptr, v, jval, true)) return jval.l; return nullptr; } diff --git a/src/cpp/QtJambi/containeraccess_linkedlist.cpp b/src/cpp/QtJambi/containeraccess_linkedlist.cpp index bb14bdea..ee356aba 100644 --- a/src/cpp/QtJambi/containeraccess_linkedlist.cpp +++ b/src/cpp/QtJambi/containeraccess_linkedlist.cpp @@ -502,7 +502,7 @@ jobject AutoLinkedListAccess::first(JNIEnv * env, const void* container) Q_ASSERT(d->size>0); jvalue _value; _value.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, &reinterpret_cast(d)->n->t, &_value, true)) + if(m_internalToExternalConverter(env, nullptr, &reinterpret_cast(d)->n->t, _value, true)) return _value.l; return nullptr; } @@ -514,7 +514,7 @@ jobject AutoLinkedListAccess::last(JNIEnv * env, const void* container) Q_ASSERT(d->size>0); jvalue _value; _value.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, &reinterpret_cast(d)->p->t, &_value, true)) + if(m_internalToExternalConverter(env, nullptr, &reinterpret_cast(d)->p->t, _value, true)) return _value.l; return nullptr; } diff --git a/src/cpp/QtJambi/containeraccess_linkedlist.h b/src/cpp/QtJambi/containeraccess_linkedlist.h index 70922721..869bfef3 100644 --- a/src/cpp/QtJambi/containeraccess_linkedlist.h +++ b/src/cpp/QtJambi/containeraccess_linkedlist.h @@ -179,7 +179,7 @@ class GenericLinkedListAccess : public AbstractLinkedListAccess{ const T& result = reinterpret_cast *>(container)->first(); jvalue _value; _value.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, &result, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, &result, _value, true)){ return _value.l; } return nullptr; @@ -192,7 +192,7 @@ class GenericLinkedListAccess : public AbstractLinkedListAccess{ QTJAMBI_ELEMENT_LOCKER { T qresult = reinterpret_cast *>(container)->last(); - success = m_internalToExternalConverter(env, nullptr, &qresult, &_result, true); + success = m_internalToExternalConverter(env, nullptr, &qresult, _result, true); } if(success){ return _result.l; @@ -207,7 +207,7 @@ class GenericLinkedListAccess : public AbstractLinkedListAccess{ QTJAMBI_ELEMENT_LOCKER { T result = reinterpret_cast *>(container)->takeFirst(); - success = m_internalToExternalConverter(env, nullptr, &result, &_value, true); + success = m_internalToExternalConverter(env, nullptr, &result, _value, true); } if(success){ return _value.l; @@ -222,7 +222,7 @@ class GenericLinkedListAccess : public AbstractLinkedListAccess{ QTJAMBI_ELEMENT_LOCKER { T result = reinterpret_cast *>(container)->takeLast(); - success = m_internalToExternalConverter(env, nullptr, &result, &_value, true); + success = m_internalToExternalConverter(env, nullptr, &result, _value, true); } if(success){ return _value.l; diff --git a/src/cpp/QtJambi/containeraccess_list.cpp b/src/cpp/QtJambi/containeraccess_list.cpp index f3e2aafc..0ef403d8 100644 --- a/src/cpp/QtJambi/containeraccess_list.cpp +++ b/src/cpp/QtJambi/containeraccess_list.cpp @@ -1061,6 +1061,7 @@ void AutoListAccess::appendList(JNIEnv * env, void* container, jobject list) }else{ jobject iter = QtJambiAPI::iteratorOfJavaCollection(env, list); jint idx = size(env, container); + reserve(env, container, idx + QtJambiAPI::sizeOfJavaCollection(env, list)); while(QtJambiAPI::hasJavaIteratorNext(env, iter)){ insert(env, container, idx++, 1, QtJambiAPI::nextOfJavaIterator(env, iter)); } @@ -1076,11 +1077,11 @@ jobject AutoListAccess::at(JNIEnv * env, const void* container, jint index) Q_ASSERT_X(index >= 0 && index < p->size(), "QList::at", "index out of range"); void** v = p->at(index); if(m_isLargeOrStaticType){ - if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, _value, true)){ return _value.l; } }else{ - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } } @@ -1088,7 +1089,7 @@ jobject AutoListAccess::at(JNIEnv * env, const void* container, jint index) const QArrayDataPointer* p = reinterpret_cast*>(container); Q_ASSERT_X(index >= 0 && index < p->size, "QList::at", "index out of range"); void* ptr = p->ptr+index*m_offset; - if(m_internalToExternalConverter(env, nullptr, ptr, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, ptr, _value, true)){ return _value.l; } #endif @@ -1104,11 +1105,11 @@ jobject AutoListAccess::value(JNIEnv * env, const void* container, jint index) if(index >= 0 && index < p->size()){ void** v = p->at(index); if(m_isLargeOrStaticType){ - if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, _value, true)){ return _value.l; } }else{ - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } } @@ -1116,13 +1117,13 @@ jobject AutoListAccess::value(JNIEnv * env, const void* container, jint index) const QArrayDataPointer* p = reinterpret_cast*>(container); if(index >= 0 && index < p->size){ void* ptr = p->ptr+index*m_offset; - if(m_internalToExternalConverter(env, nullptr, ptr, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, ptr, _value, true)){ return _value.l; } #endif }else{ void* ptr = m_elementMetaType.create(); - bool success = m_internalToExternalConverter(env, nullptr, ptr, &_value, true); + bool success = m_internalToExternalConverter(env, nullptr, ptr, _value, true); m_elementMetaType.destroy(ptr); if(success) return _value.l; @@ -1139,11 +1140,11 @@ jobject AutoListAccess::value(JNIEnv * env, const void* container, jint index, j if(index >= 0 && index < p->size()){ void** v = p->at(index); if(m_isLargeOrStaticType){ - if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, reinterpret_cast(v)->v, _value, true)){ return _value.l; } }else{ - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } } @@ -1151,7 +1152,7 @@ jobject AutoListAccess::value(JNIEnv * env, const void* container, jint index, j const QArrayDataPointer* p = reinterpret_cast*>(container); if(index >= 0 && index < p->size){ void* ptr = p->ptr+index*m_offset; - if(m_internalToExternalConverter(env, nullptr, ptr, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, ptr, _value, true)){ return _value.l; } #endif diff --git a/src/cpp/QtJambi/containeraccess_list.h b/src/cpp/QtJambi/containeraccess_list.h index 69129036..58e5039d 100644 --- a/src/cpp/QtJambi/containeraccess_list.h +++ b/src/cpp/QtJambi/containeraccess_list.h @@ -187,7 +187,7 @@ class GenericListAccess : public AbstractListAccess{ jvalue _value; _value.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, &result, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, &result, _value, true)){ return _value.l; } return nullptr; @@ -201,7 +201,7 @@ class GenericListAccess : public AbstractListAccess{ QTJAMBI_ELEMENT_LOCKER { T qresult = reinterpret_cast *>(container)->value(index); - success = m_internalToExternalConverter(env, nullptr, &qresult, &_result, true); + success = m_internalToExternalConverter(env, nullptr, &qresult, _result, true); } if(success){ @@ -223,7 +223,7 @@ class GenericListAccess : public AbstractListAccess{ _defaultValue.l = defaultValue; if(m_externalToInternalConverter(env, nullptr, _defaultValue, _qdefaultValuePtr, jValueType::l)){ T qresult = reinterpret_cast *>(container)->value(index, _qdefaultValue); - success = m_internalToExternalConverter(env, nullptr, &qresult, &_result, true); + success = m_internalToExternalConverter(env, nullptr, &qresult, _result, true); } } diff --git a/src/cpp/QtJambi/containeraccess_map.cpp b/src/cpp/QtJambi/containeraccess_map.cpp index a79ec9e0..e4c33aa9 100644 --- a/src/cpp/QtJambi/containeraccess_map.cpp +++ b/src/cpp/QtJambi/containeraccess_map.cpp @@ -1330,7 +1330,7 @@ jobject AutoMapAccess::nodeKey(JNIEnv * env, Node* node) jvalue jv; jv.l = nullptr; if(node) - m_keyInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset1, &jv, true); + m_keyInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset1, jv, true); return jv.l; } @@ -1339,7 +1339,7 @@ jobject AutoMapAccess::nodeValue(JNIEnv * env, Node* node) jvalue jv; jv.l = nullptr; if(node) - m_valueInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset2, &jv, true); + m_valueInternalToExternalConverter(env, nullptr, reinterpret_cast(node)+m_offset2, jv, true); return jv.l; } diff --git a/src/cpp/QtJambi/containeraccess_map.h b/src/cpp/QtJambi/containeraccess_map.h index cad64a3e..d5d8db63 100644 --- a/src/cpp/QtJambi/containeraccess_map.h +++ b/src/cpp/QtJambi/containeraccess_map.h @@ -308,7 +308,7 @@ class GenericMapAccess : public AbstractMapAccess{ const T& first = reinterpret_cast *>(container)->first(); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &first, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &first, _value, true)){ result = _value.l; } } @@ -322,7 +322,7 @@ class GenericMapAccess : public AbstractMapAccess{ const K& firstKey = reinterpret_cast *>(container)->firstKey(); jvalue _value; _value.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &firstKey, &_value, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &firstKey, _value, true)){ result = _value.l; } } @@ -363,7 +363,7 @@ class GenericMapAccess : public AbstractMapAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qvaluePtr, jValueType::l)){ K _qkey = reinterpret_cast *>(container)->key(_qvalue, _qdefaultkey); jv.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, &jv, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, jv, true)){ result = jv.l; } } @@ -432,7 +432,7 @@ class GenericMapAccess : public AbstractMapAccess{ const T& last = reinterpret_cast *>(container)->last(); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &last, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &last, _value, true)){ result = _value.l; } } @@ -446,7 +446,7 @@ class GenericMapAccess : public AbstractMapAccess{ const K& lastKey = reinterpret_cast *>(container)->lastKey(); jvalue _value; _value.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &lastKey, &_value, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &lastKey, _value, true)){ result = _value.l; } } @@ -543,7 +543,7 @@ class GenericMapAccess : public AbstractMapAccess{ T _qvalue = reinterpret_cast *>(container)->take(_qkey); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, _value, true)){ result = _value.l; } } @@ -591,7 +591,7 @@ class GenericMapAccess : public AbstractMapAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qdefaultValuePtr, jValueType::l)){ T _qvalue = reinterpret_cast *>(container)->value(_qkey, _qdefaultValue); jv.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &jv, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, jv, true)){ result = jv.l; } } diff --git a/src/cpp/QtJambi/containeraccess_multihash.cpp b/src/cpp/QtJambi/containeraccess_multihash.cpp index 1cf96de8..8f160b8c 100644 --- a/src/cpp/QtJambi/containeraccess_multihash.cpp +++ b/src/cpp/QtJambi/containeraccess_multihash.cpp @@ -270,7 +270,7 @@ jobject AutoMultiHashAccess::uniqueKeys(JNIEnv *env, const void* container) while (n != e) { jvalue jv; jv.l = nullptr; - m_keyInternalToExternalConverter(env, nullptr, n.key(), &jv, true); + m_keyInternalToExternalConverter(env, nullptr, n.key(), jv, true); listAccess->insert(env, listContainer, idx++, 1, jv.l); ++n; } @@ -377,14 +377,14 @@ jobject AutoMultiHashAccess::values(JNIEnv *env, const void* container, jobject } #else iterator i = d->find(*this, akey); - if(i.e){ + if(i.e && !i.i.isUnused()){ multi_iterator& it = reinterpret_cast(i); const Chain* chain = *it.e; jint idx = listAccess->size(env, listContainer); while(chain){ jvalue jv; jv.l = nullptr; - m_valueInternalToExternalConverter(env, nullptr, chain->value(), &jv, true); + m_valueInternalToExternalConverter(env, nullptr, chain->value(), jv, true); listAccess->insert(env, listContainer, idx++, 1, jv.l); chain = chain->next(*this); } @@ -419,7 +419,7 @@ jboolean AutoMultiHashAccess::contains(JNIEnv *env, const void* container, jobje } #else iterator i = d->find(*this, akey); - if(i.e){ + if(i.e && !i.i.isUnused()){ jv.l = value; void* avalue = nullptr; if(m_valueExternalToInternalConverter(env, &scope, jv, avalue, jValueType::l)){ @@ -463,7 +463,7 @@ jint AutoMultiHashAccess::count(JNIEnv *env, const void* container, jobject key, } #else iterator i = d->find(*this, akey); - if(i.e){ + if(i.e && !i.i.isUnused()){ jv.l = value; void* avalue = nullptr; if(m_valueExternalToInternalConverter(env, &scope, jv, avalue, jValueType::l)){ @@ -607,7 +607,7 @@ jint AutoMultiHashAccess::remove(JNIEnv *env, void* container, jobject key, jobj }while(found); #else iterator i = d->find(*this, akey); - if(i.e){ + if(i.e && !i.i.isUnused()){ jv.l = value; void* avalue = nullptr; if(m_valueExternalToInternalConverter(env, &scope, jv, avalue, jValueType::l)){ diff --git a/src/cpp/QtJambi/containeraccess_multihash.h b/src/cpp/QtJambi/containeraccess_multihash.h index 1cd744eb..da427f7f 100644 --- a/src/cpp/QtJambi/containeraccess_multihash.h +++ b/src/cpp/QtJambi/containeraccess_multihash.h @@ -215,7 +215,7 @@ class GenericMultiHashAccess : public AbstractMultiHashAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qvaluePtr, jValueType::l)){ K _qkey = reinterpret_cast *>(container)->key(_qvalue, _qdefaultkey); jv.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, &jv, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, jv, true)){ result = jv.l; } } @@ -372,7 +372,7 @@ class GenericMultiHashAccess : public AbstractMultiHashAccess{ T _qvalue = reinterpret_cast *>(container)->take(_qkey); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, _value, true)){ result = _value.l; } } @@ -395,7 +395,7 @@ class GenericMultiHashAccess : public AbstractMultiHashAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qdefaultValuePtr, jValueType::l)){ T _qvalue = reinterpret_cast *>(container)->value(_qkey, _qdefaultValue); jv.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &jv, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, jv, true)){ result = jv.l; } } diff --git a/src/cpp/QtJambi/containeraccess_multimap.h b/src/cpp/QtJambi/containeraccess_multimap.h index b965a00d..2e6f8a54 100644 --- a/src/cpp/QtJambi/containeraccess_multimap.h +++ b/src/cpp/QtJambi/containeraccess_multimap.h @@ -189,7 +189,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ const T& first = reinterpret_cast *>(container)->first(); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &first, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &first, _value, true)){ result = _value.l; } } @@ -203,7 +203,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ const K& firstKey = reinterpret_cast *>(container)->firstKey(); jvalue _value; _value.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &firstKey, &_value, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &firstKey, _value, true)){ result = _value.l; } } @@ -244,7 +244,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qvaluePtr, jValueType::l)){ K _qkey = reinterpret_cast *>(container)->key(_qvalue, _qdefaultkey); jv.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, &jv, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &_qkey, jv, true)){ result = jv.l; } } @@ -315,7 +315,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ const T& last = reinterpret_cast *>(container)->last(); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &last, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &last, _value, true)){ result = _value.l; } } @@ -329,7 +329,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ const K& lastKey = reinterpret_cast *>(container)->lastKey(); jvalue _value; _value.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &lastKey, &_value, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &lastKey, _value, true)){ result = _value.l; } } @@ -426,7 +426,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ T _qvalue = reinterpret_cast *>(container)->take(_qkey); jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, _value, true)){ result = _value.l; } } @@ -474,7 +474,7 @@ class GenericMultiMapAccess : public AbstractMultiMapAccess{ if(m_valueExternalToInternalConverter(env, nullptr, jv, _qdefaultValuePtr, jValueType::l)){ T _qvalue = reinterpret_cast *>(container)->value(_qkey, _qdefaultValue); jv.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, &jv, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &_qvalue, jv, true)){ result = jv.l; } } diff --git a/src/cpp/QtJambi/containeraccess_pair.cpp b/src/cpp/QtJambi/containeraccess_pair.cpp index bcdd038c..0ec5ddfd 100644 --- a/src/cpp/QtJambi/containeraccess_pair.cpp +++ b/src/cpp/QtJambi/containeraccess_pair.cpp @@ -616,7 +616,7 @@ jobject AutoPairAccess::first(JNIEnv * env, const void* container) { { jvalue _first; _first.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, container, &_first, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, container, _first, true)){ result = _first.l; } } @@ -635,7 +635,7 @@ jobject AutoPairAccess::second(JNIEnv * env, const void* container) { { jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, snd, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, snd, _value, true)){ result = _value.l; } } diff --git a/src/cpp/QtJambi/containeraccess_pair.h b/src/cpp/QtJambi/containeraccess_pair.h index a228fcba..f1de4a98 100644 --- a/src/cpp/QtJambi/containeraccess_pair.h +++ b/src/cpp/QtJambi/containeraccess_pair.h @@ -141,7 +141,7 @@ class GenericPairAccess : public AbstractPairAccess{ { jvalue _first; _first.l = nullptr; - if(m_keyInternalToExternalConverter(env, nullptr, &reinterpret_cast *>(container)->first, &_first, true)){ + if(m_keyInternalToExternalConverter(env, nullptr, &reinterpret_cast *>(container)->first, _first, true)){ result = _first.l; } } @@ -164,7 +164,7 @@ class GenericPairAccess : public AbstractPairAccess{ { jvalue _value; _value.l = nullptr; - if(m_valueInternalToExternalConverter(env, nullptr, &reinterpret_cast *>(container)->second, &_value, true)){ + if(m_valueInternalToExternalConverter(env, nullptr, &reinterpret_cast *>(container)->second, _value, true)){ result = _value.l; } } diff --git a/src/cpp/QtJambi/containeraccess_vector.cpp b/src/cpp/QtJambi/containeraccess_vector.cpp index 894db35b..26786976 100644 --- a/src/cpp/QtJambi/containeraccess_vector.cpp +++ b/src/cpp/QtJambi/containeraccess_vector.cpp @@ -524,6 +524,7 @@ void AutoVectorAccess::appendVector(JNIEnv * env, void* container, jobject list) }else{ QTypedArrayData ** vector = reinterpret_cast **>(container); jobject iter = QtJambiAPI::iteratorOfJavaCollection(env, list); + reserve(env, container, jint((*vector)->size + QtJambiAPI::sizeOfJavaCollection(env, list))); while(QtJambiAPI::hasJavaIteratorNext(env, iter)){ insert(env, container, (*vector)->size, 1, QtJambiAPI::nextOfJavaIterator(env, iter)); } @@ -539,7 +540,7 @@ jobject AutoVectorAccess::at(JNIEnv * env, const void* container, jint index) Q_ASSERT_X(index >= 0 && index < d->size, "QVector::at", "index out of range"); char* data = d->data(); void* v = data + index*m_offset; - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } return nullptr; @@ -554,12 +555,12 @@ jobject AutoVectorAccess::value(JNIEnv * env, const void* container, jint index) if(index >= 0 && index < d->size){ char* data = d->data(); void* v = data + index*m_offset; - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } }else{ void* ptr = m_elementMetaType.create(); - bool success = m_internalToExternalConverter(env, nullptr, ptr, &_value, true); + bool success = m_internalToExternalConverter(env, nullptr, ptr, _value, true); m_elementMetaType.destroy(ptr); if(success) return _value.l; @@ -576,7 +577,7 @@ jobject AutoVectorAccess::value(JNIEnv * env, const void* container, jint index, if(index >= 0 && index < d->size){ char* data = d->data(); void* v = data + index*m_offset; - if(m_internalToExternalConverter(env, nullptr, v, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, v, _value, true)){ return _value.l; } }else{ diff --git a/src/cpp/QtJambi/containeraccess_vector.h b/src/cpp/QtJambi/containeraccess_vector.h index a6b556fe..dfe73af1 100644 --- a/src/cpp/QtJambi/containeraccess_vector.h +++ b/src/cpp/QtJambi/containeraccess_vector.h @@ -183,7 +183,7 @@ class GenericVectorAccess : public AbstractVectorAccess{ jvalue _value; _value.l = nullptr; - if(m_internalToExternalConverter(env, nullptr, &result, &_value, true)){ + if(m_internalToExternalConverter(env, nullptr, &result, _value, true)){ return _value.l; } return nullptr; @@ -197,7 +197,7 @@ class GenericVectorAccess : public AbstractVectorAccess{ QTJAMBI_ELEMENT_LOCKER { T qresult = reinterpret_cast *>(container)->value(index); - success = m_internalToExternalConverter(env, nullptr, &qresult, &_result, true); + success = m_internalToExternalConverter(env, nullptr, &qresult, _result, true); } if(success){ @@ -219,7 +219,7 @@ class GenericVectorAccess : public AbstractVectorAccess{ _defaultValue.l = defaultValue; if(m_externalToInternalConverter(env, nullptr, _defaultValue, _qdefaultValuePtr, jValueType::l)){ T qresult = reinterpret_cast *>(container)->value(index, _qdefaultValue); - success = m_internalToExternalConverter(env, nullptr, &qresult, &_result, true); + success = m_internalToExternalConverter(env, nullptr, &qresult, _result, true); } } diff --git a/src/cpp/QtJambi/containers.cpp b/src/cpp/QtJambi/containers.cpp index 73715255..8770cd08 100644 --- a/src/cpp/QtJambi/containers.cpp +++ b/src/cpp/QtJambi/containers.cpp @@ -1388,7 +1388,12 @@ void CoreAPI::initializeQList(JNIEnv *env, jobject object, jclass elementType, Q containerAccess->deleteContainer(listPtr); containerAccess->dispose(); }else if(!isNativeContainer && other){ - containerAccess->appendList(env, listPtr, other); + jobject iter = QtJambiAPI::iteratorOfJavaCollection(env, other); + jint idx = 0; + containerAccess->reserve(env, listPtr, QtJambiAPI::sizeOfJavaCollection(env, other)); + while(QtJambiAPI::hasJavaIteratorNext(env, iter)){ + containerAccess->insert(env, listPtr, idx++, 1, QtJambiAPI::nextOfJavaIterator(env, iter)); + } } } @@ -1860,7 +1865,12 @@ void CoreAPI::initializeQVector(JNIEnv *env, jobject object, jclass elementType, containerAccess->deleteContainer(listPtr); containerAccess->dispose(); }else if(!isNativeContainer && other){ - containerAccess->appendVector(env, listPtr, other); + jobject iter = QtJambiAPI::iteratorOfJavaCollection(env, other); + jint idx = 0; + containerAccess->reserve(env, listPtr, QtJambiAPI::sizeOfJavaCollection(env, other)); + while(QtJambiAPI::hasJavaIteratorNext(env, iter)){ + containerAccess->insert(env, listPtr, idx++, 1, QtJambiAPI::nextOfJavaIterator(env, iter)); + } } } #endif diff --git a/src/cpp/QtJambi/convert.cpp b/src/cpp/QtJambi/convert.cpp index a239c4fa..a39f174f 100644 --- a/src/cpp/QtJambi/convert.cpp +++ b/src/cpp/QtJambi/convert.cpp @@ -431,7 +431,7 @@ jobject QtJambiAPI::convertQVariantToJavaObject(JNIEnv *env, const QVariant &qt_ true); jvalue val; val.l = nullptr; - if(!converter || !converter(env, nullptr, qt_variant.constData(), &val, true)){ + if(!converter || !converter(env, nullptr, qt_variant.constData(), val, true)){ qCWarning(DebugAPI::internalCategory, "Unable to convert qVariant to jobject"); } return val.l; @@ -814,7 +814,7 @@ void registerConverterVariant(JNIEnv *env, QMetaType metaType, QString qtName, c }else if(JniEnvironment env{500}){ jvalue val; val.l = nullptr; - if(converter(env, nullptr, src, &val, true)){ + if(converter(env, nullptr, src, val, true)){ new (target)JObjectWrapper(env, val.l); return true; } @@ -834,7 +834,7 @@ void registerConverterVariant(JNIEnv *env, QMetaType metaType, QString qtName, c } jvalue val; val.l = nullptr; - if(converter(env, nullptr, src, &val, true)){ + if(converter(env, nullptr, src, val, true)){ new (target)JObjectWrapper(env, val.l); return true; } @@ -1839,7 +1839,12 @@ const void *QtJambiAPI::convertJavaObjectToNativeAsSmartPointer(JNIEnv *env, job link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToQObject(env, java_object, createdByJava, is_shell, pointerCreator(ptr), pointerDeleter, pointerGetter); + const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(java_object)); + if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, java_object, createdByJava, is_shell, pointerCreator(ptr), pointerDeleter, pointerGetter, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces); + }else{ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, java_object, createdByJava, is_shell, pointerCreator(ptr), pointerDeleter, pointerGetter); + } Q_ASSERT(link && link->isSmartPointer()); if(shell){ shell->overrideLink(link); @@ -1887,15 +1892,31 @@ const void *QtJambiAPI::convertJavaObjectToNativeAsSmartPointer(JNIEnv *env, job link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToObject(env, - java_object, - LINK_NAME_ARG(className) - createdByJava, - is_shell, - registeredOwnerFunction, - pointerCreator(ptr), - pointerDeleter, - pointerGetter); + const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(java_object)); + if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ + link = QtJambiLink::createLinkForSmartPointerToObject(env, + java_object, + LINK_NAME_ARG(className) + createdByJava, + is_shell, + registeredOwnerFunction, + pointerCreator(ptr), + pointerDeleter, + pointerGetter, + interfaceOffsets->offsets, + interfaceOffsets->interfaces, + interfaceOffsets->inheritedInterfaces); + }else{ + link = QtJambiLink::createLinkForSmartPointerToObject(env, + java_object, + LINK_NAME_ARG(className) + createdByJava, + is_shell, + registeredOwnerFunction, + pointerCreator(ptr), + pointerDeleter, + pointerGetter); + } if(shell){ shell->overrideLink(link); } @@ -1910,21 +1931,12 @@ const void *QtJambiAPI::convertJavaObjectToNativeAsSmartPointer(JNIEnv *env, job return nullptr; } -void *internal_convertJavaInterfaceToNative(JNIEnv *env, jobject object, const std::type_info& typeId){ - if(QSharedPointer link = QtJambiLink::findLinkForJavaInterface(env, object)) - return link->typedPointer(typeId); - else if(Java::QtJambi::QtObjectInterface::isInstanceOf(env, object)) - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, object).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - return nullptr; -} - -void *QtJambiAPI::convertJavaInterfaceToNative(JNIEnv *env, jobject object, - const char *, const std::type_info& typeId){ - return internal_convertJavaInterfaceToNative(env, object, typeId); +void *QtJambiAPI::convertJavaInterfaceToNative(JNIEnv *env, jobject object, const char *, const std::type_info& typeId){ + return QtJambiLink::findPointerForJavaInterface(env, object, typeId); } void *QtJambiAPI::convertJavaInterfaceToNative(JNIEnv *env, jobject object, const std::type_info& typeId){ - return internal_convertJavaInterfaceToNative(env, object, typeId); + return QtJambiLink::findPointerForJavaInterface(env, object, typeId); } jobject internal_convertNativeToJavaObject(JNIEnv *env, const void *qt_object, const std::type_info& typeId, const char *qtName, NativeToJavaConversionMode mode, bool *ok) @@ -1940,10 +1952,7 @@ jobject internal_convertNativeToJavaObject(JNIEnv *env, const void *qt_object, c if(offset!=0){ qt_object = reinterpret_cast(qt_object)-offset; } - QtJambiTypeEntry::NativeToJavaResult result = typeEntry->convertToJava(env, qt_object, mode==NativeToJavaConversionMode::MakeCopyOfValues, &jv, jValueType::l); - if(result){ - if(mode==NativeToJavaConversionMode::TransferOwnership && result.link()) - result.link()->setJavaOwnership(env); + if(typeEntry->convertToJava(env, qt_object, mode, jv, jValueType::l)){ return jv.l; }else{ return nullptr; @@ -2153,6 +2162,25 @@ jobject internal_convertNativeToJavaObject(NativeToJavaConversionMode mode, JNIE return nullptr; } +jobject QtJambiAPI::convertModelIndexToJavaObject(JNIEnv *env, const QModelIndex& index){ + jobject result{nullptr}; + if(QModelIndexTypeEntry::convertNativeToJava(env, &index, NativeToJavaConversionMode::MakeCopyOfValues, result)){ + return result; + }else{ + return nullptr; + } +} + +bool QtJambiAPI::convertJavaToModelIndex(JNIEnv *env, jobject java_object, QModelIndex** output){ + if(Java::QtCore::QModelIndex::isInstanceOf(env, java_object)){ + *output = reinterpret_cast(QtJambiLink::findPointerForJavaObject(env, java_object)); + return true; + }else if(env->IsSameObject(java_object, nullptr)){ + return true; + } + return false; +} + jobject QtJambiAPI::convertNativeToJavaObjectAsCopy(JNIEnv *env, const void *qt_object, jclass clazz){ return internal_convertNativeToJavaObject(NativeToJavaConversionMode::MakeCopyOfValues, env, qt_object, clazz); } @@ -2180,7 +2208,7 @@ jobject internal_convertSmartPointerToJavaObject_impl(JNIEnv *env, return reinterpret_cast(result)-offset; }; } - if(typeEntry->convertSharedPointerToJava(env, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, &result, jValueType::l)){ + if(typeEntry->convertSharedPointerToJava(env, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, result, jValueType::l)){ return result.l; }else{ return nullptr; @@ -2231,7 +2259,10 @@ jobject internal_convertSmartPointerToJavaObject_notype(JNIEnv *env, const char if (!returned) return nullptr; - const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( + const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, clazz); + const QSharedPointer& link = + interfaceOffsets && !interfaceOffsets->offsets.isEmpty() ? + QtJambiLink::createLinkForSmartPointerToObject( env, returned, LINK_NAME_ARG(nullptr) @@ -2240,8 +2271,22 @@ jobject internal_convertSmartPointerToJavaObject_notype(JNIEnv *env, const char nullptr, ptr_shared_pointer, sharedPointerDeleter, - sharedPointerGetter - ); + sharedPointerGetter, + interfaceOffsets->offsets, + interfaceOffsets->interfaces, + interfaceOffsets->inheritedInterfaces + ) + : QtJambiLink::createLinkForSmartPointerToObject( + env, + returned, + LINK_NAME_ARG(nullptr) + false, + false, + nullptr, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter + ); if (!link) { returned = nullptr; } @@ -2304,7 +2349,12 @@ jobject internal_convertQObjectSmartPointerToJavaObject_notype(JNIEnv *env, cons } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, createdByJava, is_shell, ptr_shared_pointer, shared_pointer_deleter, pointerGetter); + const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(object)); + if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, createdByJava, is_shell, ptr_shared_pointer, shared_pointer_deleter, pointerGetter, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces); + }else{ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, createdByJava, is_shell, ptr_shared_pointer, shared_pointer_deleter, pointerGetter); + } if(shell){ shell->overrideLink(link); } @@ -2402,7 +2452,12 @@ jobject internal_convertQObjectSmartPointerToJavaObject_notype(JNIEnv *env, cons if (!object) return nullptr; - link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, false, false, const_cast(ptr_shared_pointer), shared_pointer_deleter, pointerGetter); + const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, clazz); + if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, false, false, const_cast(ptr_shared_pointer), shared_pointer_deleter, pointerGetter, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces); + }else{ + link = QtJambiLink::createLinkForSmartPointerToQObject(env, object, false, false, const_cast(ptr_shared_pointer), shared_pointer_deleter, pointerGetter); + } if (!link) { qCWarning(DebugAPI::internalCategory, "Qt Jambi: Couldn't created wrapper for class %s", className); return nullptr; @@ -2465,8 +2520,7 @@ jobject internal_convertQObjectToJavaObject_type(JNIEnv *env, const QObject *qt_ if(offset!=0){ ptr = reinterpret_cast(ptr)-offset; } - QtJambiTypeEntry::NativeToJavaResult result = typeEntry->convertToJava(env, ptr, false, &jv, jValueType::l); - if(result){ + if(typeEntry->convertToJava(env, ptr, NativeToJavaConversionMode::None, jv, jValueType::l)){ return jv.l; }else{ return nullptr; @@ -2535,10 +2589,8 @@ jobject internal_convertQObjectToJavaObject_notype(JNIEnv *env, const QObject *c if(QtJambiTypeEntryPtr typeEntry = QtJambiTypeEntry::getTypeEntry(env, *_typeId)){ jvalue jv; jv.l = nullptr; - QtJambiTypeEntry::NativeToJavaResult result = typeEntry->convertToJava(env, qt_object, false, &jv, jValueType::l); - if(result){ + if(typeEntry->convertToJava(env, qt_object, NativeToJavaConversionMode::None, jv, jValueType::l)) return jv.l; - } } } const QMetaObject *mo = QtJambiMetaObject::findFirstStaticMetaObject(qt_object->metaObject()); @@ -2638,7 +2690,7 @@ jobject internal_convertQObjectSmartPointerToJavaObject_impl(JNIEnv *env, const return reinterpret_cast(result)-offset; }; } - if(typeEntry->convertSharedPointerToJava(env, ptr_shared_pointer, shared_pointer_deleter, sharedPointerGetter, &result, jValueType::l)){ + if(typeEntry->convertSharedPointerToJava(env, ptr_shared_pointer, shared_pointer_deleter, sharedPointerGetter, result, jValueType::l)){ return result.l; }else{ return nullptr; diff --git a/src/cpp/QtJambi/coreapi.cpp b/src/cpp/QtJambi/coreapi.cpp index 38a05e68..47791be7 100644 --- a/src/cpp/QtJambi/coreapi.cpp +++ b/src/cpp/QtJambi/coreapi.cpp @@ -141,7 +141,7 @@ jobject CoreAPI::invokeMetaMethod(JNIEnv * env, jobject _metaMethod, val[8], val[9]); if(ok && resultPtr){ - ok = parameterTypeInfos[0].convertInternalToExternal(env, nullptr, resultPtr, &result, true); + ok = parameterTypeInfos[0].convertInternalToExternal(env, nullptr, resultPtr, result, true); } } } @@ -276,7 +276,7 @@ jobject CoreAPI::invokeMetaMethodOnGadget(JNIEnv * env, jobject _metaMethod, val[8], val[9]); if(ok && resultPtr){ - ok = parameterTypeInfos[0].convertInternalToExternal(env, nullptr, resultPtr, &result, true); + ok = parameterTypeInfos[0].convertInternalToExternal(env, nullptr, resultPtr, result, true); } } } @@ -371,7 +371,7 @@ jobject CoreAPI::readMetaPropertyOnGadget(JNIEnv *env, jobject _this, jobject ga jvalue val; val.l = nullptr; QtJambiScope scope(nullptr); - if(converter(env, &scope, variant.data(), &val, true)) + if(converter(env, &scope, variant.data(), val, true)) return val.l; } } @@ -396,7 +396,7 @@ jobject CoreAPI::readMetaPropertyOnGadget(JNIEnv *env, jobject _this, jobject ga QMetaType _type(type); InternalToExternalConverter converter = QtJambiTypeManager::getInternalToExternalConverter(env, qtName, _type, object_class); QtJambiScope scope(nullptr); - bool result = converter && converter(env, &scope, variant.data(), &val, true); + bool result = converter && converter(env, &scope, variant.data(), val, true); if(result) return val.l; }else{ @@ -555,6 +555,14 @@ void CoreAPI::unregisterDependentObject(JNIEnv *env, jobject dependentObject, jo } } +void CoreAPI::ckeckLinkExtension(JNIEnv *env, QtJambiNativeID nativeId){ + QtJambiLink * link = reinterpret_cast(nativeId); + if(ExtendedLink* elink = dynamic_cast(link)){ + if(!elink->hasExtension()) + Java::QtJambi::QNoNativeResourcesException::throwNew(env, "Dependent object has been deleted." QTJAMBI_STACKTRACEINFO ); + } +} + QReadWriteLock* CoreAPI::objectDataLock() { return QtJambiLinkUserData::lock(); @@ -831,7 +839,7 @@ struct ResolvingInternalToExternalConverter{ return *this; } - bool operator()(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType)const{ + bool operator()(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType)const{ if(m_elementClass){ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QMetaType metaType(m_metaType); @@ -890,7 +898,7 @@ struct ResolvingExternalToInternalConverter{ return *this; } - bool operator()(JNIEnv* env, QtJambiScope* scope, const jvalue&val, void* &out, jValueType valueType)const{ + bool operator()(JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType)const{ if(m_elementClass){ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QMetaType metaType(m_metaType); diff --git a/src/cpp/QtJambi/coreapi.h b/src/cpp/QtJambi/coreapi.h index 895a7682..4fcefaac 100644 --- a/src/cpp/QtJambi/coreapi.h +++ b/src/cpp/QtJambi/coreapi.h @@ -105,6 +105,8 @@ class QTJAMBI_EXPORT ApplicationData : public QtJambiObjectData namespace CoreAPI{ +QTJAMBI_EXPORT void ckeckLinkExtension(JNIEnv *env, QtJambiNativeID nativeId); + QTJAMBI_EXPORT QReadWriteLock* objectDataLock(); QTJAMBI_EXPORT jobject findObject(JNIEnv *env, const void * pointer); diff --git a/src/cpp/QtJambi/debug.cpp b/src/cpp/QtJambi/debug.cpp index a4b4a052..6a7e2e27 100644 --- a/src/cpp/QtJambi/debug.cpp +++ b/src/cpp/QtJambi/debug.cpp @@ -60,14 +60,18 @@ Q_LOGGING_CATEGORY(debugAPIInternalMethodsCategory, "io.qtjambi.debugapi.interna Q_LOGGING_CATEGORY(debugAPIJavaOverloadsCategory, "io.qtjambi.debugapi.java-overloads") Q_LOGGING_CATEGORY(debugAPINativeCallsCategory, "io.qtjambi.debugapi.native-calls") -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) #define QTJAMBI_DEBUG_MESSAGE_LOGGER(category) \ for (bool qt_category_enabled = category().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \ QMessageLogger(adaptFile(file), line, function, category().categoryName()).debug().nospace().noquote() -#else +#elif QT_VERSION < QT_VERSION_CHECK(6, 6, 0) #define QTJAMBI_DEBUG_MESSAGE_LOGGER(category) \ for (QLoggingCategoryMacroHolder qt_category(&category); qt_category; qt_category.control = false) \ QMessageLogger(adaptFile(file), line, function, qt_category.name()).debug().nospace().noquote() +#else +#define QTJAMBI_DEBUG_MESSAGE_LOGGER(category) \ +for (QLoggingCategoryMacroHolder qt_category(category()); qt_category; qt_category.control = false) \ + QMessageLogger(adaptFile(file), line, function, qt_category.name()).debug().nospace().noquote() #endif bool enabledMethodTracePrints(){ diff --git a/src/cpp/QtJambi/fileengine.cpp b/src/cpp/QtJambi/fileengine.cpp index 72f98ff6..3e1a543d 100644 --- a/src/cpp/QtJambi/fileengine.cpp +++ b/src/cpp/QtJambi/fileengine.cpp @@ -778,9 +778,7 @@ class QUrlEntryEngine final : public QAbstractFileEngine, public QClassPathEntry return true; } - FileFlags fileFlags(FileFlags) const override { - return ExistsFlag | FileType | ReadGroupPerm | ReadOtherPerm | ReadOwnerPerm | ReadUserPerm; - } + FileFlags fileFlags(FileFlags) const override; QString classPathEntryName() const override { return m_classPathEntryFileName; @@ -792,6 +790,7 @@ class QUrlEntryEngine final : public QAbstractFileEngine, public QClassPathEntry JObjectWrapper m_connection; JObjectWrapper m_inputStream; qint64 m_size; + FileFlags m_flags; }; class QClassPathEngine final : public QAbstractFileEngine { @@ -1414,7 +1413,7 @@ bool QClassPathEngine::addFromPath(JNIEnv* env, jobject url, const QString& file url = Java::QtJambi::ResourceUtility::resolveUrlFromPath(env, qtjambi_cast(env, urlPath)); if(url){ QUrlEntryEngine* engine = new QUrlEntryEngine(env, url, fileName, urlPath); - if(engine->size()>0) { + if(engine->fileFlags(QAbstractFileEngine::FileInfoAll).testFlag(QAbstractFileEngine::ExistsFlag)) { QMutexLocker locker(&m_mutex); m_engines << engine; return true; @@ -1433,13 +1432,26 @@ QUrlEntryEngine::QUrlEntryEngine(JNIEnv* env, jobject url, const QString& fileNa m_fileName(fileName), m_connection(), m_inputStream(), - m_size(0) + m_size(-1), + m_flags() { try{ jobject connection = Java::Runtime::URL::openConnection(env, url); if(connection){ m_connection = {env, connection}; m_size = Java::Runtime::URLConnection::getContentLengthLong(env, connection); + m_flags.setFlag(ExistsFlag); + if(Java::Runtime::JarURLConnection::isInstanceOf(env, connection) + && Java::Runtime::ZipEntry::isDirectory(env, Java::Runtime::JarURLConnection::getJarEntry(env, connection))){ + m_flags.setFlag(DirectoryType); + }else if(m_size==0){ + m_flags.setFlag(DirectoryType); + }else{ + m_flags.setFlag(FileType); + } + if(Java::Runtime::URLConnection::getDoInput(env, connection)){ + m_flags |= ReadGroupPerm | ReadOtherPerm | ReadOwnerPerm | ReadUserPerm; + } } }catch(const JavaException& exn){ exn.report(env); @@ -1471,7 +1483,7 @@ bool QUrlEntryEngine::open(QIODevice::OpenMode openMode ,std::optional #endif ) { - if((openMode & QIODevice::ReadOnly) && !m_inputStream){ + if((openMode & QIODevice::ReadOnly) && !m_inputStream && !m_flags.testFlag(DirectoryType)){ if(JniEnvironment env{400}){ try{ m_inputStream = JObjectWrapper(env, Java::Runtime::URLConnection::getInputStream(env, m_connection.object())); @@ -1500,6 +1512,10 @@ bool QUrlEntryEngine::close() { return false; } +QAbstractFileEngine::FileFlags QUrlEntryEngine::fileFlags(FileFlags f) const { + return m_flags & f; +} + class AccessResource : public QResource{ public: static bool needsClassPathEngine(const QString &fileName, QStringList& resourceEntries); diff --git a/src/cpp/QtJambi/java.cpp b/src/cpp/QtJambi/java.cpp index 855b2800..b622ccfb 100644 --- a/src/cpp/QtJambi/java.cpp +++ b/src/cpp/QtJambi/java.cpp @@ -79,6 +79,8 @@ namespace Internal{ } namespace QtCore{ +QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/core,QModelIndex, + QTJAMBI_REPOSITORY_DEFINE_CONSTRUCTOR(Lio/qt/QtObject$QPrivateConstructor;)) QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/core,QString, QTJAMBI_REPOSITORY_DEFINE_CONSTRUCTOR(Lio/qt/QtObject$QPrivateConstructor;)) QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/core,QChar, @@ -1059,7 +1061,14 @@ QTJAMBI_REPOSITORY_DEFINE_CLASS(java/net,URL, QTJAMBI_REPOSITORY_DEFINE_CLASS(java/net,URLConnection, QTJAMBI_REPOSITORY_DEFINE_METHOD(getInputStream,()Ljava/io/InputStream;) + QTJAMBI_REPOSITORY_DEFINE_METHOD(getOutputStream,()Ljava/io/OutputStream;) QTJAMBI_REPOSITORY_DEFINE_METHOD(getContentLengthLong,()J) + QTJAMBI_REPOSITORY_DEFINE_METHOD(getDoInput,()Z) + QTJAMBI_REPOSITORY_DEFINE_METHOD(getDoOutput,()Z) +) + +QTJAMBI_REPOSITORY_DEFINE_CLASS(java/net,JarURLConnection, + QTJAMBI_REPOSITORY_DEFINE_METHOD(getJarEntry,()Ljava/util/jar/JarEntry;) ) QTJAMBI_REPOSITORY_DEFINE_CLASS(java/io,InputStream, @@ -1071,6 +1080,7 @@ QTJAMBI_REPOSITORY_DEFINE_CLASS(java/io,InputStream, QTJAMBI_REPOSITORY_DEFINE_CLASS(java/util/zip,ZipEntry, QTJAMBI_REPOSITORY_DEFINE_METHOD(getName,()Ljava/lang/String;) QTJAMBI_REPOSITORY_DEFINE_METHOD(getSize,()J) + QTJAMBI_REPOSITORY_DEFINE_METHOD(isDirectory,()Z) ) QTJAMBI_REPOSITORY_DEFINE_CLASS(java/lang,ClassLoader, diff --git a/src/cpp/QtJambi/java_p.h b/src/cpp/QtJambi/java_p.h index b2ab05dc..a97a0e47 100644 --- a/src/cpp/QtJambi/java_p.h +++ b/src/cpp/QtJambi/java_p.h @@ -42,6 +42,8 @@ namespace Java{ QTJAMBI_REPOSITORY_DECLARE_STATIC_VOID_METHOD(execPostRoutines) ) } + QTJAMBI_REPOSITORY_DECLARE_CLASS(QModelIndex, + QTJAMBI_REPOSITORY_DECLARE_CONSTRUCTOR()) QTJAMBI_REPOSITORY_DECLARE_CLASS(QPluginLoader, QTJAMBI_REPOSITORY_DECLARE_STATIC_OBJECT_METHOD(loadPluginInstance) ) @@ -160,11 +162,18 @@ namespace Java{ QTJAMBI_REPOSITORY_DECLARE_CLASS(URLConnection, QTJAMBI_REPOSITORY_DECLARE_OBJECT_METHOD(getInputStream) - QTJAMBI_REPOSITORY_DECLARE_LONG_METHOD(getContentLengthLong)) + QTJAMBI_REPOSITORY_DECLARE_OBJECT_METHOD(getOutputStream) + QTJAMBI_REPOSITORY_DECLARE_LONG_METHOD(getContentLengthLong) + QTJAMBI_REPOSITORY_DECLARE_BOOLEAN_METHOD(getDoInput) + QTJAMBI_REPOSITORY_DECLARE_BOOLEAN_METHOD(getDoOutput)) + + QTJAMBI_REPOSITORY_DECLARE_CLASS(JarURLConnection, + QTJAMBI_REPOSITORY_DECLARE_OBJECT_METHOD(getJarEntry)) QTJAMBI_REPOSITORY_DECLARE_CLASS(ZipEntry, QTJAMBI_REPOSITORY_DECLARE_STRING_METHOD(getName) - QTJAMBI_REPOSITORY_DECLARE_LONG_METHOD(getSize)) + QTJAMBI_REPOSITORY_DECLARE_LONG_METHOD(getSize) + QTJAMBI_REPOSITORY_DECLARE_BOOLEAN_METHOD(isDirectory)) QTJAMBI_REPOSITORY_DECLARE_CLASS(InputStream, QTJAMBI_REPOSITORY_DECLARE_VOID_METHOD(close) diff --git a/src/cpp/QtJambi/jni_metatype.cpp b/src/cpp/QtJambi/jni_metatype.cpp index d3a7dad9..67dc7778 100644 --- a/src/cpp/QtJambi/jni_metatype.cpp +++ b/src/cpp/QtJambi/jni_metatype.cpp @@ -393,7 +393,7 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_MetaTypeUtility_registerConverter) if(JniEnvironment env{500}){ jvalue jv; jv.l = nullptr; - if(parameter1.convertInternalToExternal(env, nullptr, src, &jv, true)){ + if(parameter1.convertInternalToExternal(env, nullptr, src, jv, true)){ jobject result{nullptr}; try{ result = Java::Runtime::Function::apply(env, converter.object(), jv.l); diff --git a/src/cpp/QtJambi/jni_signals.cpp b/src/cpp/QtJambi/jni_signals.cpp index be80cf6f..61dfbe98 100644 --- a/src/cpp/QtJambi/jni_signals.cpp +++ b/src/cpp/QtJambi/jni_signals.cpp @@ -717,7 +717,7 @@ void NativeSlotObject::impl(int which, QSlotObjectBase *this_, QObject *, void * for (int i = 0; i < converted_arguments.size(); ++i) { const ParameterTypeInfo& parameterTypeInfo = parameterTypeInfos[i+1]; converted_arguments[i].l = nullptr; - if(!parameterTypeInfo.convertInternalToExternal(env, &scope, a[i+1], &converted_arguments[i], true)){ + if(!parameterTypeInfo.convertInternalToExternal(env, &scope, a[i+1], converted_arguments[i], true)){ success = false; break; } diff --git a/src/cpp/QtJambi/qtjambi_cast_impl_jnitype.h b/src/cpp/QtJambi/qtjambi_cast_impl_jnitype.h index e214c24f..ce4586d2 100644 --- a/src/cpp/QtJambi/qtjambi_cast_impl_jnitype.h +++ b/src/cpp/QtJambi/qtjambi_cast_impl_jnitype.h @@ -303,7 +303,42 @@ struct qtjambi_jnitype_copy_assignable_decider_cast{ template struct qtjambi_jnitype_qobject_decider_cast - : qtjambi_move_or_copy_decider{}; + : qtjambi_move_or_copy_decider{}; + +#ifdef QABSTRACTITEMMODEL_H +template +struct qtjambi_jnitype_qobject_decider_cast{ + constexpr static jobject cast(JNIEnv * env, const QModelIndex& in, const char*, QtJambiScope*){ + return QtJambiAPI::convertModelIndexToJavaObject(env, in); + } +}; + +template +struct qtjambi_jnitype_qobject_decider_cast{ + typedef typename std::conditional::type, QModelIndex>::type QModelIndex_c; + static QModelIndex_c cast(JNIEnv * env, jobject in, const char*, QtJambiScope*){ + QModelIndex* result = nullptr; + if(!QtJambiAPI::convertJavaToModelIndex(env, in, &result)){ + JavaException::raiseIllegalArgumentException(env, QStringLiteral("Cannot cast object of type %1 to %2").arg(in ? QtJambiAPI::getObjectClassName(env, in) : QStringLiteral("null")).arg(QLatin1String(QtJambiAPI::typeName(typeid(QModelIndex)))) QTJAMBI_STACKTRACEINFO ); + } + return result ? *result : QModelIndex(); + } +}; + + +template +struct qtjambi_jnitype_qobject_decider_cast{ + typedef typename std::conditional::type, QModelIndex>::type QModelIndex_c; + typedef typename std::conditional::type, QModelIndex_c>::type QModelIndex_cr; + static QModelIndex_cr cast(JNIEnv * env, jobject in, const char*, QtJambiScope*){ + QModelIndex* result = nullptr; + if(!QtJambiAPI::convertJavaToModelIndex(env, in, &result)){ + JavaException::raiseIllegalArgumentException(env, QStringLiteral("Cannot cast object of type %1 to %2").arg(in ? QtJambiAPI::getObjectClassName(env, in) : QStringLiteral("null")).arg(QLatin1String(QtJambiAPI::typeName(typeid(QModelIndex)))) QTJAMBI_STACKTRACEINFO ); + } + return deref_ptr_or_default::deref(result); + } +}; +#endif template diff --git a/src/cpp/QtJambi/qtjambiapi.h b/src/cpp/QtJambi/qtjambiapi.h index dd3ffc50..b82c89c3 100644 --- a/src/cpp/QtJambi/qtjambiapi.h +++ b/src/cpp/QtJambi/qtjambiapi.h @@ -349,6 +349,10 @@ QTJAMBI_EXPORT jobject convertNativeToJavaObjectAsCopy(JNIEnv *env, const void * QTJAMBI_EXPORT jobject convertNativeToJavaObjectAsCopy(JNIEnv *env, const void *qt_object, jclass clazz); +QTJAMBI_EXPORT jobject convertModelIndexToJavaObject(JNIEnv *env, const class QModelIndex& index); + +QTJAMBI_EXPORT bool convertJavaToModelIndex(JNIEnv *env, jobject java_object, class QModelIndex** output); + template jobject convertNativeToJavaOwnedObjectAsWrapper(JNIEnv *env, const T *qt_object, const char *nativeTypeName = nullptr) { diff --git a/src/cpp/QtJambi/qtjambilink.cpp b/src/cpp/QtJambi/qtjambilink.cpp index 4afdfd8b..905b3309 100644 --- a/src/cpp/QtJambi/qtjambilink.cpp +++ b/src/cpp/QtJambi/qtjambilink.cpp @@ -542,7 +542,11 @@ const QSharedPointer& QtJambiLink::createLinkForNewQObject(JNIEnv * return *gDefaultPointer; } -const QSharedPointer& QtJambiLink::createLinkForSmartPointerToQObject(JNIEnv *env, jobject javaObject, bool created_by_java, bool is_shell, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, const QMetaObject* superTypeForCustomMetaObject) +const QSharedPointer& QtJambiLink::createLinkForSmartPointerToQObject(JNIEnv *env, jobject javaObject, bool created_by_java, bool is_shell, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces, + const QMetaObject* superTypeForCustomMetaObject) { Q_ASSERT(env); Q_ASSERT(javaObject); @@ -552,16 +556,38 @@ const QSharedPointer& QtJambiLink::createLinkForSmartPointerToQObje // Initialize the link jobject nativeLink = getNativeLink(env, javaObject); - const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(javaObject)); - QtJambiLink* qtJambiLink; QObject* object = reinterpret_cast(pointerGetter(ptr_shared_pointer)); Q_ASSERT(object); JavaException ocurredException; - if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ - qtJambiLink = new QSharedPointerToQObjectInterfaceLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, object, created_by_java, is_shell, ptr_shared_pointer, pointerDeleter, pointerGetter, superTypeForCustomMetaObject, ocurredException); + QtJambiLink* qtJambiLink = new QSharedPointerToQObjectInterfaceLink(env, nativeLink, javaObject, offsets, interfaces, inheritedInterfaces, object, created_by_java, is_shell, ptr_shared_pointer, pointerDeleter, pointerGetter, superTypeForCustomMetaObject, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this }else{ - qtJambiLink = new QSharedPointerToQObjectLink(env, nativeLink, javaObject, object, created_by_java, is_shell, ptr_shared_pointer, pointerDeleter, pointerGetter, superTypeForCustomMetaObject, ocurredException); + qtJambiLink->init(env); } + if(qtJambiLink->qobject()->parent()) + qtJambiLink->setCppOwnership(env); + else + qtJambiLink->setJavaOwnership(env); + return qtJambiLink->getStrongPointer(); +} + +const QSharedPointer& QtJambiLink::createLinkForSmartPointerToQObject(JNIEnv *env, jobject javaObject, bool created_by_java, bool is_shell, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, const QMetaObject* superTypeForCustomMetaObject) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr_shared_pointer); + Q_ASSERT(pointerDeleter); + Q_ASSERT(pointerGetter); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + QObject* object = reinterpret_cast(pointerGetter(ptr_shared_pointer)); + Q_ASSERT(object); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new QSharedPointerToQObjectLink(env, nativeLink, javaObject, object, created_by_java, is_shell, ptr_shared_pointer, pointerDeleter, pointerGetter, superTypeForCustomMetaObject, ocurredException); if(ocurredException.object()){ qtJambiLink->dispose(); ocurredException.raise(); @@ -576,6 +602,65 @@ const QSharedPointer& QtJambiLink::createLinkForSmartPointerToQObje return qtJambiLink->getStrongPointer(); } +const QSharedPointer& QtJambiLink::createExtendedLinkForSmartPointerToObject(JNIEnv *env, jobject javaObject, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, const QObject* extension, PtrOwnerFunction ownerFunction, + void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr_shared_pointer); + Q_ASSERT(pointerDeleter); + Q_ASSERT(pointerGetter); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new ExtendedSmartPointerToObjectLink(env, nativeLink, javaObject, + LINK_NAME_ARG(qt_name) + created_by_java, is_shell, extension, ownerFunction, ptr_shared_pointer, pointerDeleter, pointerGetter, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this + }else{ + qtJambiLink->init(env); + } + qtJambiLink->setJavaOwnership(env); + return qtJambiLink->getStrongPointer(); +} + +const QSharedPointer& QtJambiLink::createLinkForSmartPointerToObject(JNIEnv *env, jobject javaObject, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, PtrOwnerFunction ownerFunction, + void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr_shared_pointer); + Q_ASSERT(pointerDeleter); + Q_ASSERT(pointerGetter); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new SmartPointerToObjectInterfaceLink(env, nativeLink, javaObject, offsets, interfaces, inheritedInterfaces, + LINK_NAME_ARG(qt_name) + created_by_java, is_shell, ownerFunction, ptr_shared_pointer, pointerDeleter, pointerGetter, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this + }else{ + qtJambiLink->init(env); + } + qtJambiLink->setJavaOwnership(env); + return qtJambiLink->getStrongPointer(); +} + const QSharedPointer& QtJambiLink::createLinkForSmartPointerToObject(JNIEnv *env, jobject javaObject, LINK_NAME_ARG(const char* qt_name) bool created_by_java, bool is_shell, PtrOwnerFunction ownerFunction, @@ -589,18 +674,40 @@ const QSharedPointer& QtJambiLink::createLinkForSmartPointerToObjec // Initialize the link jobject nativeLink = getNativeLink(env, javaObject); - const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(javaObject)); JavaException ocurredException; - QtJambiLink* qtJambiLink; - if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ - qtJambiLink = new SmartPointerToObjectInterfaceLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, - LINK_NAME_ARG(qt_name) - created_by_java, is_shell, ownerFunction, ptr_shared_pointer, pointerDeleter, pointerGetter, ocurredException); + QtJambiLink* qtJambiLink = new SmartPointerToObjectLink(env, nativeLink, javaObject, + LINK_NAME_ARG(qt_name) + created_by_java, is_shell, ownerFunction, ptr_shared_pointer, pointerDeleter, pointerGetter, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this }else{ - qtJambiLink = new SmartPointerToObjectLink(env, nativeLink, javaObject, - LINK_NAME_ARG(qt_name) - created_by_java, is_shell, ownerFunction, ptr_shared_pointer, pointerDeleter, pointerGetter, ocurredException); + qtJambiLink->init(env); } + qtJambiLink->setJavaOwnership(env); + return qtJambiLink->getStrongPointer(); +} + +const QSharedPointer& QtJambiLink::createLinkForSmartPointerToContainer(JNIEnv *env, jobject javaObject, + LINK_NAME_ARG(const char* qt_name) + void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, AbstractContainerAccess* containerAccess, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr_shared_pointer); + Q_ASSERT(pointerDeleter); + Q_ASSERT(pointerGetter); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new QSharedPointerToContainerInterfaceLink(env, nativeLink, javaObject, offsets, interfaces, inheritedInterfaces, + LINK_NAME_ARG(qt_name) + false, false, nullptr, ptr_shared_pointer, pointerDeleter, pointerGetter, containerAccess, ocurredException); if(ocurredException.object()){ qtJambiLink->dispose(); ocurredException.raise(); @@ -624,18 +731,10 @@ const QSharedPointer& QtJambiLink::createLinkForSmartPointerToConta // Initialize the link jobject nativeLink = getNativeLink(env, javaObject); - const InterfaceOffsetInfo* interfaceOffsets = getInterfaceOffsets(env, env->GetObjectClass(javaObject)); JavaException ocurredException; - QtJambiLink* qtJambiLink; - if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ - qtJambiLink = new QSharedPointerToContainerInterfaceLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, - LINK_NAME_ARG(qt_name) - false, false, nullptr, ptr_shared_pointer, pointerDeleter, pointerGetter, containerAccess, ocurredException); - }else{ - qtJambiLink = new QSharedPointerToContainerLink(env, nativeLink, javaObject, - LINK_NAME_ARG(qt_name) - false, false, nullptr, ptr_shared_pointer, pointerDeleter, pointerGetter, containerAccess, ocurredException); - } + QtJambiLink* qtJambiLink = new QSharedPointerToContainerLink(env, nativeLink, javaObject, + LINK_NAME_ARG(qt_name) + false, false, nullptr, ptr_shared_pointer, pointerDeleter, pointerGetter, containerAccess, ocurredException); if(ocurredException.object()){ qtJambiLink->dispose(); ocurredException.raise(); @@ -1112,6 +1211,87 @@ const QSharedPointer& QtJambiLink::createLinkForDependentObject(JNI return qtJambiLink->getStrongPointer(); } +const QSharedPointer& QtJambiLink::createLinkForDependentObject(JNIEnv *env, jobject javaObject, void *ptr, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, + PtrDeleterFunction destructor_function, + const QObject* dependsOn, QtJambiLink::Ownership ownership) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr); + Q_ASSERT(destructor_function); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new DependentDeletablePointerToObjectLink(env, nativeLink, javaObject, + LINK_NAME_ARG(qt_name) + ptr, created_by_java, is_shell, destructor_function, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this + }else{ + qtJambiLink->init(env); + } + switch(ownership){ + case QtJambiLink::Ownership::Java: + qtJambiLink->setJavaOwnership(env); + break; + case QtJambiLink::Ownership::Cpp: + qtJambiLink->setCppOwnership(env); + break; + default: + if(created_by_java){ + qtJambiLink->setJavaOwnership(env); + } + break; + } + QtJambiLink::registerDependentObject(dependsOn, qtJambiLink->getStrongPointer()); + return qtJambiLink->getStrongPointer(); +} + +const QSharedPointer& QtJambiLink::createExtendedLinkForObject(JNIEnv *env, jobject javaObject, void *ptr, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, + PtrDeleterFunction destructor_function, + const QObject* extension, QtJambiLink::Ownership ownership) +{ + Q_ASSERT(env); + Q_ASSERT(javaObject); + Q_ASSERT(ptr); + Q_ASSERT(destructor_function); + + // Initialize the link + jobject nativeLink = getNativeLink(env, javaObject); + JavaException ocurredException; + QtJambiLink* qtJambiLink = new ExtendedDeletablePointerToObjectLink(env, nativeLink, javaObject, + LINK_NAME_ARG(qt_name) + ptr, created_by_java, is_shell, destructor_function, extension, ocurredException); + if(ocurredException.object()){ + qtJambiLink->dispose(); + ocurredException.raise(); + Q_ASSERT(false);// should not reach this + }else{ + qtJambiLink->init(env); + } + switch(ownership){ + case QtJambiLink::Ownership::Java: + qtJambiLink->setJavaOwnership(env); + break; + case QtJambiLink::Ownership::Cpp: + qtJambiLink->setCppOwnership(env); + break; + default: + if(created_by_java){ + qtJambiLink->setJavaOwnership(env); + } + break; + } + return qtJambiLink->getStrongPointer(); +} + const QSharedPointer& QtJambiLink::createLinkForDependentObject(JNIEnv *env, jobject javaObject, void *ptr, const QMetaType& metaType, bool created_by_java, bool is_shell, const QObject* dependsOn, QtJambiLink::Ownership ownership) { @@ -1960,11 +2140,7 @@ const QSharedPointer& QtJambiLink::findLinkForJavaInterface(JNIEnv JObjectSynchronizer sync(env, nativeLink); Q_UNUSED(sync) QtJambiNativeID nativeId = QtJambiNativeID(Java::QtJambi::NativeUtility$NativeLink::native__id(env, nativeLink)); - const QSharedPointer& qtJambiLink = fromNativeId(nativeId); -#if defined(QTJAMBI_DEBUG_TOOLS) - Q_ASSERT(!qtJambiLink || QtJambiLink::checkLink(qtJambiLink.data())); // check the C++ pointer is valid -#endif - return qtJambiLink; + return fromNativeId(nativeId); } } return *gDefaultPointer; @@ -1978,15 +2154,47 @@ const QSharedPointer& QtJambiLink::findLinkForJavaObject(JNIEnv *en JObjectSynchronizer sync(env, nativeLink); Q_UNUSED(sync) QtJambiNativeID nativeId = QtJambiNativeID(Java::QtJambi::NativeUtility$NativeLink::native__id(env, nativeLink)); - const QSharedPointer& qtJambiLink = fromNativeId(nativeId); -#if defined(QTJAMBI_DEBUG_TOOLS) - Q_ASSERT(!qtJambiLink || QtJambiLink::checkLink(qtJambiLink.data())); // check the C++ pointer is valid -#endif - return qtJambiLink; + return fromNativeId(nativeId); } return *gDefaultPointer; } +void* QtJambiLink::findPointerForJavaInterface(JNIEnv *env, jobject java, const std::type_info& typeId) +{ + if(Java::QtJambi::QtObjectInterface::isInstanceOf(env, java)){ + if(jobject nativeLink = Java::QtJambi::NativeUtility::findInterfaceLink(env, java, true, true)){ + JObjectSynchronizer sync(env, nativeLink); + Q_UNUSED(sync) + QtJambiNativeID nativeId = QtJambiNativeID(Java::QtJambi::NativeUtility$NativeLink::native__id(env, nativeLink)); + if(QtJambiLink * link = reinterpret_cast(nativeId)){ + if(link->isMultiInheritanceType()){ + if(link->isInterfaceAvailable(typeId)) + return link->typedPointer(typeId); + else return nullptr; + }else return link->pointer(); + } + } + }else if(env->IsSameObject(nullptr, java)) + return nullptr; + Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, java).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); + return nullptr; +} + +void* QtJambiLink::findPointerForJavaObject(JNIEnv *env, jobject java) +{ + if (env->IsSameObject(nullptr, java)) + return nullptr; + else if(jobject nativeLink = Java::QtJambi::NativeUtility$Object::nativeLink(env, java)){ + JObjectSynchronizer sync(env, nativeLink); + Q_UNUSED(sync) + QtJambiNativeID nativeId = QtJambiNativeID(Java::QtJambi::NativeUtility$NativeLink::native__id(env, nativeLink)); + if(QtJambiLink * link = reinterpret_cast(nativeId)) + return link->pointer(); + } + Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, java).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); + return nullptr; +} + #if defined(QTJAMBI_DEBUG_TOOLS) void QtJambiLink::validateMagic_unlocked(const char *prefix) { @@ -3594,6 +3802,18 @@ void SmartPointerLink::setSplitOwnership(JNIEnv *){} // #### END ###################### SmartPointerLink ######################## END #### +ExtendedSmartPointerToObjectLink::ExtendedSmartPointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, const QObject* extension, + PtrOwnerFunction ownerFunction, void* ptr_shared_pointer, + SmartPointerDeleter shared_pointer_deleter, SmartPointerGetterFunction pointerGetter, JavaException& ocurredException) + : SmartPointerToObjectLink(env, nativeLink, jobj, + LINK_NAME_ARG(qt_name) + created_by_java, is_shell, + ownerFunction, ptr_shared_pointer, + shared_pointer_deleter, pointerGetter, + ocurredException), ExtendedLink(), m_extension(extension){} + // ### BEGIN ################# SmartPointerToObjectLink ################### BEGIN ### QSharedPointerToContainerLink::QSharedPointerToContainerLink(JNIEnv *env, jobject nativeLink, jobject jobj, @@ -4507,6 +4727,43 @@ QSharedPointerToQObjectInterfaceLink::QSharedPointerToQObjectInterfaceLink(JNIEn } } +ExtendedLink::~ExtendedLink(){} + +ExtendedDeletablePointerToObjectLink::ExtendedDeletablePointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + void *ptr, bool created_by_java, bool is_shell, PtrDeleterFunction destructor_function, + const QObject* extension, JavaException& ocurredException) + : DeletablePointerToObjectLink(env, nativeLink, jobj, + LINK_NAME_ARG(qt_name) + ptr, created_by_java, is_shell, destructor_function, ocurredException), + ExtendedLink(), + m_extension(extension) +{} + +DependentDeletablePointerToObjectLink::DependentDeletablePointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + void *ptr, bool created_by_java, bool is_shell, PtrDeleterFunction destructor_function, JavaException& ocurredException) + : DeletablePointerToObjectLink(env, nativeLink, jobj, + LINK_NAME_ARG(qt_name) + ptr, created_by_java, is_shell, destructor_function, ocurredException) +{} + +void DependentDeletablePointerToObjectLink::setDependencyManager(DependencyManagerUserData* dependencyManager) { + m_dependencyManager = dependencyManager; +} + +void DependentDeletablePointerToObjectLink::deleteNativeObject(JNIEnv *env, bool forced){ + if(m_dependencyManager) + m_dependencyManager->removeDependentObject(m_this); + DeletablePointerToObjectLink::deleteNativeObject(env, forced); +} + +void DependentDeletablePointerToObjectLink::invalidate(JNIEnv *env){ + if(m_dependencyManager) + m_dependencyManager->removeDependentObject(m_this); + DeletablePointerToObjectLink::invalidate(env); +} + DependentMetaTypedPointerToObjectLink::DependentMetaTypedPointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, void *ptr, const QMetaType& metaType, bool created_by_java, bool is_shell, JavaException& ocurredException) : MetaTypedPointerToObjectLink(env, nativeLink, jobj, ptr, metaType, created_by_java, is_shell, ocurredException) diff --git a/src/cpp/QtJambi/qtjambilink_p.h b/src/cpp/QtJambi/qtjambilink_p.h index d3a27da5..65291784 100644 --- a/src/cpp/QtJambi/qtjambilink_p.h +++ b/src/cpp/QtJambi/qtjambilink_p.h @@ -324,6 +324,16 @@ class QtJambiLink{ const QMap& interfaceOffsets, const QSet& interfaceTypes, const QMap>& inheritedInterfaces); + static const QSharedPointer& createLinkForDependentObject(JNIEnv *env, jobject java, void *ptr, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, + PtrDeleterFunction destructor_function, + const QObject* dependsOn, QtJambiLink::Ownership ownership); + static const QSharedPointer& createExtendedLinkForObject(JNIEnv *env, jobject java, void *ptr, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, + PtrDeleterFunction destructor_function, + const QObject* extension, QtJambiLink::Ownership ownership); static const QSharedPointer& createLinkForDependentObject(JNIEnv *env, jobject java, void *ptr, const QMetaType& metaType, bool created_by_java, bool is_shell, const QObject* dependsOn, QtJambiLink::Ownership ownership); static const QSharedPointer& createLinkForDependentObject(JNIEnv *env, jobject java, void *ptr, const QMetaType& metaType, @@ -346,9 +356,24 @@ class QtJambiLink{ static const QSharedPointer& createLinkForSmartPointerToObject(JNIEnv *env, jobject java, LINK_NAME_ARG(const char* qt_name) bool created_by_java, bool is_shell, PtrOwnerFunction ownerFunction, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter); + static const QSharedPointer& createLinkForSmartPointerToObject(JNIEnv *env, jobject java, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, PtrOwnerFunction ownerFunction, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces); + static const QSharedPointer& createExtendedLinkForSmartPointerToObject(JNIEnv *env, jobject java, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, const QObject* extension, PtrOwnerFunction ownerFunction, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter); static const QSharedPointer& createLinkForSmartPointerToContainer(JNIEnv *env, jobject java, LINK_NAME_ARG(const char* qt_name) void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, AbstractContainerAccess* containerAccess); + static const QSharedPointer& createLinkForSmartPointerToContainer(JNIEnv *env, jobject java, + LINK_NAME_ARG(const char* qt_name) + void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, AbstractContainerAccess* containerAccess, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces); static const QSharedPointer& createLinkForQObject(JNIEnv *env, jobject java, QObject *object, bool created_by_java, bool is_shell, const QMetaObject* superTypeForCustomMetaObject = nullptr); static const QSharedPointer& createLinkForNativeQObject(JNIEnv *env, jobject java, QObject *object, bool created_by_java, bool is_shell, const QMetaObject* superTypeForCustomMetaObject); static const QSharedPointer& createLinkForNativeQObject(JNIEnv *env, jobject java, QObject *object, bool created_by_java, bool is_shell, const QMetaObject* superTypeForCustomMetaObject, @@ -356,6 +381,10 @@ class QtJambiLink{ const QSet& interfaceTypes, const QMap>& inheritedInterfaces); static const QSharedPointer& createLinkForSmartPointerToQObject(JNIEnv *env, jobject java, bool created_by_java, bool is_shell, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, const QMetaObject* superTypeForCustomMetaObject = nullptr); + static const QSharedPointer& createLinkForSmartPointerToQObject(JNIEnv *env, jobject java, bool created_by_java, bool is_shell, void* ptr_shared_pointer, SmartPointerDeleter pointerDeleter, SmartPointerGetterFunction pointerGetter, + const QMap& offsets, + const QSet& interfaces, + const QMap>& inheritedInterfaces, const QMetaObject* superTypeForCustomMetaObject = nullptr); static const QSharedPointer& createLinkForNewQObject(JNIEnv *env, jclass objectClass, jobject nativeLink, jobject java, const std::type_info& typeId, const QMetaObject* metaObject, QObject *object, const SuperTypeInfos* superTypeInfos, bool created_by_java, bool isDeclarativeCall, bool is_shell, bool hasCustomMetaObject, JavaException& ocurredException); static const QSharedPointer& createLinkForNewObject(JNIEnv *env, jclass objectClass, jobject nativeLink, jobject java, const std::type_info& typeId, void *ptr, const SuperTypeInfos* superTypeInfos, const QMetaType& metaType, bool created_by_java, bool is_shell, PtrOwnerFunction ownerFunction, JavaException& ocurredException); static const QSharedPointer& createLinkForNewObject(JNIEnv *env, jclass objectClass, jobject nativeLink, jobject java, const std::type_info& typeId, void *ptr, const SuperTypeInfos* superTypeInfos, const QMetaType& metaType, bool created_by_java, bool is_shell, JavaException& ocurredException); @@ -370,6 +399,8 @@ class QtJambiLink{ static QList> findLinksForPointer(const void *ptr); static const QSharedPointer& findLinkForJavaObject(JNIEnv *env, jobject java); static const QSharedPointer& findLinkForJavaInterface(JNIEnv *env, jobject java); + static void* findPointerForJavaObject(JNIEnv *env, jobject java); + static void* findPointerForJavaInterface(JNIEnv *env, jobject java, const std::type_info& typeId); static int getObjectCacheOperationCount(); static int getObjectCacheMode(); static void setObjectCacheMode(int object_cache_mode); @@ -643,6 +674,39 @@ class DeletablePointerToObjectLink : public PointerToObjectLink{ friend class DeletablePointerToContainerLink; }; +class ExtendedLink{ +protected: + ExtendedLink() = default; + virtual ~ExtendedLink(); +public: + virtual bool hasExtension()const = 0; +}; + +class ExtendedDeletablePointerToObjectLink : public DeletablePointerToObjectLink, public ExtendedLink{ +protected: + ExtendedDeletablePointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + void *ptr, bool created_by_java, bool is_shell, PtrDeleterFunction destructor_function, const QObject* extension, JavaException& ocurredException); +public: + inline bool hasExtension()const override{return !m_extension.isNull(); } +private: + QPointer m_extension; + friend QtJambiLink; +}; + +class DependentDeletablePointerToObjectLink : public DeletablePointerToObjectLink, public DependentLink{ +protected: + DependentDeletablePointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + void *ptr, bool created_by_java, bool is_shell, PtrDeleterFunction destructor_function, JavaException& ocurredException); + void setDependencyManager(DependencyManagerUserData*) override; + void deleteNativeObject(JNIEnv *env, bool forced) override; + void invalidate(JNIEnv *env) override; +private: + DependencyManagerUserData* m_dependencyManager; + friend QtJambiLink; +}; + class DeletablePointerToContainerLink : public DeletablePointerToObjectLink{ protected: DeletablePointerToContainerLink(JNIEnv *env, jobject nativeLink, jobject jobj, @@ -878,6 +942,20 @@ class SmartPointerToObjectLink : public SmartPointerLink{ friend QtJambiLink; }; +class ExtendedSmartPointerToObjectLink : public SmartPointerToObjectLink, public ExtendedLink{ +protected: + ExtendedSmartPointerToObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, + LINK_NAME_ARG(const char* qt_name) + bool created_by_java, bool is_shell, const QObject* extension, + PtrOwnerFunction ownerFunction, void* ptr_shared_pointer, + SmartPointerDeleter shared_pointer_deleter, SmartPointerGetterFunction pointerGetter, JavaException& ocurredException); + friend QtJambiLink; +public: + inline bool hasExtension()const override{return !m_extension.isNull(); } +private: + QPointer m_extension; +}; + class QSharedPointerToContainerLink : public SmartPointerToObjectLink{ protected: QSharedPointerToContainerLink(JNIEnv *env, jobject nativeLink, jobject jobj, diff --git a/src/cpp/QtJambi/qtjambimetaobject.cpp b/src/cpp/QtJambi/qtjambimetaobject.cpp index 9a74436d..d0618dac 100644 --- a/src/cpp/QtJambi/qtjambimetaobject.cpp +++ b/src/cpp/QtJambi/qtjambimetaobject.cpp @@ -124,12 +124,12 @@ Q_GLOBAL_STATIC(SignalTypesHash, gSignalTypes); InternalToExternalConverter ParameterTypeInfo::default_internalToExternalConverter() { - return InternalToExternalConverter([](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ return false; }); + return InternalToExternalConverter([](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }); } ExternalToInternalConverter ParameterTypeInfo::default_externalToInternalConverter() { - return ExternalToInternalConverter([](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) ->bool { return false; }); + return ExternalToInternalConverter([](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) ->bool { return false; }); } ParameterTypeInfo::ParameterTypeInfo() @@ -285,13 +285,13 @@ void ParameterTypeInfo::resolveE2I(JNIEnv* env){ m_resolvedE2I = true; } -bool ParameterTypeInfo::convertInternalToExternal(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType) const { +bool ParameterTypeInfo::convertInternalToExternal(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType) const { if(!m_resolvedI2E) const_cast(this)->resolveI2E(env); return m_internalToExternalConverter && m_internalToExternalConverter(env, scope, in, out, forceBoxedType); } -bool ParameterTypeInfo::convertExternalToInternal(JNIEnv* env, QtJambiScope* scope, const jvalue& in,void* & out, jValueType valueType) const { +bool ParameterTypeInfo::convertExternalToInternal(JNIEnv* env, QtJambiScope* scope, jvalue in,void* & out, jValueType valueType) const { if(!m_resolvedE2I) const_cast(this)->resolveE2I(env); return m_externalToInternalConverter && m_externalToInternalConverter(env, scope, in, out, valueType); @@ -1163,7 +1163,7 @@ void QtJambiMetaObjectPrivate::invokeMethod(JNIEnv *env, jobject object, const J for (int i = 0; i < converted_arguments.size(); ++i) { const ParameterTypeInfo& parameterTypeInfo = methodInfo.parameterTypeInfos[i + 1]; converted_arguments[i].l = nullptr; - if (!parameterTypeInfo.convertInternalToExternal(env, &scope, _a[i+1], &converted_arguments[i], forceObjectType || !Java::Runtime::Class::isPrimitive(env, parameterTypeInfo.javaClass()))) { + if (!parameterTypeInfo.convertInternalToExternal(env, &scope, _a[i+1], converted_arguments[i], forceObjectType || !Java::Runtime::Class::isPrimitive(env, parameterTypeInfo.javaClass()))) { success = false; break; } @@ -1279,7 +1279,7 @@ void QtJambiMetaObjectPrivate::invokeConstructor(JNIEnv *env, const JMethodInfo& for (int i = 0; i < converted_arguments.size(); ++i) { const ParameterTypeInfo& parameterTypeInfo = methodInfo.parameterTypeInfos[i + 1]; converted_arguments[i].l = nullptr; - if (!parameterTypeInfo.convertInternalToExternal(env, &scope, _a[i+1], &converted_arguments[i], !Java::Runtime::Class::isPrimitive(env, parameterTypeInfo.javaClass()))) { + if (!parameterTypeInfo.convertInternalToExternal(env, &scope, _a[i+1], converted_arguments[i], !Java::Runtime::Class::isPrimitive(env, parameterTypeInfo.javaClass()))) { success = false; break; } @@ -1497,13 +1497,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Byte::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->b = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.b = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaByteObject(env, out->b); + out.l = QtJambiAPI::toJavaByteObject(env, out.b); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint8 _in; switch(valueType){ case jValueType::l: @@ -1530,13 +1530,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Short::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->s = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.s = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaShortObject(env, out->s); + out.l = QtJambiAPI::toJavaShortObject(env, out.s); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint16 _in; switch(valueType){ case jValueType::l: @@ -1566,13 +1566,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Integer::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->i = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.i = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaIntegerObject(env, out->i); + out.l = QtJambiAPI::toJavaIntegerObject(env, out.i); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint32 _in; switch(valueType){ case jValueType::l: @@ -1599,13 +1599,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Long::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->j = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.j = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaLongObject(env, out->j); + out.l = QtJambiAPI::toJavaLongObject(env, out.j); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint64 _in; switch(valueType){ case jValueType::l: @@ -1633,13 +1633,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Integer::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->i = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.i = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaIntegerObject(env, out->i); + out.l = QtJambiAPI::toJavaIntegerObject(env, out.i); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint32 _in; switch(valueType){ case jValueType::l: @@ -1664,13 +1664,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Long::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->j = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.j = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaLongObject(env, out->j); + out.l = QtJambiAPI::toJavaLongObject(env, out.j); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { qint64 _in; switch(valueType){ case jValueType::l: @@ -1700,13 +1700,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Character::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->c = jchar(reinterpret_cast(in)->unicode()); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.c = jchar(reinterpret_cast(in)->unicode()); if(forceBoxedType) - out->l = QtJambiAPI::toJavaCharacterObject(env, out->c); + out.l = QtJambiAPI::toJavaCharacterObject(env, out.c); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { QChar _in; switch(valueType){ case jValueType::l: @@ -1732,13 +1732,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Float::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->f = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.f = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaFloatObject(env, out->f); + out.l = QtJambiAPI::toJavaFloatObject(env, out.f); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { float _in; switch(valueType){ case jValueType::l: @@ -1764,13 +1764,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Double::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->d = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.d = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaDoubleObject(env, out->d); + out.l = QtJambiAPI::toJavaDoubleObject(env, out.d); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { double _in; switch(valueType){ case jValueType::l: @@ -1796,13 +1796,13 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Boolean::primitiveType(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool forceBoxedType)->bool{ - out->z = *reinterpret_cast(in); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool forceBoxedType)->bool{ + out.z = *reinterpret_cast(in); if(forceBoxedType) - out->l = QtJambiAPI::toJavaBooleanObject(env, out->z); + out.l = QtJambiAPI::toJavaBooleanObject(env, out.z); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool { bool _in; switch(valueType){ case jValueType::l: @@ -1828,11 +1828,11 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::String::getClass(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool)->bool{ - out->l = qtjambi_cast(env, *reinterpret_cast(in)); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool)->bool{ + out.l = qtjambi_cast(env, *reinterpret_cast(in)); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope && !out){ QString* _out = new QString; scope->addDeletion(_out); @@ -1849,11 +1849,11 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::QtCore::QByteArray::getClass(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool)->bool{ - out->l = qtjambi_cast(env, *reinterpret_cast(in)); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool)->bool{ + out.l = qtjambi_cast(env, *reinterpret_cast(in)); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope && !out){ QByteArray* _out = new QByteArray; scope->addDeletion(_out); @@ -1870,11 +1870,11 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * result->append(ParameterTypeInfo( info.metaTypeId, getGlobalClassRef(env, Java::Runtime::Object::getClass(env)), - [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* out, bool)->bool{ - out->l = qtjambi_cast(env, *reinterpret_cast(in)); + [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& out, bool)->bool{ + out.l = qtjambi_cast(env, *reinterpret_cast(in)); return true; }, - [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope && !out){ QVariant* _out = new QVariant; scope->addDeletion(_out); @@ -1952,11 +1952,11 @@ const QList& QtJambiMetaObject::methodParameterInfo(JNIEnv * }else{ InternalToExternalConverter internalToExternalConverter; if(method.methodType()==QMetaMethod::Signal && i>0){ - internalToExternalConverter = [](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool) -> bool{ - p->l = Java::QtJambi::QNativePointer::fromNative(env, jlong(in), int(QNativePointer::Type::Pointer), jlong(-1), 0, true); - Java::QtJambi::QNativePointer::setVerificationEnabled(env, p->l, true); + internalToExternalConverter = [](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool) -> bool{ + p.l = Java::QtJambi::QNativePointer::fromNative(env, jlong(in), int(QNativePointer::Type::Pointer), jlong(-1), 0, true); + Java::QtJambi::QNativePointer::setVerificationEnabled(env, p.l, true); if(scope){ - JObjectWrapper obj(env, p->l); + JObjectWrapper obj(env, p.l); scope->addFinalAction([obj](){ if(JniEnvironment env{200}){ Java::QtJambi::QNativePointer::invalidate(env, obj.object()); @@ -2408,7 +2408,7 @@ int QtJambiMetaObject::writeProperty(JNIEnv *env, jobject object, int _id, void case jValueType::l: jvalue value; value.l = nullptr; - if (d->m_propertyMembers[_id].memberTypeInfo.convertInternalToExternal(env, nullptr, _a[0], &value, true)) { + if (d->m_propertyMembers[_id].memberTypeInfo.convertInternalToExternal(env, nullptr, _a[0], value, true)) { env->SetStaticObjectField(d->m_propertyMembers[_id].declaringClass, d->m_propertyMembers[_id].member, value.l); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; @@ -2477,7 +2477,7 @@ int QtJambiMetaObject::writeProperty(JNIEnv *env, jobject object, int _id, void case jValueType::l: jvalue value; value.l = nullptr; - if (d->m_propertyMembers[_id].memberTypeInfo.convertInternalToExternal(env, nullptr, _a[0], &value, true)) { + if (d->m_propertyMembers[_id].memberTypeInfo.convertInternalToExternal(env, nullptr, _a[0], value, true)) { env->SetObjectField(object, fieldId, value.l); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; diff --git a/src/cpp/QtJambi/qtjambimetaobject_p.h b/src/cpp/QtJambi/qtjambimetaobject_p.h index 8d313b94..693263dd 100644 --- a/src/cpp/QtJambi/qtjambimetaobject_p.h +++ b/src/cpp/QtJambi/qtjambimetaobject_p.h @@ -71,8 +71,8 @@ class ParameterTypeInfo{ ParameterTypeInfo(ParameterTypeInfo&& other); ParameterTypeInfo& operator=(ParameterTypeInfo&& other); - bool convertInternalToExternal(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType) const; - bool convertExternalToInternal(JNIEnv* env, QtJambiScope* scope, const jvalue& in,void* & out, jValueType valueType) const; + bool convertInternalToExternal(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType) const; + bool convertExternalToInternal(JNIEnv* env, QtJambiScope* scope, jvalue in,void* & out, jValueType valueType) const; jclass javaClass() const; int metaType() const; static InternalToExternalConverter default_internalToExternalConverter(); diff --git a/src/cpp/QtJambi/registry.cpp b/src/cpp/QtJambi/registry.cpp index 2ed45bd2..e6872f33 100644 --- a/src/cpp/QtJambi/registry.cpp +++ b/src/cpp/QtJambi/registry.cpp @@ -949,7 +949,7 @@ bool QmlAPI::registerMetaTypeConverter(JNIEnv *env, const QMetaType& metaType1, if(JniEnvironment env{200}){ jvalue jv; jv.l = nullptr; - if(parameter1.convertInternalToExternal(env, nullptr, src, &jv, true)){ + if(parameter1.convertInternalToExternal(env, nullptr, src, jv, true)){ jobject result{nullptr}; try{ result = env->NewObject(parameter2.javaClass(), constructor, jv.l); @@ -2096,6 +2096,7 @@ jclass registeredJavaClassForCustomMetaType(QMetaType metaType){ } const QMetaObject *findWrappersMetaObject(const QtPrivate::QMetaTypeInterface *iface){ + const QMetaObject* meta_object = nullptr; if(JniEnvironment env{200}){ try { jclass clazz = nullptr; @@ -2104,7 +2105,8 @@ const QMetaObject *findWrappersMetaObject(const QtPrivate::QMetaTypeInterface *i clazz = (*gMetaTypeJavaTypeHash)[iface]; } if(clazz){ - if(const QMetaObject* meta_object = CoreAPI::metaObjectForClass(env, clazz)){ + meta_object = CoreAPI::metaObjectForClass(env, clazz); + if(meta_object){ registerMetaObjectByMetaTypeInterface(iface, meta_object); const_cast(iface)->metaObjectFn = &metaobjectByMetaTypeInterface; }else{ @@ -2115,7 +2117,7 @@ const QMetaObject *findWrappersMetaObject(const QtPrivate::QMetaTypeInterface *i }catch(const JavaException&){ } } - return nullptr; + return meta_object; } QList registeredCustomMetaTypesForJavaClass(const QByteArray& javaClass){ @@ -3345,9 +3347,11 @@ int qtjambi_register_enum_meta_type(JNIEnv *env, jclass clazz, const QString& ja } return true; }; - QMetaType::registerConverterFunction(conv, metaType, QMetaType::fromType()); + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())) + QMetaType::registerConverterFunction(conv, metaType, QMetaType::fromType()); if constexpr(isQtEnum0OrFlag1!=1){ - QMetaType::registerConverterFunction(conv, metaType, QMetaType::fromType()); + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())) + QMetaType::registerConverterFunction(conv, metaType, QMetaType::fromType()); } auto iconv = [](const void *src, void *target) -> bool { if(src){ @@ -3357,10 +3361,14 @@ int qtjambi_register_enum_meta_type(JNIEnv *env, jclass clazz, const QString& ja } return true; }; - QMetaType::registerConverterFunction(iconv, metaType, QMetaType::fromType::Signed>()); - QMetaType::registerConverterFunction(iconv, metaType, QMetaType::fromType::Unsigned>()); - QMetaType::registerConverterFunction(iconv, QMetaType::fromType::Signed>(), metaType); - QMetaType::registerConverterFunction(iconv, QMetaType::fromType::Unsigned>(), metaType); + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType::Signed>())) + QMetaType::registerConverterFunction(iconv, metaType, QMetaType::fromType::Signed>()); + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType::Unsigned>())) + QMetaType::registerConverterFunction(iconv, metaType, QMetaType::fromType::Unsigned>()); + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType::Signed>(), metaType)) + QMetaType::registerConverterFunction(iconv, QMetaType::fromType::Signed>(), metaType); + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType::Unsigned>(), metaType)) + QMetaType::registerConverterFunction(iconv, QMetaType::fromType::Unsigned>(), metaType); registerJavaClassForCustomMetaType(env, metaType, clazz); return result; } @@ -3857,37 +3865,41 @@ int registerMetaType(JNIEnv *env, jclass clazz, jboolean isPointer, jboolean isR } QMetaType metaType(metaTypeInterface); int result = metaType.id(); - QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { - if(src){ - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, metaType, QMetaType::fromType()); - QMetaType::registerConverterFunction([metaType](const void *src, void *target) -> bool { - if(src){ - jobject value = reinterpret_cast(src)->object(); - if(value!=nullptr){ - if(JniEnvironment env{200}){ - const JObjectValueWrapperPrivate* methods{nullptr}; - { - QReadLocker locker(gLock()); - if(gMetaTypeInterfaces->contains(QMetaType(metaType).iface())) - methods = &(*gMetaTypeInterfaces)[QMetaType(metaType).iface()]; - } - if(!methods || !env->IsInstanceOf(value, methods->clazz)) + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())){ + QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { + if(src){ + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); + } + return true; + }, metaType, QMetaType::fromType()); + } + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType(), metaType)){ + QMetaType::registerConverterFunction([metaType](const void *src, void *target) -> bool { + if(src){ + jobject value = reinterpret_cast(src)->object(); + if(value!=nullptr){ + if(JniEnvironment env{200}){ + const JObjectValueWrapperPrivate* methods{nullptr}; + { + QReadLocker locker(gLock()); + if(gMetaTypeInterfaces->contains(QMetaType(metaType).iface())) + methods = &(*gMetaTypeInterfaces)[QMetaType(metaType).iface()]; + } + if(!methods || !env->IsInstanceOf(value, methods->clazz)) + return false; + new (target)JObjectValueWrapper(JObjectValueWrapper::create(env, *reinterpret_cast(src), metaType)); + return true; + }else{ return false; - new (target)JObjectValueWrapper(JObjectValueWrapper::create(env, *reinterpret_cast(src), metaType)); - return true; - }else{ - return false; + } } } - } - new (target)JObjectValueWrapper(); - return true; - }, QMetaType::fromType(), metaType); + new (target)JObjectValueWrapper(); + return true; + }, QMetaType::fromType(), metaType); + } registerConverterVariant(env, metaType, QLatin1String(metaTypeInterface->name), javaClassName, clazz); registerJavaClassForCustomMetaType(env, metaType, clazz); return result; @@ -3919,30 +3931,34 @@ int registerMetaType(JNIEnv *env, jclass clazz, jboolean isPointer, jboolean isR nullptr, &findWrappersMetaObject); int result = metaType.id(); registerJavaClassForCustomMetaType(env, metaType, clazz, true); - QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { - if(src){ - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, metaType, QMetaType::fromType()); - JObjectWrapper classWrapper(env, clazz); - QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { - if(src){ - jobject value = reinterpret_cast(src)->object(); - if(value!=nullptr){ - if(JniEnvironment env{200}){ - if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) - return false; + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())){ + QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { + if(src){ + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); + } + return true; + }, metaType, QMetaType::fromType()); + } + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType(), metaType)){ + JObjectWrapper classWrapper(env, clazz); + QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { + if(src){ + jobject value = reinterpret_cast(src)->object(); + if(value!=nullptr){ + if(JniEnvironment env{200}){ + if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) + return false; + } } + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); } - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, QMetaType::fromType(), metaType); + return true; + }, QMetaType::fromType(), metaType); + } return result; } #endif @@ -4045,37 +4061,41 @@ int registerMetaType(JNIEnv *env, jclass clazz, jboolean isPointer, jboolean isR } QMetaType metaType(metaTypeInterface); int result = metaType.id(); - QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { - if(src){ - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, metaType, QMetaType::fromType()); - QMetaType::registerConverterFunction([metaType](const void *src, void *target) -> bool { - if(src){ - jobject value = reinterpret_cast(src)->object(); - if(value!=nullptr){ - if(JniEnvironment env{200}){ - const JObjectValueWrapperPrivate* methods{nullptr}; - { - QReadLocker locker(gLock()); - if(gMetaTypeInterfaces->contains(QMetaType(metaType).iface())) - methods = &(*gMetaTypeInterfaces)[QMetaType(metaType).iface()]; - } - if(!methods || !env->IsInstanceOf(value, methods->clazz)) + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())){ + QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { + if(src){ + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); + } + return true; + }, metaType, QMetaType::fromType()); + } + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType(), metaType)){ + QMetaType::registerConverterFunction([metaType](const void *src, void *target) -> bool { + if(src){ + jobject value = reinterpret_cast(src)->object(); + if(value!=nullptr){ + if(JniEnvironment env{200}){ + const JObjectValueWrapperPrivate* methods{nullptr}; + { + QReadLocker locker(gLock()); + if(gMetaTypeInterfaces->contains(QMetaType(metaType).iface())) + methods = &(*gMetaTypeInterfaces)[QMetaType(metaType).iface()]; + } + if(!methods || !env->IsInstanceOf(value, methods->clazz)) + return false; + new (target)JObjectValueWrapper(JObjectValueWrapper::create(env, *reinterpret_cast(src), metaType)); + return true; + }else{ return false; - new (target)JObjectValueWrapper(JObjectValueWrapper::create(env, *reinterpret_cast(src), metaType)); - return true; - }else{ - return false; + } } } - } - new (target)JObjectValueWrapper(); - return true; - }, QMetaType::fromType(), metaType); + new (target)JObjectValueWrapper(); + return true; + }, QMetaType::fromType(), metaType); + } registerConverterVariant(env, metaType, QLatin1String(metaTypeInterface->name), javaClassName, clazz); registerJavaClassForCustomMetaType(env, metaType, clazz); return result; @@ -4107,30 +4127,34 @@ int registerMetaType(JNIEnv *env, jclass clazz, jboolean isPointer, jboolean isR nullptr, &findWrappersMetaObject); int result = metaType.id(); registerJavaClassForCustomMetaType(env, metaType, clazz, true); - QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { - if(src){ - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, metaType, QMetaType::fromType()); - JObjectWrapper classWrapper(env, clazz); - QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { - if(src){ - jobject value = reinterpret_cast(src)->object(); - if(value!=nullptr){ - if(JniEnvironment env{200}){ - if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) - return false; + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())){ + QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { + if(src){ + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); + } + return true; + }, metaType, QMetaType::fromType()); + } + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType(), metaType)){ + JObjectWrapper classWrapper(env, clazz); + QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { + if(src){ + jobject value = reinterpret_cast(src)->object(); + if(value!=nullptr){ + if(JniEnvironment env{200}){ + if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) + return false; + } } + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); } - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, QMetaType::fromType(), metaType); + return true; + }, QMetaType::fromType(), metaType); + } return result; } }else{ @@ -4161,30 +4185,34 @@ int registerMetaType(JNIEnv *env, jclass clazz, jboolean isPointer, jboolean isR nullptr, &findWrappersMetaObject); int result = metaType.id(); registerJavaClassForCustomMetaType(env, metaType, clazz, true); - QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { - if(src){ - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, metaType, QMetaType::fromType()); - JObjectWrapper classWrapper(env, clazz); - QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { - if(src){ - jobject value = reinterpret_cast(src)->object(); - if(value!=nullptr){ - if(JniEnvironment env{200}){ - if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) - return false; + if(!QMetaType::hasRegisteredConverterFunction(metaType, QMetaType::fromType())){ + QMetaType::registerConverterFunction([](const void *src, void *target) -> bool { + if(src){ + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); + } + return true; + }, metaType, QMetaType::fromType()); + } + if(!QMetaType::hasRegisteredConverterFunction(QMetaType::fromType(), metaType)){ + JObjectWrapper classWrapper(env, clazz); + QMetaType::registerConverterFunction([classWrapper](const void *src, void *target) -> bool { + if(src){ + jobject value = reinterpret_cast(src)->object(); + if(value!=nullptr){ + if(JniEnvironment env{200}){ + if(!env->IsInstanceOf(value, jclass(classWrapper.object()))) + return false; + } } + new (target)JObjectWrapper(*reinterpret_cast(src)); + }else{ + new (target)JObjectWrapper(); } - new (target)JObjectWrapper(*reinterpret_cast(src)); - }else{ - new (target)JObjectWrapper(); - } - return true; - }, QMetaType::fromType(), metaType); + return true; + }, QMetaType::fromType(), metaType); + } return result; } #endif diff --git a/src/cpp/QtJambi/registryapi.h b/src/cpp/QtJambi/registryapi.h index f3a20c63..4a7ba52e 100644 --- a/src/cpp/QtJambi/registryapi.h +++ b/src/cpp/QtJambi/registryapi.h @@ -128,8 +128,8 @@ struct QTJAMBI_EXPORT ConstructorInfo{ class QtJambiScope; struct QTJAMBI_EXPORT ParameterInfo{ - typedef bool(*QtToJavaConverterFunction)(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType); - typedef bool(*JavaToQtConverterFunction)(JNIEnv* env, QtJambiScope* scope, const jvalue&val, void* &out, jValueType valueType); + typedef bool(*QtToJavaConverterFunction)(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType); + typedef bool(*JavaToQtConverterFunction)(JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType); int metaTypeId = 0; const char* javaClass = nullptr; QtToJavaConverterFunction qtToJavaConverterFunction = nullptr; diff --git a/src/cpp/QtJambi/setup.cpp b/src/cpp/QtJambi/setup.cpp index ae11a453..07b81393 100644 --- a/src/cpp/QtJambi/setup.cpp +++ b/src/cpp/QtJambi/setup.cpp @@ -370,7 +370,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(JNI_OnLoad)(JavaVM QMetaType::registerConverter([](const JCharArrayWrapper& w) -> QString {return w.toString();}); QMetaType::registerConverter([](const JDoubleArrayWrapper& w) -> QString {return w.toString();}); QMetaType::registerConverter([](const JFloatArrayWrapper& w) -> QString {return w.toString();}); - QMetaType::registerConverter([](const JObjectWrapper& w) -> jobject {return w;}); + if(!QMetaType::hasRegisteredConverterFunction()) + QMetaType::registerConverter([](const JObjectWrapper& w) -> jobject {return w;}); QMetaType::registerConverter([](const JObjectWrapper& w) -> jobject {return w;}); QMetaType::registerConverter([](const JMapWrapper& w) -> jobject {return w;}); QMetaType::registerConverter([](const JIteratorWrapper& w) -> jobject {return w;}); diff --git a/src/cpp/QtJambi/typeentry.cpp b/src/cpp/QtJambi/typeentry.cpp index c4b1edbf..d0cb5a05 100644 --- a/src/cpp/QtJambi/typeentry.cpp +++ b/src/cpp/QtJambi/typeentry.cpp @@ -101,7 +101,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo } jclass java_class = JavaAPI::resolveClass(env, java_name); if(!java_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1 cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } @@ -157,7 +157,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(Java::Runtime::Class::isInterface(env, java_class)){ java_impl_class = JavaAPI::resolveClass(env, qPrintable(QString("%1$Impl").arg(java_name))); if(!java_impl_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1.Impl cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } int modifiers = Java::Runtime::Class::getModifiers(env,java_impl_class); @@ -177,7 +177,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo } creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.Impl").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } const QVector* _virtualFunctions = virtualFunctions(typeId); @@ -219,7 +219,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(java_wrapper_class){ creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.ConcreteWrapper").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } } @@ -238,7 +238,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo }else{ jmethodID creator_method = findInternalPrivateConstructor(env, java_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } if(interfaceOffsetInfo.offsets.isEmpty()){ @@ -290,7 +290,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(java_wrapper_class){ creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.ConcreteWrapper").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } } @@ -360,25 +360,21 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo ); } }else{ - if(qt_meta_type.isValid()){ - if(typeid_equals(typeId, typeid(QModelIndex))){ - result = new QModelIndexTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, value_size, super_type, + if(typeid_equals(typeId, typeid(QModelIndex))){ + result = new QModelIndexTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, + _deleter, destructor, typeInfoSupplier); + }else if(qt_meta_type.isValid()){ + if(interfaceOffsetInfo.offsets.isEmpty()){ + result = new ObjectValueTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, value_size, super_type, shell_size, _deleter, owner_function, _virtualFunctions, destructor, polymorphicIdHandlers, typeInfoSupplier, qt_meta_type - ); + ); }else{ - if(interfaceOffsetInfo.offsets.isEmpty()){ - result = new ObjectValueTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, value_size, super_type, - shell_size, _deleter, owner_function, _virtualFunctions, - destructor, polymorphicIdHandlers, typeInfoSupplier, qt_meta_type - ); - }else{ - result = new ObjectValueIFTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, value_size, super_type, - shell_size, _deleter, owner_function, _virtualFunctions, - destructor, polymorphicIdHandlers, typeInfoSupplier, qt_meta_type, - interfaceOffsetInfo.offsets, interfaceOffsetInfo.interfaces, interfaceOffsetInfo.inheritedInterfaces - ); - } + result = new ObjectValueIFTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, value_size, super_type, + shell_size, _deleter, owner_function, _virtualFunctions, + destructor, polymorphicIdHandlers, typeInfoSupplier, qt_meta_type, + interfaceOffsetInfo.offsets, interfaceOffsetInfo.interfaces, interfaceOffsetInfo.inheritedInterfaces + ); } }else{ PtrDeleterFunction _deleter = deleter(typeId); @@ -406,7 +402,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo size_t value_size = getValueSize(typeId); jclass java_impl_class = JavaAPI::resolveClass(env, qPrintable(QString("%1$Impl").arg(java_name))); if(!java_impl_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1.Impl cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } jclass java_wrapper_class = nullptr; @@ -414,7 +410,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(Java::Runtime::Modifier::isAbstract(env, modifiers)){ java_wrapper_class = JavaAPI::resolveClass(env, qPrintable(QString("%1$Impl$ConcreteWrapper").arg(java_name))); if(!java_wrapper_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1.Impl.ConcreteWrapper cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } }else{ @@ -422,7 +418,11 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo } jmethodID creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + if(Java::Runtime::Modifier::isAbstract(env, modifiers)){ + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.Impl.ConcreteWrapper").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); + }else{ + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.Impl").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); + } return QtJambiTypeEntryPtr(); } InterfaceOffsetInfo interfaceOffsetInfo; @@ -462,7 +462,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo size_t value_size = getValueSize(typeId); jclass java_impl_class = JavaAPI::resolveClass(env, qPrintable(QString("%1$Impl").arg(java_name))); if(!java_impl_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1.Impl cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } jclass java_wrapper_class = nullptr; @@ -470,7 +470,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(Java::Runtime::Modifier::isAbstract(env, modifiers)){ java_wrapper_class = JavaAPI::resolveClass(env, qPrintable(QString("%1$Impl$ConcreteWrapper").arg(java_name))); if(!java_wrapper_class){ - JavaException::raiseError(env, "class cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("class %1.Impl.ConcreteWrapper cannot be found").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } }else{ @@ -478,7 +478,11 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo } jmethodID creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + if(Java::Runtime::Modifier::isAbstract(env, modifiers)){ + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.Impl.ConcreteWrapper").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); + }else{ + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.Impl").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); + } return QtJambiTypeEntryPtr(); } InterfaceOffsetInfo interfaceOffsetInfo; @@ -542,7 +546,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo if(java_wrapper_class){ creator_method = findInternalPrivateConstructor(env, java_wrapper_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1.ConcreteWrapper").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } } @@ -576,7 +580,7 @@ QtJambiTypeEntryPtr get_type_entry(JNIEnv* env, const std::type_info& typeId, bo }else{ jmethodID creator_method = findInternalPrivateConstructor(env, java_class); if(!creator_method){ - JavaException::raiseError(env, "constructor cannot be found" QTJAMBI_STACKTRACEINFO ); + JavaException::raiseError(env, QLatin1String("internal private constructor cannot be found in class %1").arg(QString(java_name).replace('/', '.').replace('$', '.')) QTJAMBI_STACKTRACEINFO ); return QtJambiTypeEntryPtr(); } if(Java::QtCore::QThread::isAssignableFrom(env, java_class)) @@ -774,10 +778,7 @@ const QVector* InterfaceTypeEntry::virtualFunctions() const const QVector* FunctionalTypeEntry::virtualFunctions() const { return m_virtualFunctions; } QtJambiTypeEntry::NativeToJavaResult::NativeToJavaResult(bool success) : m_success(success) {} -QtJambiTypeEntry::NativeToJavaResult::NativeToJavaResult(const QSharedPointer& link) : m_link(link), m_success(true) {} -QtJambiTypeEntry::NativeToJavaResult::operator bool() const{return m_success;} -bool QtJambiTypeEntry::NativeToJavaResult::operator!() const{return !m_success;} -const QSharedPointer& QtJambiTypeEntry::NativeToJavaResult::link() const{return m_link;} +QtJambiTypeEntry::NativeToJavaResult::NativeToJavaResult(const QSharedPointer& link) : /*m_link(link),*/ m_success(link) {} const FlagsTypeEntry* EnumTypeEntry::flagType() const { @@ -1601,9 +1602,9 @@ namespace ThreadPrivate{ jobject fromQThread(JNIEnv * env, jobject java_qthread, QThread *thread); } -QtJambiTypeEntry::NativeToJavaResult QThreadTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const +QtJambiTypeEntry::NativeToJavaResult QThreadTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const { - QtJambiTypeEntry::NativeToJavaResult result = QObjectTypeEntry::convertToJava(env, qt_object, makeCopyOfValues, output, valueType); + QtJambiTypeEntry::NativeToJavaResult result = QObjectTypeEntry::convertToJava(env, qt_object, mode, output, valueType); if(result){ QThread* thread = const_cast(reinterpret_cast(qt_object)); if (thread){ @@ -1613,13 +1614,13 @@ QtJambiTypeEntry::NativeToJavaResult QThreadTypeEntry::convertToJava(JNIEnv *env data = QTJAMBI_GET_OBJECTUSERDATA(QThreadUserData, thread); } if(!data) - ThreadPrivate::fromQThread(env, output->l, thread); + ThreadPrivate::fromQThread(env, output.l, thread); } } return result; } -bool QThreadTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const +bool QThreadTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const { bool result = QObjectTypeEntry::convertSharedPointerToJava(env, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, output, valueType); if(result){ @@ -1631,7 +1632,7 @@ bool QThreadTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_ data = QTJAMBI_GET_OBJECTUSERDATA(QThreadUserData, thread); } if(!data) - ThreadPrivate::fromQThread(env, output->l, thread); + ThreadPrivate::fromQThread(env, output.l, thread); } } return result; @@ -1771,62 +1772,60 @@ QObjectPolymorphicIFTypeEntry::QObjectPolymorphicIFTypeEntry(JNIEnv* env, } -QtJambiTypeEntry::NativeToJavaResult InterfaceTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult InterfaceTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, const_cast(qt_object), LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::TransferOwnership ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None ); - return {link}; + return link; } -bool InterfaceTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool InterfaceTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool createdByJava = link->createdByJava(); bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -1841,7 +1840,7 @@ bool InterfaceTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_share } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToObject(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, LINK_NAME_ARG(qtName()) createdByJava, is_shell, @@ -1857,13 +1856,11 @@ bool InterfaceTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_share } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) false, false, @@ -1876,7 +1873,7 @@ bool InterfaceTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_share return true; } -bool InterfaceTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool InterfaceTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to object type" QTJAMBI_STACKTRACEINFO ); if(java_value.l && !env->IsInstanceOf(java_value.l, javaClass())) @@ -1916,36 +1913,34 @@ bool InterfaceTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, return true; } -QtJambiTypeEntry::NativeToJavaResult InterfaceIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult InterfaceIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, const_cast(qt_object), LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::TransferOwnership ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -1954,106 +1949,186 @@ QtJambiTypeEntry::NativeToJavaResult InterfaceIFTypeEntry::convertToJava(JNIEnv return true; } -QtJambiTypeEntry::NativeToJavaResult InterfaceValueTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +bool InterfaceIFTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + void* qt_object = sharedPointerGetter(ptr_shared_pointer); + if (!qt_object){ + output.l = nullptr; + return true; + } + for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool createdByJava = link->createdByJava(); + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + PtrOwnerFunction registeredThreadAffinityFunction = nullptr; + if(!link->isQObject()){ + PointerToObjectLink* polink = static_cast(link.data()); + registeredThreadAffinityFunction = polink->ownerFunction(); + } + link->invalidate(env); + link.clear(); + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, + LINK_NAME_ARG(qtName()) + createdByJava, + is_shell, + registeredThreadAffinityFunction, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces); + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return true; + } + } + } + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( + env, + output.l, + LINK_NAME_ARG(qtName()) + false, + false, + m_owner_function, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces + ); + link->setJavaOwnership(env); + return true; +} + +QtJambiTypeEntry::NativeToJavaResult InterfaceValueTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } }else{ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } } } -bool InterfaceValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool InterfaceValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool createdByJava = link->createdByJava(); bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -2068,7 +2143,7 @@ bool InterfaceValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_ } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToObject(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, LINK_NAME_ARG(qtName()) createdByJava, is_shell, @@ -2084,13 +2159,11 @@ bool InterfaceValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_ } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) false, false, @@ -2150,44 +2223,49 @@ InterfaceValueIFTypeEntry::InterfaceValueIFTypeEntry(JNIEnv* env, const std::typ #endif ){} -QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2195,12 +2273,12 @@ QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JN }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2210,14 +2288,14 @@ QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JN if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2225,13 +2303,13 @@ QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JN }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2240,61 +2318,59 @@ QtJambiTypeEntry::NativeToJavaResult InterfaceValueIFTypeEntry::convertToJava(JN } } -QtJambiTypeEntry::NativeToJavaResult ObjectTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, const_cast(qt_object), LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::TransferOwnership ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None ); } -bool ObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool ObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool createdByJava = link->createdByJava(); bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -2309,7 +2385,7 @@ bool ObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_p } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToObject(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, LINK_NAME_ARG(qtName()) createdByJava, is_shell, @@ -2325,13 +2401,11 @@ bool ObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_p } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) false, false, @@ -2344,16 +2418,11 @@ bool ObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_p return true; } -bool ObjectTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool ObjectTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to object type" QTJAMBI_STACKTRACEINFO ); if(env->IsInstanceOf(java_value.l, this->javaClass())){ - if (QSharedPointer link = QtJambiLink::findLinkForJavaObject(env, java_value.l)){ - Q_ASSERT(!link->isQObject()); - *reinterpret_cast(output) = link->pointer(); - } - else if(Java::QtJambi::QtObjectInterface::isInstanceOf(env, java_value.l)) - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, java_value.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); + *reinterpret_cast(output) = QtJambiLink::findPointerForJavaObject(env, java_value.l); return true; }else return false; } @@ -2438,142 +2507,220 @@ ObjectAbstractIFTypeEntry::ObjectAbstractIFTypeEntry(JNIEnv* env, m_java_wrapper_class(java_wrapper_class ? getGlobalClassRef(env, java_wrapper_class) : nullptr) {} -QtJambiTypeEntry::NativeToJavaResult ObjectIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, const_cast(qt_object), LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::TransferOwnership ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces + ); +} + +bool ObjectIFTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + void* qt_object = sharedPointerGetter(ptr_shared_pointer); + if (!qt_object){ + output.l = nullptr; + return true; + } + for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool createdByJava = link->createdByJava(); + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + PtrOwnerFunction registeredThreadAffinityFunction = nullptr; + if(!link->isQObject()){ + PointerToObjectLink* polink = static_cast(link.data()); + registeredThreadAffinityFunction = polink->ownerFunction(); + } + link->invalidate(env); + link.clear(); + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, + LINK_NAME_ARG(qtName()) + createdByJava, + is_shell, + registeredThreadAffinityFunction, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces); + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return true; + } + } + } + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( + env, + output.l, + LINK_NAME_ARG(qtName()) + false, + false, + m_owner_function, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces ); + link->setJavaOwnership(env); + return true; } -QtJambiTypeEntry::NativeToJavaResult ObjectValueTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectValueTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } }else{ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } } } -bool ObjectValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool ObjectValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool createdByJava = link->createdByJava(); bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -2588,7 +2735,7 @@ bool ObjectValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_sha } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToObject(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, LINK_NAME_ARG(qtName()) createdByJava, is_shell, @@ -2604,13 +2751,11 @@ bool ObjectValueTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_sha } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToObject( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) false, false, @@ -2667,44 +2812,49 @@ ObjectValueIFTypeEntry::ObjectValueIFTypeEntry(JNIEnv* env, #endif ){} -QtJambiTypeEntry::NativeToJavaResult ObjectValueIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectValueIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2712,12 +2862,12 @@ QtJambiTypeEntry::NativeToJavaResult ObjectValueIFTypeEntry::convertToJava(JNIEn }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2727,14 +2877,14 @@ QtJambiTypeEntry::NativeToJavaResult ObjectValueIFTypeEntry::convertToJava(JNIEn if(m_owner_function){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2742,13 +2892,13 @@ QtJambiTypeEntry::NativeToJavaResult ObjectValueIFTypeEntry::convertToJava(JNIEn }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2831,80 +2981,85 @@ ObjectAbstractContainerTypeEntry::ObjectAbstractContainerTypeEntry(JNIEnv* env, m_containerAccessFactory(containerAccessFactory) {} -QtJambiTypeEntry::NativeToJavaResult ObjectContainerTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectContainerTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } } -bool ObjectContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool ObjectContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -2914,7 +3069,7 @@ bool ObjectContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToContainer(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToContainer(env, output.l, LINK_NAME_ARG(qtName()) ptr_shared_pointer, sharedPointerDeleter, @@ -2928,13 +3083,11 @@ bool ObjectContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToContainer( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) ptr_shared_pointer, sharedPointerDeleter, @@ -2945,43 +3098,48 @@ bool ObjectContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr return true; } -QtJambiTypeEntry::NativeToJavaResult ObjectContainerIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectContainerIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -2989,14 +3147,14 @@ QtJambiTypeEntry::NativeToJavaResult ObjectContainerIFTypeEntry::convertToJava(J }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -3004,80 +3162,150 @@ QtJambiTypeEntry::NativeToJavaResult ObjectContainerIFTypeEntry::convertToJava(J } } -QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +bool ObjectContainerIFTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + void* qt_object = sharedPointerGetter(ptr_shared_pointer); + if (!qt_object){ + output.l = nullptr; + return true; + } + for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + link->invalidate(env); + link.clear(); + link = QtJambiLink::createLinkForSmartPointerToContainer(env, output.l, + LINK_NAME_ARG(qtName()) + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_containerAccessFactory(), + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces); + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return true; + } + } + } + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToContainer( + env, + output.l, + LINK_NAME_ARG(qtName()) + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_containerAccessFactory(), + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces + ); + link->setJavaOwnership(env); + return true; +} + +QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java ); } } -bool ObjectAbstractContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool ObjectAbstractContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* qt_object = sharedPointerGetter(ptr_shared_pointer); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -3087,7 +3315,7 @@ bool ObjectAbstractContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, v } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToContainer(env, output->l, + link = QtJambiLink::createLinkForSmartPointerToContainer(env, output.l, LINK_NAME_ARG(qtName()) ptr_shared_pointer, sharedPointerDeleter, @@ -3101,13 +3329,11 @@ bool ObjectAbstractContainerTypeEntry::convertSharedPointerToJava(JNIEnv *env, v } } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToContainer( env, - output->l, + output.l, LINK_NAME_ARG(qtName()) ptr_shared_pointer, sharedPointerDeleter, @@ -3162,43 +3388,48 @@ ObjectAbstractContainerIFTypeEntry::ObjectAbstractContainerIFTypeEntry(JNIEnv* e m_containerAccessFactory(containerAccessFactory) {} -QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerIFTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!makeCopyOfValues){ + bool makeCopyOfValues = false; + switch(mode){ + case NativeToJavaConversionMode::None: for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; return true; } } } + break; + case NativeToJavaConversionMode::MakeCopyOfValues: + makeCopyOfValues = true; + break; + default: break; } void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(makeCopyOfValues || !m_deleter){ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, m_qt_meta_type, false, false, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -3206,14 +3437,14 @@ QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerIFTypeEntry::convert }else{ return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, copy, LINK_NAME_ARG(qtName()) false, false, m_deleter, m_containerAccessFactory(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java, m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces @@ -3221,6 +3452,71 @@ QtJambiTypeEntry::NativeToJavaResult ObjectAbstractContainerIFTypeEntry::convert } } +bool ObjectAbstractContainerIFTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + void* qt_object = sharedPointerGetter(ptr_shared_pointer); + if (!qt_object){ + output.l = nullptr; + return true; + } + for(QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + link->invalidate(env); + link.clear(); + link = QtJambiLink::createLinkForSmartPointerToContainer(env, output.l, + LINK_NAME_ARG(qtName()) + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_containerAccessFactory(), + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces); + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return true; + } + } + } + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + const QSharedPointer& link = QtJambiLink::createLinkForSmartPointerToContainer( + env, + output.l, + LINK_NAME_ARG(qtName()) + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter, + m_containerAccessFactory(), + m_interfaceOffsets, + m_interfaceTypes, + m_inheritedInterfaces + ); + link->setJavaOwnership(env); + return true; +} + QtJambiTypeEntryPtr QObjectTypeEntry::getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const{ return ::getFittingTypeEntry(env, reinterpret_cast(qt_object), offset, this, {}); } @@ -3229,12 +3525,12 @@ const QSharedPointer& QObjectTypeEntry::createLinkForNativeQObject( return QtJambiLink::createLinkForNativeQObject(env, javaObject, object, false, false, m_superTypeForCustomMetaObject); } -QtJambiTypeEntry::NativeToJavaResult QObjectTypeEntry::convertToJava(JNIEnv *env, const void *ptr, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult QObjectTypeEntry::convertToJava(JNIEnv *env, const void *ptr, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); QObject* qt_object = reinterpret_cast( const_cast(ptr) ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } if(QSharedPointer link = QtJambiLink::findLinkForQObject(qt_object)){ @@ -3263,8 +3559,8 @@ QtJambiTypeEntry::NativeToJavaResult QObjectTypeEntry::convertToJava(JNIEnv *env } } if(link){ - output->l = link->getJavaObjectLocalRef(env); - if(!output->l && link->ownership()==QtJambiLink::Ownership::Split){ + output.l = link->getJavaObjectLocalRef(env); + if(!output.l && link->ownership()==QtJambiLink::Ownership::Split){ { bool isInvalidated = false; { @@ -3284,23 +3580,21 @@ QtJambiTypeEntry::NativeToJavaResult QObjectTypeEntry::convertToJava(JNIEnv *env }else return true; } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); - return createLinkForNativeQObject(env, output->l, qt_object); + return createLinkForNativeQObject(env, output.l, qt_object); } -bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ +bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ - output->l = nullptr; + output.l = nullptr; return true; } void* _ptr = sharedPointerGetter(ptr_shared_pointer); if (!_ptr){ - output->l = nullptr; + output.l = nullptr; return true; } QObject* qt_object = reinterpret_cast(_ptr); @@ -3332,12 +3626,12 @@ bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_ if(link && !link->isSmartPointer()){ jobject obj = link->getJavaObjectLocalRef(env); if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + output.l = obj; bool createdByJava = link->createdByJava(); bool is_shell = link->isShell(); QtJambiShellImpl* shell = nullptr; if(is_shell){ - const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output->l)); + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); Q_ASSERT(infos.size()); shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); } @@ -3347,7 +3641,7 @@ bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_ } link->invalidate(env); link.clear(); - link = QtJambiLink::createLinkForSmartPointerToQObject(env, output->l, createdByJava, is_shell, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, m_superTypeForCustomMetaObject); + link = QtJambiLink::createLinkForSmartPointerToQObject(env, output.l, createdByJava, is_shell, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, m_superTypeForCustomMetaObject); if(shell){ shell->overrideLink(link); } @@ -3356,8 +3650,8 @@ bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_ } } if(link){ - output->l = link->getJavaObjectLocalRef(env); - if(!output->l && link->ownership()==QtJambiLink::Ownership::Split){ + output.l = link->getJavaObjectLocalRef(env); + if(!output.l && link->ownership()==QtJambiLink::Ownership::Split){ { bool isInvalidated = false; { @@ -3377,11 +3671,9 @@ bool QObjectTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_ }else return true; } } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); - QtJambiLink::createLinkForSmartPointerToQObject(env, output->l, false, false, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, m_superTypeForCustomMetaObject); + QtJambiLink::createLinkForSmartPointerToQObject(env, output.l, false, false, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, m_superTypeForCustomMetaObject); return true; } @@ -3391,6 +3683,100 @@ const QSharedPointer& QObjectIFTypeEntry::createLinkForNativeQObjec m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces); } +bool QObjectIFTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + void* _ptr = sharedPointerGetter(ptr_shared_pointer); + if (!_ptr){ + output.l = nullptr; + return true; + } + QObject* qt_object = reinterpret_cast(_ptr); + if(QSharedPointer link = QtJambiLink::findLinkForQObject(qt_object)){ + jobject nativeLink = link->nativeLink(env); + QScopedPointer synchronizer(new JObjectSynchronizer(env, nativeLink)); + // Since QObjects are created in a class based on virtual function calls, + // if they at some point during their constructor are converted to Java, + // the Java object will get the wrong class. In order to fix this as well + // as possible, we replace the java object if it turns out it has previously + // been created using a different metaObject than the current. This should + // at least make the brokeness identical to that of C++, and we can't do this + // better than C++ since we depend on C++ to do it. + if(!link->createdByJava()){ + QWriteLocker locker(QtJambiLinkUserData::lock()); + QtJambiLinkUserData *p = QTJAMBI_GET_OBJECTUSERDATA(QtJambiLinkUserData, qt_object); + if (p && p->metaObject() && p->metaObject() != qt_object->metaObject()) { + QTJAMBI_SET_OBJECTUSERDATA(QtJambiLinkUserData, qt_object, nullptr); + locker.unlock(); + delete p; + // It should already be split ownership, but in case it has been changed, we need to make sure the c++ + // object isn't deleted. + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + link->setSplitOwnership(env); + link.clear(); + locker.relock(); + } + } + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool createdByJava = link->createdByJava(); + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(qt_object) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + link->invalidate(env); + link.clear(); + link = QtJambiLink::createLinkForSmartPointerToQObject(env, output.l, createdByJava, is_shell, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, + m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces, m_superTypeForCustomMetaObject); + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return true; + } + } + if(link){ + output.l = link->getJavaObjectLocalRef(env); + if(!output.l && link->ownership()==QtJambiLink::Ownership::Split){ + { + bool isInvalidated = false; + { + QWriteLocker locker(QtJambiLinkUserData::lock()); + if(QtJambiLinkUserData *p = QTJAMBI_GET_OBJECTUSERDATA(QtJambiLinkUserData, qt_object)){ + QTJAMBI_SET_OBJECTUSERDATA(QtJambiLinkUserData, qt_object, nullptr); + locker.unlock(); + isInvalidated = true; + delete p; + locker.relock(); + } + } + if(!isInvalidated) + link->invalidate(env); + link.clear(); + } + }else return true; + } + } + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + QtJambiLink::createLinkForSmartPointerToQObject(env, output.l, false, false, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, + m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces, m_superTypeForCustomMetaObject); + return true; +} + QtJambiTypeEntryPtr QObjectPolymorphicTypeEntry::getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const{ return ::getFittingTypeEntry(env, reinterpret_cast(qt_object), offset, this, m_polymorphicIdHandlers); } @@ -3399,7 +3785,7 @@ const QSharedPointer& QObjectPolymorphicTypeEntry::createLinkForNat return QtJambiLink::createLinkForNativeQObject(env, javaObject, object, false, false, m_superTypeForCustomMetaObject); } -bool QObjectTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool QObjectTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to object type" QTJAMBI_STACKTRACEINFO ); if(env->IsInstanceOf(java_value.l, this->javaClass())){ @@ -3422,21 +3808,19 @@ const QSharedPointer& QObjectPolymorphicIFTypeEntry::createLinkForN m_interfaceOffsets, m_interfaceTypes, m_inheritedInterfaces); } -QtJambiTypeEntry::NativeToJavaResult FunctionalTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult FunctionalTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert functional type" QTJAMBI_STACKTRACEINFO ); if(m_registered_functional_resolver){ - output->l = m_registered_functional_resolver(env, m_is_std_function ? qt_object : &qt_object); - if(output->l) + output.l = m_registered_functional_resolver(env, m_is_std_function ? qt_object : &qt_object); + if(output.l) return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); return QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, m_qt_meta_type.create(m_is_std_function ? qt_object : &qt_object), m_qt_meta_type, false, @@ -3445,11 +3829,11 @@ QtJambiTypeEntry::NativeToJavaResult FunctionalTypeEntry::convertToJava(JNIEnv * ); } -bool FunctionalTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ - return convertToJava(env, sharedPointerGetter(qt_object), true, output, javaType); +bool FunctionalTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + return convertToJava(env, sharedPointerGetter(qt_object), NativeToJavaConversionMode::MakeCopyOfValues, output, javaType); } -bool FunctionalTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool FunctionalTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to functional type" QTJAMBI_STACKTRACEINFO ); if(!env->IsInstanceOf(java_value.l, javaClass())) @@ -3486,16 +3870,14 @@ bool FunctionalTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, return true; } -QtJambiTypeEntry::NativeToJavaResult EnumTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult EnumTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ switch (javaType) { case jValueType::l: - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); switch ( this->valueSize() ) { - case 1: output->l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; - case 2: output->l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; - case 4: output->l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; - default: output->l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; + case 1: output.l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; + case 2: output.l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; + case 4: output.l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; + default: output.l = env->CallStaticObjectMethod(creatableClass(), creatorMethod(), *reinterpret_cast(qt_object)); break; } JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; @@ -3504,18 +3886,18 @@ QtJambiTypeEntry::NativeToJavaResult EnumTypeEntry::convertToJava(JNIEnv *env, c case jValueType::j: case jValueType::i: switch ( this->valueSize() ) { - case 1: output->j = *reinterpret_cast(qt_object); break; - case 2: output->j = *reinterpret_cast(qt_object); break; - case 4: output->j = *reinterpret_cast(qt_object); break; - default: output->j = *reinterpret_cast(qt_object); break; + case 1: output.j = *reinterpret_cast(qt_object); break; + case 2: output.j = *reinterpret_cast(qt_object); break; + case 4: output.j = *reinterpret_cast(qt_object); break; + default: output.j = *reinterpret_cast(qt_object); break; } break; case jValueType::z: switch ( this->valueSize() ) { - case 1: output->z = 0!=*reinterpret_cast(qt_object); break; - case 2: output->z = 0!=*reinterpret_cast(qt_object); break; - case 4: output->z = 0!=*reinterpret_cast(qt_object); break; - default: output->z = 0!=*reinterpret_cast(qt_object); break; + case 1: output.z = 0!=*reinterpret_cast(qt_object); break; + case 2: output.z = 0!=*reinterpret_cast(qt_object); break; + case 4: output.z = 0!=*reinterpret_cast(qt_object); break; + default: output.z = 0!=*reinterpret_cast(qt_object); break; } break; default: @@ -3525,11 +3907,11 @@ QtJambiTypeEntry::NativeToJavaResult EnumTypeEntry::convertToJava(JNIEnv *env, c return true; } -bool EnumTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ - return convertToJava(env, sharedPointerGetter(qt_object), true, output, javaType); +bool EnumTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + return convertToJava(env, sharedPointerGetter(qt_object), NativeToJavaConversionMode::MakeCopyOfValues, output, javaType); } -bool EnumTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool EnumTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ switch ( this->valueSize() ) { case 1: { @@ -3647,18 +4029,16 @@ bool EnumTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValu return true; } -QtJambiTypeEntry::NativeToJavaResult FlagsTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult FlagsTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ switch (javaType) { case jValueType::l: - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), static_cast(*reinterpret_cast(qt_object))); + output.l = env->NewObject(creatableClass(), creatorMethod(), static_cast(*reinterpret_cast(qt_object))); break; case jValueType::s: case jValueType::b: case jValueType::j: case jValueType::i: - output->i = *reinterpret_cast(qt_object); + output.i = *reinterpret_cast(qt_object); break; default: return false; @@ -3666,11 +4046,11 @@ QtJambiTypeEntry::NativeToJavaResult FlagsTypeEntry::convertToJava(JNIEnv *env, return true; } -bool FlagsTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ - return convertToJava(env, sharedPointerGetter(qt_object), true, output, javaType); +bool FlagsTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + return convertToJava(env, sharedPointerGetter(qt_object), NativeToJavaConversionMode::MakeCopyOfValues, output, javaType); } -bool FlagsTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool FlagsTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ int* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -3705,8 +4085,8 @@ AbstractSimpleTypeEntry::AbstractSimpleTypeEntry(JNIEnv* env, const std::type_in { } -bool AbstractSimpleTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType javaType) const{ - return convertToJava(env, sharedPointerGetter(qt_object), true, output, javaType); +bool AbstractSimpleTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *qt_object, SmartPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + return convertToJava(env, sharedPointerGetter(qt_object), NativeToJavaConversionMode::MakeCopyOfValues, output, javaType); } JLongTypeEntry::JLongTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size) @@ -3719,28 +4099,28 @@ StringTypeEntry::StringTypeEntry(JNIEnv* env, const std::type_info& typeId, cons { } -QtJambiTypeEntry::NativeToJavaResult StringTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult StringTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const QString* strg = reinterpret_cast(qt_object); switch (javaType) { case jValueType::l: Q_ASSERT(strg->length()>=0); - output->l = env->NewString(reinterpret_cast(strg->constData()), jsize(strg->length())); + output.l = env->NewString(reinterpret_cast(strg->constData()), jsize(strg->length())); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; case jValueType::z: - output->z = strg && !strg->isEmpty(); + output.z = strg && !strg->isEmpty(); break; case jValueType::c: - output->c = strg && !strg->isEmpty() ? strg->at(0).unicode() : 0; + output.c = strg && !strg->isEmpty() ? strg->at(0).unicode() : 0; break; default: - output->j = strg ? strg->toLong() : 0; + output.j = strg ? strg->toLong() : 0; break; } return true; } -bool StringTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool StringTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ QString* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -3782,15 +4162,15 @@ QCborValueRefTypeEntry::QCborValueRefTypeEntry(JNIEnv* env, const std::type_info { } -QtJambiTypeEntry::NativeToJavaResult QCborValueRefTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult QCborValueRefTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ const QCborValueRef* vref = reinterpret_cast(qt_object); QtJambiTypeEntryPtr typeEntry = QtJambiTypeEntry::getTypeEntry(env, typeid(QCborValue), "QCborValue"); Q_ASSERT(typeEntry); QCborValue value = *vref; - return typeEntry->convertToJava(env, &value, makeCopyOfValues, output, javaType); + return typeEntry->convertToJava(env, &value, mode, output, javaType); } -bool QCborValueRefTypeEntry::convertToNative(JNIEnv *env, const jvalue&, jValueType, void *, QtJambiScope*) const{ +bool QCborValueRefTypeEntry::convertToNative(JNIEnv *env, jvalue, jValueType, void *, QtJambiScope*) const{ JavaException::raiseError(env, "Cannot convert to QCborValueRef" QTJAMBI_STACKTRACEINFO ); return false; } @@ -3801,24 +4181,24 @@ StringUtilTypeEntry::StringUtilTypeEntry(JNIEnv* env, const std::type_info& type { } -QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(typeid_equals(type(), typeid(QStringView))){ const QStringView* sref = reinterpret_cast(qt_object); if(sref){ switch (javaType) { case jValueType::l: Q_ASSERT(sref->length()>=0); - output->l = env->NewString(reinterpret_cast(sref->data()), jsize(sref->length())); + output.l = env->NewString(reinterpret_cast(sref->data()), jsize(sref->length())); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; case jValueType::z: - output->z = !sref->isEmpty(); + output.z = !sref->isEmpty(); break; case jValueType::c: - output->c = !sref->toString().isEmpty() ? sref->toString().at(0).unicode() : 0; + output.c = !sref->toString().isEmpty() ? sref->toString().at(0).unicode() : 0; break; default: - output->j = sref->toString().toLong(); + output.j = sref->toString().toLong(); break; } } @@ -3829,17 +4209,17 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * switch (javaType) { case jValueType::l: Q_ASSERT(sref->length()>=0); - output->l = env->NewString(reinterpret_cast(sref->toString().constData()), jsize(sref->toString().length())); + output.l = env->NewString(reinterpret_cast(sref->toString().constData()), jsize(sref->toString().length())); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; case jValueType::z: - output->z = !sref->isEmpty(); + output.z = !sref->isEmpty(); break; case jValueType::c: - output->c = sref->toString().isEmpty() ? 0 : sref->toString().at(0).unicode(); + output.c = sref->toString().isEmpty() ? 0 : sref->toString().at(0).unicode(); break; default: - output->j = sref->toString().toLong(); + output.j = sref->toString().toLong(); break; } } @@ -3850,18 +4230,18 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * switch (javaType) { case jValueType::l: Q_ASSERT(sref.length()>=0); - output->l = env->NewString(reinterpret_cast(sref.toString().constData()), jsize(sref.toString().length())); + output.l = env->NewString(reinterpret_cast(sref.toString().constData()), jsize(sref.toString().length())); JavaException::check(env QTJAMBI_STACKTRACEINFO ); - output->l = qtjambi_cast(env, sref); + output.l = qtjambi_cast(env, sref); break; case jValueType::z: - output->z = !sref.isEmpty(); + output.z = !sref.isEmpty(); break; case jValueType::c: - output->c = sref.toString().isEmpty() ? 0 : sref.toString().at(0).unicode(); + output.c = sref.toString().isEmpty() ? 0 : sref.toString().at(0).unicode(); break; default: - output->j = sref.toString().toLong(); + output.j = sref.toString().toLong(); break; } } @@ -3871,16 +4251,16 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * if(sref){ switch (javaType) { case jValueType::l: - output->l = QtJambiAPI::convertNativeToJavaObject(env, *sref); + output.l = QtJambiAPI::convertNativeToJavaObject(env, *sref); break; case jValueType::z: - output->z = !sref->isEmpty(); + output.z = !sref->isEmpty(); break; case jValueType::c: - output->c = !sref->isEmpty() ? sref->front().unicode() : 0; + output.c = !sref->isEmpty() ? sref->front().unicode() : 0; break; default: - output->j = sref->toString().toLong(); + output.j = sref->toString().toLong(); break; } } @@ -3889,16 +4269,16 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * if(sref){ switch (javaType) { case jValueType::l: - output->l = qtjambi_cast(env, *sref); + output.l = qtjambi_cast(env, *sref); break; case jValueType::z: - output->z = !sref->isEmpty(); + output.z = !sref->isEmpty(); break; case jValueType::c: - output->c = !sref->isEmpty() ? sref->front() : 0; + output.c = !sref->isEmpty() ? sref->front() : 0; break; default: - output->j = sref->toString().toLong(); + output.j = sref->toString().toLong(); break; } } @@ -3908,17 +4288,17 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * if(sref){ switch (javaType) { case jValueType::l: - output->l = env->NewStringUTF(sref->data()); + output.l = env->NewStringUTF(sref->data()); JavaException::check(env QTJAMBI_STACKTRACEINFO ); break; case jValueType::z: - output->z = !sref->isEmpty(); + output.z = !sref->isEmpty(); break; case jValueType::c: - output->c = !sref->isEmpty() ? sref->at(0).unicode() : 0; + output.c = !sref->isEmpty() ? sref->at(0).unicode() : 0; break; default: - output->j = QString(*sref).toLong(); + output.j = QString(*sref).toLong(); break; } } @@ -3926,7 +4306,7 @@ QtJambiTypeEntry::NativeToJavaResult StringUtilTypeEntry::convertToJava(JNIEnv * return true; } -bool StringUtilTypeEntry::convertToNative(JNIEnv *env, const jvalue&, jValueType, void *, QtJambiScope*) const{ +bool StringUtilTypeEntry::convertToNative(JNIEnv *env, jvalue, jValueType, void *, QtJambiScope*) const{ if(typeid_equals(type(), typeid(QStringView))){ JavaException::raiseError(env, "Cannot convert to QStringView" QTJAMBI_STACKTRACEINFO ); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) @@ -3951,16 +4331,16 @@ MetaUtilTypeEntry::MetaUtilTypeEntry(JNIEnv* env, const std::type_info& typeId, { } -QtJambiTypeEntry::NativeToJavaResult MetaUtilTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult MetaUtilTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to primitive value" QTJAMBI_STACKTRACEINFO ); if(qt_object){ if(typeid_equals(type(), typeid(QMetaObject::Connection))){ static QMetaType metaTypeId(registeredMetaTypeID(typeid(QMetaObject::Connection))); - output->l = Java::QtJambi::SignalUtility$NativeConnection::newInstance(env, nullptr); + output.l = Java::QtJambi::SignalUtility$NativeConnection::newInstance(env, nullptr); const QSharedPointer& link = QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, new QMetaObject::Connection(*reinterpret_cast(qt_object)), metaTypeId, false, @@ -3969,19 +4349,19 @@ QtJambiTypeEntry::NativeToJavaResult MetaUtilTypeEntry::convertToJava(JNIEnv *en ); Q_UNUSED(link) }else if(typeid_equals(type(), typeid(QMetaObject))){ - output->l = QtJambiMetaObject::convertToJavaObject(env, reinterpret_cast(qt_object)); + output.l = QtJambiMetaObject::convertToJavaObject(env, reinterpret_cast(qt_object)); }else if(typeid_equals(type(), typeid(JIteratorWrapper)) || typeid_equals(type(), typeid(JCollectionWrapper)) || typeid_equals(type(), typeid(JMapWrapper)) || typeid_equals(type(), typeid(JObjectWrapper)) || typeid_equals(type(), typeid(JEnumWrapper))){ - output->l = env->NewLocalRef(reinterpret_cast(qt_object)->object()); + output.l = env->NewLocalRef(reinterpret_cast(qt_object)->object()); } } return true; } -bool MetaUtilTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void *output, QtJambiScope*) const{ +bool MetaUtilTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void *output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert to primitive value" QTJAMBI_STACKTRACEINFO ); if(typeid_equals(type(), typeid(QMetaObject::Connection))){ @@ -4022,123 +4402,181 @@ QModelIndexTypeEntry::QModelIndexTypeEntry(JNIEnv* env, const char *java_name, jclass java_class, jmethodID creator_method, - size_t value_size, - const std::type_info* super_type, - size_t shell_size, - PtrDeleterFunction deleter, - PtrOwnerFunction owner_function, - const QVector* virtualFunctions, + PtrDeleterFunction deleter, Destructor destructor, - const QList& polymorphicHandlers, - TypeInfoSupplier typeInfoSupplier, - const QMetaType& qt_meta_type) + TypeInfoSupplier typeInfoSupplier) : ObjectValueTypeEntry(env, typeId, qt_name, java_name, java_class, creator_method, - value_size, - super_type, - shell_size, + sizeof(QModelIndex), + nullptr, + 0, deleter, - owner_function, - virtualFunctions, + nullptr, + {}, destructor, - polymorphicHandlers, + {}, typeInfoSupplier, - qt_meta_type) + QMetaType(QMetaType::QModelIndex)) { } -QtJambiTypeEntry::NativeToJavaResult QModelIndexTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType javaType) const{ +void QModelIndexTypeEntry::deleter(void *ptr, bool) +{ + QTJAMBI_NATIVE_METHOD_CALL("qtjambi_deleter for QModelIndex") + QModelIndex *_ptr = reinterpret_cast(ptr); + QtJambiAPI::registerNonShellDeletion(ptr); + delete _ptr; +} + +QtJambiTypeEntry::NativeToJavaResult QModelIndexTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + return convertNativeToJava(env, qt_object, mode, output.l); +} + +QtJambiTypeEntry::NativeToJavaResult QModelIndexTypeEntry::convertNativeToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jobject& output){ if (!qt_object){ - output->l = nullptr; + output = nullptr; return true; } - if(!makeCopyOfValues){ + if(mode==NativeToJavaConversionMode::None){ for(const QSharedPointer& link : QtJambiLink::findLinksForPointer(qt_object)){ if(link){ jobject obj = link->getJavaObjectLocalRef(env); - if(obj && env->IsInstanceOf(obj, javaClass())){ - output->l = obj; + if(Java::QtCore::QModelIndex::isInstanceOf(env, obj)){ + output = obj; return true; } } } } - void *copy = makeCopyOfValues ? m_qt_meta_type.create(qt_object) : const_cast(qt_object); + const QModelIndex* index = reinterpret_cast(qt_object); + void *copy = mode==NativeToJavaConversionMode::MakeCopyOfValues ? new QModelIndex(*index) : const_cast(qt_object); if (!copy){ - output->l = nullptr; + output = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - const QModelIndex* index = reinterpret_cast(qt_object); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output = Java::QtCore::QModelIndex::newInstance(env, nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); if(index->model()){ - if(m_owner_function){ - return QtJambiLink::createLinkForDependentObject( - env, - output->l, - copy, - m_qt_meta_type, - false, - false, - m_owner_function, - index->model(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None - ); - }else{ - return QtJambiLink::createLinkForDependentObject( - env, - output->l, - copy, - m_qt_meta_type, - false, - false, - index->model(), - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None - ); - } + return QtJambiLink::createExtendedLinkForObject( + env, + output, + copy, + LINK_NAME_ARG("QModelIndex") + false, + false, + QModelIndexTypeEntry::deleter, + index->model(), + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java + ); }else{ - if(m_owner_function){ - return QtJambiLink::createLinkForNativeObject( - env, - output->l, - copy, - m_qt_meta_type, - false, - false, - m_owner_function, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None - ); - }else{ - return QtJambiLink::createLinkForNativeObject( - env, - output->l, - copy, - m_qt_meta_type, - false, - false, - makeCopyOfValues ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None - ); - } + return QtJambiLink::createLinkForNativeObject( + env, + output, + copy, + LINK_NAME_ARG("QModelIndex") + false, + false, + QModelIndexTypeEntry::deleter, + mode==NativeToJavaConversionMode::None ? QtJambiLink::Ownership::None : QtJambiLink::Ownership::Java + ); } } -bool QModelIndexTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const{ - bool result = ObjectValueTypeEntry::convertSharedPointerToJava(env, ptr_shared_pointer, sharedPointerDeleter, sharedPointerGetter, output, valueType); - if(valueType==jValueType::l && result && ptr_shared_pointer){ - if(const QModelIndex* index = reinterpret_cast(sharedPointerGetter(ptr_shared_pointer))){ - if(index->model()) - QtJambiLink::registerDependentObject(index->model(), QtJambiLink::findLinkForJavaObject(env, output->l)); +bool QModelIndexTypeEntry::convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType javaType) const{ + if(javaType!=jValueType::l) + JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); + if (!ptr_shared_pointer || !sharedPointerDeleter || !sharedPointerGetter){ + output.l = nullptr; + return true; + } + const QModelIndex* index = reinterpret_cast(sharedPointerGetter(ptr_shared_pointer)); + if (!index){ + output.l = nullptr; + return true; + } + for(QSharedPointer& link : QtJambiLink::findLinksForPointer(index)){ + if(link && !link->isSmartPointer()){ + jobject obj = link->getJavaObjectLocalRef(env); + if(obj && env->IsInstanceOf(obj, javaClass())){ + output.l = obj; + bool createdByJava = link->createdByJava(); + bool is_shell = link->isShell(); + QtJambiShellImpl* shell = nullptr; + if(is_shell){ + const SuperTypeInfos& infos = SuperTypeInfos::fromClass(env, env->GetObjectClass(output.l)); + Q_ASSERT(infos.size()); + shell = *reinterpret_cast( quintptr(index) + infos.at(0).size() ); + } + jobject nativeLink = link->nativeLink(env); + if(nativeLink){ + Java::QtJambi::NativeUtility$NativeLink::reset(env, nativeLink); + } + PtrOwnerFunction registeredThreadAffinityFunction = nullptr; + if(!link->isQObject()){ + PointerToObjectLink* polink = static_cast(link.data()); + registeredThreadAffinityFunction = polink->ownerFunction(); + } + link->invalidate(env); + link.clear(); + if(index->model()){ + link = QtJambiLink::createExtendedLinkForSmartPointerToObject(env, output.l, + LINK_NAME_ARG(qtName()) + createdByJava, + is_shell, + index->model(), + registeredThreadAffinityFunction, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter); + }else{ + link = QtJambiLink::createLinkForSmartPointerToObject(env, output.l, + LINK_NAME_ARG(qtName()) + createdByJava, + is_shell, + registeredThreadAffinityFunction, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter); + } + if(shell){ + shell->overrideLink(link); + } + env->DeleteLocalRef(nativeLink); + return bool(link); + } } } - return result; + output.l = Java::QtCore::QModelIndex::newInstance(env, nullptr); + JavaException::check(env QTJAMBI_STACKTRACEINFO ); + const QSharedPointer& link = index->model() ? QtJambiLink::createExtendedLinkForSmartPointerToObject( + env, + output.l, + LINK_NAME_ARG(qtName()) + false, + false, + index->model(), + m_owner_function, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter + ) : QtJambiLink::createLinkForSmartPointerToObject( + env, + output.l, + LINK_NAME_ARG(qtName()) + false, + false, + m_owner_function, + ptr_shared_pointer, + sharedPointerDeleter, + sharedPointerGetter + ); + return bool(link); } QVariantTypeEntry::QVariantTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size) @@ -4146,50 +4584,50 @@ QVariantTypeEntry::QVariantTypeEntry(JNIEnv* env, const std::type_info& typeId, { } -QtJambiTypeEntry::NativeToJavaResult QVariantTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult QVariantTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert QVariant to primitive value" QTJAMBI_STACKTRACEINFO ); - output->l = QtJambiAPI::convertQVariantToJavaObject(env, *reinterpret_cast(qt_object)); + output.l = QtJambiAPI::convertQVariantToJavaObject(env, *reinterpret_cast(qt_object)); return true; } -bool QVariantTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void *output, QtJambiScope*) const{ +bool QVariantTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void *output, QtJambiScope*) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert primitive value to QVariant" QTJAMBI_STACKTRACEINFO ); *reinterpret_cast(output) = QtJambiAPI::convertJavaObjectToQVariant(env, java_value.l); return true; } -QtJambiTypeEntry::NativeToJavaResult JLongTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JLongTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jlong* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value!=0; + output.z = *value!=0; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = *value; + output.j = *value; break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaLongObject(env, *value); + output.l = QtJambiAPI::toJavaLongObject(env, *value); break; } } @@ -4217,33 +4655,31 @@ QMessageLogContextTypeEntry::QMessageLogContextTypeEntry(JNIEnv* env, { } -QtJambiTypeEntry::NativeToJavaResult QMessageLogContextTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult QMessageLogContextTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType javaType) const{ if(javaType!=jValueType::l) JavaException::raiseIllegalArgumentException(env, "Cannot convert object type" QTJAMBI_STACKTRACEINFO ); if (!qt_object){ - output->l = nullptr; + output.l = nullptr; return true; } - if(!creatableClass() || !creatorMethod()) - JavaException::raiseError(env, "Uncreatable type" QTJAMBI_STACKTRACEINFO ); - output->l = env->NewObject(creatableClass(), creatorMethod(), nullptr); + output.l = env->NewObject(creatableClass(), creatorMethod(), nullptr); JavaException::check(env QTJAMBI_STACKTRACEINFO ); const QSharedPointer& link = QtJambiLink::createLinkForNativeObject( env, - output->l, + output.l, const_cast(qt_object), LINK_NAME_ARG(qtName()) false, false, m_deleter, m_owner_function, - QtJambiLink::Ownership::None + mode==NativeToJavaConversionMode::TransferOwnership ? QtJambiLink::Ownership::Java : QtJambiLink::Ownership::None ); link->disableDebugMessaging(); return link; } -bool JLongTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JLongTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jlong* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4289,43 +4725,43 @@ JIntTypeEntry::JIntTypeEntry(JNIEnv* env, const std::type_info& typeId, const ch { } -QtJambiTypeEntry::NativeToJavaResult JIntTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JIntTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jint* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value!=0; + output.z = *value!=0; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaIntegerObject(env, *value); + output.l = QtJambiAPI::toJavaIntegerObject(env, *value); break; } } return true; } -bool JIntTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JIntTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jint* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4370,43 +4806,43 @@ JShortTypeEntry::JShortTypeEntry(JNIEnv* env, const std::type_info& typeId, cons { } -QtJambiTypeEntry::NativeToJavaResult JShortTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JShortTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jshort* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value!=0; + output.z = *value!=0; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaShortObject(env, *value); + output.l = QtJambiAPI::toJavaShortObject(env, *value); break; } } return true; } -bool JShortTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JShortTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jshort* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4451,43 +4887,43 @@ JByteTypeEntry::JByteTypeEntry(JNIEnv* env, const std::type_info& typeId, const { } -QtJambiTypeEntry::NativeToJavaResult JByteTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JByteTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jbyte* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value!=0; + output.z = *value!=0; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaByteObject(env, *value); + output.l = QtJambiAPI::toJavaByteObject(env, *value); break; } } return true; } -bool JByteTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JByteTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jbyte* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4532,37 +4968,37 @@ JCharTypeEntry::JCharTypeEntry(JNIEnv* env, const std::type_info& typeId, const { } -QtJambiTypeEntry::NativeToJavaResult JCharTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JCharTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ if(typeid_equals(type(), typeid(wchar_t)) || typeid_equals(type(), typeid(jchar))){ const jchar* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value!=0; + output.z = *value!=0; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaCharacterObject(env, *value); + output.l = QtJambiAPI::toJavaCharacterObject(env, *value); break; } } @@ -4571,31 +5007,31 @@ QtJambiTypeEntry::NativeToJavaResult JCharTypeEntry::convertToJava(JNIEnv *env, if(value){ switch (javaType) { case jValueType::z: - output->z = value->cell()!=0; + output.z = value->cell()!=0; break; case jValueType::b: - output->b = jbyte(value->cell()); + output.b = jbyte(value->cell()); break; case jValueType::c: - output->c = jchar(value->cell()); + output.c = jchar(value->cell()); break; case jValueType::s: - output->s = jshort(value->cell()); + output.s = jshort(value->cell()); break; case jValueType::i: - output->i = jint(value->cell()); + output.i = jint(value->cell()); break; case jValueType::j: - output->j = jlong(value->cell()); + output.j = jlong(value->cell()); break; case jValueType::f: - output->f = jfloat(value->cell()); + output.f = jfloat(value->cell()); break; case jValueType::d: - output->d = jdouble(value->cell()); + output.d = jdouble(value->cell()); break; case jValueType::l: - output->l = QtJambiAPI::toJavaCharacterObject(env, value->cell()); + output.l = QtJambiAPI::toJavaCharacterObject(env, value->cell()); break; } } @@ -4604,31 +5040,31 @@ QtJambiTypeEntry::NativeToJavaResult JCharTypeEntry::convertToJava(JNIEnv *env, if(value){ switch (javaType) { case jValueType::z: - output->z = value->unicode()!=0; + output.z = value->unicode()!=0; break; case jValueType::b: - output->b = jbyte(value->unicode()); + output.b = jbyte(value->unicode()); break; case jValueType::c: - output->c = jchar(value->unicode()); + output.c = jchar(value->unicode()); break; case jValueType::s: - output->s = jshort(value->unicode()); + output.s = jshort(value->unicode()); break; case jValueType::i: - output->i = jint(value->unicode()); + output.i = jint(value->unicode()); break; case jValueType::j: - output->j = jlong(value->unicode()); + output.j = jlong(value->unicode()); break; case jValueType::f: - output->f = jfloat(value->unicode()); + output.f = jfloat(value->unicode()); break; case jValueType::d: - output->d = jdouble(value->unicode()); + output.d = jdouble(value->unicode()); break; case jValueType::l: - output->l = QtJambiAPI::toJavaCharacterObject(env, value->unicode()); + output.l = QtJambiAPI::toJavaCharacterObject(env, value->unicode()); break; } } @@ -4636,7 +5072,7 @@ QtJambiTypeEntry::NativeToJavaResult JCharTypeEntry::convertToJava(JNIEnv *env, return true; } -bool JCharTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JCharTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ if(typeid_equals(type(), typeid(wchar_t)) || typeid_equals(type(), typeid(jchar))){ jchar* value = reinterpret_cast(output); if(value){ @@ -4751,43 +5187,43 @@ JBooleanTypeEntry::JBooleanTypeEntry(JNIEnv* env, const std::type_info& typeId, { } -QtJambiTypeEntry::NativeToJavaResult JBooleanTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JBooleanTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jboolean* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = *value; + output.z = *value; break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaBooleanObject(env, *value); + output.l = QtJambiAPI::toJavaBooleanObject(env, *value); break; } } return true; } -bool JBooleanTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JBooleanTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jboolean* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4830,43 +5266,43 @@ JDoubleTypeEntry::JDoubleTypeEntry(JNIEnv* env, const std::type_info& typeId, co { } -QtJambiTypeEntry::NativeToJavaResult JDoubleTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JDoubleTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jdouble* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = jboolean(*value); + output.z = jboolean(*value); break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaDoubleObject(env, *value); + output.l = QtJambiAPI::toJavaDoubleObject(env, *value); break; } } return true; } -bool JDoubleTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JDoubleTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jdouble* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4909,43 +5345,43 @@ JFloatTypeEntry::JFloatTypeEntry(JNIEnv* env, const std::type_info& typeId, cons { } -QtJambiTypeEntry::NativeToJavaResult JFloatTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, bool, jvalue* output, jValueType javaType) const{ +QtJambiTypeEntry::NativeToJavaResult JFloatTypeEntry::convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode, jvalue& output, jValueType javaType) const{ const jfloat* value = reinterpret_cast(qt_object); if(value){ switch (javaType) { case jValueType::z: - output->z = jboolean(*value); + output.z = jboolean(*value); break; case jValueType::b: - output->b = jbyte(*value); + output.b = jbyte(*value); break; case jValueType::c: - output->c = jchar(*value); + output.c = jchar(*value); break; case jValueType::s: - output->s = jshort(*value); + output.s = jshort(*value); break; case jValueType::i: - output->i = jint(*value); + output.i = jint(*value); break; case jValueType::j: - output->j = jlong(*value); + output.j = jlong(*value); break; case jValueType::f: - output->f = jfloat(*value); + output.f = jfloat(*value); break; case jValueType::d: - output->d = jdouble(*value); + output.d = jdouble(*value); break; case jValueType::l: - output->l = QtJambiAPI::toJavaFloatObject(env, *value); + output.l = QtJambiAPI::toJavaFloatObject(env, *value); break; } } return true; } -bool JFloatTypeEntry::convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope*) const{ +bool JFloatTypeEntry::convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope*) const{ jfloat* value = reinterpret_cast(output); if(value){ switch (javaType) { @@ -4991,12 +5427,12 @@ NullptrTypeEntry::NullptrTypeEntry(JNIEnv* env, const std::type_info& typeId, co { } -QtJambiTypeEntry::NativeToJavaResult NullptrTypeEntry::convertToJava(JNIEnv *, const void *, bool, jvalue* output, jValueType) const{ - output->l = nullptr; +QtJambiTypeEntry::NativeToJavaResult NullptrTypeEntry::convertToJava(JNIEnv *, const void *, NativeToJavaConversionMode, jvalue& output, jValueType) const{ + output.l = nullptr; return true; } -bool NullptrTypeEntry::convertToNative(JNIEnv *, const jvalue&, jValueType, void * output, QtJambiScope*) const{ +bool NullptrTypeEntry::convertToNative(JNIEnv *, jvalue, jValueType, void * output, QtJambiScope*) const{ if(void** value = reinterpret_cast(output)) *value = nullptr; return true; diff --git a/src/cpp/QtJambi/typeentry_p.h b/src/cpp/QtJambi/typeentry_p.h index 1236c8b7..1de3d71a 100644 --- a/src/cpp/QtJambi/typeentry_p.h +++ b/src/cpp/QtJambi/typeentry_p.h @@ -73,11 +73,11 @@ class QtJambiTypeEntry : public QSharedData{ public: NativeToJavaResult(bool success); NativeToJavaResult(const QSharedPointer& link); - operator bool() const; - bool operator!() const; - const QSharedPointer& link() const; + inline operator bool() const {return m_success;} + inline bool operator!() const {return !m_success;} + //inline const QSharedPointer& link() const {return m_link;} private: - QSharedPointer m_link; + //QSharedPointer m_link; bool m_success; }; virtual ~QtJambiTypeEntry(); @@ -100,9 +100,9 @@ class QtJambiTypeEntry : public QSharedData{ QtJambiTypeEntryPtr getFittingTypeEntry(JNIEnv *env, void *ptr_shared_pointer, const SmartPointerGetterFunction& sharedPointerGetter, qintptr& offset) const; virtual QtJambiTypeEntryPtr getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const; - virtual NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const = 0; - virtual bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const = 0; - virtual bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const = 0; + virtual NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const = 0; + virtual bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const = 0; + virtual bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const = 0; static QtJambiTypeEntryPtr getTypeEntry(JNIEnv* env, const std::type_info& typeId); static QtJambiTypeEntryPtr getTypeEntry(JNIEnv* env, const std::type_info& typeId, const char* qtName); @@ -129,9 +129,9 @@ class EnumTypeEntry : public QtJambiTypeEntry{ bool isEnum() const final; const FlagsTypeEntry* flagType() const; EnumTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, jmethodID creator_method, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: FlagsTypeEntry* m_flagType; friend FlagsTypeEntry; @@ -142,9 +142,9 @@ class FlagsTypeEntry : public QtJambiTypeEntry{ bool isFlags() const final; const EnumTypeEntry* enumType() const; FlagsTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, jmethodID creator_method, size_t value_size, const EnumTypeEntry* enumType); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: const EnumTypeEntry* m_enumType; }; @@ -152,7 +152,7 @@ class FlagsTypeEntry : public QtJambiTypeEntry{ class AbstractSimpleTypeEntry : public QtJambiTypeEntry{ public: AbstractSimpleTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: }; @@ -160,8 +160,8 @@ class AbstractSimpleTypeEntry : public QtJambiTypeEntry{ class QCborValueRefTypeEntry : public AbstractSimpleTypeEntry{ public: QCborValueRefTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; #endif @@ -169,104 +169,104 @@ class QCborValueRefTypeEntry : public AbstractSimpleTypeEntry{ class StringTypeEntry : public AbstractSimpleTypeEntry{ public: StringTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class StringUtilTypeEntry : public AbstractSimpleTypeEntry{ public: StringUtilTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class MetaUtilTypeEntry : public AbstractSimpleTypeEntry{ public: MetaUtilTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class QVariantTypeEntry : public AbstractSimpleTypeEntry{ public: QVariantTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JLongTypeEntry : public AbstractSimpleTypeEntry{ public: JLongTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JIntTypeEntry : public AbstractSimpleTypeEntry{ public: JIntTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JShortTypeEntry : public AbstractSimpleTypeEntry{ public: JShortTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JByteTypeEntry : public AbstractSimpleTypeEntry{ public: JByteTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JCharTypeEntry : public AbstractSimpleTypeEntry{ public: JCharTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JBooleanTypeEntry : public AbstractSimpleTypeEntry{ public: JBooleanTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JDoubleTypeEntry : public AbstractSimpleTypeEntry{ public: JDoubleTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class JFloatTypeEntry : public AbstractSimpleTypeEntry{ public: JFloatTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; class NullptrTypeEntry : public AbstractSimpleTypeEntry{ public: NullptrTypeEntry(JNIEnv* env, const std::type_info& typeId, const char *qt_name, const char *java_name, jclass java_class, size_t value_size); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: }; @@ -304,9 +304,9 @@ class InterfaceTypeEntry : public QtJambiTypeEntry, public PolymorphicTypeEntryI TypeInfoSupplier typeInfoSupplier ); QtJambiTypeEntryPtr getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const override; - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; const QList& polymorphicIdHandlers() const override; protected: jclass m_java_impl_class; @@ -344,7 +344,8 @@ class InterfaceIFTypeEntry : public InterfaceTypeEntry{ const QMap& interfaceOffsets, const QSet& interfaceTypes, const QMap>& inheritedInterfaces); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; uint offset(const std::type_info& toType) const override; protected: QMap m_interfaceOffsets; @@ -373,8 +374,8 @@ class InterfaceValueTypeEntry : public InterfaceTypeEntry{ TypeInfoSupplier typeInfoSupplier, const QMetaType& qt_meta_type ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; protected: QMetaType m_qt_meta_type; }; @@ -401,7 +402,7 @@ class InterfaceValueIFTypeEntry : public InterfaceIFTypeEntry{ const QMap& interfaceOffsets, const QSet& interfaceTypes, const QMap>& inheritedInterfaces); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; protected: QMetaType m_qt_meta_type; }; @@ -430,9 +431,9 @@ class FunctionalTypeEntry : public QtJambiTypeEntry{ const QMetaType& qt_meta_type, bool is_std_function ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; private: size_t m_shell_size; jclass m_java_impl_class; @@ -468,9 +469,9 @@ class ObjectTypeEntry : public QtJambiTypeEntry, public PolymorphicTypeEntryInte TypeInfoSupplier typeInfoSupplier ); QtJambiTypeEntryPtr getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const override; - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; const QList& polymorphicIdHandlers() const override; protected: const std::type_info* m_super_type; @@ -509,7 +510,8 @@ class ObjectIFTypeEntry : public ObjectTypeEntry{ const QSet& interfaceTypes, const QMap>& inheritedInterfaces ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; uint offset(const std::type_info& toType) const override; protected: QMap m_interfaceOffsets; @@ -588,8 +590,8 @@ class ObjectValueTypeEntry : public ObjectTypeEntry{ TypeInfoSupplier typeInfoSupplier, const QMetaType& qt_meta_type ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: QMetaType m_qt_meta_type; friend class ObjectContainerTypeEntry; @@ -619,12 +621,11 @@ class ObjectValueIFTypeEntry : public ObjectIFTypeEntry{ const QSet& interfaceTypes, const QMap>& inheritedInterfaces ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; protected: QMetaType m_qt_meta_type; friend class ObjectContainerTypeEntry; friend class ObjectAbstractContainerTypeEntry; - friend class QModelIndexTypeEntry; }; class QModelIndexTypeEntry : public ObjectValueTypeEntry{ @@ -635,19 +636,14 @@ class QModelIndexTypeEntry : public ObjectValueTypeEntry{ const char *java_name, jclass java_class, jmethodID creator_method, - size_t value_size, - const std::type_info* super_type, - size_t shell_size, PtrDeleterFunction deleter, - PtrOwnerFunction owner_function, - const QVector* virtualFunctions, Destructor destructor, - const QList& polymorphicHandlers, - TypeInfoSupplier typeInfoSupplier, - const QMetaType& qt_meta_type); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + TypeInfoSupplier typeInfoSupplier); + static NativeToJavaResult convertNativeToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jobject& output); + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: + static void deleter(void *ptr, bool isShell); }; class QMessageLogContextTypeEntry : public ObjectTypeEntry{ @@ -668,7 +664,7 @@ class QMessageLogContextTypeEntry : public ObjectTypeEntry{ const QList& polymorphicHandlers, TypeInfoSupplier typeInfoSupplier ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; }; class ObjectAbstractValueTypeEntry : public ObjectValueTypeEntry{ @@ -744,8 +740,8 @@ class ObjectContainerTypeEntry : public ObjectValueTypeEntry{ TypeInfoSupplier typeInfoSupplier, const QMetaType& qt_meta_type ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: NewContainerAccessFunction m_containerAccessFactory; }; @@ -773,7 +769,8 @@ class ObjectContainerIFTypeEntry : public ObjectValueIFTypeEntry{ const QSet& interfaceTypes, const QMap>& inheritedInterfaces ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: NewContainerAccessFunction m_containerAccessFactory; }; @@ -799,8 +796,8 @@ class ObjectAbstractContainerTypeEntry : public ObjectAbstractValueTypeEntry{ const QMetaType& qt_meta_type, jclass java_wrapper_class ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: NewContainerAccessFunction m_containerAccessFactory; }; @@ -829,7 +826,8 @@ class ObjectAbstractContainerIFTypeEntry : public ObjectAbstractValueIFTypeEntry const QSet& interfaceTypes, const QMap>& inheritedInterfaces ); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; private: NewContainerAccessFunction m_containerAccessFactory; }; @@ -854,9 +852,9 @@ class QObjectTypeEntry : public QtJambiTypeEntry{ const QMetaObject* original_meta_object ); QtJambiTypeEntryPtr getFittingTypeEntry(JNIEnv *env, const void *qt_object, qintptr& offset) const override; - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; - bool convertToNative(JNIEnv *env, const jvalue& java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; + bool convertToNative(JNIEnv *env, jvalue java_value, jValueType javaType, void * output, QtJambiScope* scope) const override; protected: virtual const QSharedPointer& createLinkForNativeQObject(JNIEnv *env, jobject javaObject, QObject *object) const; const std::type_info* m_super_type; @@ -885,6 +883,7 @@ class QObjectIFTypeEntry : public QObjectTypeEntry{ const QMap>& inheritedInterfaces ); uint offset(const std::type_info& toType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; protected: const QSharedPointer& createLinkForNativeQObject(JNIEnv *env, jobject javaObject, QObject *object) const override; QMap m_interfaceOffsets; @@ -954,8 +953,8 @@ class QThreadTypeEntry : public QObjectTypeEntry{ size_t shell_size, const QVector* virtualFunctions, const QMetaObject* original_meta_object); - NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, bool makeCopyOfValues, jvalue* output, jValueType valueType) const override; - bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue* output, jValueType valueType) const override; + NativeToJavaResult convertToJava(JNIEnv *env, const void *qt_object, NativeToJavaConversionMode mode, jvalue& output, jValueType valueType) const override; + bool convertSharedPointerToJava(JNIEnv *env, void *ptr_shared_pointer, SmartPointerDeleter sharedPointerDeleter, const SmartPointerGetterFunction& sharedPointerGetter, jvalue& output, jValueType valueType) const override; }; class QObjectAbstractTypeEntry : public QObjectTypeEntry{ diff --git a/src/cpp/QtJambi/typemanager.cpp b/src/cpp/QtJambi/typemanager.cpp index b52f628e..f02ed4dc 100644 --- a/src/cpp/QtJambi/typemanager.cpp +++ b/src/cpp/QtJambi/typemanager.cpp @@ -194,7 +194,7 @@ void insertHashFunctionByMetaType(int type, const QHashFunction& fct){ gHashFunctionByMetaTypeHash->insert(type, fct); } -hash_type ContainerAccessAPI::pointerHashFunction(const void* ptr, hash_type seed){ return !ptr ? 0 : ::qHash(quintptr(*reinterpret_cast(ptr)), seed);} +hash_type ContainerAccessAPI::pointerHashFunction(const void* ptr, hash_type seed){ return !ptr ? 0 : ::qHash(*reinterpret_cast(ptr), seed);} #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) bool ContainerAccessAPI::pointerLessFunction(const void* ptr1, const void* ptr2){ return !ptr1 || !ptr2 ? false : quintptr(*reinterpret_cast(ptr1)) < quintptr(*reinterpret_cast(ptr2));} bool ContainerAccessAPI::pointerEqualFunction(const void* ptr1, const void* ptr2){ return !ptr1 || !ptr2 ? false : quintptr(*reinterpret_cast(ptr1)) == quintptr(*reinterpret_cast(ptr2));} @@ -1036,31 +1036,31 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm internalTypeName = processInternalTypeName(internalTypeName, pointerType); if (internalMetaType.id() == QMetaType::QVariant) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertQVariantToJavaObject(env, *reinterpret_cast(in)); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertQVariantToJavaObject(env, *reinterpret_cast(in)); return true; }; }else if ( internalMetaType.id() == QMetaType::Nullptr || internalMetaType.id() == QMetaType::Void || Java::Runtime::Void::isSameClass(_env, externalClass) || Java::Runtime::Void::isPrimitiveType(_env, externalClass)) { - return [](JNIEnv*, QtJambiScope*, const void*, jvalue* p, bool)->bool{ - p->l = nullptr; + return [](JNIEnv*, QtJambiScope*, const void*, jvalue& p, bool)->bool{ + p.l = nullptr; return true; }; }else if(_env->IsSameObject(externalClass, nullptr)){ - return [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + return [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }; #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) }else if(JObjectValueWrapper::isValueType(internalMetaType)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = reinterpret_cast(in)->value(env); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = reinterpret_cast(in)->value(env); return true; }; }else if(isJObjectWrappedMetaType(internalMetaType)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = env->NewLocalRef(reinterpret_cast(in)->object()); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = env->NewLocalRef(reinterpret_cast(in)->object()); return true; }; #endif @@ -1088,7 +1088,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm componentClass, true); if(Java::Runtime::Byte::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1098,15 +1098,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.b; } env->ReleaseByteArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Short::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1116,15 +1116,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.s; } env->ReleaseShortArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Integer::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1134,15 +1134,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.i; } env->ReleaseIntArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Long::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1152,15 +1152,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.j; } env->ReleaseLongArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Float::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1170,15 +1170,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.f; } env->ReleaseFloatArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Double::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1188,15 +1188,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.d; } env->ReleaseDoubleArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Character::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1206,15 +1206,15 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.c; } env->ReleaseCharArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else if(Java::Runtime::Boolean::isPrimitiveType(_env,componentClass)){ - return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1224,16 +1224,16 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); elements[j++] = el.z; } env->ReleaseBooleanArrayElements(array, elements, 0); - p->l = array; + p.l = array; return result; }; }else{ componentClass = getGlobalClassRef(_env, componentClass); - return [internalToExternalComponentConverter, size, componentClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [internalToExternalComponentConverter, size, componentClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool forceBoxedType)->bool{ const std::initializer_list* il = reinterpret_cast*>(in); const char* begin = il->begin(); bool result = true; @@ -1242,126 +1242,126 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm for (size_t i=0; isize(); i+=size) { jvalue el; el.l = nullptr; - result &= internalToExternalComponentConverter(env, scope, &begin[i], &el, forceBoxedType); + result &= internalToExternalComponentConverter(env, scope, &begin[i], el, forceBoxedType); env->SetObjectArrayElement(array, j++, el.l); } - p->l = array; + p.l = array; return result; }; } } } }else if(Java::Runtime::Integer::isPrimitiveType(_env,externalClass) || Java::Runtime::Integer::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->i, in, 4); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.i, in, 4); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaIntegerObject(env, p->i); + p.l = QtJambiAPI::toJavaIntegerObject(env, p.i); } return true; }; }else if(Java::Runtime::Long::isPrimitiveType(_env,externalClass) || Java::Runtime::Long::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->j, in, 8); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.j, in, 8); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaLongObject(env, p->j); + p.l = QtJambiAPI::toJavaLongObject(env, p.j); } return true; }; }else if(Java::Runtime::Short::isPrimitiveType(_env,externalClass) || Java::Runtime::Short::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->s, in, 2); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.s, in, 2); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaShortObject(env, p->s); + p.l = QtJambiAPI::toJavaShortObject(env, p.s); } return true; }; }else if(Java::Runtime::Byte::isPrimitiveType(_env,externalClass) || Java::Runtime::Byte::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->b, in, 1); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.b, in, 1); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaByteObject(env, p->b); + p.l = QtJambiAPI::toJavaByteObject(env, p.b); } return true; }; }else if(Java::Runtime::Boolean::isPrimitiveType(_env,externalClass) || Java::Runtime::Boolean::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->z, in, 1); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.z, in, 1); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaBooleanObject(env, p->z); + p.l = QtJambiAPI::toJavaBooleanObject(env, p.z); } return true; }; }else if(Java::Runtime::Character::isPrimitiveType(_env,externalClass) || Java::Runtime::Character::isSameClass(_env,externalClass)){ if(internalMetaType.id()==QMetaType::QChar){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ const QChar* qchr = reinterpret_cast(in); - p->c = qchr->unicode(); + p.c = qchr->unicode(); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaCharacterObject(env, p->c); + p.l = QtJambiAPI::toJavaCharacterObject(env, p.c); } return true; }; }else{ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->c, in, 2); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.c, in, 2); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaCharacterObject(env, p->c); + p.l = QtJambiAPI::toJavaCharacterObject(env, p.c); } return true; }; } }else if(Java::Runtime::Float::isPrimitiveType(_env,externalClass) || Java::Runtime::Float::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->f, in, 4); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.f, in, 4); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaFloatObject(env, p->f); + p.l = QtJambiAPI::toJavaFloatObject(env, p.f); } return true; }; }else if(Java::Runtime::Double::isPrimitiveType(_env,externalClass) || Java::Runtime::Double::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool forceBoxedType)->bool{ - memcpy(&p->d, in, 8); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool forceBoxedType)->bool{ + memcpy(&p.d, in, 8); if(forceBoxedType){ - p->l = QtJambiAPI::toJavaDoubleObject(env, p->d); + p.l = QtJambiAPI::toJavaDoubleObject(env, p.d); } return true; }; }else if(Java::Runtime::String::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QString *strp = reinterpret_cast(in); - p->l = qtjambi_cast(env, *strp); + p.l = qtjambi_cast(env, *strp); return true; }; }else if(Java::Runtime::CharSequence::isSameClass(_env,externalClass) || Java::QtCore::QString::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QString *strp = reinterpret_cast(in); - p->l = QtJambiAPI::convertQStringToJavaObject(env, *strp); + p.l = QtJambiAPI::convertQStringToJavaObject(env, *strp); return true; }; }else if(Java::QtJambi::QNativePointer::isSameClass(_env,externalClass)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const void * const*in_p = reinterpret_cast(in); - p->l = QtJambiAPI::convertNativeToQNativePointer(env, *in_p, QNativePointer::Type::Pointer, 1); + p.l = QtJambiAPI::convertNativeToQNativePointer(env, *in_p, QNativePointer::Type::Pointer, 1); return true; }; } else if (Java::QtJambi::QFlags::isAssignableFrom(_env,externalClass)) { if (internalMetaType.id() == registeredMetaTypeID(typeid(JObjectWrapper))) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = env->NewLocalRef(reinterpret_cast(in)->object()); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = env->NewLocalRef(reinterpret_cast(in)->object()); return true; }; }else if (Java::QtCore::QMetaType$GenericFlags::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jint value = *reinterpret_cast(in); - p->l = Java::QtCore::QMetaType$GenericFlags::newInstance(env, _internalMetaType, value); + p.l = Java::QtCore::QMetaType$GenericFlags::newInstance(env, _internalMetaType, value); return true; }; }else{ externalClass = getGlobalClassRef(_env, externalClass); - return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertQFlagsToJavaObject(env, *reinterpret_cast(in), externalClass); - return p->l!=nullptr; + return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertQFlagsToJavaObject(env, *reinterpret_cast(in), externalClass); + return p.l!=nullptr; }; } } else if(Java::Runtime::Enum::isAssignableFrom(_env,externalClass) @@ -1370,13 +1370,13 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::QtJambi::QtShortEnumerator::isAssignableFrom(_env,externalClass) || Java::QtJambi::QtByteEnumerator::isAssignableFrom(_env,externalClass)){ if (internalMetaType.id() == registeredMetaTypeID(typeid(JObjectWrapper)) || internalMetaType.id() == registeredMetaTypeID(typeid(JEnumWrapper))) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = env->NewLocalRef(reinterpret_cast(in)->object()); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = env->NewLocalRef(reinterpret_cast(in)->object()); return true; }; }else if (Java::QtCore::QMetaType$GenericEnumerator::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jint index = -1; jint value = *reinterpret_cast(in); jstring name = nullptr; @@ -1393,12 +1393,12 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm name = env->NewStringUTF(_name); } } - p->l = Java::QtCore::QMetaType$GenericEnumerator::newInstance(env, _internalMetaType, index, value, name); + p.l = Java::QtCore::QMetaType$GenericEnumerator::newInstance(env, _internalMetaType, index, value, name); return true; }; } else if (Java::QtCore::QMetaType$GenericShortEnumerator::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jint index = -1; jshort value = *reinterpret_cast(in); jstring name = nullptr; @@ -1415,12 +1415,12 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm name = env->NewStringUTF(_name); } } - p->l = Java::QtCore::QMetaType$GenericShortEnumerator::newInstance(env, _internalMetaType, index, value, name); + p.l = Java::QtCore::QMetaType$GenericShortEnumerator::newInstance(env, _internalMetaType, index, value, name); return true; }; } else if (Java::QtCore::QMetaType$GenericByteEnumerator::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jint index = -1; jbyte value = *reinterpret_cast(in); jstring name = nullptr; @@ -1437,12 +1437,12 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm name = env->NewStringUTF(_name); } } - p->l = Java::QtCore::QMetaType$GenericByteEnumerator::newInstance(env, _internalMetaType, index, value, name); + p.l = Java::QtCore::QMetaType$GenericByteEnumerator::newInstance(env, _internalMetaType, index, value, name); return true; }; } else if (Java::QtCore::QMetaType$GenericLongEnumerator::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jint index = -1; jlong value = *reinterpret_cast(in); jstring name = nullptr; @@ -1459,102 +1459,102 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm name = env->NewStringUTF(_name); } } - p->l = Java::QtCore::QMetaType$GenericLongEnumerator::newInstance(env, _internalMetaType, index, value, name); + p.l = Java::QtCore::QMetaType$GenericLongEnumerator::newInstance(env, _internalMetaType, index, value, name); return true; }; }else{ JObjectWrapper external_class(_env, externalClass); if (Java::QtJambi::QtEnumerator::isAssignableFrom(_env,externalClass)) { - return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); - return p->l!=nullptr; + return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); + return p.l!=nullptr; }; }else if (Java::QtJambi::QtShortEnumerator::isAssignableFrom(_env,externalClass)) { - return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); - return p->l!=nullptr; + return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); + return p.l!=nullptr; }; }else if (Java::QtJambi::QtByteEnumerator::isAssignableFrom(_env,externalClass)) { - return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); - return p->l!=nullptr; + return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); + return p.l!=nullptr; }; }else if (Java::QtJambi::QtLongEnumerator::isAssignableFrom(_env,externalClass)) { - return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); - return p->l!=nullptr; + return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertEnumToJavaObject(env, *reinterpret_cast(in), jclass(external_class.object())); + return p.l!=nullptr; }; }else /*if (Java::Runtime::Enum::isAssignableFrom(_env,externalClass))*/ { - return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [external_class](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ jobjectArray enumConstants = Java::Runtime::Class::getEnumConstants(env, external_class.object()); - p->l = env->GetObjectArrayElement(enumConstants, *reinterpret_cast(in)); - return p->l!=nullptr; + p.l = env->GetObjectArrayElement(enumConstants, *reinterpret_cast(in)); + return p.l!=nullptr; }; } } } else if (Java::QtCore::QMetaType$GenericValue::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaOwnedObjectAsWrapper(env, QMetaType::create(_internalMetaType, in), Java::QtCore::QMetaType$GenericValue::getClass(env)); - if(p->l){ - Java::QtCore::QMetaType$GenericValue::set_type(env, p->l, _internalMetaType); + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaOwnedObjectAsWrapper(env, QMetaType::create(_internalMetaType, in), Java::QtCore::QMetaType$GenericValue::getClass(env)); + if(p.l){ + Java::QtCore::QMetaType$GenericValue::set_type(env, p.l, _internalMetaType); } return true; }; } else if (Java::QtCore::QMetaType$GenericObject::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, Java::QtCore::QMetaType$GenericObject::getClass(env)); - if(p->l){ - Java::QtCore::QMetaType$GenericObject::set_type(env, p->l, _internalMetaType); + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, Java::QtCore::QMetaType$GenericObject::getClass(env)); + if(p.l){ + Java::QtCore::QMetaType$GenericObject::set_type(env, p.l, _internalMetaType); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } return true; }; } else if (Java::QtCore::QMetaType$GenericGadget::isSameClass(_env,externalClass)) { jint _internalMetaType = internalMetaType.id(); if(internalMetaType.flags() & QMetaType::PointerToGadget){ - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, Java::QtCore::QMetaType$GenericGadget::getClass(env)); - if(p->l){ - Java::QtCore::QMetaType$GenericGadget::set_type(env, p->l, _internalMetaType); + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, Java::QtCore::QMetaType$GenericGadget::getClass(env)); + if(p.l){ + Java::QtCore::QMetaType$GenericGadget::set_type(env, p.l, _internalMetaType); jobject mo = qtjambi_cast(env, QMetaType::metaObjectForType(_internalMetaType)); - Java::QtJambi::QtGadget::set_staticMetaObject(env, p->l, mo); + Java::QtJambi::QtGadget::set_staticMetaObject(env, p.l, mo); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } return true; }; }else{ - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, QMetaType::create(_internalMetaType, in), Java::QtCore::QMetaType$GenericGadget::getClass(env)); - if(p->l){ - Java::QtCore::QMetaType$GenericGadget::set_type(env, p->l, _internalMetaType); + return [_internalMetaType](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, QMetaType::create(_internalMetaType, in), Java::QtCore::QMetaType$GenericGadget::getClass(env)); + if(p.l){ + Java::QtCore::QMetaType$GenericGadget::set_type(env, p.l, _internalMetaType); jobject mo = qtjambi_cast(env, QMetaType::metaObjectForType(_internalMetaType)); - Java::QtJambi::QtGadget::set_staticMetaObject(env, p->l, mo); + Java::QtJambi::QtGadget::set_staticMetaObject(env, p.l, mo); } return true; }; } }else if (Java::QtCore::QMetaObject::isAssignableFrom(_env,externalClass)) { if (allowValuePointers && internalTypeName.contains(QLatin1Char('*'))){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; }else{ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = qtjambi_cast(env, reinterpret_cast(in)); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = qtjambi_cast(env, reinterpret_cast(in)); return true; }; } }else if (Java::QtCore::QMetaObject$Connection::isAssignableFrom(_env,externalClass)) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1566,9 +1566,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Collection::isSameClass(_env,externalClass) || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1580,9 +1580,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Collection::isSameClass(_env,externalClass) || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1594,9 +1594,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Collection::isSameClass(_env,externalClass) || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1856,37 +1856,37 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm QSharedPointer sharedAccess(containerAccess, &containerDisposer); int containerMetaType = containerAccess->registerContainer(internalTypeName.toLatin1()); return [containerMetaType, containerType, sharedAccess] - (JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + (JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ AbstractContainerAccess* access = sharedAccess->clone(); switch(containerType){ case SequentialContainerType::QStack: - p->l = Java::QtCore::QStack::newInstance(env, nullptr); + p.l = Java::QtCore::QStack::newInstance(env, nullptr); break; case SequentialContainerType::QQueue: - p->l = Java::QtCore::QQueue::newInstance(env, nullptr); + p.l = Java::QtCore::QQueue::newInstance(env, nullptr); break; case SequentialContainerType::QSet: - p->l = Java::QtCore::QSet::newInstance(env, nullptr); + p.l = Java::QtCore::QSet::newInstance(env, nullptr); break; #if QT_VERSION < QT_VERSION_CHECK(6,0,0) case SequentialContainerType::QLinkedList: - p->l = Java::QtCore::QLinkedList::newInstance(env, nullptr); + p.l = Java::QtCore::QLinkedList::newInstance(env, nullptr); break; case SequentialContainerType::QVector: - p->l = Java::QtCore::QVector::newInstance(env, nullptr); + p.l = Java::QtCore::QVector::newInstance(env, nullptr); break; #endif default: - p->l = Java::QtCore::QList::newInstance(env, nullptr); + p.l = Java::QtCore::QList::newInstance(env, nullptr); break; } void* ptr = access->createContainer(in); QMetaType _containerMetaType(containerMetaType); - QSharedPointer link = QtJambiLink::createLinkForContainer(env, p->l, ptr, _containerMetaType, + QSharedPointer link = QtJambiLink::createLinkForContainer(env, p.l, ptr, _containerMetaType, false, true, access); if (!link) { - p->l = nullptr; + p.l = nullptr; if(access) access->dispose(); } @@ -1896,7 +1896,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm }; } } - return [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + return [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }; }else if((internalMetaType.id()==QMetaType::QVariantMap @@ -1907,9 +1907,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Map::isSameClass(_env,externalClass) || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1920,9 +1920,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Map::isSameClass(_env,externalClass) || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -1934,9 +1934,9 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || Java::Runtime::Object::isSameClass(_env,externalClass)) ){ return [] - (JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + (JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = qtjambi_cast(env, *reinterpret_cast(in)); + p.l = qtjambi_cast(env, *reinterpret_cast(in)); } return true; }; @@ -2287,39 +2287,39 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm if(mapType == AssociativeContainerType::QPair){ QSharedPointer pairAccess(sharedAccess.dynamicCast()); return [pairAccess] - (JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + (JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ jobject first = pairAccess->first(env, in); jobject second = pairAccess->second(env, in); - p->l = Java::QtCore::QPair::newInstance(env, first, second); + p.l = Java::QtCore::QPair::newInstance(env, first, second); } return true; }; }else{ return [containerMetaType, mapType, sharedAccess] - (JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + (JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ AbstractContainerAccess* access = sharedAccess->clone(); switch(mapType){ case AssociativeContainerType::QMap: - p->l = Java::QtCore::QMap::newInstance(env, nullptr); + p.l = Java::QtCore::QMap::newInstance(env, nullptr); break; case AssociativeContainerType::QMultiMap: - p->l = Java::QtCore::QMultiMap::newInstance(env, nullptr); + p.l = Java::QtCore::QMultiMap::newInstance(env, nullptr); break; case AssociativeContainerType::QMultiHash: - p->l = Java::QtCore::QMultiHash::newInstance(env, nullptr); + p.l = Java::QtCore::QMultiHash::newInstance(env, nullptr); break; default: - p->l = Java::QtCore::QHash::newInstance(env, nullptr); + p.l = Java::QtCore::QHash::newInstance(env, nullptr); break; } void* ptr = access->createContainer(in); QMetaType _containerMetaType(containerMetaType); - QSharedPointer link = QtJambiLink::createLinkForNativeObject(env, p->l, ptr, _containerMetaType, + QSharedPointer link = QtJambiLink::createLinkForNativeObject(env, p.l, ptr, _containerMetaType, false, true, access, QtJambiLink::Ownership::None); if (!link) { - p->l = nullptr; + p.l = nullptr; if(access) access->dispose(); } @@ -2331,7 +2331,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm } } } - return [](JNIEnv*, QtJambiScope*, const void*, jvalue*, bool)->bool{ + return [](JNIEnv*, QtJambiScope*, const void*, jvalue&, bool)->bool{ return false; }; }else if ([&]() -> bool { @@ -2374,10 +2374,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm if(typeId){ if (Java::QtCore::QObject::isAssignableFrom(_env,externalClass)) { if(pointerType == PointerType::SharedPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QSharedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2385,10 +2385,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::WeakPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QWeakPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2396,10 +2396,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::shared_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::shared_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2407,10 +2407,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::weak_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::weak_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2418,41 +2418,41 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::ScopedPointer){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const QScopedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->data(), *typeId); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->data(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else if(pointerType == PointerType::unique_ptr){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const std::unique_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->get(), *typeId); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->get(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else{ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ QObject * const *ptr = reinterpret_cast(in); if(ptr){ QObject * qobject = *ptr; - p->l = QtJambiAPI::convertQObjectToJavaObject(env, qobject, *typeId); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, qobject, *typeId); } return true; }; } } else if(isInterface(*typeId)){ if(pointerType == PointerType::SharedPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QSharedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaInterface(env, + p.l = internal_convertSmartPointerToJavaInterface(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2461,10 +2461,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::WeakPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QWeakPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaInterface(env, + p.l = internal_convertSmartPointerToJavaInterface(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2473,10 +2473,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::shared_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::shared_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaInterface(env, *typeId, + p.l = internal_convertSmartPointerToJavaInterface(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2484,10 +2484,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::weak_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::weak_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaInterface(env, *typeId, + p.l = internal_convertSmartPointerToJavaInterface(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2495,28 +2495,28 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::ScopedPointer){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const QScopedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else if(pointerType == PointerType::unique_ptr){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const std::unique_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else{ if (internalTypeName.endsWith(QLatin1Char('*'))){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ void * const *ptr = reinterpret_cast(in); if(ptr){ // If we found a link for the object, we use the java object @@ -2527,7 +2527,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm jobject obj = link->getJavaObjectLocalRef(env); if(!obj && link->ownership()==QtJambiLink::Ownership::Split){ link->invalidate(env); - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); found = true; }else{ QByteArray className = getJavaName(*typeId); @@ -2536,24 +2536,24 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm targetType = JavaAPI::resolveClass(env, className); }catch(...){} if(targetType && env->IsInstanceOf(obj, targetType)){ - p->l = obj; + p.l = obj; found = true; } } } } if(!found){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } } return true; }; }else{ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *typeId); } return true; }; @@ -2561,10 +2561,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm } }else { if(pointerType == PointerType::SharedPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QSharedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertSmartPointerToJavaObject(env, + p.l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2573,10 +2573,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::WeakPointer){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QWeakPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertSmartPointerToJavaObject(env, + p.l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2585,10 +2585,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::shared_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::shared_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, + p.l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2596,10 +2596,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::weak_ptr){ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::weak_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, + p.l = QtJambiAPI::convertSmartPointerToJavaObject(env, *typeId, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2607,22 +2607,22 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::ScopedPointer){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const QScopedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else if(pointerType == PointerType::unique_ptr){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const std::unique_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; @@ -2636,7 +2636,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm #endif )){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ void * const *ptr = reinterpret_cast(in); if(ptr){ // If we found a link for the object, we use the java object @@ -2646,10 +2646,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm jobject obj = link->getJavaObjectLocalRef(env); if(!obj && link->ownership()==QtJambiLink::Ownership::Split){ link->invalidate(env); - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); found = true; if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); }else{ QByteArray className = getJavaName(*typeId); jclass targetType = nullptr; @@ -2657,22 +2657,22 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm targetType = JavaAPI::resolveClass(env, className); }catch(...){} if(targetType && env->IsInstanceOf(obj, targetType)){ - p->l = obj; + p.l = obj; found = true; } } } if(!found){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } } return true; }; }else{ if(internalTypeName.endsWith(QLatin1Char('&'))){ - return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ if(in){ // If we found a link for the object, we use the java object // from the link. @@ -2681,10 +2681,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm jobject obj = link->getJavaObjectLocalRef(env); if(!obj && link->ownership()==QtJambiLink::Ownership::Split){ link->invalidate(env); - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); found = true; if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); }else{ QByteArray className = getJavaName(*typeId); jclass targetType = nullptr; @@ -2692,23 +2692,23 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm targetType = JavaAPI::resolveClass(env, className); }catch(...){} if(targetType && env->IsInstanceOf(obj, targetType)){ - p->l = obj; + p.l = obj; found = true; } } } if(!found){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, *typeId); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } } return true; }; }else{ - return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [typeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *typeId); + p.l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *typeId); } return true; }; @@ -2721,10 +2721,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm externalClass = getGlobalClassRef(_env, externalClass, className); if (Java::QtCore::QObject::isAssignableFrom(_env,externalClass)) { if(pointerType == PointerType::SharedPointer){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QSharedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, className, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, className, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2732,10 +2732,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::WeakPointer){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QWeakPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, className, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, className, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2743,10 +2743,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::shared_ptr){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::shared_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, className, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, className, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2754,10 +2754,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::weak_ptr){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::weak_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertQObjectSmartPointerToJavaObject(env, className, + p.l = internal_convertQObjectSmartPointerToJavaObject(env, className, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2765,40 +2765,40 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::ScopedPointer){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const QScopedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->data(), externalClass); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->data(), externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else if(pointerType == PointerType::unique_ptr){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const std::unique_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->get(), externalClass); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, ptr->get(), externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else{ - return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ QObject * const *ptr = reinterpret_cast(in); if(ptr){ QObject * qobject = *ptr; - p->l = QtJambiAPI::convertQObjectToJavaObject(env, qobject, externalClass); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, qobject, externalClass); } return true; }; } } else if(pointerType == PointerType::SharedPointer){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QSharedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaObject(env, + p.l = internal_convertSmartPointerToJavaObject(env, className, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2807,10 +2807,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::WeakPointer){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QWeakPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaObject(env, + p.l = internal_convertSmartPointerToJavaObject(env, className, new QSharedPointer(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, @@ -2819,10 +2819,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::shared_ptr){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::shared_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaObject(env, className, + p.l = internal_convertSmartPointerToJavaObject(env, className, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2830,10 +2830,10 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::weak_ptr){ - return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [className](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const std::weak_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = internal_convertSmartPointerToJavaObject(env, className, + p.l = internal_convertSmartPointerToJavaObject(env, className, new std::shared_ptr(*ptr), &QtJambiPrivate::SmartPointerHelper::deletePointer, &QtJambiPrivate::SmartPointerHelper::getFromPointer); @@ -2841,22 +2841,22 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm return true; }; }else if(pointerType == PointerType::ScopedPointer){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const QScopedPointer* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->data(), externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; }else if(pointerType == PointerType::unique_ptr){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ const std::unique_ptr* ptr = reinterpret_cast*>(in); if(ptr){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, ptr->get(), externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, false, true); + scope->addObjectInvalidation(env, p.l, false, true); } return true; }; @@ -2875,7 +2875,7 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm } } if (internalTypeName.contains(QLatin1Char('*')) || forcePointerConversion){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ void * const *ptr = reinterpret_cast(in); if(ptr){ // If we found a link for the object, we use the java object @@ -2885,27 +2885,27 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm jobject obj = link->getJavaObjectLocalRef(env); if(!obj && link->ownership()==QtJambiLink::Ownership::Split){ link->invalidate(env); - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, externalClass); found = true; if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); }else{ if(env->IsInstanceOf(obj, externalClass)){ - p->l = obj; + p.l = obj; found = true; } } } if(!found){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, *ptr, externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } } return true; }; }else if(internalTypeName.endsWith(QLatin1Char('&'))){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ if(in){ // If we found a link for the object, we use the java object // from the link. @@ -2914,29 +2914,29 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm jobject obj = link->getJavaObjectLocalRef(env); if(!obj && link->ownership()==QtJambiLink::Ownership::Split){ link->invalidate(env); - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, externalClass); found = true; if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); }else{ if(env->IsInstanceOf(obj, externalClass)){ - p->l = obj; + p.l = obj; found = true; } } } if(!found){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsWrapper(env, in, externalClass); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); } } return true; }; }else{ - return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [externalClass](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ if(in){ - p->l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, externalClass); + p.l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, externalClass); } return true; }; @@ -2956,33 +2956,33 @@ InternalToExternalConverter QtJambiTypeManager::getInternalToExternalConverterIm || internalMetaType.id() == registeredMetaTypeID(typeid(JCharArrayWrapper)) || internalMetaType.id() == registeredMetaTypeID(typeid(JFloatArrayWrapper)) || internalMetaType.id() == registeredMetaTypeID(typeid(JDoubleArrayWrapper))) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = env->NewLocalRef(reinterpret_cast(in)->object()); + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = env->NewLocalRef(reinterpret_cast(in)->object()); return true; }; }else if (internalMetaType.id() == QMetaType::QVariant) { - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QVariant & variant = *reinterpret_cast(in); - p->l = QtJambiAPI::convertQVariantToJavaObject(env, variant); + p.l = QtJambiAPI::convertQVariantToJavaObject(env, variant); return true; }; }else if(const QMetaObject* metaObject = internalMetaType.metaObject()){ if(metaObject->inherits(&QObject::staticMetaObject)){ - return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ + return [](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ const QVariant & variant = *reinterpret_cast(in); - p->l = QtJambiAPI::convertQObjectToJavaObject(env, variant.value()); + p.l = QtJambiAPI::convertQObjectToJavaObject(env, variant.value()); return true; }; }else if(const std::type_info* interfaceTypeId = getTypeByQtName(metaObject->className())){ - return [interfaceTypeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *interfaceTypeId); + return [interfaceTypeId](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *interfaceTypeId); if(scope) - scope->addObjectInvalidation(env, p->l, true, true); + scope->addObjectInvalidation(env, p.l, true, true); return true; }; }else if(const std::type_info* interfaceTypeId = getTypeByMetaType(internalMetaType)){ - return [interfaceTypeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue* p, bool)->bool{ - p->l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *interfaceTypeId); + return [interfaceTypeId](JNIEnv* env, QtJambiScope*, const void* in, jvalue& p, bool)->bool{ + p.l = QtJambiAPI::convertNativeToJavaObjectAsCopy(env, in, *interfaceTypeId); return true; }; } @@ -3074,17 +3074,17 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm || internalMetaType.id() == QMetaType::Void || Java::Runtime::Void::isSameClass(_env, externalClass) || Java::Runtime::Void::isPrimitiveType(_env, externalClass)) { - return [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + return [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return true; }; }else if(_env->IsSameObject(externalClass, nullptr)){ - return [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + return [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }; #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) }else if(JObjectValueWrapper::isValueType(internalMetaType)){ QMetaType _internalMetaType = internalMetaType; - return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -3098,7 +3098,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(isJObjectWrappedMetaType(internalMetaType)){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -3117,7 +3117,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm bool isArrayClass = Java::Runtime::Class::isArray(_env, externalClass); if (internalMetaType.id() == QMetaType::QVariant) { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ if(scope && !out){ QVariant* ptr; out = ptr = new QVariant(); @@ -3173,7 +3173,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm || internalMetaType.id() == registeredMetaTypeID(typeid(JFloatArrayWrapper)) || internalMetaType.id() == registeredMetaTypeID(typeid(JDoubleArrayWrapper))){ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -3216,7 +3216,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else if(Java::Runtime::Integer::isPrimitiveType(_env,externalClass) || Java::Runtime::Integer::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType==QMetaType::fromType() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jint v; switch(valueType){ case jValueType::l: @@ -3243,7 +3243,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jint v; switch(valueType){ case jValueType::l: @@ -3290,7 +3290,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Long::isPrimitiveType(_env,externalClass) || Java::Runtime::Long::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType==QMetaType::fromType() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jlong v; switch(valueType){ case jValueType::l: @@ -3318,7 +3318,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jlong v; switch(valueType){ case jValueType::l: @@ -3366,7 +3366,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Short::isPrimitiveType(_env,externalClass) || Java::Runtime::Short::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType.id()==qMetaTypeId() || internalMetaType.id()==qMetaTypeId()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jshort v; switch(valueType){ case jValueType::l: @@ -3392,7 +3392,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jshort v; switch(valueType){ case jValueType::l: @@ -3438,7 +3438,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Byte::isPrimitiveType(_env,externalClass) || Java::Runtime::Byte::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType.id()==qMetaTypeId() || internalMetaType.id()==qMetaTypeId()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jbyte v; switch(valueType){ case jValueType::l: @@ -3462,7 +3462,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jbyte v; switch(valueType){ case jValueType::l: @@ -3506,7 +3506,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Boolean::isPrimitiveType(_env,externalClass) || Java::Runtime::Boolean::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jboolean v; switch(valueType){ case jValueType::l: @@ -3530,7 +3530,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jboolean v; switch(valueType){ case jValueType::l: @@ -3574,7 +3574,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Character::isPrimitiveType(_env,externalClass) || Java::Runtime::Character::isSameClass(_env,externalClass)){ if(internalMetaType.id()==qMetaTypeId()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jchar v; switch(valueType){ case jValueType::l: @@ -3597,7 +3597,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(!internalMetaType.isValid() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jchar v; switch(valueType){ case jValueType::l: @@ -3621,7 +3621,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jchar v; switch(valueType){ case jValueType::l: @@ -3665,7 +3665,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Float::isPrimitiveType(_env,externalClass) || Java::Runtime::Float::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jfloat v; switch(valueType){ case jValueType::l: @@ -3693,7 +3693,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jfloat v; switch(valueType){ case jValueType::l: @@ -3741,7 +3741,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::Double::isPrimitiveType(_env,externalClass) || Java::Runtime::Double::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType.id()==QMetaType::Double){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jdouble v; switch(valueType){ case jValueType::l: @@ -3765,7 +3765,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jdouble v; switch(valueType){ case jValueType::l: @@ -3809,7 +3809,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::String::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType.id()==qMetaTypeId()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(scope && !out){ QString* ptr; out = ptr = new QString; @@ -3825,7 +3825,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !Java::Runtime::String::isInstanceOf(env, val.l)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: java.lang.String").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); jstring strg = reinterpret_cast(val.l); @@ -3862,7 +3862,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::Runtime::CharSequence::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid() || internalMetaType.id()==qMetaTypeId()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(scope && !out){ QString* ptr; out = ptr = new QString; @@ -3877,7 +3877,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !Java::Runtime::CharSequence::isInstanceOf(env, val.l)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: java.lang.String").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); QString s(qtjambi_cast(env, val.l)); @@ -3913,7 +3913,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::QtJambi::QNativePointer::isSameClass(_env,externalClass)){ if(!internalMetaType.isValid()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !Java::QtJambi::QNativePointer::isInstanceOf(env, val.l)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: QNativePointer").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -3929,7 +3929,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else{ int _internalMetaType = internalMetaType.id(); - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !Java::QtJambi::QNativePointer::isInstanceOf(env, val.l)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: QNativePointer").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); void* nptr = !val.l ? nullptr : QtJambiAPI::convertQNativePointerToNative(env, val.l, 1); @@ -3973,7 +3973,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm QMetaType _internalMetaType = internalMetaType; if(internalMetaType.flags() & QMetaType::IsPointer){ #endif - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(!Java::QtCore::QMetaType$GenericValue::isInstanceOf(env, val.l)){ @@ -4020,7 +4020,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return out; }; }else{ - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!Java::QtCore::QMetaType$GenericValue::isInstanceOf(env, val.l)){ QString className = QtJambiAPI::getObjectClassName(env, val.l); @@ -4122,7 +4122,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm QMetaType _internalMetaType = internalMetaType; if(internalMetaType.flags() & QMetaType::IsPointer){ #endif - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(!Java::QtCore::QMetaType$GenericObject::isInstanceOf(env, val.l)){ @@ -4169,7 +4169,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return out; }; }else{ - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!Java::QtCore::QMetaType$GenericObject::isInstanceOf(env, val.l)){ QString className = QtJambiAPI::getObjectClassName(env, val.l); @@ -4270,7 +4270,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm QMetaType _internalMetaType = internalMetaType; #endif if(internalTypeName.endsWith("&")){ - return [_internalMetaType](JNIEnv* env, QtJambiScope*, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope*, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!Java::QtCore::QMetaType$GenericGadget::isInstanceOf(env, val.l)){ QString className = QtJambiAPI::getObjectClassName(env, val.l); @@ -4311,7 +4311,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else{ - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(!Java::QtCore::QMetaType$GenericGadget::isInstanceOf(env, val.l)){ @@ -4360,7 +4360,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::QtJambi::QFlags::isAssignableFrom(_env,externalClass)){ if(internalMetaType==QMetaType::fromType()){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jobject v; switch(valueType){ case jValueType::l: @@ -4388,7 +4388,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm #else QMetaType _internalMetaType = internalMetaType; #endif - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(Java::QtCore::QMetaType$GenericFlags::isInstanceOf(env,val.l)){ @@ -4457,7 +4457,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm #else QMetaType _internalMetaType = internalMetaType; #endif - return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(Java::QtCore::QMetaType$GenericTypeInterface::isInstanceOf(env,val.l)){ @@ -4513,7 +4513,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm || Java::QtJambi::QtByteEnumerator::isAssignableFrom(_env,externalClass) || Java::Runtime::Enum::isAssignableFrom(_env,externalClass)){ if(internalMetaType==QMetaType::fromType() || internalMetaType==QMetaType::fromType()){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ jobject v; switch(valueType){ case jValueType::l: @@ -4543,7 +4543,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm || Java::QtCore::QMetaType$GenericByteEnumerator::isSameClass(_env, externalClass) || Java::QtCore::QMetaType$GenericShortEnumerator::isSameClass(_env, externalClass) || Java::QtCore::QMetaType$GenericLongEnumerator::isSameClass(_env, externalClass)){ - return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ QVariant value; switch(valueType){ case jValueType::l:{ @@ -4657,7 +4657,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else{ - return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ QVariant value; switch(valueType){ case jValueType::l:{ @@ -4755,7 +4755,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if(Java::QtJambi::QtEnumerator::isAssignableFrom(_env,externalClass) || Java::Runtime::Enum::isAssignableFrom(_env,externalClass)){ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(!env->IsInstanceOf(val.l, externalClass)) @@ -4783,7 +4783,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if (Java::QtJambi::QtLongEnumerator::isAssignableFrom(_env,externalClass)) { - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(!env->IsInstanceOf(val.l, externalClass)) @@ -4811,7 +4811,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if (Java::QtJambi::QtShortEnumerator::isAssignableFrom(_env,externalClass)) { - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(!env->IsInstanceOf(val.l, externalClass)) @@ -4839,7 +4839,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if (Java::QtJambi::QtByteEnumerator::isAssignableFrom(_env,externalClass)) { - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType valueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) -> bool{ switch(valueType){ case jValueType::l: if(!env->IsInstanceOf(val.l, externalClass)) @@ -4869,7 +4869,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if (internalMetaType.id()==QMetaType::QStringList || internalTypeName=="QStringList") { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType t) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType t) -> bool{ if(t!=jValueType::l) return false; if(val.l && !env->IsInstanceOf(val.l, Java::Runtime::Collection::getClass(env))) @@ -4928,7 +4928,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else if (internalMetaType.id()==QMetaType::QByteArrayList || internalTypeName=="QByteArrayList") { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType t) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType t) -> bool{ if(t!=jValueType::l) return false; if(val.l && !env->IsInstanceOf(val.l, Java::Runtime::Collection::getClass(env))) @@ -4987,7 +4987,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else if (internalMetaType.id()==QMetaType::QVariantList || internalTypeName=="QVariantList") { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType t) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType t) -> bool{ if(t!=jValueType::l) return false; if(val.l && !env->IsInstanceOf(val.l, Java::Runtime::Collection::getClass(env))) @@ -5036,7 +5036,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else if (internalMetaType.id()==QMetaType::QVariantMap || internalTypeName=="QVariantMap") { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType t) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType t) -> bool{ if(t!=jValueType::l) return false; if(val.l && !env->IsInstanceOf(val.l, Java::Runtime::Map::getClass(env))) @@ -5100,7 +5100,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; }else if (internalMetaType.id()==QMetaType::QVariantHash || internalTypeName=="QVariantHash") { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType t) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType t) -> bool{ if(t!=jValueType::l) return false; if(val.l && !env->IsInstanceOf(val.l, Java::Runtime::Map::getClass(env))) @@ -5165,7 +5165,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) }else if(internalMetaType.id()==QMetaType::QVariantPair || internalTypeName=="QVariantPair"){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool{ bool response = false; if(valueType==jValueType::l){ if(in.l && !env->IsInstanceOf(in.l, Java::QtCore::QPair::getClass(env))) @@ -5187,7 +5187,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; #endif }else if (Java::QtCore::QMetaObject::isAssignableFrom(_env,externalClass) && (!internalMetaType.isValid() || QByteArray("QMetaObject*")==internalMetaType.name() || QByteArray("const QMetaObject*")==internalMetaType.name())) { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !env->IsInstanceOf(val.l, Java::QtCore::QMetaObject::getClass(env))) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, Java::QtCore::QMetaObject::getClass(env))) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -5201,7 +5201,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if (Java::QtCore::QMetaObject$Connection::isAssignableFrom(_env,externalClass) && (!internalMetaType.isValid() || QByteArray("QMetaObject::Connection")==internalMetaType.name())) { - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l && !env->IsInstanceOf(val.l, Java::QtCore::QMetaObject$Connection::getClass(env))) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, Java::QtCore::QMetaObject$Connection::getClass(env)).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); if(scope && !out){ @@ -5229,7 +5229,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm size_t size = getValueSize(*typeId); if(size>0){ if(Java::Runtime::Byte::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5261,7 +5261,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Short::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5293,7 +5293,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Integer::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5325,7 +5325,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Long::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5357,7 +5357,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Float::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5389,7 +5389,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Double::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5421,7 +5421,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Character::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5453,7 +5453,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else if(Java::Runtime::Boolean::isPrimitiveType(_env,componentClass)){ - return [](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5498,7 +5498,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm componentClass, _internalTypeName, _metaType); - return [size, externalToInternalComponentConverter, componentClass](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType) -> bool { + return [size, externalToInternalComponentConverter, componentClass](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType) -> bool { if(scope){ if(in.l){ jclass objectClass = env->GetObjectClass(in.l); @@ -5541,7 +5541,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm if(const QMetaObject* metaObject = internalMetaType.metaObject()){ if(metaObject->inherits(&QObject::staticMetaObject)){ int _internalMetaType = internalMetaType.id(); - return [metaObject,_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [metaObject,_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(Java::QtCore::QMetaType$GenericTypeInterface::isInstanceOf(env,val.l)){ int given = qtjambi_cast(env, Java::QtCore::QMetaType$GenericTypeInterface::metaType(env, val.l)).id(); if(_internalMetaType!=given){ @@ -5848,7 +5848,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm containerAppendFunction, elementClass, memberMetaType, - isContainerFunction](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool{ + isContainerFunction](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool{ bool response = false; if(valueType==jValueType::l){ if(in.l && !env->IsInstanceOf(in.l, Java::Runtime::Collection::getClass(env))) @@ -5930,7 +5930,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; } } - return [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + return [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }; }else if( ((internalTypeName.startsWith("QMap<") @@ -6286,7 +6286,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm if(mapType==AssociativeContainerType::QPair){ QSharedPointer pairAccess(sharedAccess.dynamicCast()); - return [pairAccess,keyClass,valueClass](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool{ + return [pairAccess,keyClass,valueClass](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool{ bool response = false; if(valueType==jValueType::l){ jobject first = nullptr; @@ -6370,7 +6370,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm memberMetaType1, valueClass, memberMetaType2, - isContainerFunction](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType valueType) -> bool{ + isContainerFunction](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType valueType) -> bool{ bool response = false; if(valueType==jValueType::l){ if(in.l && !env->IsInstanceOf(in.l, Java::Runtime::Map::getClass(env))) @@ -6464,7 +6464,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } } } - return [](JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) -> bool{ + return [](JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) -> bool{ return false; }; } @@ -6545,15 +6545,11 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } if(internalTypeName.endsWith("&") || !(isValue || isPointer || internalTypeName.endsWith("*") || isQmlList)){ if(isInterface){ - return [typeId, externalClass](JNIEnv* env, QtJambiScope*, const jvalue& val, void* &out, jValueType) -> bool{ + return [typeId, externalClass](JNIEnv* env, QtJambiScope*, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - if(const QSharedPointer& link = QtJambiLink::findLinkForJavaInterface(env, val.l)){ - out = link->typedPointer(*typeId); - }else{ - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - } + out = QtJambiLink::findPointerForJavaInterface(env, val.l, *typeId); }else{ out = nullptr; } @@ -6568,7 +6564,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm #endif if(is_std_function){ int metaTypeId = internalMetaType.id(); - return [typeId, externalClass, metaTypeId](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [typeId, externalClass, metaTypeId](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ QMetaType metaType(metaTypeId); if(!env->IsInstanceOf(val.l, externalClass)) @@ -6603,7 +6599,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return true; }; }else{ - return [typeId, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [typeId, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); @@ -6637,7 +6633,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm }; } }else{ - return [externalClass](JNIEnv* env, QtJambiScope*, const jvalue& val, void* &out, jValueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope*, jvalue val, void* &out, jValueType) -> bool{ if(val.l){ if(!env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); @@ -6654,7 +6650,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else if((isQmlList || isValue) && !internalTypeName.endsWith("*")){ if(isInterface){ - return [_internalMetaType, typeId, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType, typeId, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(Java::QtCore::QMetaType$GenericTypeInterface::isInstanceOf(env,val.l)){ @@ -6662,20 +6658,11 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm if(_internalMetaType!=given){ Java::Runtime::IllegalArgumentException::throwNew(env, QStringLiteral("Wrong argument given: %1, expected: %2").arg(QMetaType::typeName(given)).arg(QMetaType::typeName(_internalMetaType)) QTJAMBI_STACKTRACEINFO ); } - if(const QSharedPointer& link = QtJambiLink::findLinkForJavaInterface(env, val.l)){ - ptr = link->typedPointer(*typeId); - }else{ - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - } }else{ if(!env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QStringLiteral("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - if(const QSharedPointer& link = QtJambiLink::findLinkForJavaInterface(env, val.l)){ - ptr = link->typedPointer(*typeId); - }else{ - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - } } + ptr = QtJambiLink::findPointerForJavaInterface(env, val.l, *typeId); } if(scope && !out){ out = QMetaType::create(_internalMetaType, ptr); @@ -6709,7 +6696,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return out; }; }else{ - return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [_internalMetaType, externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(Java::QtCore::QMetaType$GenericTypeInterface::isInstanceOf(env,val.l)){ @@ -6766,16 +6753,12 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm } }else{ if(isInterface){ - return [typeId,externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [typeId,externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(!env->IsInstanceOf(val.l, externalClass)) Java::Runtime::IllegalArgumentException::throwNew(env, QString("Wrong argument given: %1, expected: %2").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")).arg(QtJambiAPI::getClassName(env, externalClass).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - if(const QSharedPointer& link = QtJambiLink::findLinkForJavaInterface(env, val.l)){ - ptr = link->typedPointer(*typeId); - }else{ - Java::QtJambi::QNoNativeResourcesException::throwNew(env, QStringLiteral("Incomplete object of type: %1").arg(QtJambiAPI::getObjectClassName(env, val.l).replace("$", ".")) QTJAMBI_STACKTRACEINFO ); - } + ptr = QtJambiLink::findPointerForJavaInterface(env, val.l, *typeId); } if(scope && !out){ void** pptr; @@ -6786,7 +6769,7 @@ ExternalToInternalConverter QtJambiTypeManager::getExternalToInternalConverterIm return out; }; }else{ - return [externalClass](JNIEnv* env, QtJambiScope* scope, const jvalue& val, void* &out, jValueType) -> bool{ + return [externalClass](JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType) -> bool{ void* ptr = nullptr; if(val.l){ if(!env->IsInstanceOf(val.l, externalClass)) diff --git a/src/cpp/QtJambi/utils.cpp b/src/cpp/QtJambi/utils.cpp index 79764279..a4edf21c 100644 --- a/src/cpp/QtJambi/utils.cpp +++ b/src/cpp/QtJambi/utils.cpp @@ -137,7 +137,7 @@ class InternalToExternalConverterPointerData : public InternalToExternalConverte public: inline InternalToExternalConverterPointerData(InternalToExternalConverter::FunctionPointer functionPointer) noexcept : m_functionPointer(functionPointer){Q_ASSERT(functionPointer);} - inline bool invoke(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType) const override + inline bool invoke(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType) const override { return m_functionPointer(env, scope, in, out, forceBoxedType); } private: InternalToExternalConverter::FunctionPointer m_functionPointer; @@ -164,7 +164,7 @@ bool InternalToExternalConverter::operator !() const noexcept{ return !d; } -bool InternalToExternalConverter::operator()(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType) const{ +bool InternalToExternalConverter::operator()(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType) const{ Q_ASSERT(d); return d->invoke(env, scope, in, out, forceBoxedType); } @@ -173,7 +173,7 @@ class ExternalToInternalConverterPointerData : public ExternalToInternalConverte public: inline ExternalToInternalConverterPointerData(ExternalToInternalConverter::FunctionPointer functionPointer) noexcept : m_functionPointer(functionPointer){Q_ASSERT(functionPointer);} - inline bool invoke(JNIEnv* env, QtJambiScope* scope, const jvalue&val, void* &out, jValueType valueType) const override + inline bool invoke(JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) const override { return m_functionPointer(env, scope, val, out, valueType); } private: ExternalToInternalConverter::FunctionPointer m_functionPointer; @@ -200,7 +200,7 @@ bool ExternalToInternalConverter::operator !() const noexcept{ return !d; } -bool ExternalToInternalConverter::operator()(JNIEnv* env, QtJambiScope* scope, const jvalue&val, void* &out, jValueType valueType) const{ +bool ExternalToInternalConverter::operator()(JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) const{ Q_ASSERT(d); return d->invoke(env, scope, val, out, valueType); } diff --git a/src/cpp/QtJambi/utils.h b/src/cpp/QtJambi/utils.h index 32d9361a..caeaed66 100644 --- a/src/cpp/QtJambi/utils.h +++ b/src/cpp/QtJambi/utils.h @@ -43,13 +43,13 @@ class QTJAMBI_EXPORT InternalToExternalConverterPrivate : public QSharedData{ InternalToExternalConverterPrivate() noexcept; public: virtual ~InternalToExternalConverterPrivate(); - virtual bool invoke(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool) const = 0; + virtual bool invoke(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool) const = 0; friend class InternalToExternalConverter; }; class QTJAMBI_EXPORT InternalToExternalConverter{ public: - typedef bool(*FunctionPointer)(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool); + typedef bool(*FunctionPointer)(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool); private: explicit InternalToExternalConverter(InternalToExternalConverterPrivate* _d) noexcept; @@ -59,7 +59,7 @@ class QTJAMBI_EXPORT InternalToExternalConverter{ inline static InternalToExternalConverterPrivate* from(Functor&& functor){ return new Data(std::forward(functor)); } - inline bool invoke(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool forceBoxedType) const override { + inline bool invoke(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool forceBoxedType) const override { return m_functor(env, scope, in, out, forceBoxedType); } private: @@ -93,14 +93,14 @@ class QTJAMBI_EXPORT InternalToExternalConverter{ template= QT_VERSION_CHECK(6, 0, 0) - , typename = std::enable_if_t> + , typename = std::enable_if_t> #endif > InternalToExternalConverter(Functor&& functor) noexcept : InternalToExternalConverter(Data::type>::type>::from(std::forward(functor))){} bool operator==(const InternalToExternalConverter& other) const noexcept; - bool operator()(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool) const; + bool operator()(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool) const; operator bool() const noexcept; bool operator !() const noexcept; private: @@ -113,13 +113,13 @@ class QTJAMBI_EXPORT ExternalToInternalConverterPrivate : public QSharedData{ ExternalToInternalConverterPrivate() noexcept; public: virtual ~ExternalToInternalConverterPrivate(); - virtual bool invoke(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) const = 0; + virtual bool invoke(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) const = 0; friend class ExternalToInternalConverter; }; class QTJAMBI_EXPORT ExternalToInternalConverter{ public: - typedef bool(*FunctionPointer)(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType); + typedef bool(*FunctionPointer)(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType); private: explicit ExternalToInternalConverter(ExternalToInternalConverterPrivate* _d) noexcept; @@ -130,7 +130,7 @@ class QTJAMBI_EXPORT ExternalToInternalConverter{ inline static ExternalToInternalConverterPrivate* from(Functor&& functor){ return new Data(std::forward(functor)); } - inline bool invoke(JNIEnv* env, QtJambiScope* scope, const jvalue&val, void* &out, jValueType valueType) const override { + inline bool invoke(JNIEnv* env, QtJambiScope* scope, jvalue val, void* &out, jValueType valueType) const override { return m_functor(env, scope, val, out, valueType); } private: @@ -164,14 +164,14 @@ class QTJAMBI_EXPORT ExternalToInternalConverter{ template= QT_VERSION_CHECK(6, 0, 0) - , typename = std::enable_if_t> + , typename = std::enable_if_t> #endif > ExternalToInternalConverter(Functor&& functor) noexcept : ExternalToInternalConverter(Data::type>::type>::from(std::forward(functor))){} bool operator==(const ExternalToInternalConverter& other) const noexcept; - bool operator()(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType) const; + bool operator()(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType) const; operator bool() const noexcept; bool operator !() const noexcept; private: diff --git a/src/cpp/QtJambi/utils_p.h b/src/cpp/QtJambi/utils_p.h index 763af652..9219c5d7 100644 --- a/src/cpp/QtJambi/utils_p.h +++ b/src/cpp/QtJambi/utils_p.h @@ -32,6 +32,7 @@ #include #include +#include "qtjambiapi.h" #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) namespace QtPrivate{ diff --git a/src/cpp/QtJambi/variant.cpp b/src/cpp/QtJambi/variant.cpp index 99ad0135..c0dba1cc 100644 --- a/src/cpp/QtJambi/variant.cpp +++ b/src/cpp/QtJambi/variant.cpp @@ -217,7 +217,7 @@ static bool customConvert(const QVariant::Private *d, int t, false); } if(variantToJavaConverter - && variantToJavaConverter(env, nullptr, in, &jval, true)){ + && variantToJavaConverter(env, nullptr, in, jval, true)){ java_object = jval.l; }else{ return false; @@ -554,7 +554,7 @@ static bool customCanConvert(const QVariant::Private *d, int t) false); } if(variantToJavaConverter - && variantToJavaConverter(env, nullptr, in, &jval, true)){ + && variantToJavaConverter(env, nullptr, in, jval, true)){ java_object = jval.l; }else{ return false; diff --git a/src/cpp/QtJambiCore/QHash_shell.cpp b/src/cpp/QtJambiCore/QHash_shell.cpp index 46f4ce3e..19286c29 100644 --- a/src/cpp/QtJambiCore/QHash_shell.cpp +++ b/src/cpp/QtJambiCore/QHash_shell.cpp @@ -68,8 +68,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::keyMetaType()", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = qtjambi_cast(env, containerAccess->keyMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -85,8 +85,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::valueMetaType()", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = qtjambi_cast(env, containerAccess->valueMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -106,8 +106,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("begin()", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->begin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -126,8 +126,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::end()", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->end(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -146,8 +146,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("begin() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->constBegin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -166,8 +166,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::constEnd() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->constEnd(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -186,8 +186,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::capacity() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->capacity(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -205,8 +205,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::clear()", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + containerAccess->clear(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -225,8 +225,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::contains(const Key & k) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->contains(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -246,8 +246,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::count(const Key & k) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->count(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -267,8 +267,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::find(const Key & k) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->constFind(__jni_env, __this_nativeId, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -288,8 +288,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::insert(const K & k, const T & t)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + containerAccess->insert(__jni_env, container.first, k0, t1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -309,8 +309,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::key(const V & value, const K & defaultKey) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->key(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -330,8 +330,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::keys(const T & value) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->keys(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -350,8 +350,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::keys() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->keys(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -371,8 +371,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::operator==(const QHash & other) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->equal(__jni_env, container.first, l0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -392,8 +392,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::remove(const T & t)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->remove(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -412,8 +412,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::reserve(int size)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + containerAccess->reserve(__jni_env, container.first, size0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -431,8 +431,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::size() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->size(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -452,8 +452,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QHash::take(const T & t)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->take(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -471,8 +471,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QHash)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QHash<"; @@ -505,8 +505,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QHash&)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QHash<"; @@ -542,8 +542,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("value(const Key &key, const T &defaultValue) const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->value(__jni_env, container.first, k0, t1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -562,8 +562,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("values() const", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + result = containerAccess->values(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -581,8 +581,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QHash)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -619,8 +619,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QH QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QHash)", container.first) - AbstractHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractHashAccess, containerAccess, container.second); + QByteArray containerName = "QHash<"; containerName += containerAccess->keyMetaType().name(); containerName += ","; @@ -650,8 +650,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::uniqueKeys() const", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->uniqueKeys(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -670,8 +670,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::unite(const T & t)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + containerAccess->unite(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -690,8 +690,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("values(const Key &key) const", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->values(__jni_env, container.first, k0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -712,8 +712,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::contains(const Key & k, const T & value) const", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->contains(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -734,8 +734,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::contains(const Key & k, const T & value) const", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->count(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -756,8 +756,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::find(const Key & k, const T & value) const", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->constFind(__jni_env, __this_nativeId, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -778,8 +778,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::remove(const Key & k, const T & value)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + result = containerAccess->remove(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -799,8 +799,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiHash::replace(const Key & k, const T & value)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + containerAccess->replace(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -817,8 +817,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QMultiHash)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMultiHash<"; @@ -851,8 +851,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QMultiHash&)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMultiHash<"; @@ -885,8 +885,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QMultiHash)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -927,8 +927,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiHash)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QMultiHash)", container.first) - AbstractMultiHashAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiHashAccess, containerAccess, container.second); + QByteArray containerName = "QMultiHash<"; containerName += containerAccess->keyMetaType().name(); containerName += ","; diff --git a/src/cpp/QtJambiCore/QIterator_shell.cpp b/src/cpp/QtJambiCore/QIterator_shell.cpp index 4f1d170c..020ab77c 100644 --- a/src/cpp/QtJambiCore/QIterator_shell.cpp +++ b/src/cpp/QtJambiCore/QIterator_shell.cpp @@ -44,24 +44,6 @@ QT_WARNING_DISABLE_DEPRECATED // emitting (writeSignalFunction) // emitting (functionsInTargetLang writeFinalFunction) -// Iterator::operator++() -extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_canLess__J) -(JNIEnv *env, - jclass, - QtJambiNativeID __this_nativeId) -{ - jboolean result{false}; - QTJAMBI_TRY{ - QPair container = ContainerAPI::fromNativeId(__this_nativeId); - AbstractSequentialConstIteratorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); - result = containerAccess->canLess(); - }QTJAMBI_CATCH(const JavaException& exn){ - exn.raiseInJava(env); - }QTJAMBI_TRY_END - return result; -} - // Iterator::operator*() const extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QAssociativeConstIterator_key__J) (JNIEnv *__jni_env, @@ -82,48 +64,69 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core return result; } -extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_value__J) +extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialIterator_setValue__JLjava_lang_Object_2) (JNIEnv *__jni_env, jclass, - QtJambiNativeID __this_nativeId) + QtJambiNativeID __this_nativeId, + jobject newValue) { - jobject result{nullptr}; + jboolean result{false}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); Q_ASSERT(container.first); - QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("Iterator::operator*() const", container.first) - AbstractSequentialConstIteratorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); - result = containerAccess->value(__jni_env, container.first); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("Iterator::operator*()", container.first) + if(AbstractSequentialIteratorAccess* containerAccess = dynamic_cast(container.second)){ + containerAccess->setValue(__jni_env, container.first, newValue); + result = true; + } }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END return result; } -extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialIterator_setValue__JLjava_lang_Object_2) -(JNIEnv *__jni_env, - jclass, - QtJambiNativeID __this_nativeId, - jobject newValue) +extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QAssociativeIterator_setValue__JLjava_lang_Object_2) + (JNIEnv *__jni_env, + jclass, + QtJambiNativeID __this_nativeId, + jobject newValue) { jboolean result{false}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); Q_ASSERT(container.first); - QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("Iterator::operator*() const", container.first) - if(AbstractSequentialIteratorAccess* containerAccess = dynamic_cast(container.second)){ + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("Iterator::operator*()", container.first) + if(AbstractAssociativeIteratorAccess* containerAccess = dynamic_cast(container.second)){ containerAccess->setValue(__jni_env, container.first, newValue); result = true; } }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END - return result; + return result; +} + +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_value__J) + (JNIEnv *__jni_env, + jclass, + QtJambiNativeID __this_nativeId) +{ + jobject result{nullptr}; + QTJAMBI_TRY{ + QPair container = ContainerAPI::fromNativeId(__this_nativeId); + Q_ASSERT(container.first); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("Iterator::operator*() const", container.first) + AbstractSequentialConstIteratorAccess* containerAccess = dynamic_cast(container.second); + Q_ASSERT(containerAccess); + result = containerAccess->value(__jni_env, container.first); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(__jni_env); + }QTJAMBI_TRY_END + return result; } // Iterator::operator++() -extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_increment__J) +extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_increment__J) (JNIEnv *__jni_env, jclass, QtJambiNativeID __this_nativeId) @@ -141,7 +144,7 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS } // Iterator::operator--() -extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_decrement__J) +extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_decrement__J) (JNIEnv *__jni_env, jclass, QtJambiNativeID __this_nativeId) @@ -158,12 +161,29 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS }QTJAMBI_TRY_END } +extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_canLess__J) + (JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId) +{ + jboolean result{false}; + QTJAMBI_TRY{ + QPair container = ContainerAPI::fromNativeId(__this_nativeId); + AbstractSequentialConstIteratorAccess* containerAccess = dynamic_cast(container.second); + Q_ASSERT(containerAccess); + result = containerAccess->canLess(); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} + // Iterator::operator<(const Iterator & other) const -extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_lessThan__JJ) -(JNIEnv *__jni_env, - jclass, - QtJambiNativeID __this_nativeId, - QtJambiNativeID other0) +extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_lessThan__JJ) + (JNIEnv *__jni_env, + jclass, + QtJambiNativeID __this_nativeId, + QtJambiNativeID other0) { jboolean result{false}; QTJAMBI_TRY{ @@ -178,15 +198,15 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END - return result; + return result; } // Iterator::operator==(const Iterator & o) const -extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QSequentialConstIterator_operator_1equal__JJ) -(JNIEnv *__jni_env, - jclass, - QtJambiNativeID __this_nativeId, - QtJambiNativeID o0) +extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_AbstractIterator_operator_1equal__JJ) + (JNIEnv *__jni_env, + jclass, + QtJambiNativeID __this_nativeId, + QtJambiNativeID o0) { bool result{false}; QTJAMBI_TRY{ @@ -201,7 +221,7 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END - return result; + return result; } // emitting (AbstractMetaClass::NormalFunctions|AbstractMetaClass::AbstractFunctions writeFinalFunction) diff --git a/src/cpp/QtJambiCore/QLinkedList_shell.cpp b/src/cpp/QtJambiCore/QLinkedList_shell.cpp index 934029b4..ea2e6648 100644 --- a/src/cpp/QtJambiCore/QLinkedList_shell.cpp +++ b/src/cpp/QtJambiCore/QLinkedList_shell.cpp @@ -61,8 +61,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(env, container.first, typeid(QLinkedList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QLinkedList::elementMetaType()", container.first) - AbstractLinkedListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractLinkedListAccess, containerAccess, container.second); + result = qtjambi_cast(env, containerAccess->elementMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -99,8 +99,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QLinkedList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QLinkedList::first() const", container.first) - AbstractLinkedListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractLinkedListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -123,8 +123,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QLinkedList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QLinkedList::last() const", container.first) - AbstractLinkedListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractLinkedListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -519,8 +519,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QLinkedList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QLinkedList)", container.first) - AbstractLinkedListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractLinkedListAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -551,8 +551,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QLinkedList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QLinkedList)", container.first) - AbstractLinkedListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractLinkedListAccess, containerAccess, container.second); + QByteArray containerName = "QLinkedList<"; containerName += containerAccess->elementMetaType().name(); containerName += ">"; diff --git a/src/cpp/QtJambiCore/QList_shell.cpp b/src/cpp/QtJambiCore/QList_shell.cpp index e0613d46..7dd5fe56 100644 --- a/src/cpp/QtJambiCore/QList_shell.cpp +++ b/src/cpp/QtJambiCore/QList_shell.cpp @@ -64,8 +64,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::elementMetaType()", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = qtjambi_cast(env, containerAccess->elementMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -84,8 +83,7 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::append(const QList & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); containerAccess->appendList(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -104,11 +102,10 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::at(int i) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->at(__jni_env, container.first, i0); }QTJAMBI_CATCH(const JavaException& exn){ @@ -128,8 +125,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::last() const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -152,8 +148,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::begin()", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->begin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -172,8 +167,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::end()", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->end(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -192,8 +186,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::constBegin()const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->constBegin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -212,8 +205,7 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::constEnd()const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->constEnd(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -231,8 +223,7 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::clear()", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); containerAccess->clear(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -251,8 +242,7 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::contains(const T & t) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->contains(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -272,8 +262,7 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::count(const T & t) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->count(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -293,8 +282,7 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::endsWith(const T & t) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->endsWith(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -315,8 +303,7 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::indexOf(const T & t, int from) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->indexOf(__jni_env, container.first, t0, from1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -336,8 +323,7 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::insert(int i, const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); containerAccess->insert(__jni_env, container.first, i0, 1, t1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -357,8 +343,7 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::lastIndexOf(const T & t, int from) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->lastIndexOf(__jni_env, container.first, t0, from1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -379,14 +364,13 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::mid(int pos, int length) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); jint size = containerAccess->size(__jni_env, container.first); if (pos0 >= size || pos0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, pos0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(pos0) QTJAMBI_STACKTRACEINFO ); } if (length1>=0 && pos0+length1 > size) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2 to %3").arg(size, pos0, pos0+length1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2 to %3").arg(size).arg(pos0).arg(pos0+length1) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->mid(__jni_env, container.first, pos0, length1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -407,14 +391,13 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::move(int from, int to)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); jint size = containerAccess->size(__jni_env, container.first); if (from0 >= size || from0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, from0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(from0) QTJAMBI_STACKTRACEINFO ); } if (to1 >= size && to1 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, to1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(to1) QTJAMBI_STACKTRACEINFO ); } containerAccess->move(__jni_env, container.first, from0, to1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -434,8 +417,7 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::operator==(const QList & l) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); result = containerAccess->equal(__jni_env, container.first, l0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -455,8 +437,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::removeAll(const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->removeAll(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -476,11 +458,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::replace(int i, const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } containerAccess->replace(__jni_env, container.first, i0, t1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -499,9 +481,9 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); - QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::replace(int i, const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::removeOne(const T & t)", container.first) + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint i0 = containerAccess->indexOf(__jni_env, container.first, t1, 0); if ((result = i0 >= 0)) containerAccess->remove(__jni_env, container.first, i0, 1); @@ -523,11 +505,11 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::reserve(int size)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->at(__jni_env, container.first, i0); containerAccess->remove(__jni_env, container.first, i0, 1); @@ -548,8 +530,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::reserve(int size)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -573,8 +555,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::reserve(int size)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + containerAccess->reserve(__jni_env, container.first, size0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -592,8 +574,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::size() const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->size(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -613,8 +595,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::startsWith(const T & t) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->startsWith(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -634,14 +616,14 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::swap(int i, int j)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } if (j1 >= size || j1 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, j1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(j1) QTJAMBI_STACKTRACEINFO ); } containerAccess->swapItemsAt(__jni_env, container.first, i0, j1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -661,8 +643,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::value(int i) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->value(__jni_env, container.first, i0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -683,8 +665,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::value(int i, const T & defaultValue) const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->value(__jni_env, container.first, i0, defaultValue1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -702,8 +684,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QList)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QList<"; @@ -734,8 +716,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QList&)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QList<"; @@ -766,8 +748,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QList)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -806,8 +788,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QList)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + QByteArray containerName = "QList<"; containerName += containerAccess->elementMetaType().name(); containerName += ">"; @@ -836,11 +818,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::remove(int i, int count)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0+count1 > size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0 < 0 ? i0 : i0+count1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0 < 0 ? i0 : i0+count1) QTJAMBI_STACKTRACEINFO ); } containerAccess->remove(__jni_env, container.first, i0, count1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -861,11 +843,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::insert(int i, int count, const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } containerAccess->insert(__jni_env, container.first, i0, count1, t2); }QTJAMBI_CATCH(const JavaException& exn){ @@ -884,8 +866,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::append(const T & t)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); containerAccess->insert(__jni_env, container.first, size, 1, t2); }QTJAMBI_CATCH(const JavaException& exn){ @@ -904,8 +886,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::squeeze()", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + containerAccess->squeeze(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -923,8 +905,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::capacity() const", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + result = containerAccess->capacity(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -944,8 +926,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::fill(const T &value, int size = ...)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + containerAccess->fill(__jni_env, container.first, value0, size1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -963,8 +945,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QL QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QList)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QList::resize(int size)", container.first) - AbstractListAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractListAccess, containerAccess, container.second); + containerAccess->resize(__jni_env, container.first, size0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); diff --git a/src/cpp/QtJambiCore/QMap_shell.cpp b/src/cpp/QtJambiCore/QMap_shell.cpp index 2d922771..36c84aa9 100644 --- a/src/cpp/QtJambiCore/QMap_shell.cpp +++ b/src/cpp/QtJambiCore/QMap_shell.cpp @@ -79,8 +79,8 @@ extern "C" Q_DECL_EXPORT jlong JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_Q jlong result{0}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = jlong(containerAccess->clone()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -105,8 +105,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core jobject result{nullptr}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::keyMetaType()", container.first) result = qtjambi_cast(env, containerAccess->keyMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ @@ -121,8 +121,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core jobject result{nullptr}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::valueMetaType()", container.first) result = qtjambi_cast(env, containerAccess->valueMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ @@ -143,8 +143,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("begin()", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->begin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -163,8 +163,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::end()", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->end(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -183,8 +183,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::constBegin() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->constBegin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -203,8 +203,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::constEnd() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->constEnd(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -222,8 +222,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::clear()", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + containerAccess->clear(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -242,8 +242,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::contains(const Key & k) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->contains(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -263,8 +263,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::count(const Key & k) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->count(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -284,8 +284,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::find(const Key & k) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->constFind(__jni_env, __this_nativeId, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -304,8 +304,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::first() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->first(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -324,8 +324,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::firstKey() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->firstKey(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -345,8 +345,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::insert(const K & k, const T & t)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + containerAccess->insert(__jni_env, container.first, k0, t1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -366,8 +366,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::key(const V & value, const K & defaultKey) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->key(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -387,8 +387,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::keys(const T & value) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->keys(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -407,8 +407,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::keys() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->keys(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -427,8 +427,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::last() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->last(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -447,8 +447,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::lastKey() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->lastKey(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -468,8 +468,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::lowerBound(const Key & k) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->constLowerBound(__jni_env, __this_nativeId, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -489,8 +489,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::upperBound(const Key & k) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->constUpperBound(__jni_env, __this_nativeId, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -510,8 +510,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::operator==(const QMap & other) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->equal(__jni_env, container.first, l0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -531,8 +531,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::remove(const T & t)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->remove(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -551,8 +551,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::size() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->size(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -572,8 +572,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMap::take(const T & t)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->take(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -594,8 +594,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("value(const Key &key, const T &defaultValue) const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->value(__jni_env, container.first, k0, t1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -614,8 +614,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("values() const", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + result = containerAccess->values(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -633,8 +633,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QMap)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMap<"; @@ -667,8 +667,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QMap&)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMap<"; @@ -701,8 +701,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QMap)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -743,8 +743,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QMap)", container.first) - AbstractMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMapAccess, containerAccess, container.second); + QByteArray containerName = "QMap<"; containerName += containerAccess->keyMetaType().name(); containerName += ","; @@ -774,8 +774,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::uniqueKeys() const", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->uniqueKeys(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -794,8 +794,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::unite(const T & t)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + containerAccess->unite(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -814,8 +814,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::values(const Key &key) const", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->values(__jni_env, container.first, k0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -836,8 +836,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::contains(const Key & k, const T & value) const", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->contains(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -858,8 +858,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::contains(const Key & k, const T & value) const", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->count(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -880,8 +880,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::find(const Key & k, const T & value) const", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->constFind(__jni_env, __this_nativeId, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -902,8 +902,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::remove(const Key & k, const T & value)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + result = containerAccess->remove(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -923,8 +923,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QMultiMap::replace(const Key & k, const T & value)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + containerAccess->replace(__jni_env, container.first, t0, k1); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -941,8 +941,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QMultiMap)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMultiMap<"; @@ -975,8 +975,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QMultiMap&)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QMultiMap<"; @@ -1009,8 +1009,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QMultiMap)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -1047,8 +1047,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QM QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QMultiMap)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QMultiMap)", container.first) - AbstractMultiMapAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractMultiMapAccess, containerAccess, container.second); + QByteArray containerName = "QMultiMap<"; containerName += containerAccess->keyMetaType().name(); containerName += ","; diff --git a/src/cpp/QtJambiCore/QSet_shell.cpp b/src/cpp/QtJambiCore/QSet_shell.cpp index b708371a..5d9cd044 100644 --- a/src/cpp/QtJambiCore/QSet_shell.cpp +++ b/src/cpp/QtJambiCore/QSet_shell.cpp @@ -61,8 +61,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::elementMetaType()", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = qtjambi_cast(env, containerAccess->elementMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(env); @@ -81,8 +81,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::insert(const T & t)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->insert(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -100,8 +100,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::constEnd() const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->constBegin(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -120,8 +120,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::capacity() const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->capacity(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -139,8 +139,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::clear()", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->clear(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -159,8 +159,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::contains(const T & t) const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->contains(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -179,8 +179,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::intersect(const QSet &other)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->intersect(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -198,8 +198,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::unite(const QSet &other)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->unite(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -217,8 +217,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::subtract(const QSet &other)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->subtract(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -237,8 +237,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::intersects(const QSet &other) const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->intersects(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -257,8 +257,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::constEnd() const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->constEnd(__jni_env, __this_nativeId, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -278,8 +278,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::operator==(const QSet & l) const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->equal(__jni_env, container.first, l0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -299,8 +299,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::remove(const T & t)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->remove(__jni_env, container.first, t0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -319,8 +319,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::reserve(int size)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + containerAccess->reserve(__jni_env, container.first, size0); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -338,8 +338,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::size() const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->size(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -358,8 +358,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QSet::values() const", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + result = containerAccess->values(__jni_env, container.first); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); @@ -379,8 +379,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDataStream&, QSet)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QSet<"; @@ -411,8 +411,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator >> (QDataStream&, QSet&)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + QDataStream* stream = QtJambiAPI::objectFromNativeId(stream0); QtJambiAPI::checkNullPointer(__jni_env, stream); QByteArray containerName = "QSet<"; @@ -443,8 +443,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QSet)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -483,8 +483,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QS QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QSet)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QSet)", container.first) - AbstractSetAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractSetAccess, containerAccess, container.second); + QByteArray containerName = "QSet<"; containerName += containerAccess->elementMetaType().name(); containerName += ">"; diff --git a/src/cpp/QtJambiCore/QVector_shell.cpp b/src/cpp/QtJambiCore/QVector_shell.cpp index 7c68e2d2..f80c713d 100644 --- a/src/cpp/QtJambiCore/QVector_shell.cpp +++ b/src/cpp/QtJambiCore/QVector_shell.cpp @@ -55,8 +55,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core jobject result{nullptr}; QTJAMBI_TRY{ QPair container = ContainerAPI::fromNativeId(__this_nativeId); - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::elementMetaType()", container.first) result = qtjambi_cast(env, containerAccess->elementMetaType()); }QTJAMBI_CATCH(const JavaException& exn){ @@ -95,8 +95,8 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::append(const T & t)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); containerAccess->insert(__jni_env, container.first, size, 1, t2); }QTJAMBI_CATCH(const JavaException& exn){ @@ -116,11 +116,11 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::reserve(int size)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->at(__jni_env, container.first, i0); containerAccess->remove(__jni_env, container.first, i0, 1); @@ -141,8 +141,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::reserve(int size)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -166,8 +166,8 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::last() const", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (size == 0) { Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size 0 at 0") QTJAMBI_STACKTRACEINFO ); @@ -191,11 +191,11 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::at(int i) const", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->at(__jni_env, container.first, i0); }QTJAMBI_CATCH(const JavaException& exn){ @@ -418,11 +418,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::insert(int i, int count, const T & t)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } containerAccess->insert(__jni_env, container.first, i0, count1, t2); }QTJAMBI_CATCH(const JavaException& exn){ @@ -463,14 +463,14 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::mid(int pos, int length) const", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (pos0 >= size || pos0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, pos0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(pos0) QTJAMBI_STACKTRACEINFO ); } if (length1>=0 && pos0+length1 > size) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2 to %3").arg(size, pos0, pos0+length1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2 to %3").arg(size).arg(pos0).arg(pos0+length1) QTJAMBI_STACKTRACEINFO ); } result = containerAccess->mid(__jni_env, container.first, pos0, length1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -491,14 +491,14 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::move(int from, int to)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (from0 >= size || from0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, from0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(from0) QTJAMBI_STACKTRACEINFO ); } if (to1 >= size && to1 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, to1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(to1) QTJAMBI_STACKTRACEINFO ); } containerAccess->move(__jni_env, container.first, from0, to1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -556,8 +556,8 @@ extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_cor QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::replace(int i, const T & t)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint i0 = containerAccess->indexOf(__jni_env, container.first, t1, 0); if ((result = i0 >= 0)) containerAccess->remove(__jni_env, container.first, i0, 1); @@ -579,11 +579,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::remove(int i, int count)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0+count1 > size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0 < 0 ? i0 : i0+count1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0 < 0 ? i0 : i0+count1) QTJAMBI_STACKTRACEINFO ); } containerAccess->remove(__jni_env, container.first, i0, count1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -603,11 +603,11 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::replace(int i, const T & t)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } containerAccess->replace(__jni_env, container.first, i0, t1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -753,14 +753,14 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QVector::swapItemsAt(int i, int j)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + jint size = containerAccess->size(__jni_env, container.first); if (i0 >= size || i0 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, i0) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(i0) QTJAMBI_STACKTRACEINFO ); } if (j1 >= size || j1 < 0) { - Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size, j1) QTJAMBI_STACKTRACEINFO ); + Java::Runtime::IndexOutOfBoundsException::throwNew(__jni_env, QString("Accessing container of size %1 at %2").arg(size).arg(j1) QTJAMBI_STACKTRACEINFO ); } containerAccess->swapItemsAt(__jni_env, container.first, i0, j1); }QTJAMBI_CATCH(const JavaException& exn){ @@ -828,8 +828,8 @@ extern "C" Q_DECL_EXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("operator << (QDebug, QVector)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + QString strg; { QDebug stream(&strg); @@ -860,8 +860,8 @@ extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QV QPair container = ContainerAPI::fromNativeId(__this_nativeId); QtJambiAPI::checkNullPointer(__jni_env, container.first, typeid(QVector)); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("qHash(QVector)", container.first) - AbstractVectorAccess* containerAccess = dynamic_cast(container.second); - Q_ASSERT(containerAccess); + QTJAMBI_CONTAINER_CAST(AbstractVectorAccess, containerAccess, container.second); + QByteArray containerName = "QVector<"; containerName += containerAccess->elementMetaType().name(); containerName += ">"; diff --git a/src/cpp/QtJambiCore/future.cpp b/src/cpp/QtJambiCore/future.cpp index a933f259..d64247a7 100644 --- a/src/cpp/QtJambiCore/future.cpp +++ b/src/cpp/QtJambiCore/future.cpp @@ -412,7 +412,7 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QF QtJambiAPI::checkNullPointer(__jni_env, __qt_this); QTJAMBI_NATIVE_INSTANCE_METHOD_CALL("QFutureInterface::reportResult(const QVariant & result, int index)", __qt_this) if(QFutureInterface* _this = dynamic_cast*>(__qt_this)){ - const QVariant& __qt_result0 = qtjambi_cast(__jni_env, result0); + QVariant __qt_result0 = qtjambi_cast(__jni_env, result0); _this->reportResult(__qt_result0, static_cast(index1)); }else if(dynamic_cast*>(__qt_this)){ JavaException::raiseQNoImplementationException(__jni_env, "reportResult(T, int) not available for QFutureInterface." QTJAMBI_STACKTRACEINFO ); diff --git a/src/cpp/QtJambiCore/hashes.h b/src/cpp/QtJambiCore/hashes.h index 0ea9e2f1..89cae65d 100644 --- a/src/cpp/QtJambiCore/hashes.h +++ b/src/cpp/QtJambiCore/hashes.h @@ -203,8 +203,14 @@ inline hash_type qHash(const QDeadlineTimer &value, hash_type seed = 0) { QtPrivate::QHashCombine hash; seed = hash(seed, value.timerType()); +#if QT_VERSION < QT_VERSION_CHECK(6, 6, 0) seed = hash(seed, value._q_data().first); seed = hash(seed, value._q_data().second); +#else + const QPair &t = reinterpret_cast &>(value); + seed = hash(seed, t.first); + seed = hash(seed, t.second); +#endif return seed; } @@ -716,4 +722,16 @@ inline bool operator==(const QPermission &v1, const QPermission &v2){ #endif #endif +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) +inline hash_type qHash(const QNativeIpcKey &value, hash_type seed = 0) +{ + if(!value.isValid()) + return seed; + QtPrivate::QHashCombine hash; + seed = hash(seed, value.nativeKey()); + seed = hash(seed, value.type()); + return seed; +} +#endif + #endif // QTJAMBICORE_HASHES_H diff --git a/src/cpp/QtJambiCore/impl.cpp b/src/cpp/QtJambiCore/impl.cpp index a9ad1022..f2a66fbb 100644 --- a/src/cpp/QtJambiCore/impl.cpp +++ b/src/cpp/QtJambiCore/impl.cpp @@ -5793,9 +5793,9 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QC } }; if(context) - __qt_this->requestPermission(*reinterpret_cast(&pm), context, functor); + __qt_this->requestPermission(*reinterpret_cast(&pm), context, std::move(functor)); else - __qt_this->requestPermission(*reinterpret_cast(&pm), functor); + __qt_this->requestPermission(*reinterpret_cast(&pm), std::move(functor)); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END @@ -5821,9 +5821,9 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QC } }; if(context) - __qt_this->requestPermission(*reinterpret_cast(&pm), context, functor); + __qt_this->requestPermission(*reinterpret_cast(&pm), context, std::move(functor)); else - __qt_this->requestPermission(*reinterpret_cast(&pm), functor); + __qt_this->requestPermission(*reinterpret_cast(&pm), std::move(functor)); }QTJAMBI_CATCH(const JavaException& exn){ exn.raiseInJava(__jni_env); }QTJAMBI_TRY_END diff --git a/src/cpp/QtJambiCore/utils_p.h b/src/cpp/QtJambiCore/utils_p.h index 7ef5fdc5..db740094 100644 --- a/src/cpp/QtJambiCore/utils_p.h +++ b/src/cpp/QtJambiCore/utils_p.h @@ -310,4 +310,11 @@ namespace Runtime{ QtPrivate::QPropertyObserverCallback qtjambi_get_signal_callback(JNIEnv *, QUntypedPropertyData *); #endif +#if defined(QT_NO_DEBUG) +#define QTJAMBI_CONTAINER_CAST(Type, target, source) Type* target = static_cast(source) +#else +#define QTJAMBI_CONTAINER_CAST(Type, target, source) Type* target = dynamic_cast(source);\ +Q_ASSERT(target) +#endif + #endif // QTJAMBICORE_UTILS_H diff --git a/src/cpp/QtJambiGenerator/cppgenerator.cpp b/src/cpp/QtJambiGenerator/cppgenerator.cpp index 681c9360..418c4c37 100644 --- a/src/cpp/QtJambiGenerator/cppgenerator.cpp +++ b/src/cpp/QtJambiGenerator/cppgenerator.cpp @@ -314,13 +314,6 @@ void CppGenerator::writeTypeInfo(QTextStream &s, const MetaType *type, Option op } break; } - }else if((options & ForceConstReference) == ForceConstReference - && !(options & FunctionOverride) - && type->indirections().isEmpty() - && !type->isPrimitive() - && !type->isEnum() - && !type->isFlags()){ - s << "&"; } } diff --git a/src/cpp/QtJambiGenerator/cppheadergenerator.cpp b/src/cpp/QtJambiGenerator/cppheadergenerator.cpp index 119a7ed2..75fa7825 100644 --- a/src/cpp/QtJambiGenerator/cppheadergenerator.cpp +++ b/src/cpp/QtJambiGenerator/cppheadergenerator.cpp @@ -518,8 +518,26 @@ void CppHeaderGenerator::write(QTextStream &s, const MetaClass *java_class, int) if(!needsAccess){ for(const MetaField *field : java_class->fields()) { if (field->wasProtected()){ - needsAccess = true; - break; + FieldModification mod = java_class->typeEntry()->fieldModification(field->name()); + if(mod.isReadable()){ + needsAccess = true; + break; + } + bool isWritable = true; + if(field->type()->isConstant()){ + if(field->type()->indirections().isEmpty()){ + isWritable = false; + }else if(field->type()->indirections()[0]){ + isWritable = false; + } + }else if(!field->type()->indirections().isEmpty() + && field->type()->indirections()[0]){ + isWritable = false; + } + if (mod.isWritable() && isWritable) { + needsAccess = true; + break; + } } } } diff --git a/src/cpp/QtJambiGenerator/cppimplgenerator.cpp b/src/cpp/QtJambiGenerator/cppimplgenerator.cpp index 9d601f53..09782812 100644 --- a/src/cpp/QtJambiGenerator/cppimplgenerator.cpp +++ b/src/cpp/QtJambiGenerator/cppimplgenerator.cpp @@ -1874,22 +1874,9 @@ void CppImplGenerator::writeClassCodeInjections(QTextStream &s, const MetaClass void CppImplGenerator::writeToStringFunction(QTextStream &s, const MetaClass *java_class) { const MetaFunction* toStringFun = java_class->toStringCapability(); - bool core = java_class->package() == QLatin1String("io.qt.core"); - bool qevent = false; + bool isQEvent = java_class->isQEvent() && java_class->qualifiedCppName()=="QEvent"; - { - const MetaClass *cls = java_class; - while (cls) { - if (cls->name() == "QEvent") { - qevent = true; - toStringFun = cls->toStringCapability(); - break; - } - cls = cls->baseClass(); - } - } - - if (!java_class->hasDefaultToStringFunction() && toStringFun && !(qevent && core)) { + if (!java_class->hasDefaultToStringFunction() && toStringFun && !isQEvent) { auto indirections = toStringFun->arguments().at(1)->type()->indirections().size(); QString deref = QLatin1String(indirections == 0 ? "*" : ""); @@ -8024,11 +8011,7 @@ bool CppImplGenerator::writeJavaToQt(QTextStream &s, QTextStream s(&convertLine); const ImplementorTypeEntry * imptype; if (java_type->isFunctional()) { - const FunctionalTypeEntry* funEntry = static_cast(java_type->typeEntry()); - QString funName = funEntry->targetLangName(); - if(!funEntry->qualifier().isEmpty()){ - funName = funEntry->qualifier() + "$" + funName; - } + //const FunctionalTypeEntry* funEntry = static_cast(java_type->typeEntry()); s << "qtjambi_cast<" << qualified_class_name << ">(" << __jni_env << ", " << java_name << ")"; }else if (java_type->isIterator()) { s << "reinterpret_deref_cast<" << qualified_class_name << " " @@ -8148,7 +8131,7 @@ bool CppImplGenerator::writeJavaToQt(QTextStream &s, } s << java_name << ")"; }else{ - if (java_type->getReferenceType()==MetaType::Reference) { + if (java_type->getReferenceType()!=MetaType::NoReference) { if(java_type->typeEntry()->isInterface() || java_type->typeEntry()->designatedInterface() || java_type->typeEntry()->isFunctional()){ s << "QtJambiAPI::interfaceReferenceFromNativeId"; }else{ @@ -8182,7 +8165,7 @@ bool CppImplGenerator::writeJavaToQt(QTextStream &s, s << java_name << ")"; } }else{ - if (java_type->getReferenceType()==MetaType::Reference) { + if (java_type->getReferenceType()!=MetaType::NoReference) { if(java_type->typeEntry()->isInterface() || java_type->typeEntry()->designatedInterface() || java_type->typeEntry()->isFunctional()){ s << "QtJambiAPI::interfaceReferenceFromNativeId"; }else{ @@ -8203,7 +8186,7 @@ bool CppImplGenerator::writeJavaToQt(QTextStream &s, } else { // Return values... - if(!java_type->isConstant() && java_type->getReferenceType()==MetaType::Reference){ + if(!java_type->isConstant() && java_type->getReferenceType()!=MetaType::NoReference){ if ((option & UseNativeIds) == 0 || !java_type->typeEntry()->isNativeIdBased()){ if(java_type->typeEntry()==TypeDatabase::instance()->qvariantType()){ s << "QtJambiAPI::convertJavaObjectToNativeReference(" << __jni_env << ", " << java_name << ")"; @@ -8430,9 +8413,11 @@ bool CppImplGenerator::writeJavaToQt(QTextStream &s, } if(!done){ s << INDENT; - if(java_type->getReferenceType()==MetaType::RReference){ + if(java_type->isFunctional()){ + writeTypeInfo(s, java_type, Option(ExcludeReference | SkipName)); + }else if(java_type->getReferenceType()==MetaType::RReference && java_type->hasNativeId()){ writeTypeInfo(s, java_type, Option(ExcludeReference | SkipName)); - s << '&'; + s << "&"; }else{ writeTypeInfo(s, java_type, SkipName); //ForceConstReference } @@ -10697,11 +10682,11 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f QTextStream stream(&strg); stream << "#if " << type->typeEntry()->ppCondition() << Qt::endl - << QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool); // declared in %2").arg(_mangledTypeName, nativeToJavaConverterInfos[tsId][_mangledTypeName]->qualifiedCppName()) + << QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool); // declared in %2").arg(_mangledTypeName, nativeToJavaConverterInfos[tsId][_mangledTypeName]->qualifiedCppName()) << Qt::endl << "#endif // " << type->typeEntry()->ppCondition() << Qt::endl; forwardDeclarations.insert(strg); }else{ - forwardDeclarations.insert(QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool); // declared in %2").arg(_mangledTypeName, nativeToJavaConverterInfos[tsId][_mangledTypeName]->qualifiedCppName())); + forwardDeclarations.insert(QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool); // declared in %2").arg(_mangledTypeName, nativeToJavaConverterInfos[tsId][_mangledTypeName]->qualifiedCppName())); } s << INDENT << "&nativeToJavaConverter_" << _mangledTypeName << "," << Qt::endl; }else{ @@ -10723,34 +10708,34 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f if(type->typeEntry()->isPrimitive() && type->indirections().isEmpty()){ QString qualifiedTargetLangName = type->typeEntry()->qualifiedTargetLangName(); if(qualifiedTargetLangName=="boolean"){ - outArg = "out->z"; - outBoxing = "out->l = QtJambiAPI::toJavaBooleanObject(env, out->z);"; + outArg = "out.z"; + outBoxing = "out.l = QtJambiAPI::toJavaBooleanObject(env, out.z);"; }else if(qualifiedTargetLangName=="byte"){ - outArg = "out->b"; - outBoxing = "out->l = QtJambiAPI::toJavaByteObject(env, out->b);"; + outArg = "out.b"; + outBoxing = "out.l = QtJambiAPI::toJavaByteObject(env, out.b);"; }else if(qualifiedTargetLangName=="short"){ - outArg = "out->s"; - outBoxing = "out->l = QtJambiAPI::toJavaShortObject(env, out->s);"; + outArg = "out.s"; + outBoxing = "out.l = QtJambiAPI::toJavaShortObject(env, out.s);"; }else if(qualifiedTargetLangName=="int"){ - outArg = "out->i"; - outBoxing = "out->l = QtJambiAPI::toJavaIntegerObject(env, out->i);"; + outArg = "out.i"; + outBoxing = "out.l = QtJambiAPI::toJavaIntegerObject(env, out.i);"; }else if(qualifiedTargetLangName=="long"){ - outArg = "out->j"; - outBoxing = "out->l = QtJambiAPI::toJavaLongObject(env, out->j);"; + outArg = "out.j"; + outBoxing = "out.l = QtJambiAPI::toJavaLongObject(env, out.j);"; }else if(qualifiedTargetLangName=="char"){ - outArg = "out->c"; - outBoxing = "out->l = QtJambiAPI::toJavaCharacterObject(env, out->c);"; + outArg = "out.c"; + outBoxing = "out.l = QtJambiAPI::toJavaCharacterObject(env, out.c);"; }else if(qualifiedTargetLangName=="float"){ - outArg = "out->f"; - outBoxing = "out->l = QtJambiAPI::toJavaFloatObject(env, out->f);"; + outArg = "out.f"; + outBoxing = "out.l = QtJambiAPI::toJavaFloatObject(env, out.f);"; }else if(qualifiedTargetLangName=="double"){ - outArg = "out->d"; - outBoxing = "out->l = QtJambiAPI::toJavaDoubleObject(env, out->d);"; + outArg = "out.d"; + outBoxing = "out.l = QtJambiAPI::toJavaDoubleObject(env, out.d);"; }else{ - outArg = "out->l"; + outArg = "out.l"; } }else{ - outArg = "out->l"; + outArg = "out.l"; } QString scopedConvert1; bool isCustomized1 = false; @@ -10851,18 +10836,18 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f checkJavaOwnership = ", false"; } if (type->isContainer()){ - s << INDENT << "InvalidateContainerAfterUse* __invalidate_out_after_use = new InvalidateContainerAfterUse(env, out->l" << checkJavaOwnership << ");" << Qt::endl; + s << INDENT << "InvalidateContainerAfterUse* __invalidate_out_after_use = new InvalidateContainerAfterUse(env, out.l" << checkJavaOwnership << ");" << Qt::endl; }else if (type->isArray()){ - s << INDENT << "InvalidateArrayAfterUse* __invalidate_out_after_use = new InvalidateArrayAfterUse(env, out->l" << checkJavaOwnership << ");" << Qt::endl; + s << INDENT << "InvalidateArrayAfterUse* __invalidate_out_after_use = new InvalidateArrayAfterUse(env, out.l" << checkJavaOwnership << ");" << Qt::endl; }else{ - s << INDENT << "InvalidateAfterUse* __invalidate_out_after_use = new InvalidateAfterUse(env, out->l" << checkJavaOwnership << ");" << Qt::endl; + s << INDENT << "InvalidateAfterUse* __invalidate_out_after_use = new InvalidateAfterUse(env, out.l" << checkJavaOwnership << ");" << Qt::endl; } s << INDENT << "scope->addDeletion(__invalidate_out_after_use);" << Qt::endl; } s << INDENT << "return true;" << Qt::endl; } if(isCustomized){ - s << INDENT << "[](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool"; + s << INDENT << "[](JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool"; if(type->typeEntry()->isPrimitive() && type->indirections().isEmpty()){ s << " forceBoxedType"; } @@ -10882,18 +10867,18 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f QTextStream stream(&strg); stream << "#if " << type->typeEntry()->ppCondition() << Qt::endl - << QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool);").arg(_mangledTypeName) + << QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool);").arg(_mangledTypeName) << Qt::endl << "#endif // " << type->typeEntry()->ppCondition() << Qt::endl; forwardDeclarations.insert(strg); }else{ - forwardDeclarations.insert(QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue*, bool);").arg(_mangledTypeName)); + forwardDeclarations.insert(QString("bool nativeToJavaConverter_%1(JNIEnv*, QtJambiScope*, const void*, jvalue&, bool);").arg(_mangledTypeName)); } QString functionCode; { QTextStream s(&functionCode); if(!type->typeEntry()->ppCondition().isEmpty()) s << "#if " << type->typeEntry()->ppCondition() << Qt::endl; - s << "bool nativeToJavaConverter_" << _mangledTypeName << "(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue* out, bool"; + s << "bool nativeToJavaConverter_" << _mangledTypeName << "(JNIEnv* env, QtJambiScope* scope, const void* in, jvalue& out, bool"; if(type->typeEntry()->isPrimitive() && type->indirections().isEmpty()){ s << " forceBoxedType"; } @@ -10918,13 +10903,13 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f if(javaToNativeConverterInfos[tsId].contains(mangledTypeName)){ if(type->typeEntry()->ppCondition().isEmpty()){ - forwardDeclarations.insert(QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType); // declared in %2").arg(mangledTypeName, javaToNativeConverterInfos[tsId][mangledTypeName]->qualifiedCppName())); + forwardDeclarations.insert(QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType); // declared in %2").arg(mangledTypeName, javaToNativeConverterInfos[tsId][mangledTypeName]->qualifiedCppName())); }else{ QString strg; QTextStream stream(&strg); stream << "#if " << type->typeEntry()->ppCondition() << Qt::endl - << QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType); // declared in %2").arg(mangledTypeName, javaToNativeConverterInfos[tsId][mangledTypeName]->qualifiedCppName()) + << QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType); // declared in %2").arg(mangledTypeName, javaToNativeConverterInfos[tsId][mangledTypeName]->qualifiedCppName()) << Qt::endl << "#endif // " << type->typeEntry()->ppCondition() << Qt::endl; forwardDeclarations.insert(strg); } @@ -11035,7 +11020,7 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f s << INDENT << "return true;" << Qt::endl; } if(isCustomized){ - s << INDENT << "[](JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType"; + s << INDENT << "[](JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType"; if(type->typeEntry()->isPrimitive() && type->indirections().isEmpty()){ s << " valueType"; } @@ -11054,13 +11039,13 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f s << Qt::endl << INDENT << "}"; }else{ if(type->typeEntry()->ppCondition().isEmpty()){ - forwardDeclarations.insert(QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType);").arg(mangledTypeName)); + forwardDeclarations.insert(QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType);").arg(mangledTypeName)); }else{ QString strg; QTextStream stream(&strg); stream << "#if " << type->typeEntry()->ppCondition() << Qt::endl - << QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, const jvalue&, void* &, jValueType);").arg(mangledTypeName) + << QString("bool javaToNativeConverter_%1(JNIEnv*, QtJambiScope*, jvalue, void* &, jValueType);").arg(mangledTypeName) << Qt::endl << "#endif // " << type->typeEntry()->ppCondition() << Qt::endl; forwardDeclarations.insert(strg); } @@ -11069,7 +11054,7 @@ void CppImplGenerator::writeTypeConversion(QTextStream &s, const MetaFunction *f QTextStream s(&functionCode); if(!type->typeEntry()->ppCondition().isEmpty()) s << "#if " << type->typeEntry()->ppCondition() << Qt::endl; - s << "bool javaToNativeConverter_" << mangledTypeName << "(JNIEnv* env, QtJambiScope* scope, const jvalue& in, void* &out, jValueType"; + s << "bool javaToNativeConverter_" << mangledTypeName << "(JNIEnv* env, QtJambiScope* scope, jvalue in, void* &out, jValueType"; if(type->typeEntry()->isPrimitive() && type->indirections().isEmpty()){ s << " valueType"; } diff --git a/src/cpp/QtJambiGenerator/generator.qrc b/src/cpp/QtJambiGenerator/generator.qrc index 6d56e104..68c1e0de 100644 --- a/src/cpp/QtJambiGenerator/generator.qrc +++ b/src/cpp/QtJambiGenerator/generator.qrc @@ -64,6 +64,7 @@ typesystem/qml/QtUiTools.qml typesystem/qml/QtVirtualKeyboard.qml typesystem/qml/QtWebChannel.qml + typesystem/qml/QtWebChannelQuick.qml typesystem/qml/QtWebEngine.qml typesystem/qml/QtWebEngineCore.qml typesystem/qml/QtWebEngineQuick.qml @@ -97,9 +98,12 @@ typesystem/java/QtJambiXml.java typesystem/qml/QtProtobuf.qml typesystem/qml/QtGrpc.qml + typesystem/qml/QtGraphs.qml targets/all.qml targets/all.h + targets/graphs.qml + targets/graphs.h diff --git a/src/cpp/QtJambiGenerator/javagenerator.cpp b/src/cpp/QtJambiGenerator/javagenerator.cpp index b548fc4b..4fd52906 100644 --- a/src/cpp/QtJambiGenerator/javagenerator.cpp +++ b/src/cpp/QtJambiGenerator/javagenerator.cpp @@ -241,11 +241,11 @@ void JavaGenerator::writeFieldAccessors(QTextStream &s, const MetaField *field, .replace("*/", "*/") << "

" << Qt::endl; } - if(!field->href().isEmpty()){ - QString url = docsUrl+field->href(); - commentStream << "

See "; - if(declaringClass){ - commentStream << declaringClass->qualifiedCppName() + commentStream << "

See "; + if(!field->href().isEmpty()) + commentStream << "href() << "\">"; + if(declaringClass){ + commentStream << declaringClass->qualifiedCppName() .replace("", "") .replace("QtJambi", "Q") .replace("QVoid", "Q") @@ -256,18 +256,19 @@ void JavaGenerator::writeFieldAccessors(QTextStream &s, const MetaField *field, .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "::"; - } - commentStream << QString(field->name()) + << "::"; + } + commentStream << QString(field->name()) .replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\t", "    ") .replace("@", "@") .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - } + .replace("*/", "*/"); + if(!field->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; // if(hasCodeInjections(field, {CodeSnip::Comment})){ // writeInjectedCode(commentStream, field, CodeSnip::Comment); // } @@ -1255,29 +1256,20 @@ void JavaGenerator::writeFunctional(QTextStream &s, const MetaFunctional *java_f QString comment; { QTextStream commentStream(&comment); - - if(!java_functional->href().isEmpty()){ - QString url = docsUrl+java_functional->href(); - commentStream << "

Java wrapper for Qt function pointer " << java_functional->typeEntry()->qualifiedCppName() - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - }else{ - commentStream << "

Java wrapper for Qt function pointer " << java_functional->typeEntry()->qualifiedCppName() + commentStream << "

Java wrapper for Qt callable "; + if(!java_functional->href().isEmpty()) + commentStream << "href() << "\">"; + commentStream << java_functional->typeEntry()->qualifiedCppName() .replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\t", "    ") .replace("@", "@") .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - } + .replace("*/", "*/"); + if(!java_functional->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; } int returnArrayLengthIndex = java_functional->argumentTypeArrayLengthIndex(0); @@ -1527,9 +1519,10 @@ void JavaGenerator::writeFunctional(QTextStream &s, const MetaFunctional *java_f } if(!(java_functional->typeEntry()->codeGeneration() & TypeEntry::GenerateNoShell)){ - s << INDENT << "/**" <Implementor class for interface {@link " << java_functional->name().replace("$", ".") << "}

" << Qt::endl - << INDENT << " */" <name() << "{" << Qt::endl; { INDENTATION(INDENT) @@ -1714,30 +1707,20 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { .replace("*/", "*/") << "

" << Qt::endl; } - if(java_enum->href().isEmpty()){ - commentStream << "

Java wrapper for Qt enum " - << (java_enum->typeEntry()->qualifiedCppName().startsWith("QtJambi") ? java_enum->name().replace("$", "::") : java_enum->typeEntry()->qualifiedCppName() ) + commentStream << "

Java wrapper for Qt enum "; + if(!java_enum->href().isEmpty()) + commentStream << "href() << "\">"; + commentStream << (java_enum->typeEntry()->qualifiedCppName().startsWith("QtJambi") ? java_enum->name().replace("$", "::") : java_enum->typeEntry()->qualifiedCppName() ) .replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\t", "    ") .replace("@", "@") .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - }else{ - QString url = docsUrl+java_enum->href(); - commentStream << "

Java wrapper for Qt enum " - << (java_enum->typeEntry()->qualifiedCppName().startsWith("QtJambi") ? java_enum->name().replace("$", "::") : java_enum->typeEntry()->qualifiedCppName() ) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - } + .replace("*/", "*/"); + if(!java_enum->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; if (java_enum->isDeclDeprecated()) { if(!java_enum->deprecatedComment().isEmpty()){ if(!comment.isEmpty()) @@ -1914,14 +1897,14 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { if(enum_value->deprecated()){ if(!enum_value->deprecatedComment().isEmpty()){ hasComment = true; - s << INDENT << "/**" << Qt::endl; - if(java_enum->href().isEmpty()){ - s << INDENT << " *

Representing " << (QStringList(enumScope) << enum_value->name()).join("::") << "

" << Qt::endl; - }else{ - QString url = docsUrl+java_enum->href(); - s << INDENT << " *

Representing " << (QStringList(enumScope) << enum_value->name()).join("::") << "

" << Qt::endl; - } - s + s << INDENT << "/**" << Qt::endl + << INDENT << " *

Representing "; + if(!java_enum->href().isEmpty()) + s << "href() << "\">"; + s << (QStringList(enumScope) << enum_value->name()).join("::"); + if(!java_enum->href().isEmpty()) + s << ""; + s << "

" << Qt::endl << INDENT << " * @deprecated " << QString(enum_value->deprecatedComment()) .replace("&", "&") .replace("<", "<") @@ -1936,16 +1919,15 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { s << INDENT << "@Deprecated" << Qt::endl; } if(!hasComment){ - if(java_enum->href().isEmpty()){ - s << INDENT << "/**" << Qt::endl - << INDENT << " *

Representing " << (QStringList(enumScope) << enum_value->name()).join("::") << "

" << Qt::endl - << INDENT << " */" << Qt::endl; - }else{ - QString url = docsUrl+java_enum->href(); - s << INDENT << "/**" << Qt::endl - << INDENT << " *

Representing " << (QStringList(enumScope) << enum_value->name()).join("::") << "

" << Qt::endl - << INDENT << " */" << Qt::endl; - } + s << INDENT << "/**" << Qt::endl + << INDENT << " *

Representing "; + if(!java_enum->href().isEmpty()) + s << "href() << "\">"; + s << (QStringList(enumScope) << enum_value->name()).join("::"); + if(!java_enum->href().isEmpty()) + s << ""; + s << "

" << Qt::endl + << INDENT << " */" << Qt::endl; } s << INDENT << renamedEnumValues.value(enum_value->name(), enum_value->name()) << "("; if(enum_value->value().userType()==QMetaType::QString){ @@ -2017,7 +1999,16 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { << INDENT << " */" << Qt::endl << INDENT << "public @NonNull " << flags_entry->targetLangName() << " combined(@NonNull " << entry->targetLangName().replace("$",".") << " e) {" << Qt::endl - << INDENT << " return new " << flags_entry->targetLangName() << "(this, e);" << Qt::endl + << INDENT << " return asFlags().setFlag(e, true);" << Qt::endl + << INDENT << "}" << Qt::endl << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Excludes other enum entry from a flag of this entry." << Qt::endl + << INDENT << " * @param e enum entry" << Qt::endl + << INDENT << " * @return new flag" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << "public @NonNull " << flags_entry->targetLangName() << " cleared(@NonNull " + << entry->targetLangName().replace("$",".") << " e) {" << Qt::endl + << INDENT << " return asFlags().setFlag(e, false);" << Qt::endl << INDENT << "}" << Qt::endl << Qt::endl << INDENT << "/**" << Qt::endl << INDENT << " * Creates a new {@link " << flags_entry->targetLangName() << "} from the entries." << Qt::endl @@ -2208,7 +2199,7 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { serialVersionUID = serialVersionUID * 31 + l; } s << INDENT << "/**" << Qt::endl - << INDENT << " * QFlags type for enum {@link " << java_enum->name().replace("$",".") << "}" << Qt::endl + << INDENT << " * {@link QFlags} type for enum {@link " << java_enum->name().replace("$",".") << "}" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << "public static final class " << flagsName << " extends QFlags<" << java_enum->name().replace("$",".") << "> implements Comparable<" << flagsName << "> {" << Qt::endl << INDENT << " private static final long serialVersionUID = 0x" << QString::number(serialVersionUID, 16) << "L;" << Qt::endl; @@ -2245,8 +2236,7 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { << INDENT << " * @return this" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " public final @NonNull " << flagsName << " setFlag(@Nullable " << java_enum->name().replace("$",".") << " e){" << Qt::endl - << INDENT << " super.setFlag(e);" << Qt::endl - << INDENT << " return this;" << Qt::endl + << INDENT << " return setFlag(e, true);" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl << INDENT << " * Sets or clears the flag flag" << Qt::endl @@ -2255,7 +2245,11 @@ void JavaGenerator::writeEnum(QTextStream &s, const MetaEnum *java_enum) { << INDENT << " * @return this" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " public final @NonNull " << flagsName << " setFlag(@Nullable " << java_enum->name().replace("$",".") << " e, boolean on){" << Qt::endl - << INDENT << " super.setFlag(e, on);" << Qt::endl + << INDENT << " if (on) {" << Qt::endl + << INDENT << " setValue(value() | e.value());" << Qt::endl + << INDENT << " }else {" << Qt::endl + << INDENT << " setValue(value() & ~e.value());" << Qt::endl + << INDENT << " }" << Qt::endl << INDENT << " return this;" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl @@ -2292,12 +2286,7 @@ void JavaGenerator::writePrivateNativeFunction(QTextStream &s, const MetaFunctio uint exclude_attributes = MetaAttributes::Public | MetaAttributes::Protected; uint include_attributes = 0; - if (java_function->isEmptyFunction()){ - exclude_attributes |= MetaAttributes::Native; - include_attributes |= MetaAttributes::Private | MetaAttributes::Static; - }else{ - include_attributes |= MetaAttributes::Private | MetaAttributes::Native; - } + include_attributes |= MetaAttributes::Private | MetaAttributes::Native; if(java_function->declaringClass()->isInterface() || java_function->isConstructor()){ include_attributes |= MetaAttributes::Static; } @@ -2305,8 +2294,7 @@ void JavaGenerator::writePrivateNativeFunction(QTextStream &s, const MetaFunctio writeFunctionAttributes(s, java_function, -1, include_attributes, exclude_attributes, Option(NoNullness | EnumAsInts | InitializerListAsArray | ( ( - java_function->isEmptyFunction() - || java_function->isNormal() + java_function->isNormal() || java_function->isSignal() ) ? NoOption : SkipReturnType))); if (java_function->isConstructor()){ const QList addedParameterTypes = java_function->addedParameterTypes(); @@ -2424,19 +2412,12 @@ void JavaGenerator::writePrivateNativeFunction(QTextStream &s, const MetaFunctio } s << ")"; - // Make sure people don't call the private functions - if (java_function->isEmptyFunction()) { - s << " throws QNoImplementationException {" << Qt::endl - << INDENT << " throw new QNoImplementationException();" << Qt::endl - << INDENT << "}" << Qt::endl; - } else { - QString throws = java_function->throws(); - if(!throws.isEmpty()){ - s << " throws " << throws << " "; - } - s << ";" << Qt::endl - << INDENT << Qt::endl; + QString throws = java_function->throws(); + if(!throws.isEmpty()){ + s << " throws " << throws << " "; } + s << ";" << Qt::endl + << INDENT << Qt::endl; } void JavaGenerator::writeFunctionCallForOwnership(QTextStream &s, const MetaFunction *, TS::Ownership owner, const QString& variable) { @@ -3034,23 +3015,14 @@ void JavaGenerator::writeSignal(QTextStream &s, const MetaFunction *java_functio .replace("*/", "*/") << "

" << Qt::endl; } - if(!java_function->href().isEmpty()){ - QString url = docsUrl+java_function->href(); - commentStream << "

See "; - if(java_function->declaringClass()) - commentStream << java_function->declaringClass()->qualifiedCppName() - .replace("", "") - .replace("QtJambi", "Q") - .replace("QVoid", "Q") - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "::"; - commentStream << QString(java_function->originalSignature()) + commentStream << "

See "; + if(!java_function->href().isEmpty()) + commentStream << "href() << "\">"; + if(java_function->declaringClass()) + commentStream << java_function->declaringClass()->qualifiedCppName() + .replace("", "") + .replace("QtJambi", "Q") + .replace("QVoid", "Q") .replace("&", "&") .replace("<", "<") .replace(">", ">") @@ -3058,8 +3030,19 @@ void JavaGenerator::writeSignal(QTextStream &s, const MetaFunction *java_functio .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "

" << Qt::endl; - } + << "::"; + commentStream << QString(java_function->originalSignature()) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); + if(!java_function->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; if(hasCodeInjections(java_function, {CodeSnip::Comment})){ writeInjectedCode(commentStream, java_function, CodeSnip::Comment); } @@ -3303,7 +3286,6 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig << INDENT << " * @param connectionType type of connection" << Qt::endl << INDENT << " * @return connection if successful or null otherwise" << Qt::endl << INDENT << " * @throws QMisfittingSignatureException Raised if their signatures are incompatible." << Qt::endl - << INDENT << " * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable." << Qt::endl << INDENT << " */" << Qt::endl << INDENT << "public final " << parameters << (parameters.isEmpty() ? "" : " ") << "io.qt.core.QMetaObject." << nonNull << "Connection connect(io.qt.core.QMetaObject." << snonNull << "Slot" << it.key() << parameters << " slot, io.qt.core.Qt." << nonNull << "ConnectionType" << arrayNonNull << "... connectionType) throws QNoSuchSignalException{" << Qt::endl << INDENT << " return super.connect(slot, connectionType);" << Qt::endl @@ -3386,7 +3368,6 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig << INDENT << " * @param connectionType type of connection" << Qt::endl << INDENT << " * @return connection if successful or null otherwise" << Qt::endl << INDENT << " * @throws QMisfittingSignatureException Raised if their signatures are incompatible." << Qt::endl - << INDENT << " * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable." << Qt::endl << INDENT << " */" << Qt::endl << INDENT << "public final " << parameters << (parameters.isEmpty() ? "" : " ") << "io.qt.core.QMetaObject." << nonNull << "Connection connect(io.qt.core.QMetaObject.Slot" << i << parameters << " slot, io.qt.core.Qt." << nonNull << "ConnectionType" << arrayNonNull << "... connectionType) throws QNoSuchSignalException{" << Qt::endl << INDENT << " return super.connect(slot, connectionType);" << Qt::endl @@ -3441,11 +3422,11 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig .replace("*/", "*/") << "

" << Qt::endl; } - if(!java_function->href().isEmpty()){ - QString url = docsUrl+java_function->href(); - commentStream << "

See "; - if(java_function->declaringClass()) - commentStream << java_function->declaringClass()->qualifiedCppName() + commentStream << "

See "; + if(!java_function->href().isEmpty()) + commentStream << "href() << "\">"; + if(java_function->declaringClass()) + commentStream << java_function->declaringClass()->qualifiedCppName() .replace("", "") .replace("QtJambi", "Q") .replace("QVoid", "Q") @@ -3456,8 +3437,8 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "::"; - commentStream << QString(java_function->originalSignature()) + << "::"; + commentStream << QString(java_function->originalSignature()) .replace("&", "&") .replace("<", "<") .replace(">", ">") @@ -3465,8 +3446,10 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "

" << Qt::endl; - } + .replace(",", ","); + if(!java_function->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; if(!comment.isEmpty()) commentStream << Qt::endl; if(hasCodeInjections(java_function, {CodeSnip::Comment})){ @@ -3591,14 +3574,15 @@ void JavaGenerator::writeMultiSignal(QTextStream &s, const MetaFunctionList& sig << INDENT << " *

Overloaded signals:

" << Qt::endl << INDENT << " *
    " << Qt::endl; for(MetaFunction* java_function : signalList){ - s << INDENT << " *
  • " << java_function->signature() + s << INDENT << " *
  • " << QString(java_function->originalSignature()) .replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\t", "    ") .replace("@", "@") .replace("/*", "/*") - .replace("*/", "*/") << "
  • " << Qt::endl; + .replace("*/", "*/") + .replace(",", ",") << "" << Qt::endl; } s << INDENT << " *
" << Qt::endl << INDENT << " */" << Qt::endl @@ -4018,25 +4002,9 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct QString comment; QTextStream commentStream(&comment); - if(!java_function->brief().isEmpty()){ - commentStream << "

" << QString(java_function->brief()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - } - if(!java_function->href().isEmpty()){ - QString url = docsUrl+java_function->href(); - commentStream << "

See "; - if(java_function->declaringClass() && java_function->functionType()!=MetaFunction::GlobalScopeFunction){ - commentStream << java_function->declaringClass()->qualifiedCppName() - .replace("", "") - .replace("QtJambi", "Q") - .replace("QVoid", "Q") + if (!java_function->isEmptyFunction()) { + if(!java_function->brief().isEmpty()){ + commentStream << "

" << QString(java_function->brief()) .replace("&", "&") .replace("<", "<") .replace(">", ">") @@ -4044,11 +4012,16 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "::"; + << "

" << Qt::endl; } - if(java_function->functionTemplate()){ - if(!java_function->functionTemplate()->originalSignature().isEmpty()){ - commentStream << QString(java_function->functionTemplate()->originalSignature()) + commentStream << "

See "; + if(!java_function->href().isEmpty()) + commentStream << "href() << "\">"; + if(java_function->declaringClass() && java_function->functionType()!=MetaFunction::GlobalScopeFunction){ + commentStream << java_function->declaringClass()->qualifiedCppName() + .replace("", "") + .replace("QtJambi", "Q") + .replace("QVoid", "Q") .replace("&", "&") .replace("<", "<") .replace(">", ">") @@ -4056,61 +4029,76 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "

" << Qt::endl; + << "::"; + } + if(java_function->functionTemplate()){ + if(!java_function->functionTemplate()->originalSignature().isEmpty()){ + commentStream << QString(java_function->functionTemplate()->originalSignature()) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); }else if(!java_function->functionTemplate()->minimalSignature().isEmpty()){ commentStream << QString(java_function->functionTemplate()->minimalSignature()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); }else{ commentStream << QString(java_function->functionTemplate()->name()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "(...)

" << Qt::endl; + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + << "(...)"; } }else { if(!java_function->originalSignature().isEmpty()){ commentStream << QString(java_function->originalSignature()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); }else if(!java_function->minimalSignature().isEmpty()){ commentStream << QString(java_function->minimalSignature()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); }else{ commentStream << QString(java_function->name()) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "(...)

" << Qt::endl; + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + << "(...)"; } } + if(!java_function->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; } if(hasCodeInjections(java_function, {CodeSnip::Comment})){ writeInjectedCode(commentStream, java_function, CodeSnip::Comment); @@ -4120,6 +4108,13 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct commentStream << Qt::endl; writeDeprecatedComment(commentStream, java_function); } + if (java_function->isEmptyFunction() && comment.isEmpty()) { + if(java_function->wasPrivate()){ + commentStream << "Function has no implementation because its native counterpart is private." << Qt::endl; + }else{ + commentStream << "Function has no implementation." << Qt::endl; + } + } if(!comment.trimmed().isEmpty() && (option & InFunctionComment)==0){ s << INDENT << "/**" << Qt::endl; commentStream.seek(0); @@ -4233,7 +4228,12 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct s << functionSignature(java_function, included_attributes, excluded_attributes, sigOption); } - if(!interfaceDefaultImpl.isEmpty()){ + if(java_function->isEmptyFunction() && !java_function->isAbstract()){ + s << " throws QNoImplementationException {" << Qt::endl + << INDENT << " throw new QNoImplementationException();" << Qt::endl + << INDENT << "}" << Qt::endl + << INDENT << Qt::endl; + }else if(!interfaceDefaultImpl.isEmpty()){ s << "{" << Qt::endl << interfaceDefaultImpl << INDENT << "}" << Qt::endl @@ -4438,9 +4438,6 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct s << ";" << Qt::endl << INDENT << Qt::endl; } else { - if (java_function->isEmptyFunction()) { - s << " throws QNoImplementationException "; - } s << "{" << Qt::endl; { INDENTATION(INDENT) @@ -4463,7 +4460,7 @@ void JavaGenerator::writeFunction(QTextStream &s, const MetaFunction *java_funct } } -void JavaGenerator::write_equals_parts(QTextStream &s, const MetaFunctionList &lst, char prefix, bool& first, bool& suppressUnchecked, bool& suppressRaw) { +void JavaGenerator::write_equals_parts(QTextStream &s, const MetaFunctionList &lst, char prefix, bool& first, bool& suppressUnchecked, bool& suppressRaw, QHash& javaTypesByFunction) { for(MetaFunction *f : lst) { MetaArgument *arg = f->arguments().at(0); QString type = f->typeReplaced(arg->argumentIndex()+1); @@ -4540,17 +4537,20 @@ void JavaGenerator::write_equals_parts(QTextStream &s, const MetaFunctionList &l boxedType = "java.lang.Character"; if(type=="java.lang.Void"){ + javaTypesByFunction[f] = "null"; s << INDENT << (first ? "if" : "else if") << " (other==null) {" << Qt::endl; s << INDENT << " return "; if (prefix != 0) s << prefix; s << f->name() << "((java.lang.Void)null);" << Qt::endl; }else if(type=="null"){ + javaTypesByFunction[f] = "null"; s << INDENT << (first ? "if" : "else if") << " (other==" << type; s << ") {" << Qt::endl; s << INDENT << " return "; if (prefix != 0) s << prefix; s << f->name() << "();" << Qt::endl; }else{ + javaTypesByFunction[f] = "{@link "+boxedType+"}"; s << INDENT << (first ? "if" : "else if") << " (other instanceof " << boxedType; if(arg->type()->typeEntry()->isContainer() && arg->type()->instantiations().size()){ s << " && checkContainerType((" << type << ") other"; @@ -4569,7 +4569,7 @@ void JavaGenerator::write_equals_parts(QTextStream &s, const MetaFunctionList &l } } -static void write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, int value, bool *first, bool& suppressUnchecked, bool& suppressRaw) { +void JavaGenerator::write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, int value, bool *first, bool& suppressUnchecked, bool& suppressRaw, QList>& javaTypesByFunction) { bool suppressNull = false; for(MetaFunction *f : lst) { MetaArgument *arg = f->arguments().at(0); @@ -4642,6 +4642,7 @@ static void write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, i else if(boxedType=="char") boxedType = "java.lang.Character"; if(value==0){ + javaTypesByFunction.append({f, "{@link "+boxedType+"}"}); s << INDENT << (*first ? "if" : "else if") << " (other instanceof " << boxedType; if(arg->type()->typeEntry()->isContainer() && arg->type()->instantiations().size()){ s << " && checkContainerType((" << type << ") other"; @@ -4655,12 +4656,14 @@ static void write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, i << INDENT << "}" << Qt::endl; }else{ if(type=="java.lang.Void"){ + javaTypesByFunction.append({f, "null"}); suppressNull = true; s << INDENT << (first ? "if" : "else if") << " (other==null) {" << Qt::endl; s << INDENT << " if (" << f->name() << "((java.lang.Void)null)) return " << value << ";" << Qt::endl << INDENT << " else return " << -value << ";" << Qt::endl << INDENT << "}" << Qt::endl; }else if(type=="null"){ + javaTypesByFunction.append({f, "null"}); suppressNull = true; s << INDENT << (first ? "if" : "else if") << " (other==" << type; s << ") {" << Qt::endl; @@ -4668,6 +4671,7 @@ static void write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, i << INDENT << " else return " << -value << ";" << Qt::endl << INDENT << "}" << Qt::endl; }else{ + javaTypesByFunction.append({f, "{@link "+boxedType+"}"}); s << INDENT << (*first ? "if" : "else if") << " (other instanceof " << boxedType; if(arg->type()->typeEntry()->isContainer() && arg->type()->instantiations().size()){ s << " && checkContainerType((" << type << ") other"; @@ -4767,15 +4771,87 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, if (eq_functions.size() || neq_functions.size()) { bool suppressRaw = false; bool suppressUnchecked = false; + QHash javaTypesByFunction; QString eq; { INDENTATION(INDENT) QTextStream _s(&eq); bool first = true; - write_equals_parts(_s, eq_functions, char(0), first, suppressUnchecked, suppressRaw); - write_equals_parts(_s, neq_functions, '!', first, suppressUnchecked, suppressRaw); + write_equals_parts(_s, eq_functions, char(0), first, suppressUnchecked, suppressRaw, javaTypesByFunction); + write_equals_parts(_s, neq_functions, '!', first, suppressUnchecked, suppressRaw, javaTypesByFunction); } s << Qt::endl; + s << INDENT << "/**" << Qt::endl; + MetaFunctionList funs; + funs << eq_functions << neq_functions; + if(funs.size()==1){ + s << INDENT << " *

See "; + if(!funs[0]->href().isEmpty()){ + s << "href() << "\">"; + } + if(funs[0]->functionType()!=MetaFunction::GlobalScopeFunction){ + s << cls->qualifiedCppName() + .replace("", "") + .replace("QtJambi", "Q") + .replace("QVoid", "Q") + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + << "::"; + } + s << QString(funs[0]->originalSignature()) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); + if(!funs[0]->href().isEmpty()) + s << ""; + s << "

" << Qt::endl; + }else{ + s << INDENT << " *

Checks for equality depending on the type of given object.

" << Qt::endl; + } + s << INDENT << " */" << Qt::endl; s << INDENT << "@Override" << Qt::endl; s << INDENT << "@QtUninvokable" << Qt::endl; if(suppressRaw && suppressUnchecked) @@ -4820,6 +4896,9 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, if(writeHashEquals){ if (cls->hasHashFunction()) { s << Qt::endl; + s << INDENT << "/**" << Qt::endl; + s << INDENT << " * Checks for equality by checking object's hash code." << Qt::endl; + s << INDENT << " */" << Qt::endl; s << INDENT << "@Override" << Qt::endl; s << INDENT << "@QtUninvokable" << Qt::endl; s << INDENT << "public boolean equals(Object other) {" << Qt::endl; @@ -4878,6 +4957,7 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, ? gt_functions.size() || geq_functions.size() || lt_functions.size() || leq_functions.size() : gt_functions.size() == 1 || lt_functions.size() == 1); if (comparable) { + QList> javaTypesByFunction; bool suppressRaw = false; bool suppressUnchecked = false; QString comparableType = findComparableType(cls); @@ -4898,34 +4978,37 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, printExtraCode(lines, s); if(compare_functions.size()){ bool first = false; - write_compareto_parts(s, compare_functions, 0, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, compare_functions, 0, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); }else if (hasEquals) { s << INDENT << "if (equals(other)) return 0;" << Qt::endl; if (lt_functions.size() == 1 && gt_functions.size() == 0 && leq_functions.size() == 0 && geq_functions.size() == 0) { + javaTypesByFunction.append({lt_functions[0], ""}); s << INDENT << "else if (" << lt_functions[0]->name() << "(other)) return -1;" << Qt::endl << INDENT << "else return 1;" << Qt::endl; }else if (gt_functions.size() == 1 && lt_functions.size() == 0 && leq_functions.size() == 0 && geq_functions.size() == 0) { + javaTypesByFunction.append({gt_functions[0], ""}); s << INDENT << "else if (" << gt_functions[0]->name() << "(other)) return -1;" << Qt::endl << INDENT << "else return 1;" << Qt::endl; }else{ bool first = false; if (lt_functions.size()) { - write_compareto_parts(s, lt_functions, -1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, lt_functions, -1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (gt_functions.size()) { - write_compareto_parts(s, gt_functions, 1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, gt_functions, 1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (leq_functions.size()) { - write_compareto_parts(s, leq_functions, -1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, leq_functions, -1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (geq_functions.size()) { - write_compareto_parts(s, geq_functions, 1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, geq_functions, 1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } } } else if (lt_functions.size() == 1) { + javaTypesByFunction.append({lt_functions[0], ""}); QString className = cls->typeEntry()->qualifiedTargetLangName(); if(cls->typeEntry()->isGenericClass()){ if(cls->templateBaseClass()){ @@ -4948,6 +5031,7 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, << INDENT << "else return 0;" << Qt::endl; } else if (gt_functions.size() == 1) { + javaTypesByFunction.append({gt_functions[0], ""}); QString className = cls->typeEntry()->qualifiedTargetLangName(); if(cls->typeEntry()->isGenericClass()){ if(cls->templateBaseClass()){ @@ -4970,6 +5054,7 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, << INDENT << "else return 0;" << Qt::endl; } else if (geq_functions.size() == 1 && leq_functions.size()) { + javaTypesByFunction.append({geq_functions[0], ""}); QString className = cls->typeEntry()->qualifiedTargetLangName(); if(cls->typeEntry()->isContainer()){ if(className=="java.util.List" @@ -5020,19 +5105,92 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, }else{ bool first = true; if (lt_functions.size()) { - write_compareto_parts(s, lt_functions, -1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, lt_functions, -1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (gt_functions.size()) { - write_compareto_parts(s, gt_functions, 1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, gt_functions, 1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (leq_functions.size()) { - write_compareto_parts(s, leq_functions, -1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, leq_functions, -1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } else if (geq_functions.size()) { - write_compareto_parts(s, geq_functions, 1, &first, suppressUnchecked, suppressRaw); + write_compareto_parts(s, geq_functions, 1, &first, suppressUnchecked, suppressRaw, javaTypesByFunction); } } } s << INDENT << "}" << Qt::endl; } + s << INDENT << "/**" << Qt::endl; + if(javaTypesByFunction.size()==1){ + auto f = javaTypesByFunction[0].first; + s << INDENT << " *

See "; + if(!f->href().isEmpty()){ + s << "href() << "\">"; + } + if(f->functionType()!=MetaFunction::GlobalScopeFunction){ + s << cls->qualifiedCppName() + .replace("", "") + .replace("QtJambi", "Q") + .replace("QVoid", "Q") + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + << "::"; + } + s << QString(f->originalSignature()) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); + if(!f->href().isEmpty()) + s << ""; + s << "

" << Qt::endl; + }else{ + s << INDENT << " *

Compares to other object depending on its type.

" << Qt::endl; + } + s << INDENT << " */" << Qt::endl; if(suppressRaw && suppressUnchecked) s << INDENT << "@SuppressWarnings({\"rawtypes\", \"unchecked\"})" << Qt::endl; else if(suppressRaw) @@ -5061,6 +5219,9 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, } if(lines.isEmpty() && cls->hasHashFunction() && !cls->typeEntry()->isNativeIdBased() && !cls->typeEntry()->designatedInterface()){ s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Returns the objects's hash code computed by qHash(" << cls->qualifiedCppName() << ")." << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@QtUninvokable" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public native int hashCode();" << Qt::endl; @@ -5071,6 +5232,9 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, && cls->typeEntry()->isDestructorPublic() && !cls->typeEntry()->skipMetaTypeRegistration())){ s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Returns the objects's hash code computed by qHash(" << cls->qualifiedCppName() << ")." << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@QtUninvokable" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public int hashCode() {" << Qt::endl; @@ -5144,11 +5308,17 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, if (!found) { if(lines.isEmpty() && !cls->typeEntry()->isNativeIdBased() && !cls->typeEntry()->designatedInterface()){ s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Returns the string representation of the object given by QVariant(this).toString()." << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@QtUninvokable" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public native " << nonNull << "String toString();" << Qt::endl; }else{ s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Returns the string representation of the object given by QVariant(this).toString()." << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@QtUninvokable" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public " << nonNull << "String toString() {" << Qt::endl; @@ -5177,6 +5347,9 @@ void JavaGenerator::writeJavaLangObjectOverrideFunctions(QTextStream &s, } }else if(!lines.isEmpty()){ s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@QtUninvokable" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public " << nonNull << "String toString() {" << Qt::endl; @@ -5938,6 +6111,7 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti QTextStream s(&lines); QTextStream commentStream(&comment); if(java_class->typeEntry()->designatedInterface()){ + commentStream << "@hidden" << Qt::endl; commentStream << "

Implementor class for interface {@link " << QString(java_class->typeEntry()->designatedInterface()->qualifiedTargetLangName()).replace("$", ".") << "}

" << Qt::endl; }else{ if(!java_class->brief().isEmpty()){ @@ -5951,47 +6125,33 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti .replace("*/", "*/") << "

" << Qt::endl; } - if(java_class->href().isEmpty()){ - commentStream << "

Java wrapper for Qt "; - if(java_class->typeEntry()->isNamespace()){ - if(reinterpret_cast(java_class->typeEntry())->isHeader()) - commentStream << "namespace "; - else - commentStream << "header file "; - }else{ - commentStream << "class "; - } - commentStream << ( -// java_class->templateBaseClass() -// ? java_class->templateBaseClass()->qualifiedCppName().replace("", "") -// : - java_class->qualifiedCppName() ) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") << "

" << Qt::endl; + commentStream << "

Java wrapper for Qt "; + if(java_class->typeEntry()->isNamespace()){ + if(reinterpret_cast(java_class->typeEntry())->isHeader()) + commentStream << "namespace "; + else + commentStream << "header file "; }else{ - QString url = docsUrl+java_class->href(); - commentStream << "

Java wrapper for Qt's " - << (java_class->typeEntry()->isNamespace() ? "namespace" : "class") - << " " - << ( -// java_class->templateBaseClass() -// ? java_class->templateBaseClass()->qualifiedCppName().replace("", "") -// : - java_class->qualifiedCppName() ) - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - .replace("\t", "    ") - .replace("@", "@") - .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; - } + commentStream << "class "; + } + commentStream << ""; + if(!java_class->href().isEmpty()) + commentStream << "href() << "\">"; + commentStream << ( + // java_class->templateBaseClass() + // ? java_class->templateBaseClass()->qualifiedCppName().replace("", "") + // : + java_class->qualifiedCppName() ) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/"); + if(!java_class->href().isEmpty()) + commentStream << ""; + commentStream << "

" << Qt::endl; } if (java_class->isDeprecated()) { @@ -6483,7 +6643,11 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti } if (iterableType) { - s << INDENT << Qt::endl + s << INDENT << "/**" << Qt::endl + << INDENT << " * Returns an iterator for this iterable object." << Qt::endl + << INDENT << " * @see " << (isConst ? "#constBegin()" : "#begin()") << Qt::endl + << INDENT << " * @see " << (isConst ? "#constEnd()" : "#end()") << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public java.util."; if(m_nullness) @@ -6513,6 +6677,7 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti s << INDENT << "/**" << Qt::endl << INDENT << " * Constructor for internal use only." << Qt::endl << INDENT << " * @param p expected to be null." << Qt::endl + << INDENT << " * @hidden" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << "@NativeAccess" << Qt::endl << INDENT << "protected "<< java_class->simpleName() << "(QPrivateConstructor p) { super(p); } " << Qt::endl @@ -6520,6 +6685,7 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti if(java_class->isQObject() && java_class->hasStandardConstructor() && !java_class->hasUnimplmentablePureVirtualFunction()){ s << INDENT << "/**" << Qt::endl << INDENT << " * Constructor for internal use only." << Qt::endl + << INDENT << " * @hidden" << Qt::endl << INDENT << " * It is not allowed to call the declarative constructor from inside Java." << Qt::endl << INDENT << " */" << Qt::endl << INDENT << "@NativeAccess" << Qt::endl @@ -6611,7 +6777,11 @@ void JavaGenerator::write(QTextStream &s, const MetaClass *java_class, int nesti } if(!restrictedFunctions.isEmpty()){ QString targetLangName = java_class->typeEntry()->targetLangName().replace('$', '.'); - s << INDENT << "public static class MemberAccess extends io.qt.MemberAccess<" << targetLangName << "> {" << Qt::endl; + s << INDENT << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * @hidden" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << "public static class MemberAccess extends io.qt.MemberAccess<" << targetLangName << "> {" << Qt::endl; { INDENTATION(INDENT) s << INDENT << "private MemberAccess(" << targetLangName << " instance){" << Qt::endl @@ -8406,21 +8576,9 @@ void JavaGenerator::writeExtraFunctions(QTextStream &s, const MetaFunctional *ja void JavaGenerator::writeToStringFunction(QTextStream &s, const MetaClass *java_class) { bool generate = java_class->toStringCapability() && !java_class->hasDefaultToStringFunction(); - bool core = java_class->package() == QLatin1String("io.qt.core"); - bool qevent = false; - - { - const MetaClass *cls = java_class; - while (cls) { - if (cls->name() == "QEvent") { - qevent = true; - break; - } - cls = cls->baseClass(); - } - } + bool isQEvent = java_class->isQEvent() && java_class->qualifiedCppName()=="QEvent"; - if (generate || qevent) { + if (generate || isQEvent) { QStringList lines; for(const CodeSnip& codeSnip : java_class->typeEntry()->codeSnips()){ if(codeSnip.language==TS::TargetLangCode && codeSnip.position==CodeSnip::ToString){ @@ -8428,30 +8586,65 @@ void JavaGenerator::writeToStringFunction(QTextStream &s, const MetaClass *java_ } } QString nonNull = m_nullness ? QStringLiteral("@NonNull ") : QString{}; - if (qevent && core) { + if (isQEvent) { s << Qt::endl + << INDENT << "/**" << Qt::endl + << INDENT << " * Returns the string representation of the QEvent." << Qt::endl + << INDENT << " */" << Qt::endl << INDENT << "@Override" << Qt::endl << INDENT << "public " << nonNull << "String toString() {" << Qt::endl; if(!lines.isEmpty()){ printExtraCode(lines, s); } - s << INDENT << " return getClass().getSimpleName() + \"(type=\" + type().name() + \")\";" << Qt::endl + s << INDENT << " return \"QEvent(type=\" + type().name() + \")\";" << Qt::endl << INDENT << "}" << Qt::endl; } else { - if(lines.isEmpty() && !java_class->typeEntry()->isNativeIdBased() && !java_class->typeEntry()->designatedInterface()){ - s << Qt::endl - << INDENT << "@QtUninvokable" << Qt::endl - << INDENT << "@Override" << Qt::endl - << INDENT << "public native " << nonNull << "String toString();" << Qt::endl; - }else{ - QString name = java_class->name(); - if(java_class->typeEntry() && java_class->typeEntry()->designatedInterface()){ - name = java_class->typeEntry()->designatedInterface()->targetLangName(); + s << Qt::endl + << INDENT << "/**" << Qt::endl; + if(java_class->toStringCapability()){ + s << INDENT << " *

See "; + if(!java_class->toStringCapability()->href().isEmpty()){ + s << "toStringCapability()->href() << "\">"; + } + if(java_class->toStringCapability()->functionType()!=MetaFunction::GlobalScopeFunction){ + s << java_class->qualifiedCppName() + .replace("", "") + .replace("QtJambi", "Q") + .replace("QVoid", "Q") + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + << "::"; } - s << Qt::endl - << INDENT << "@Override" << Qt::endl - << INDENT << "@QtUninvokable" << Qt::endl - << INDENT << "public " << nonNull << "String toString() {" << Qt::endl; + s << QString(java_class->toStringCapability()->originalSignature()) + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") + .replace("\t", "    ") + .replace("@", "@") + .replace("/*", "/*") + .replace("*/", "*/") + .replace(",", ","); + if(!java_class->toStringCapability()->href().isEmpty()) + s << ""; + s << "

" << Qt::endl; + }else{ + s << INDENT << " * Returns the string representation of the object given by operator<<(QDebug, " << java_class->qualifiedCppName() << ")." << Qt::endl; + } + s << INDENT << " */" << Qt::endl + << INDENT << "@QtUninvokable" << Qt::endl + << INDENT << "@Override" << Qt::endl + << INDENT << "public "; + bool isNative = lines.isEmpty() && !java_class->typeEntry()->isNativeIdBased() && !java_class->typeEntry()->designatedInterface(); + if(isNative) + s << "native "; + s << nonNull << "String toString()"; + if(!isNative){ + s << " {" << Qt::endl; if(!lines.isEmpty()){ printExtraCode(lines, s); } @@ -8473,8 +8666,9 @@ void JavaGenerator::writeToStringFunction(QTextStream &s, const MetaClass *java_ }else if(java_class->typeEntry()->designatedInterface()){ s << java_class->simpleName() << " _this"; } - s << ");" << Qt::endl; + s << ")"; } + s << ";" << Qt::endl; } } } @@ -8494,8 +8688,10 @@ void JavaGenerator::writeCloneFunction(QTextStream &s, const MetaClass *java_cla && f->arguments()[0]->type()->isConstant() && f->arguments()[0]->type()->getReferenceType()==MetaType::Reference && f->arguments()[0]->type()->typeEntry()==java_class->typeEntry()) { - QString url = docsUrl+f->href(); - s << "

See "; + s << "

See "; + if(!f->href().isEmpty()){ + s << "href() << "\">"; + } s << java_class->qualifiedCppName() .replace("", "") .replace("QtJambi", "Q") @@ -8507,7 +8703,7 @@ void JavaGenerator::writeCloneFunction(QTextStream &s, const MetaClass *java_cla .replace("@", "@") .replace("/*", "/*") .replace("*/", "*/") - << "::"; + << "::"; s << QString(f->originalSignature()) .replace("&", "&") .replace("<", "<") @@ -8515,8 +8711,10 @@ void JavaGenerator::writeCloneFunction(QTextStream &s, const MetaClass *java_cla .replace("\t", "    ") .replace("@", "@") .replace("/*", "/*") - .replace("*/", "*/") - << "

" << Qt::endl; + .replace("*/", "*/"); + if(!f->href().isEmpty()) + s << ""; + s << "

" << Qt::endl; break; } } @@ -8699,49 +8897,89 @@ void JavaGenerator::generateFake(const MetaClass *fake_class) { s << INDENT << "package " << enm->package() << ";" << Qt::endl << Qt::endl << "import io.qt.*;" << Qt::endl - << Qt::endl - << INDENT << "public final class " << flagsName << " extends QFlags<" << enm->name().replace("$",".") << "> {" << Qt::endl + << Qt::endl; + s << INDENT << "/**" << Qt::endl + << INDENT << " * {@link QFlags} type for enum {@link " << enm->name().replace("$",".") << "}" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << "public final class " << flagsName << " extends QFlags<@NonNull " << enm->name().replace("$",".") << "> implements Comparable<@NonNull " << flagsName << "> {" << Qt::endl << INDENT << " private static final long serialVersionUID = 0x" << QString::number(serialVersionUID, 16) << "L;" << Qt::endl; printExtraCode(linesPos1, s, true); s << INDENT << " static {" << Qt::endl << INDENT << " QtJambi_LibraryUtilities.initialize();" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl - << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " * Creates a new " << flagsName << " where the flags in args are set." << Qt::endl + << INDENT << " * @param args enum entries" << Qt::endl << INDENT << " */" << Qt::endl - << INDENT << " public " << flagsName << "(" << enm->name().replace("$",".") << " ... args){" << Qt::endl + << INDENT << " public " << flagsName << "(@Nullable " << enm->name().replace("$",".") << " @NonNull... args){" << Qt::endl << INDENT << " super(args);" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl - << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " * Creates a new " << flagsName << " with given value." << Qt::endl + << INDENT << " * @param value" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " public " << flagsName << "(int value) {" << Qt::endl << INDENT << " super(value);" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl - << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " * Combines this flags with enum entry." << Qt::endl + << INDENT << " * @param e enum entry" << Qt::endl + << INDENT << " * @return new " << flagsName << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " @Override" << Qt::endl - << INDENT << " public final " << flagsName << " combined(" << enm->name().replace("$",".") << " e){" << Qt::endl + << INDENT << " public final @NonNull " << flagsName << " combined(@StrictNonNull " << enm->name().replace("$",".") << " e){" << Qt::endl << INDENT << " return new " << flagsName << "(value() | e.value());" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl - << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " * Sets the flag e" << Qt::endl + << INDENT << " * @param e enum entry" << Qt::endl + << INDENT << " * @return this" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << " public final @NonNull " << flagsName << " setFlag(@Nullable " << enm->name().replace("$",".") << " e){" << Qt::endl + << INDENT << " return setFlag(e, true);" << Qt::endl + << INDENT << " }" << Qt::endl << Qt::endl + << INDENT << " /**" << Qt::endl + << INDENT << " * Sets or clears the flag flag" << Qt::endl + << INDENT << " * @param e enum entry" << Qt::endl + << INDENT << " * @param on set (true) or clear (false)" << Qt::endl + << INDENT << " * @return this" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << " public final @NonNull " << flagsName << " setFlag(@Nullable " << enm->name().replace("$",".") << " e, boolean on){" << Qt::endl + << INDENT << " if (e!=null) {" << Qt::endl + << INDENT << " if (on) {" << Qt::endl + << INDENT << " setValue(value() | e.value());" << Qt::endl + << INDENT << " }else {" << Qt::endl + << INDENT << " setValue(value() & ~e.value());" << Qt::endl + << INDENT << " }" << Qt::endl + << INDENT << " }" << Qt::endl + << INDENT << " return this;" << Qt::endl + << INDENT << " }" << Qt::endl << Qt::endl + << INDENT << " /**" << Qt::endl + << INDENT << " * Returns an array of flag objects represented by this " << flagsName << "." << Qt::endl + << INDENT << " * @return array of enum entries" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " @Override" << Qt::endl - << INDENT << " public final " << enm->name().replace("$",".") << "[] flags(){" << Qt::endl + << INDENT << " public final @NonNull " << enm->name().replace("$",".") << " @NonNull[] flags(){" << Qt::endl << INDENT << " return super.flags(" << enm->name().replace("$",".") << ".values());" << Qt::endl << INDENT << " }" << Qt::endl << Qt::endl << INDENT << " /**" << Qt::endl << INDENT << " * {@inheritDoc}" << Qt::endl << INDENT << " */" << Qt::endl << INDENT << " @Override" << Qt::endl - << INDENT << " public final " << flagsName << " clone(){" << Qt::endl + << INDENT << " public final @NonNull " << flagsName << " clone(){" << Qt::endl << INDENT << " return new " << flagsName << "(value());" << Qt::endl + << INDENT << " }" << Qt::endl << Qt::endl + << INDENT << " /**" << Qt::endl + << INDENT << " * {@inheritDoc}" << Qt::endl + << INDENT << " */" << Qt::endl + << INDENT << " @Override" << Qt::endl + << INDENT << " public final int compareTo(@StrictNonNull " << flagsName << " other){" << Qt::endl + << INDENT << " return Integer.compare(value(), other.value());" << Qt::endl << INDENT << " }" << Qt::endl; printExtraCode(linesPos4, s, true); printExtraCode(linesPos5, s, true); - s << INDENT << "}" << Qt::endl << Qt::endl; + s << INDENT << "}" << Qt::endl + << INDENT << Qt::endl; if (s.finish()) ++m_num_generated_written; ++m_num_generated; diff --git a/src/cpp/QtJambiGenerator/javagenerator.h b/src/cpp/QtJambiGenerator/javagenerator.h index b11e2a4d..c3f05ffe 100644 --- a/src/cpp/QtJambiGenerator/javagenerator.h +++ b/src/cpp/QtJambiGenerator/javagenerator.h @@ -175,7 +175,8 @@ class JavaGenerator : public AbstractGenerator { private: void printExtraCode(QStringList& lines, QTextStream &s, bool addFreeLine = false); - void write_equals_parts(QTextStream &s, const MetaFunctionList &lst, char prefix, bool& first, bool& suppressUnchecked, bool& suppressRaw); + void write_equals_parts(QTextStream &s, const MetaFunctionList &lst, char prefix, bool& first, bool& suppressUnchecked, bool& suppressRaw, QHash& javaTypesByFunction); + void write_compareto_parts(QTextStream &s, const MetaFunctionList &lst, int value, bool *first, bool& suppressUnchecked, bool& suppressRaw, QList>& javaTypesByFunction); QString subDirectoryForPackage(const QString &package) const { return QString(package).replace(".", "/"); } void writeInstantiatedType(QTextStream &s, const MetaType *abstractMetaType, bool forceBoxed) const; void write(QTextStream &s, const MetaEnum *global_enum); diff --git a/src/cpp/QtJambiGenerator/metabuilder.cpp b/src/cpp/QtJambiGenerator/metabuilder.cpp index 1ad9028a..40ed926e 100644 --- a/src/cpp/QtJambiGenerator/metabuilder.cpp +++ b/src/cpp/QtJambiGenerator/metabuilder.cpp @@ -217,6 +217,14 @@ void MetaBuilder::checkFunctionModifications() { if (function->originalName() == name) possibleSignatures.append(function->minimalSignature() + " in " + function->implementingClass()->name()); } + if(!found && clazz->typeEntry()->codeGeneration()!=TypeEntry::GenerateAll){ + for(MetaFunction *function : clazz->invalidFunctions()) { + if (function->originalSignature() == signature) { + found = true; + break; + } + } + } if(!found && clazz->typeEntry()->isInterface()){ clazz = clazz->extractInterfaceImpl(); @@ -228,6 +236,14 @@ void MetaBuilder::checkFunctionModifications() { if (function->originalName() == name) possibleSignatures.append(function->minimalSignature() + " in " + function->implementingClass()->name()); } + if(!found && clazz->typeEntry()->codeGeneration()!=TypeEntry::GenerateAll){ + for(MetaFunction *function : clazz->invalidFunctions()) { + if (function->originalSignature() == signature) { + found = true; + break; + } + } + } } if (!found && clazz->typeEntry()->codeGeneration()!=TypeEntry::GenerateNothing && modification.template_instantiations.isEmpty()) { @@ -3248,7 +3264,34 @@ void MetaBuilder::figureOutDefaultEnumArguments() { new_expr = QString("%1.%2") .arg(e->typeEntry()->qualifiedTargetLangName(), lst.last()); } else { - ReportHandler::warning("Cannot find enum constant for value '" + expr + "' in '" + meta_class->name() + "' or any of its super classes"); + new_expr.clear(); + if(lst.size()>1){ + if(MetaClass * clazz = m_meta_classes.findClass(lst.mid(0, lst.size()-1).join("::"))){ + if(lst.last().endsWith("()")){ + if(MetaFunction * f = clazz->findFunction(lst.last().mid(0, lst.last().length()-2))){ + new_expr = QString("%1.%2()") + .arg(clazz->typeEntry()->qualifiedTargetLangName(), f->name()); + } + }else if(MetaField * f = clazz->findField(lst.last())){ + new_expr = QString("%1.%2") + .arg(clazz->typeEntry()->qualifiedTargetLangName(), f->name()); + } + } + }else{ + if(lst.last().endsWith("()")){ + if(MetaFunction * f = meta_class->findFunction(lst.last().mid(0, lst.last().length()-2))){ + new_expr = QString("%1.%2()") + .arg(meta_class->typeEntry()->qualifiedTargetLangName(), f->name()); + } + }else if(MetaField * f = meta_class->findField(lst.last())){ + new_expr = QString("%1.%2") + .arg(meta_class->typeEntry()->qualifiedTargetLangName(), f->name()); + } + } + if(new_expr.isEmpty()){ + new_expr = expr; + ReportHandler::warning("Cannot find enum constant for value '" + expr + "' in '" + meta_class->name() + "' or any of its super classes"); + } } } else { MetaEnum *e = nullptr; @@ -3767,6 +3810,8 @@ MetaClass *MetaBuilder::traverseClass(ClassModelItem class_item, QListisObject()) { if(full_class_name==QLatin1String("QObject")){ type->setQObject(true); + }else if(full_class_name==QLatin1String("QEvent")){ + type->setQEvent(true); }else if(full_class_name==QLatin1String("QWidget")){ type->setQWidget(true); }else if(full_class_name==QLatin1String("QWindow")){ @@ -3904,20 +3949,20 @@ MetaClass *MetaBuilder::traverseClass(ClassModelItem class_item, QList& instantiations = meta_class->typeEntry()->instantiations(); for(const QStringList& args : instantiations.keys()){ if(ComplexTypeEntry* instantiation = const_cast(instantiations[args])){ - if (meta_class->typeEntry()->isObject()) { - if(meta_class->typeEntry()->isQObject()){ - instantiation->setQObject(true); - if(meta_class->typeEntry()->isQWidget()){ - instantiation->setQWidget(true); - }else if(meta_class->typeEntry()->isQWindow()){ - instantiation->setQWindow(true); - }else if(meta_class->typeEntry()->isQAction()){ - instantiation->setQAction(true); - }else if(meta_class->typeEntry()->isQCoreApplication()){ - instantiation->setQCoreApplication(true); - }else if(meta_class->typeEntry()->isQMediaControl()){ - instantiation->setQMediaControl(true); - } + if (meta_class->typeEntry()->isQEvent()) { + instantiation->setQEvent(true); + }else if(meta_class->typeEntry()->isQObject()){ + instantiation->setQObject(true); + if(meta_class->typeEntry()->isQWidget()){ + instantiation->setQWidget(true); + }else if(meta_class->typeEntry()->isQWindow()){ + instantiation->setQWindow(true); + }else if(meta_class->typeEntry()->isQAction()){ + instantiation->setQAction(true); + }else if(meta_class->typeEntry()->isQCoreApplication()){ + instantiation->setQCoreApplication(true); + }else if(meta_class->typeEntry()->isQMediaControl()){ + instantiation->setQMediaControl(true); } } @@ -4776,7 +4821,7 @@ void MetaBuilder::traverseFunctions(ScopeModelItem scope_item) { addInclude(cls->typeEntry(), function_item->fileName(), true); cls->typeEntry()->setHasHash(); cls->setNeedsHashWorkaround(isWorkaround); - cls->setQHashScope(m_current_class ? m_current_class->qualifiedCppName() : QString{}); + cls->setQHashScope(m_current_class && !meta_function->isInGlobalScope() ? m_current_class->qualifiedCppName() : QString{}); skip = true; } } @@ -5135,7 +5180,9 @@ MetaType* MetaBuilder::exchangeTemplateTypes(const MetaType* type, bool isReturn MetaType*rtype = type->copy(); rtype->setConstant(ttype->isConstant() || type->isConstant()); rtype->setIndirections(QList() << ttype->indirections() << type->indirections()); - rtype->setReferenceType(ttype->getReferenceType()); + //rtype->setReferenceType(ttype->getReferenceType()); + if(rtype->getReferenceType()==MetaType::NoReference && type->getReferenceType()!=MetaType::NoReference && !rtype->indirections().isEmpty()) + rtype->setReferenceType(type->getReferenceType()); rtype->setTypeEntry(ttype->typeEntry()); decideUsagePattern(rtype); if(!rtype->indirections().isEmpty() && isReturn){ @@ -7525,12 +7572,10 @@ void MetaBuilder::fixMissingIterator(){ void MetaBuilder::decideUsagePattern(MetaType *meta_type) { const TypeEntry *type = meta_type->typeEntry(); - if(meta_type->getReferenceType()==MetaType::RReference){ - meta_type->setTypeUsagePattern(MetaType::RValuePattern); - - } else if (type->isPrimitive()) { + if (type->isPrimitive()) { if(meta_type->actualIndirections() == 0 - || (meta_type->isConstant() && meta_type->getReferenceType()==MetaType::Reference && meta_type->indirections().size() == 0)){ + || (meta_type->isConstant() && meta_type->getReferenceType()==MetaType::Reference && meta_type->indirections().size() == 0) + || (meta_type->getReferenceType()==MetaType::RReference && meta_type->indirections().size() == 0)){ if(type->qualifiedCppName()=="std::nullptr_t") meta_type->setTypeUsagePattern(MetaType::NullptrPattern); else @@ -7561,6 +7606,7 @@ void MetaBuilder::decideUsagePattern(MetaType *meta_type) { } else if (type->isQString() && (meta_type->indirections().size() == 1 || (meta_type->getReferenceType()==MetaType::Reference && !meta_type->isConstant()) + || meta_type->getReferenceType()==MetaType::RReference )) { if(!meta_type->isConstant()) meta_type->setTypeEntry(TypeDatabase::instance()->qstringType()); @@ -7628,6 +7674,7 @@ void MetaBuilder::decideUsagePattern(MetaType *meta_type) { } else if (type->isQVariant() && (meta_type->indirections().size() == 1 || (meta_type->getReferenceType()==MetaType::Reference && !meta_type->isConstant()) + || meta_type->getReferenceType()==MetaType::RReference )) { if(!meta_type->isConstant()) meta_type->setTypeEntry(TypeDatabase::instance()->qvariantType()); @@ -7639,7 +7686,7 @@ void MetaBuilder::decideUsagePattern(MetaType *meta_type) { } else if (type->isObject() && meta_type->indirections().size() == 0 - && meta_type->getReferenceType()==MetaType::Reference) { + && (meta_type->getReferenceType()==MetaType::Reference || meta_type->getReferenceType()==MetaType::RReference)) { meta_type->setTypeUsagePattern(MetaType::ObjectPattern); } else if (type->isObject() diff --git a/src/cpp/QtJambiGenerator/metalang.cpp b/src/cpp/QtJambiGenerator/metalang.cpp index ba3d2cf4..98cf1ccd 100644 --- a/src/cpp/QtJambiGenerator/metalang.cpp +++ b/src/cpp/QtJambiGenerator/metalang.cpp @@ -64,6 +64,8 @@ MetaType *MetaType::copy() const { bool MetaType::isQObject() const { return m_pattern == ObjectPattern && static_cast(m_type_entry)->isQObject(); } +bool MetaType::isQEvent() const { return m_pattern == ObjectPattern && static_cast(m_type_entry)->isQEvent(); } + QString MetaType::cppSignature() const { QString s; @@ -2075,6 +2077,8 @@ void MetaClass::setBaseClass(MetaClass *base_class) { if(base_class){ if(base_class->typeEntry()->isQObject()) m_type_entry->setQObject(true); + if(base_class->typeEntry()->isQEvent()) + m_type_entry->setQEvent(true); if(base_class->typeEntry()->isQWidget()) m_type_entry->setQWidget(true); if(base_class->typeEntry()->isQWindow()) @@ -3029,6 +3033,21 @@ void MetaClass::setEnclosedClasses(const MetaClassList &enclosed_classes) { m_enclosed_classes = enclosed_classes; } +MetaField *MetaClass::findField(const QString &name){ + for(MetaField *e : m_fields) { + if (e->name() == name) + return e; + } + return nullptr; +} + +MetaFunction *MetaClass::findFunction(const QString &name){ + for(MetaFunction *e : m_functions) { + if (e->name() == name) + return e; + } + return nullptr; +} MetaEnum *MetaClass::findEnum(const QString &enumName) { for(MetaEnum *e : m_enums) { @@ -3199,7 +3218,7 @@ QString MetaType::normalizedSignature() const { } bool MetaType::hasNativeId() const { - return (isQObject() || isValue() || isObject() || isFunctional() || isRValue()) && typeEntry()->isNativeIdBased(); + return (isQObject() || isValue() || isObject() || isFunctional()) && typeEntry()->isNativeIdBased(); } diff --git a/src/cpp/QtJambiGenerator/metalang.h b/src/cpp/QtJambiGenerator/metalang.h index 92e73f7f..6bbb1c3a 100644 --- a/src/cpp/QtJambiGenerator/metalang.h +++ b/src/cpp/QtJambiGenerator/metalang.h @@ -227,8 +227,7 @@ class MetaType { QVariantPattern, JObjectWrapperPattern, ArrayPattern, - TemplateArgumentPattern, - RValuePattern + TemplateArgumentPattern }; MetaType() : @@ -317,6 +316,9 @@ class MetaType { // returns true if the type is used as a QObject * bool isQObject() const; + // returns true if the type is used as a QEvent * + bool isQEvent() const; + // returns true if the type is used as an object, e.g. Xxx * bool isObject() const { return m_pattern == ObjectPattern; } @@ -329,9 +331,6 @@ class MetaType { // returns true if the type is used as a value type (X or const X &) bool isValue() const { return m_pattern == ValuePattern; } - // returns true if the type is used as an R-value type (X&&) - bool isRValue() const { return m_pattern == RValuePattern; } - // returns true for more complex types... bool isNativePointer() const { return m_pattern == NativePointerPattern; } @@ -1101,6 +1100,8 @@ class MetaClass : public MetaAttributes { e->setEnclosingClass(this); } + MetaField *findField(const QString &name); + MetaFunction *findFunction(const QString &name); MetaEnum *findEnum(const QString &enumName); MetaFunctional *findFunctional(const QString &functionalName); MetaEnum *findEnumForValue(const QString &enumName); @@ -1139,6 +1140,7 @@ class MetaClass : public MetaAttributes { bool isInterface() const { return m_type_entry->isInterface(); } bool isNamespace() const { return m_type_entry->isNamespace(); } bool isQObject() const { return m_type_entry->isQObject(); } + bool isQEvent() const { return m_type_entry->isQEvent(); } bool isQWidget() const { return m_type_entry->isQWidget(); } bool isQWindow() const { return m_type_entry->isQWindow(); } bool isQAction() const { return m_type_entry->isQAction(); } diff --git a/src/cpp/QtJambiGenerator/parser/ast.h b/src/cpp/QtJambiGenerator/parser/ast.h index 381b7744..b6abac0b 100644 --- a/src/cpp/QtJambiGenerator/parser/ast.h +++ b/src/cpp/QtJambiGenerator/parser/ast.h @@ -331,6 +331,7 @@ struct ClassSpecifierAST: public TypeSpecifierAST { bool is_final; bool is_deprecated; StringLiteralAST *deprecationComment; + ExpressionAST *annotationExpression; }; struct ForwardDeclarationSpecifierAST: public TypeSpecifierAST { @@ -445,6 +446,7 @@ struct EnumSpecifierAST: public TypeSpecifierAST { StringLiteralAST *deprecationComment; TypeSpecifierAST *base_type; const ListNode *enumerators; + ExpressionAST *annotationExpression; }; struct EnumeratorAST: public AST { @@ -454,6 +456,7 @@ struct EnumeratorAST: public AST { ExpressionAST *expression; bool isDeprecated; StringLiteralAST *deprecationComment; + ExpressionAST *annotationExpression; }; struct ExceptionSpecificationAST: public AST { @@ -505,6 +508,7 @@ struct FunctionDefinitionAST: public DeclarationAST { StatementAST *function_body; WinDeclSpecAST *win_decl_specifiers; StringLiteralAST *deprecationComment; + ExpressionAST *annotationExpression; }; struct AbstractForStatementAST: public StatementAST { @@ -719,6 +723,7 @@ struct SimpleDeclarationAST: public DeclarationAST { const ListNode *init_declarators; WinDeclSpecAST *win_decl_specifiers; StringLiteralAST *deprecationComment; + ExpressionAST *annotationExpression; UnqualifiedNameAST *arrowDecl; }; diff --git a/src/cpp/QtJambiGenerator/parser/binder.cpp b/src/cpp/QtJambiGenerator/parser/binder.cpp index 6f75b2c4..8d8e2957 100644 --- a/src/cpp/QtJambiGenerator/parser/binder.cpp +++ b/src/cpp/QtJambiGenerator/parser/binder.cpp @@ -361,6 +361,8 @@ void Binder::declare_symbol(SimpleDeclarationAST *node, InitDeclaratorAST *init_ } applyStorageSpecifiers(node->storage_specifiers, model_static_cast(fun)); applyFunctionSpecifiers(node->function_specifiers, fun); + if(!fun->isDeprecated() && node->annotationExpression) + fun->setDeprecated(isDeprecated(node->annotationExpression, node->deprecationComment)); if(fun->isDeprecated() && node->deprecationComment){ if(node->deprecationComment->literals){ QString comment; @@ -653,6 +655,8 @@ void Binder::visitFunctionDefinition(FunctionDefinitionAST *node) { } applyFunctionSpecifiers(node->function_specifiers, model_static_cast(_M_current_function)); + if(!_M_current_function->isDeprecated() && node->annotationExpression) + _M_current_function->setDeprecated(isDeprecated(node->annotationExpression, node->deprecationComment)); if(_M_current_function->isDeprecated() && node->deprecationComment){ if(node->deprecationComment->literals){ QString comment; @@ -920,6 +924,50 @@ void Binder::visitForwardDeclarationSpecifier(ForwardDeclarationSpecifierAST *no _M_qualified_types[(scope->qualifiedName() + name_cc.qualifiedName()).join(".")] = QString(); } +bool Binder::isDeprecated(ExpressionAST *annotationExpression, StringLiteralAST *&deprecationComment){ + if(annotationExpression){ + class DeprecationBinder: protected DefaultVisitor { + DeprecationBinder(Binder* binder, StringLiteralAST *&deprecationComment) + : DefaultVisitor(), + m_isCurrentDeprecated(false), + m_isDeprecated(false), + m_binder(binder), + m_deprecationComment(deprecationComment){} + + void visitPostfixExpression(PostfixExpressionAST *node) { + if(!m_isCurrentDeprecated) + DefaultVisitor::visitPostfixExpression(node); + m_isCurrentDeprecated = false; + } + void visitSimpleTypeSpecifier(SimpleTypeSpecifierAST *node) { + m_binder->name_cc.run(node->name); + if(m_binder->name_cc.name()=="deprecated"){ + m_isDeprecated = true; + m_isCurrentDeprecated = true; + } + } + void visitStringLiteral(StringLiteralAST *ast){ + if(m_isCurrentDeprecated) + m_deprecationComment = ast; + } + void visitName(NameAST *node) { + m_binder->name_cc.run(node); + if(m_binder->name_cc.name()=="deprecated"){ + m_isDeprecated = true; + } + } + bool m_isCurrentDeprecated; + bool m_isDeprecated; + Binder* m_binder; + StringLiteralAST *&m_deprecationComment; + friend Binder; + } b(this, deprecationComment); + b.visit(annotationExpression); + return b.m_isDeprecated; + } + return false; +} + void Binder::visitClassSpecifier(ClassSpecifierAST *node) { class_cc.run(node); if (class_cc.name().isEmpty()) { @@ -939,6 +987,8 @@ void Binder::visitClassSpecifier(ClassSpecifierAST *node) { updateItemPosition(thisClass->toItem(), node); thisClass->setName(class_cc.name()); thisClass->setDeclFinal(node->is_final); + if(!node->is_deprecated && node->annotationExpression) + node->is_deprecated = isDeprecated(node->annotationExpression, node->deprecationComment); thisClass->setDeclDeprecated(node->is_deprecated); thisClass->setAccessPolicy(_M_current_access); if(node->deprecationComment) @@ -1100,6 +1150,8 @@ void Binder::visitEnumSpecifier(EnumSpecifierAST *node) { _M_current_enum->setAccessPolicy(_M_current_access); _M_current_enum->setAnonymous(isAnonymous); _M_current_enum->setScopedEnum(node->isScoped); + if(!node->isDeprecated && node->annotationExpression) + node->isDeprecated = isDeprecated(node->annotationExpression, node->deprecationComment); _M_current_enum->setDeclDeprecated(node->isDeprecated); if(node->deprecationComment){ _M_current_enum->setDeclDeprecatedComment(node->deprecationComment->toString(this->tokenStream())); @@ -1148,6 +1200,8 @@ void Binder::visitEnumerator(EnumeratorAST *node) { EnumeratorModelItem e = model()->create(); updateItemPosition(e->toItem(), node); e->setName(decode_symbol(node->id)->as_string()); + if(!node->isDeprecated && node->annotationExpression) + node->isDeprecated = isDeprecated(node->annotationExpression, node->deprecationComment); e->setDeprecated(node->isDeprecated); if(node->deprecationComment){ if(node->deprecationComment->literals){ diff --git a/src/cpp/QtJambiGenerator/parser/binder.h b/src/cpp/QtJambiGenerator/parser/binder.h index a15bb449..b5dd5cf8 100644 --- a/src/cpp/QtJambiGenerator/parser/binder.h +++ b/src/cpp/QtJambiGenerator/parser/binder.h @@ -82,26 +82,25 @@ class Binder: protected DefaultVisitor { static void installMessageHandler(MessageHandler handler); protected: - virtual void visitAccessSpecifier(AccessSpecifierAST *); - virtual void visitClassSpecifier(ClassSpecifierAST *); - virtual void visitEnumSpecifier(EnumSpecifierAST *); - virtual void visitEnumerator(EnumeratorAST *); - virtual void visitFunctionDefinition(FunctionDefinitionAST *); - virtual void visitLinkageSpecification(LinkageSpecificationAST *); - virtual void visitNamespace(NamespaceAST *); - virtual void visitSimpleDeclaration(SimpleDeclarationAST *); - virtual void visitTemplateDeclaration(TemplateDeclarationAST *); - virtual void visitTypedef(TypedefAST *); - virtual void visitUsing(UsingAST *); - virtual void visitUsingAs(UsingAsAST *); - virtual void visitUsingDirective(UsingDirectiveAST *); - virtual void visitQProperty(QPropertyAST *); - virtual void visitForwardDeclarationSpecifier(ForwardDeclarationSpecifierAST *); - virtual void visitQGadget(QGadgetAST *); - virtual void visitQObject(QObjectAST *); - + void visitAccessSpecifier(AccessSpecifierAST *) override; + void visitClassSpecifier(ClassSpecifierAST *) override; + void visitEnumSpecifier(EnumSpecifierAST *) override; + void visitEnumerator(EnumeratorAST *) override; + void visitFunctionDefinition(FunctionDefinitionAST *) override; + void visitLinkageSpecification(LinkageSpecificationAST *) override; + void visitNamespace(NamespaceAST *) override; + void visitSimpleDeclaration(SimpleDeclarationAST *) override; + void visitTemplateDeclaration(TemplateDeclarationAST *) override; + void visitTypedef(TypedefAST *) override; + void visitUsing(UsingAST *) override; + void visitUsingAs(UsingAsAST *) override; + void visitUsingDirective(UsingDirectiveAST *) override; + void visitQProperty(QPropertyAST *) override; + void visitForwardDeclarationSpecifier(ForwardDeclarationSpecifierAST *) override; + void visitQGadget(QGadgetAST *) override; + void visitQObject(QObjectAST *) override; private: - + bool isDeprecated(ExpressionAST *annotationExpression, StringLiteralAST *&deprecationComment); int decode_token(std::size_t index) const; const NameSymbol *decode_symbol(std::size_t index) const; CodeModel::AccessPolicy decode_access_policy(std::size_t index) const; diff --git a/src/cpp/QtJambiGenerator/parser/parser.cpp b/src/cpp/QtJambiGenerator/parser/parser.cpp index 25a0bb8f..6e104b97 100644 --- a/src/cpp/QtJambiGenerator/parser/parser.cpp +++ b/src/cpp/QtJambiGenerator/parser/parser.cpp @@ -538,10 +538,10 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { Q_FALLTHROUGH(); default: { + ExpressionAST *annotationExpression(nullptr); if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); }else{ @@ -553,6 +553,10 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { } } } + if (token_stream.lookAhead() == Token_typedef){ + token_stream.rewind(start); + return parseTypedef(node); + } if (token_stream.lookAhead() == Token_inline) token_stream.nextToken(); @@ -562,10 +566,9 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { const ListNode *storageSpec = nullptr; StringLiteralAST *deprecationComment = nullptr; bool hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); - if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); }else{ @@ -582,10 +585,9 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { if(!hasDeprecated) hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); - if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); }else{ @@ -602,10 +604,9 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { if(!hasDeprecated) hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); - if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); }else{ @@ -670,6 +671,7 @@ bool Parser::parseDeclaration(DeclarationAST *&node) { ast->deprecationComment = deprecationComment; ast->type_specifier = spec; ast->init_declarators = declarators; + ast->annotationExpression = annotationExpression; UPDATE_POS(ast, start, token_stream.cursor()); node = ast; @@ -832,6 +834,23 @@ bool Parser::parseUsing(DeclarationAST *&node) { StringLiteralAST *deprecationComment = nullptr; parseDeprecatedSpecifier(storageSpec, deprecationComment); + ExpressionAST *annotationExpression(nullptr); + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + if (token_stream.lookAhead() == '=') { const ListNode *cv = nullptr; parseCvQualify(cv); @@ -1027,6 +1046,22 @@ bool Parser::parseTemplateArgumentList(const ListNode *&no bool Parser::parseTypedef(DeclarationAST *&node) { std::size_t start = token_stream.cursor(); + ExpressionAST *annotationExpression(nullptr); + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } if (token_stream.lookAhead() == Token_QTJAMBI_DEPRECATED) { token_stream.nextToken(); if (token_stream.lookAhead() != Token_typedef) { @@ -1049,6 +1084,22 @@ bool Parser::parseTypedef(DeclarationAST *&node) { CHECK(Token_typedef); + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + if (token_stream.lookAhead() == Token_QTJAMBI_DEPRECATED) { token_stream.nextToken(); } @@ -1729,6 +1780,22 @@ bool Parser::parseEnumSpecifier(TypeSpecifierAST *&node) { CHECK(Token_enum); + ExpressionAST *annotationExpression(nullptr); + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } bool isDeprecated = false; StringLiteralAST *deprecationComment = nullptr; if (token_stream.lookAhead() == Token_QTJAMBI_DEPRECATED) { @@ -1771,6 +1838,7 @@ bool Parser::parseEnumSpecifier(TypeSpecifierAST *&node) { ast->base_type = base_type; ast->isDeprecated = isDeprecated; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; EnumeratorAST *enumerator = nullptr; if (parseEnumerator(enumerator)) { @@ -1806,6 +1874,22 @@ bool Parser::parseEnumClassSpecifier(TypeSpecifierAST *&node) { CHECK(Token_class); } + ExpressionAST *annotationExpression(nullptr); + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } bool isDeprecated = false; StringLiteralAST *deprecationComment = nullptr; if (token_stream.lookAhead() == Token_QTJAMBI_DEPRECATED) { @@ -1848,6 +1932,7 @@ bool Parser::parseEnumClassSpecifier(TypeSpecifierAST *&node) { ast->base_type = base_type; ast->isDeprecated = isDeprecated; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; EnumeratorAST *enumerator = nullptr; if (parseEnumerator(enumerator)) { @@ -2296,10 +2381,10 @@ bool Parser::parseClassSpecifier(TypeSpecifierAST *&node) { std::size_t class_key = token_stream.cursor(); token_stream.nextToken(); + ExpressionAST *annotationExpression(nullptr); if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); return false; @@ -2405,6 +2490,7 @@ bool Parser::parseClassSpecifier(TypeSpecifierAST *&node) { ast->is_final = isFinal; ast->is_deprecated = isDeprecated; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; while (token_stream.lookAhead()) { if (token_stream.lookAhead() == '}') @@ -2653,6 +2739,22 @@ bool Parser::parseEnumerator(EnumeratorAST *&node) { EnumeratorAST *ast = CreateNode(_M_pool); ast->id = id; + if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(ast->annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + if (token_stream.lookAhead() == Token_QTJAMBI_DEPRECATED) { token_stream.nextToken(); ast->isDeprecated = true; @@ -3763,10 +3865,10 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { ADVANCE(')', ")") } + ExpressionAST *annotationExpression(nullptr); if (token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { token_stream.nextToken(); token_stream.nextToken(); - ExpressionAST *annotationExpression(nullptr); if(!parseExpression(annotationExpression)){ token_stream.rewind(start); return false; @@ -3792,6 +3894,22 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { if(!hasDeprecated) hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + parseStorageClassSpecifier(storageSpec); parseCvQualify(cv); @@ -3799,11 +3917,43 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { if(!hasDeprecated) hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + hasFunSpec |= parseFunctionSpecifier(funSpec); if(!hasDeprecated) hasDeprecated = parseDeprecatedSpecifier(storageSpec, deprecationComment); + if (!annotationExpression && token_stream.lookAhead() == '[' && token_stream.lookAhead(1) == '[') { + token_stream.nextToken(); + token_stream.nextToken(); + if(!parseExpression(annotationExpression)){ + token_stream.rewind(start); + return false; + } + if (token_stream.lookAhead() == ']' && token_stream.lookAhead(1) == ']') { + token_stream.nextToken(); + token_stream.nextToken(); + }else{ + token_stream.rewind(start); + return false; + } + } + // that is for the case 'friend __declspec(dllexport) ....' parseWinDeclSpec(winDeclSpec); @@ -3860,6 +4010,7 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { ast->storage_specifiers = storageSpec; ast->function_specifiers = funSpec; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; ast->init_declarator = declarator; ast->function_body = funBody; @@ -3879,6 +4030,7 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { ast->storage_specifiers = storageSpec; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; ast->function_specifiers = funSpec; ast->init_declarator = declarator; ast->function_body = funBody; @@ -4022,6 +4174,7 @@ bool Parser::parseDeclarationInternal(DeclarationAST *&node) { ast->win_decl_specifiers = winDeclSpec; ast->storage_specifiers = storageSpec; ast->deprecationComment = deprecationComment; + ast->annotationExpression = annotationExpression; ast->function_specifiers = funSpec; ast->type_specifier = spec; ast->init_declarator = decl; diff --git a/src/cpp/QtJambiGenerator/parser/rpp/pp-engine-bits.h b/src/cpp/QtJambiGenerator/parser/rpp/pp-engine-bits.h index cbfdea25..8d3232ea 100644 --- a/src/cpp/QtJambiGenerator/parser/rpp/pp-engine-bits.h +++ b/src/cpp/QtJambiGenerator/parser/rpp/pp-engine-bits.h @@ -567,7 +567,8 @@ namespace rpp { "cstdint", "cstdlib", "chrono", - "stdbool.h" + "stdbool.h", + "climits" }; if((verbose & DEBUGLOG_INCLUDE_ERRORS) != 0) { QString current_file(env.current_file.absoluteFilePath()); @@ -684,9 +685,9 @@ namespace rpp { else definition = "1"; }else if(macroName.startsWith("QT_DEPRECATED_VERSION_X")){ - definition = "QTJAMBI_DEPRECATED_X(text)"; + definition = "Q_DECL_DEPRECATED_X(text)"; }else if(macroName.startsWith("QT_DEPRECATED_VERSION")){ - definition = "QTJAMBI_DEPRECATED"; + definition = "Q_DECL_DEPRECATED"; }else if(macroName=="QT_REQUIRE_CONFIG"){ return __first; }else if(macroName=="QT_DECL_METATYPE_EXTERN_TAGGED" @@ -769,6 +770,7 @@ namespace rpp { int token; __first = next_token(__first, __last, &token); bool isHasInclude = false; + bool isHasCppAttribute = false; switch (token) { case TOKEN_NUMBER: @@ -822,6 +824,7 @@ namespace rpp { case TOKEN_IDENTIFIER: { isHasInclude = _M_current_text==std::string("__has_include"); + isHasCppAttribute = _M_current_text==std::string("__has_cpp_attribute"); result->set_long(0); int _token; _InputIterator ___first = next_token(__first, __last, &_token); @@ -860,15 +863,21 @@ namespace rpp { }while(true); } } - if(!isHasInclude) + if(isHasCppAttribute){ __first = eval_constant_expression(__first, __last, result); - next_token(__first, __last, &token); - - if(!isHasInclude){ - while(token == ','){ - __first = next_token(__first, __last, &token); + next_token(__first, __last, &token); + result->set_long(1); + }else{ + if(!isHasInclude) __first = eval_constant_expression(__first, __last, result); - next_token(__first, __last, &token); + next_token(__first, __last, &token); + + if(!isHasInclude){ + while(token == ','){ + __first = next_token(__first, __last, &token); + __first = eval_constant_expression(__first, __last, result); + next_token(__first, __last, &token); + } } } diff --git a/src/cpp/QtJambiGenerator/parser/rpp/pp-qt-configuration b/src/cpp/QtJambiGenerator/parser/rpp/pp-qt-configuration index 880ac829..646d3458 100644 --- a/src/cpp/QtJambiGenerator/parser/rpp/pp-qt-configuration +++ b/src/cpp/QtJambiGenerator/parser/rpp/pp-qt-configuration @@ -15,6 +15,10 @@ #define __STDC__ +//#define __has_cpp_attribute(macro) 1 + +#define QT_WARN_DEPRECATED_UP_TO 0x8FFFFF + // Qt #define Q_NULLPTR nullptr #define Q_NAMESPACE @@ -76,16 +80,18 @@ #define SLOT(A) #A #define Q_NAMESPACE_EXPORT() #define Q_COMPILER_INITIALIZER_LISTS -#define Q_DECL_DEPRECATED QTJAMBI_DEPRECATED -#define Q_DECL_DEPRECATED_X(text) QTJAMBI_DEPRECATED_X(text) -#define Q_DECL_ENUMERATOR_DEPRECATED QTJAMBI_DEPRECATED -#define Q_DECL_ENUMERATOR_DEPRECATED_X(text) QTJAMBI_DEPRECATED_X(text) -#define QT_DEPRECATED_VERSION_X(a,b,text) QTJAMBI_DEPRECATED_X(text) -#define QT_DEPRECATED_VERSION_X_5(a,text) QTJAMBI_DEPRECATED_X(text) -#define QT_DEPRECATED_VERSION_X_6(a,text) QTJAMBI_DEPRECATED_X(text) -#define QT_DEPRECATED_VERSION(a,b) QTJAMBI_DEPRECATED -#define QT_DEPRECATED_VERSION_5(a) QTJAMBI_DEPRECATED -#define QT_DEPRECATED_VERSION_6(a) QTJAMBI_DEPRECATED + +#define Q_DECL_DEPRECATED [[deprecated]] +#define Q_DECL_DEPRECATED_X(text) [[deprecated(text)]] +#define Q_DECL_ENUMERATOR_DEPRECATED [[deprecated]] +#define Q_DECL_ENUMERATOR_DEPRECATED_X(text) [[deprecated(text)]] +#define QT_DEPRECATED_VERSION_X(a,b,text) [[deprecated(text)]] +#define QT_DEPRECATED_VERSION_X_5(a,text) [[deprecated(text)]] +#define QT_DEPRECATED_VERSION_X_6(a,text) [[deprecated(text)]] +#define QT_DEPRECATED_VERSION(a,b) [[deprecated]] +#define QT_DEPRECATED_VERSION_5(a) [[deprecated]] +#define QT_DEPRECATED_VERSION_6(a) [[deprecated]] + #define Q_DECLARE_TR_FUNCTIONS #define Q_OBJECT_FAKE Q_OBJECT #define Q_GADGET_EXPORT(...) Q_GADGET diff --git a/src/cpp/QtJambiGenerator/targets/all.h b/src/cpp/QtJambiGenerator/targets/all.h index c29df011..80257b90 100644 --- a/src/cpp/QtJambiGenerator/targets/all.h +++ b/src/cpp/QtJambiGenerator/targets/all.h @@ -371,6 +371,10 @@ typedef void (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity, #include #endif +#ifndef QTJAMBI_NO_WEBCHANNELQUICK +#include +#endif + #ifndef QTJAMBI_NO_WEBVIEW #include #endif diff --git a/src/cpp/QtJambiGenerator/targets/all.qml b/src/cpp/QtJambiGenerator/targets/all.qml index 41827793..dd708865 100644 --- a/src/cpp/QtJambiGenerator/targets/all.qml +++ b/src/cpp/QtJambiGenerator/targets/all.qml @@ -74,6 +74,7 @@ TypeSystem{ LoadTypeSystem{name: "Qt3DQuickScene2D"; generate: true; unless: "QTJAMBI_NO_QT3DQUICKSCENE2D"; since: [5, 11]} LoadTypeSystem{name: "QtWebSockets"; generate: true; unless: "QTJAMBI_NO_WEBSOCKETS"} LoadTypeSystem{name: "QtWebChannel"; generate: true; unless: "QTJAMBI_NO_WEBCHANNEL"} + LoadTypeSystem{name: "QtWebChannelQuick"; generate: true; unless: "QTJAMBI_NO_WEBCHANNELQUICK"; since: 6.6} LoadTypeSystem{name: "QtWebEngine"; generate: true; unless: "QTJAMBI_NO_WEBENGINE"; until: 5} LoadTypeSystem{name: "QtWebEngineQuick"; generate: true; unless: "QTJAMBI_NO_WEBENGINEQUICK"; since: 6} LoadTypeSystem{name: "QtWebEngineWidgets"; generate: true; unless: "QTJAMBI_NO_WEBENGINEWIDGETS"} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractContainer.java b/src/cpp/QtJambiGenerator/targets/graphs.h similarity index 63% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractContainer.java rename to src/cpp/QtJambiGenerator/targets/graphs.h index bbd4e32e..c86fa1a9 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractContainer.java +++ b/src/cpp/QtJambiGenerator/targets/graphs.h @@ -1,55 +1,66 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import io.qt.QtObject; -import io.qt.QtUninvokable; - -public abstract class AbstractContainer extends QtObject implements Cloneable{ - - @QtUninvokable - public abstract int size(); - - @QtUninvokable - public abstract boolean isEmpty(); - - @QtUninvokable - protected abstract AbstractSequentialConstIterator constBegin(); - - @QtUninvokable - protected abstract AbstractSequentialConstIterator constEnd(); - - AbstractContainer(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractContainer clone(); -} +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#define QTJAMBI_CORE_H +#define QQMLPRIVATE_H +#define QML_GETTYPENAMES +#define QGENERICMATRIX_H +#define QTJAMBI_UTILS_H +#define QTJAMBI_REGISTRY_H +#define QT_KEYPAD_NAVIGATION + +#define QT_NO_STL +#define Q_BYTE_ORDER Q_BYTE_ORDER + +//qtjambi preprocessor does not understand properly +#define GL_APIENTRY +#define Q_COMPILER_CONSTEXPR +#define Q_COMPILER_UNIFORM_INIT + +#undef Q_STATIC_ASSERT +#undef Q_STATIC_ASSERT_X + +#include + +#define seed_seq initializer_listconst + +#include +#undef QStringLiteral +#define QStringLiteral QString +typedef struct __GLsync *GLsync; + +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) + +#ifndef QTJAMBI_NO_GRAPHS +#include +#include +#endif + +#endif diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeIterator.java b/src/cpp/QtJambiGenerator/targets/graphs.qml similarity index 58% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeIterator.java rename to src/cpp/QtJambiGenerator/targets/graphs.qml index 83258fee..bc930a74 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeIterator.java +++ b/src/cpp/QtJambiGenerator/targets/graphs.qml @@ -1,43 +1,43 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -package io.qt.internal; - -import java.util.Iterator; -import java.util.Optional; - -import io.qt.QtObjectInterface; -import io.qt.core.QPair; - -public interface AbstractAssociativeIterator extends QtObjectInterface{ - boolean setValue(V newValue); - Iterator> iterator(); - Optional> keyValuePair(); -} +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +import QtJambiGenerator 1.0 + +TypeSystem{ + LoadTypeSystem{name: "QtCore"; generate: false; unless: "QTJAMBI_NO_CORE"} + LoadTypeSystem{name: "QtOpenGL"; generate: false; unless: "QTJAMBI_NO_OPENGL"; since: 6} + LoadTypeSystem{name: "QtGui"; generate: false; unless: "QTJAMBI_NO_GUI"} + LoadTypeSystem{name: "QtWidgets"; generate: false; unless: "QTJAMBI_NO_WIDGETS"} + LoadTypeSystem{name: "QtQml"; generate: false; unless: "QTJAMBI_NO_QML"} + LoadTypeSystem{name: "QtQuick"; generate: false; unless: "QTJAMBI_NO_QUICK"} + LoadTypeSystem{name: "QtQuickWidgets"; generate: false; unless: "QTJAMBI_NO_QUICKWIDGETS"} + LoadTypeSystem{name: "QtNetwork"; generate: false; unless: "QTJAMBI_NO_NETWORK"} + LoadTypeSystem{name: "QtGraphs"; generate: true; unless: "QTJAMBI_NO_GRAPHS"; since: [6, 6]} +} diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambi3DCore.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambi3DCore.java index 7c71217e..1629b106 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambi3DCore.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambi3DCore.java @@ -35,7 +35,7 @@ class QAbstractAspect___java extends QAbstractAspect { /** - *

See Qt3DCore::QAbstractAspect::registerBackendType(Qt3DCore::QBackendNodeMapperPtr)

+ *

See Qt3DCore::QAbstractAspect::registerBackendType(Qt3DCore::QBackendNodeMapperPtr)

*/ @QtUninvokable protected final void registerBackendType(@StrictNonNull Class type, io.qt.qt3d.core.@Nullable QBackendNodeMapper functor) { @@ -52,7 +52,7 @@ protected final void unregisterBackendType(Class t class QEntity_6_ { /** - *

See Qt3DCore::QEntity::componentsOfType<T>()const

+ *

See Qt3DCore::QEntity::componentsOfType<T>()const

*/ @QtUninvokable public final io.qt.core.@NonNull QList componentsOfType(@StrictNonNull Class type) @@ -70,7 +70,7 @@ class QEntity_6_ { class QEntity_5_ { /** - *

See Qt3DCore::QEntity::componentsOfType<T>()const

+ *

See Qt3DCore::QEntity::componentsOfType<T>()const

*/ @QtUninvokable public final io.qt.core.@NonNull QVector componentsOfType(@StrictNonNull Class type) diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiConcurrent.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiConcurrent.java index 3fbefe16..e0be006d 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiConcurrent.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiConcurrent.java @@ -32,7 +32,7 @@ class QtConcurrent___ extends QtConcurrent { /** - *

Java wrapper for Qt's class QtConcurrent::ThreadEngineStarter

+ *

Java wrapper for Qt's class QtConcurrent::ThreadEngineStarter

*/ public static final class ThreadEngineStarter extends QtObject{ private ThreadEngineStarter(QPrivateConstructor p){ @@ -123,7 +123,7 @@ private static U computeDefaultResult(ReduceFunctor functor) { } /** - *

See QtConcurrent::map(Sequence, MapFunctor)

+ *

See QtConcurrent::map(Sequence, MapFunctor)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> map(@StrictNonNull Collection sequence, MapFunctor functor){ @@ -131,7 +131,7 @@ private static U computeDefaultResult(ReduceFunctor functor) { } /** - *

See QtConcurrent::blockingMap(Sequence, MapFunctor)

+ *

See QtConcurrent::blockingMap(Sequence, MapFunctor)

*/ @QtUninvokable public static void blockingMap(@StrictNonNull Collection sequence, MapFunctor functor){ @@ -140,7 +140,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::mapped(Sequence, MappedFunctor)

+ *

See QtConcurrent::mapped(Sequence, MappedFunctor)

*/ @QtUninvokable public static @NonNull QFuture mapped(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor){ @@ -148,7 +148,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::blockingMapped(Sequence, MappedFunctor)

+ *

See QtConcurrent::blockingMapped(Sequence, MappedFunctor)

*/ @QtUninvokable public static @NonNull QList blockingMapped(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor){ @@ -157,7 +157,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -165,7 +165,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -173,7 +173,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -181,7 +181,7 @@ public static void blockingMap(@StrictNonNull Collection sequence, MapFun } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -190,7 +190,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -199,7 +199,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -208,7 +208,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::filter(Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::filter(Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> filter(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -216,7 +216,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingFilter(Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::blockingFilter(Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static void blockingFilter(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -225,7 +225,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::filtered(Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::filtered(Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static @NonNull QFuture filtered(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -233,7 +233,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::blockingFiltered(Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::blockingFiltered(Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static @NonNull QList blockingFiltered(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -242,7 +242,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -250,7 +250,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -258,7 +258,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -266,7 +266,7 @@ public static void blockingFilter(@StrictNonNull Collection sequence, @St } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -275,7 +275,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -284,7 +284,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -311,7 +311,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ private native static @NonNull ThreadEngineStarter startFiltered(long threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable callable){ @@ -319,7 +319,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable callable){ @@ -329,7 +329,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ private native static @NonNull QFuture run0(@Nullable QThreadPool threadPool, @StrictNonNull Callable callable); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable runnable) { @@ -337,7 +337,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable runnable) { @@ -437,7 +437,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable1 runnable, A a) { @@ -445,7 +445,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable1 runnable, A a) { @@ -454,7 +454,7 @@ public interface Runnable5{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid1(@Nullable QThreadPool threadPool, @StrictNonNull Runnable1 runnable, A a); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable2 runnable, A a, B b) { @@ -462,7 +462,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable2 runnable, A a, B b) { @@ -471,7 +471,7 @@ public interface Runnable5{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid2(@Nullable QThreadPool threadPool, @StrictNonNull Runnable2 runnable, A a, B b); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable3 runnable, A a, B b, C c) { @@ -479,7 +479,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable3 runnable, A a, B b, C c) { @@ -488,7 +488,7 @@ public interface Runnable5{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid3(@Nullable QThreadPool threadPool, @StrictNonNull Runnable3 runnable, A a, B b, C c); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable4 runnable, A a, B b, C c, D d) { @@ -496,7 +496,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a, B b, C c, D d) { @@ -505,7 +505,7 @@ public interface Runnable5{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid4(@Nullable QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a, B b, C c, D d); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable5 runnable, A a, B b, C c, D d, E e) { @@ -513,7 +513,7 @@ public interface Runnable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a, B b, C c, D d, E e) { @@ -624,7 +624,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable1 runnable, A a) { @@ -632,7 +632,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable1 runnable, A a) { @@ -641,7 +641,7 @@ public interface Callable5{ private native static @NonNull QFuture run1(@Nullable QThreadPool threadPool, Callable1 runnable, A a); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable2 runnable, A a, B b) { @@ -649,7 +649,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable2 runnable, A a, B b) { @@ -658,7 +658,7 @@ public interface Callable5{ private native static @NonNull QFuture run2(@Nullable QThreadPool threadPool, Callable2 runnable, A a, B b); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable3 runnable, A a, B b, C c) { @@ -666,7 +666,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable3 runnable, A a, B b, C c) { @@ -675,7 +675,7 @@ public interface Callable5{ private native static @NonNull QFuture run3(@Nullable QThreadPool threadPool, Callable3 runnable, A a, B b, C c); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable4 runnable, A a, B b, C c, D d) { @@ -683,7 +683,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable4 runnable, A a, B b, C c, D d) { @@ -692,7 +692,7 @@ public interface Callable5{ private native static @NonNull QFuture run4(@Nullable QThreadPool threadPool, Callable4 runnable, A a, B b, C c, D d); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull Callable5 runnable, A a, B b, C c, D d, E e) { @@ -700,7 +700,7 @@ public interface Callable5{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull Callable5 runnable, A a, B b, C c, D d, E e) { @@ -976,7 +976,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable6 runnable, A a, B b, C c, D d, E e, F f) { @@ -984,7 +984,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c, D d, E e, F f) { @@ -993,7 +993,7 @@ public interface Callable9{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid6(@Nullable QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c, D d, E e, F f); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -1001,7 +1001,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -1010,7 +1010,7 @@ public interface Callable9{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid7(@Nullable QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e, F f, G g); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -1018,7 +1018,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -1027,7 +1027,7 @@ public interface Callable9{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid8(@Nullable QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -1035,7 +1035,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -1044,7 +1044,7 @@ public interface Callable9{ private native static @NonNull QFuture<@QtPrimitiveType Void> runVoid9(@Nullable QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(Callable6 runnable, A a, B b, C c, D d, E e, F f) { @@ -1052,7 +1052,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, Callable6 runnable, A a, B b, C c, D d, E e, F f) { @@ -1061,7 +1061,7 @@ public interface Callable9{ private native static @NonNull QFuture run6(@Nullable QThreadPool threadPool, Callable6 runnable, A a, B b, C c, D d, E e, F f); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(Callable7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -1069,7 +1069,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, Callable7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -1078,7 +1078,7 @@ public interface Callable9{ private native static @NonNull QFuture run7(@Nullable QThreadPool threadPool, Callable7 runnable, A a, B b, C c, D d, E e, F f, G g); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(Callable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -1086,7 +1086,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, Callable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -1095,7 +1095,7 @@ public interface Callable9{ private native static @NonNull QFuture run8(@Nullable QThreadPool threadPool, Callable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(Callable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -1103,7 +1103,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, Callable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -1112,7 +1112,7 @@ public interface Callable9{ private native static @NonNull QFuture run9(@Nullable QThreadPool threadPool, Callable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i); /** - *

See QtConcurrent::map(@Nullable QThreadPool*, Sequence, MapFunctor)

+ *

See QtConcurrent::map(@Nullable QThreadPool*, Sequence, MapFunctor)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> map(@Nullable QThreadPool threadPool, Collection sequence, MapFunctor functor){ @@ -1120,7 +1120,7 @@ public interface Callable9{ } /** - *

See QtConcurrent::blockingMap(@Nullable QThreadPool*, Sequence, MapFunctor)

+ *

See QtConcurrent::blockingMap(@Nullable QThreadPool*, Sequence, MapFunctor)

*/ @QtUninvokable public static void blockingMap(@Nullable QThreadPool threadPool, Collection sequence, MapFunctor functor){ @@ -1129,7 +1129,7 @@ public static void blockingMap(@Nullable QThreadPool threadPool, Collection< } /** - *

See QtConcurrent::mapped(@Nullable QThreadPool*, Sequence, MappedFunctor)

+ *

See QtConcurrent::mapped(@Nullable QThreadPool*, Sequence, MappedFunctor)

*/ @QtUninvokable public static @NonNull QFuture mapped(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor){ @@ -1137,7 +1137,7 @@ public static void blockingMap(@Nullable QThreadPool threadPool, Collection< } /** - *

See QtConcurrent::blockingMapped(@Nullable QThreadPool*, Sequence, MappedFunctor)

+ *

See QtConcurrent::blockingMapped(@Nullable QThreadPool*, Sequence, MappedFunctor)

*/ @QtUninvokable public static QList blockingMapped(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor){ @@ -1146,7 +1146,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -1155,7 +1155,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -1163,7 +1163,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -1171,7 +1171,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1180,7 +1180,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1188,7 +1188,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1196,7 +1196,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1204,7 +1204,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1212,7 +1212,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::mappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture mappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1220,7 +1220,7 @@ public static QList blockingMapped(@Nullable QThreadPool threadPool, C } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -1229,7 +1229,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -1238,7 +1238,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -1247,7 +1247,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1256,7 +1256,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1265,7 +1265,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(@Nullable QThreadPool*, Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1274,7 +1274,7 @@ public static U blockingMappedReduced(@Nullable QThreadPool threadPool } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1283,7 +1283,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1292,7 +1292,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingMappedReduced(Sequence, MappedFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingMappedReduced(@StrictNonNull Collection sequence, @StrictNonNull MappedFunctor functor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1301,7 +1301,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::filter(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::filter(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> filter(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -1309,7 +1309,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::filtered(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::filtered(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static @NonNull QFuture filtered(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -1317,7 +1317,7 @@ public static U blockingMappedReduced(@StrictNonNull Collection seq } /** - *

See QtConcurrent::blockingFiltered(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::blockingFiltered(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static QList blockingFiltered(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -1326,7 +1326,7 @@ public static QList blockingFiltered(@Nullable QThreadPool threadPool, Co } /** - *

See QtConcurrent::blockingFilter(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

+ *

See QtConcurrent::blockingFilter(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor)

*/ @QtUninvokable public static void blockingFilter(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor){ @@ -1335,7 +1335,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -1343,7 +1343,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -1351,7 +1351,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -1359,7 +1359,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1367,7 +1367,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1375,7 +1375,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1383,7 +1383,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1391,7 +1391,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1399,7 +1399,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::filteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static @NonNull QFuture filteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1407,7 +1407,7 @@ public static void blockingFilter(@Nullable QThreadPool threadPool, Collecti } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor) { @@ -1415,7 +1415,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOption @NonNull... options) { @@ -1423,7 +1423,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, @NonNull ReduceOptions options) { @@ -1431,7 +1431,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1439,7 +1439,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1447,7 +1447,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(@Nullable QThreadPool*, Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1455,7 +1455,7 @@ public static U blockingFilteredReduced(@Nullable QThreadPool threadPool, } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue) { @@ -1463,7 +1463,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOption @NonNull... options) { @@ -1471,7 +1471,7 @@ public static U blockingFilteredReduced(@StrictNonNull Collection sequ } /** - *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

+ *

See QtConcurrent::blockingFilteredReduced(Sequence, @StrictNonNull FilteredFunctor, ReduceFunctor, InitialValueType, QtConcurrent::ReduceOptions)

*/ @QtUninvokable public static U blockingFilteredReduced(@StrictNonNull Collection sequence, @StrictNonNull FilteredFunctor filteredFunctor, @StrictNonNull ReduceFunctor reduceFunctor, U initialValue, @NonNull ReduceOptions options) { @@ -1994,7 +1994,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise runnable) { @@ -2002,7 +2002,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise runnable) { @@ -2012,7 +2012,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture runWithPromise0(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise runnable); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise1 runnable, A a) { @@ -2020,7 +2020,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise1 runnable, A a) { @@ -2030,7 +2030,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture runWithPromise1(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise1 runnable, A a); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise2 runnable, A a, B b) { @@ -2038,7 +2038,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise2 runnable, A a, B b) { @@ -2048,7 +2048,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture runWithPromise2(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise2 runnable, A a, B b); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise3 runnable, A a, B b, C c) { @@ -2056,7 +2056,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise3 runnable, A a, B b, C c) { @@ -2067,7 +2067,7 @@ public interface RunnableWithVoidPromise9 { C c); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise4 runnable, A a, B b, C c, D d) { @@ -2075,7 +2075,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise4 runnable, A a, B b, @@ -2087,7 +2087,7 @@ public interface RunnableWithVoidPromise9 { A a, B b, C c, D d); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise5 runnable, A a, B b, C c, D d, E e) { @@ -2095,7 +2095,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a, @@ -2107,7 +2107,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithPromise5 runnable, A a, B b, C c, D d, E e); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise6 runnable, A a, B b, C c, D d, E e, @@ -2116,7 +2116,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, @@ -2128,7 +2128,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithPromise6 runnable, A a, B b, C c, D d, E e, F f); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c, @@ -2137,7 +2137,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @@ -2149,7 +2149,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithPromise7 runnable, A a, B b, C c, D d, E e, F f, G g); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise8 runnable, A a, B b, @@ -2158,7 +2158,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @@ -2170,7 +2170,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithPromise8 runnable, A a, B b, C c, D d, E e, F f, G g, H h); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@StrictNonNull RunnableWithPromise9 runnable, A a, @@ -2179,7 +2179,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture run(@Nullable QThreadPool threadPool, @@ -2192,7 +2192,7 @@ public interface RunnableWithVoidPromise9 { /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise runnable) { @@ -2200,7 +2200,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise runnable) { @@ -2210,7 +2210,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture<@QtPrimitiveType Void> runWithPromiseVoid0(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise runnable); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise1 runnable, A a) { @@ -2218,7 +2218,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise1 runnable, A a) { @@ -2228,7 +2228,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture<@QtPrimitiveType Void> runWithPromiseVoid1(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise1 runnable, A a); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise2 runnable, A a, B b) { @@ -2236,7 +2236,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise2 runnable, A a, B b) { @@ -2246,7 +2246,7 @@ public interface RunnableWithVoidPromise9 { private native static @NonNull QFuture<@QtPrimitiveType Void> runWithPromiseVoid2(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise2 runnable, A a, B b); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise3 runnable, A a, B b, C c) { @@ -2254,7 +2254,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise3 runnable, A a, B b, C c) { @@ -2265,7 +2265,7 @@ public interface RunnableWithVoidPromise9 { C c); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise4 runnable, A a, B b, C c, D d) { @@ -2273,7 +2273,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise4 runnable, A a, B b, C c, @@ -2285,7 +2285,7 @@ public interface RunnableWithVoidPromise9 { B b, C c, D d); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b, C c, D d, E e) { @@ -2293,7 +2293,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b, @@ -2305,7 +2305,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithVoidPromise5 runnable, A a, B b, C c, D d, E e); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b, C c, D d, E e, @@ -2314,7 +2314,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, @@ -2326,7 +2326,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithVoidPromise6 runnable, A a, B b, C c, D d, E e, F f); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c, D d, @@ -2335,7 +2335,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, @@ -2347,7 +2347,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithVoidPromise7 runnable, A a, B b, C c, D d, E e, F f, G g); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, @@ -2356,7 +2356,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @@ -2368,7 +2368,7 @@ public interface RunnableWithVoidPromise9 { RunnableWithVoidPromise8 runnable, A a, B b, C c, D d, E e, F f, G g, H h); /** - *

See QtConcurrent::run(Function, ...)

+ *

See QtConcurrent::run(Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, @@ -2377,7 +2377,7 @@ public interface RunnableWithVoidPromise9 { } /** - *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

+ *

See QtConcurrent::run(@Nullable QThreadPool*, Function, ...)

*/ @QtUninvokable public static @NonNull QFuture<@QtPrimitiveType Void> run(@Nullable QThreadPool threadPool, @@ -2390,7 +2390,7 @@ public interface RunnableWithVoidPromise9 { /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static abstract class QTaskBuilder{ QTaskBuilder(int priority, QThreadPool threadPool) { @@ -2407,7 +2407,7 @@ public static abstract class QTaskBuilder{ final QThreadPool threadPool() { return threadPool; } /** - *

See QtConcurrent::QTaskBuilder::spawn()

+ *

See QtConcurrent::QTaskBuilder::spawn()

*/ @QtUninvokable public @NonNull QFuture spawn() { @@ -2415,7 +2415,7 @@ public static abstract class QTaskBuilder{ } /** - *

See QtConcurrent::QTaskBuilder::spawn(QtConcurrent::FutureResult)

+ *

See QtConcurrent::QTaskBuilder::spawn(QtConcurrent::FutureResult)

*/ @QtUninvokable public final void spawn(QtConcurrent.FutureResult result) { @@ -2423,7 +2423,7 @@ public final void spawn(QtConcurrent.FutureResult result) { } /** - *

See QtConcurrent::QTaskBuilder::withPriority(int)

+ *

See QtConcurrent::QTaskBuilder::withPriority(int)

*/ @QtUninvokable public @NonNull QTaskBuilder withPriority(int newPriority) { @@ -2431,7 +2431,7 @@ public final void spawn(QtConcurrent.FutureResult result) { return this; } /** - *

See QtConcurrent::QTaskBuilder::onThreadPool(QThreadPool&)

+ *

See QtConcurrent::QTaskBuilder::onThreadPool(QThreadPool&)

*/ @QtUninvokable public @NonNull QTaskBuilder onThreadPool(@StrictNonNull QThreadPool newThreadPool) { @@ -2442,7 +2442,7 @@ public final void spawn(QtConcurrent.FutureResult result) { /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static abstract class QTypedTaskBuilder extends QTaskBuilder{ QTypedTaskBuilder(int priority, QThreadPool threadPool) { @@ -2451,7 +2451,7 @@ public static abstract class QTypedTaskBuilder extends QTaskBuilder{ } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid0Arg0 task(@StrictNonNull Runnable runnable) { return new QTaskBuilderVoid0Arg0(0, null, runnable); @@ -2459,7 +2459,7 @@ public static QTaskBuilderVoid0Arg0 task(@StrictNonNull Runnable runnable) { /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTaskBuilderVoid0Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid0Arg0(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable runnable) { @@ -2498,7 +2498,7 @@ public static class QTaskBuilderVoid0Arg0 extends QTaskBuilder<@QtPrimitiveType } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid1Arg0 task(@StrictNonNull Runnable1 runnable) { return new QTaskBuilderVoid1Arg0<>(0, null, runnable); @@ -2506,7 +2506,7 @@ public static QTaskBuilderVoid1Arg0 task(@StrictNonNull Runnable1 runn /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid1Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable1 runnable; @@ -2517,7 +2517,7 @@ public static final class QTaskBuilderVoid1Arg0 extends QTaskBuilder<@QtPrimi } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid1Arg1 withArguments(A a) { return new QTaskBuilderVoid1Arg1<>(priority(), threadPool(), runnable, a); @@ -2544,7 +2544,7 @@ public static final class QTaskBuilderVoid1Arg0 extends QTaskBuilder<@QtPrimi /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTaskBuilderVoid1Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid1Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable1 runnable, A a) { @@ -2586,7 +2586,7 @@ public static class QTaskBuilderVoid1Arg1 extends QTaskBuilder<@QtPrimitiveTy } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid2Arg0 task(@StrictNonNull Runnable2 runnable) { return new QTaskBuilderVoid2Arg0<>(0, null, runnable); @@ -2594,7 +2594,7 @@ public static QTaskBuilderVoid2Arg0 task(@StrictNonNull Runnable2Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid2Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable2 runnable; @@ -2605,14 +2605,14 @@ public static final class QTaskBuilderVoid2Arg0 extends QTaskBuilder<@QtPr } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid2Arg1 withArguments(A a) { return new QTaskBuilderVoid2Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid2Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -2639,7 +2639,7 @@ public static final class QTaskBuilderVoid2Arg0 extends QTaskBuilder<@QtPr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTaskBuilderVoid2Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid2Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable2 runnable, A a) { @@ -2651,7 +2651,7 @@ public static class QTaskBuilderVoid2Arg1 extends QTaskBuilder<@QtPrimitiv private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid2Arg2 withArguments(B b) { return new QTaskBuilderVoid2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -2678,7 +2678,7 @@ public static class QTaskBuilderVoid2Arg1 extends QTaskBuilder<@QtPrimitiv /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid2Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid2Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable2 runnable, A a, B b) { @@ -2722,7 +2722,7 @@ public static final class QTaskBuilderVoid2Arg2 extends QTaskBuilder<@QtPr } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid3Arg0 task(@StrictNonNull Runnable3 runnable) { return new QTaskBuilderVoid3Arg0<>(0, null, runnable); @@ -2730,7 +2730,7 @@ public static QTaskBuilderVoid3Arg0 task(@StrictNonNull Runna /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid3Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable3 runnable; @@ -2741,21 +2741,21 @@ public static final class QTaskBuilderVoid3Arg0 extends QTaskBuilder<@Q } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg1 withArguments(A a) { return new QTaskBuilderVoid3Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -2782,7 +2782,7 @@ public static final class QTaskBuilderVoid3Arg0 extends QTaskBuilder<@Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTaskBuilderVoid3Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid3Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable3 runnable, A a) { @@ -2794,14 +2794,14 @@ public static class QTaskBuilderVoid3Arg1 extends QTaskBuilder<@QtPrimi private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg2 withArguments(B b) { return new QTaskBuilderVoid3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -2828,7 +2828,7 @@ public static class QTaskBuilderVoid3Arg1 extends QTaskBuilder<@QtPrimi /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid3Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid3Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable3 runnable, A a, B b) { @@ -2842,7 +2842,7 @@ public static final class QTaskBuilderVoid3Arg2 extends QTaskBuilder<@Q private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid3Arg3 withArguments(C c) { return new QTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -2869,7 +2869,7 @@ public static final class QTaskBuilderVoid3Arg2 extends QTaskBuilder<@Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid3Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid3Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable3 runnable, A a, B b, C c) { @@ -2915,7 +2915,7 @@ public static final class QTaskBuilderVoid3Arg3 extends QTaskBuilder<@Q } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid4Arg0 task(@StrictNonNull Runnable4 runnable) { return new QTaskBuilderVoid4Arg0<>(0, null, runnable); @@ -2923,7 +2923,7 @@ public static QTaskBuilderVoid4Arg0 task(@StrictNonNull /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid4Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable4 runnable; @@ -2934,28 +2934,28 @@ public static final class QTaskBuilderVoid4Arg0 extends QTaskBuilder } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg1 withArguments(A a) { return new QTaskBuilderVoid4Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -2982,7 +2982,7 @@ public static final class QTaskBuilderVoid4Arg0 extends QTaskBuilder /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTaskBuilderVoid4Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid4Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a) { @@ -2994,21 +2994,21 @@ public static class QTaskBuilderVoid4Arg1 extends QTaskBuilder<@QtPr private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg2 withArguments(B b) { return new QTaskBuilderVoid4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -3035,7 +3035,7 @@ public static class QTaskBuilderVoid4Arg1 extends QTaskBuilder<@QtPr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid4Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid4Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a, B b) { @@ -3049,14 +3049,14 @@ public static final class QTaskBuilderVoid4Arg2 extends QTaskBuilder private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg3 withArguments(C c) { return new QTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -3083,7 +3083,7 @@ public static final class QTaskBuilderVoid4Arg2 extends QTaskBuilder /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid4Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid4Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a, B b, C c) { @@ -3099,7 +3099,7 @@ public static final class QTaskBuilderVoid4Arg3 extends QTaskBuilder private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid4Arg4 withArguments(D d) { return new QTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -3126,7 +3126,7 @@ public static final class QTaskBuilderVoid4Arg3 extends QTaskBuilder /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid4Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid4Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable4 runnable, A a, B b, C c, D d) { @@ -3174,7 +3174,7 @@ public static final class QTaskBuilderVoid4Arg4 extends QTaskBuilder } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid5Arg0 task(@StrictNonNull Runnable5 runnable) { return new QTaskBuilderVoid5Arg0<>(0, null, runnable); @@ -3182,7 +3182,7 @@ public static QTaskBuilderVoid5Arg0 task(@StrictN /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable5 runnable; @@ -3193,35 +3193,35 @@ public static final class QTaskBuilderVoid5Arg0 extends QTaskBuil } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg1 withArguments(A a) { return new QTaskBuilderVoid5Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -3248,7 +3248,7 @@ public static final class QTaskBuilderVoid5Arg0 extends QTaskBuil /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid5Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a) { @@ -3260,28 +3260,28 @@ public static final class QTaskBuilderVoid5Arg1 extends QTaskBuil private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg2 withArguments(B b) { return new QTaskBuilderVoid5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg5 withArguments(B b, C c, D d, E e) { return new QTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -3308,7 +3308,7 @@ public static final class QTaskBuilderVoid5Arg1 extends QTaskBuil /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid5Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a, B b) { @@ -3322,21 +3322,21 @@ public static final class QTaskBuilderVoid5Arg2 extends QTaskBuil private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg3 withArguments(C c) { return new QTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg5 withArguments(C c, D d, E e) { return new QTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -3363,7 +3363,7 @@ public static final class QTaskBuilderVoid5Arg2 extends QTaskBuil /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid5Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a, B b, C c) { @@ -3379,14 +3379,14 @@ public static final class QTaskBuilderVoid5Arg3 extends QTaskBuil private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg4 withArguments(D d) { return new QTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg5 withArguments(D d, E e) { return new QTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -3413,7 +3413,7 @@ public static final class QTaskBuilderVoid5Arg3 extends QTaskBuil /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid5Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a, B b, C c, D d) { @@ -3431,7 +3431,7 @@ public static final class QTaskBuilderVoid5Arg4 extends QTaskBuil private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid5Arg5 withArguments(E e) { return new QTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -3458,7 +3458,7 @@ public static final class QTaskBuilderVoid5Arg4 extends QTaskBuil /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid5Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid5Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable5 runnable, A a, B b, C c, D d, E e) { @@ -3508,7 +3508,7 @@ public static final class QTaskBuilderVoid5Arg5 extends QTaskBuil } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid6Arg0 task(@StrictNonNull Runnable6 runnable) { return new QTaskBuilderVoid6Arg0<>(0, null, runnable); @@ -3516,7 +3516,7 @@ public static QTaskBuilderVoid6Arg0 task(@S /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable6 runnable; @@ -3527,42 +3527,42 @@ public static final class QTaskBuilderVoid6Arg0 extends QTaskB } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg1 withArguments(A a) { return new QTaskBuilderVoid6Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3589,7 +3589,7 @@ public static final class QTaskBuilderVoid6Arg0 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a) { @@ -3601,35 +3601,35 @@ public static final class QTaskBuilderVoid6Arg1 extends QTaskB private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg2 withArguments(B b) { return new QTaskBuilderVoid6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg5 withArguments(B b, C c, D d, E e) { return new QTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3656,7 +3656,7 @@ public static final class QTaskBuilderVoid6Arg1 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b) { @@ -3670,28 +3670,28 @@ public static final class QTaskBuilderVoid6Arg2 extends QTaskB private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg3 withArguments(C c) { return new QTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg5 withArguments(C c, D d, E e) { return new QTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(C c, D d, E e, F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3718,7 +3718,7 @@ public static final class QTaskBuilderVoid6Arg2 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c) { @@ -3734,21 +3734,21 @@ public static final class QTaskBuilderVoid6Arg3 extends QTaskB private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg4 withArguments(D d) { return new QTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg5 withArguments(D d, E e) { return new QTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(D d, E e, F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3775,7 +3775,7 @@ public static final class QTaskBuilderVoid6Arg3 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c, D d) { @@ -3793,14 +3793,14 @@ public static final class QTaskBuilderVoid6Arg4 extends QTaskB private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg5 withArguments(E e) { return new QTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(E e, F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3827,7 +3827,7 @@ public static final class QTaskBuilderVoid6Arg4 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c, D d, E e) { @@ -3847,7 +3847,7 @@ public static final class QTaskBuilderVoid6Arg5 extends QTaskB private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid6Arg6 withArguments(F f) { return new QTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -3874,7 +3874,7 @@ public static final class QTaskBuilderVoid6Arg5 extends QTaskB /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid6Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid6Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable6 runnable, A a, B b, C c, D d, E e, F f) { @@ -3926,7 +3926,7 @@ public static final class QTaskBuilderVoid6Arg6 extends QTaskB } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid7Arg0 task(@StrictNonNull Runnable7 runnable) { return new QTaskBuilderVoid7Arg0<>(0, null, runnable); @@ -3934,7 +3934,7 @@ public static QTaskBuilderVoid7Arg0 t /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable7 runnable; @@ -3945,49 +3945,49 @@ public static final class QTaskBuilderVoid7Arg0 extends QTa } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg1 withArguments(A a) { return new QTaskBuilderVoid7Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4014,7 +4014,7 @@ public static final class QTaskBuilderVoid7Arg0 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a) { @@ -4026,42 +4026,42 @@ public static final class QTaskBuilderVoid7Arg1 extends QTa private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg2 withArguments(B b) { return new QTaskBuilderVoid7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg5 withArguments(B b, C c, D d, E e) { return new QTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4088,7 +4088,7 @@ public static final class QTaskBuilderVoid7Arg1 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b) { @@ -4102,35 +4102,35 @@ public static final class QTaskBuilderVoid7Arg2 extends QTa private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg3 withArguments(C c) { return new QTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg5 withArguments(C c, D d, E e) { return new QTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(C c, D d, E e, F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4157,7 +4157,7 @@ public static final class QTaskBuilderVoid7Arg2 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c) { @@ -4173,28 +4173,28 @@ public static final class QTaskBuilderVoid7Arg3 extends QTa private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg4 withArguments(D d) { return new QTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg5 withArguments(D d, E e) { return new QTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(D d, E e, F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(D d, E e, F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4221,7 +4221,7 @@ public static final class QTaskBuilderVoid7Arg3 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d) { @@ -4239,21 +4239,21 @@ public static final class QTaskBuilderVoid7Arg4 extends QTa private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg5 withArguments(E e) { return new QTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(E e, F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(E e, F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4280,7 +4280,7 @@ public static final class QTaskBuilderVoid7Arg4 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e) { @@ -4300,14 +4300,14 @@ public static final class QTaskBuilderVoid7Arg5 extends QTa private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg6 withArguments(F f) { return new QTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(F f, G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4334,7 +4334,7 @@ public static final class QTaskBuilderVoid7Arg5 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e, F f) { @@ -4356,7 +4356,7 @@ public static final class QTaskBuilderVoid7Arg6 extends QTa private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid7Arg7 withArguments(G g) { return new QTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -4383,7 +4383,7 @@ public static final class QTaskBuilderVoid7Arg6 extends QTa /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid7Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid7Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -4437,7 +4437,7 @@ public static final class QTaskBuilderVoid7Arg7 extends QTa } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid8Arg0 task(@StrictNonNull Runnable8 runnable) { return new QTaskBuilderVoid8Arg0<>(0, null, runnable); @@ -4445,7 +4445,7 @@ public static QTaskBuilderVoid8Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable8 runnable; @@ -4456,56 +4456,56 @@ public static final class QTaskBuilderVoid8Arg0 extends } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg1 withArguments(A a) { return new QTaskBuilderVoid8Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4532,7 +4532,7 @@ public static final class QTaskBuilderVoid8Arg0 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a) { @@ -4544,49 +4544,49 @@ public static final class QTaskBuilderVoid8Arg1 extends private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg2 withArguments(B b) { return new QTaskBuilderVoid8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg5 withArguments(B b, C c, D d, E e) { return new QTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4613,7 +4613,7 @@ public static final class QTaskBuilderVoid8Arg1 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b) { @@ -4627,42 +4627,42 @@ public static final class QTaskBuilderVoid8Arg2 extends private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg3 withArguments(C c) { return new QTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg5 withArguments(C c, D d, E e) { return new QTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(C c, D d, E e, F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4689,7 +4689,7 @@ public static final class QTaskBuilderVoid8Arg2 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c) { @@ -4705,35 +4705,35 @@ public static final class QTaskBuilderVoid8Arg3 extends private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg4 withArguments(D d) { return new QTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg5 withArguments(D d, E e) { return new QTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(D d, E e, F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(D d, E e, F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4760,7 +4760,7 @@ public static final class QTaskBuilderVoid8Arg3 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d) { @@ -4778,28 +4778,28 @@ public static final class QTaskBuilderVoid8Arg4 extends private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg5 withArguments(E e) { return new QTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(E e, F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(E e, F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(E e, F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4826,7 +4826,7 @@ public static final class QTaskBuilderVoid8Arg4 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e) { @@ -4846,21 +4846,21 @@ public static final class QTaskBuilderVoid8Arg5 extends private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg6 withArguments(F f) { return new QTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(F f, G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(F f, G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4887,7 +4887,7 @@ public static final class QTaskBuilderVoid8Arg5 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f) { @@ -4909,14 +4909,14 @@ public static final class QTaskBuilderVoid8Arg6 extends private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg7 withArguments(G g) { return new QTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(G g, H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4943,7 +4943,7 @@ public static final class QTaskBuilderVoid8Arg6 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -4967,7 +4967,7 @@ public static final class QTaskBuilderVoid8Arg7 extends private final G g; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid8Arg8 withArguments(H h) { return new QTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -4994,7 +4994,7 @@ public static final class QTaskBuilderVoid8Arg7 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid8Arg8 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid8Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -5050,7 +5050,7 @@ public static final class QTaskBuilderVoid8Arg8 extends } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTaskBuilderVoid9Arg0 task(@StrictNonNull Runnable9 runnable) { return new QTaskBuilderVoid9Arg0<>(0, null, runnable); @@ -5058,7 +5058,7 @@ public static QTaskBuilderVoid9Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final Runnable9 runnable; @@ -5069,63 +5069,63 @@ public static final class QTaskBuilderVoid9Arg0 exten } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg1 withArguments(A a) { return new QTaskBuilderVoid9Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg2 withArguments(A a, B b) { return new QTaskBuilderVoid9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg3 withArguments(A a, B b, C c) { return new QTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg4 withArguments(A a, B b, C c, D d) { return new QTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(A a, B b, C c, D d, E e, F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5152,7 +5152,7 @@ public static final class QTaskBuilderVoid9Arg0 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a) { @@ -5164,56 +5164,56 @@ public static final class QTaskBuilderVoid9Arg1 exten private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg2 withArguments(B b) { return new QTaskBuilderVoid9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg3 withArguments(B b, C c) { return new QTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg4 withArguments(B b, C c, D d) { return new QTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg5 withArguments(B b, C c, D d, E e) { return new QTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(B b, C c, D d, E e, F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5240,7 +5240,7 @@ public static final class QTaskBuilderVoid9Arg1 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b) { @@ -5254,49 +5254,49 @@ public static final class QTaskBuilderVoid9Arg2 exten private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg3 withArguments(C c) { return new QTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg4 withArguments(C c, D d) { return new QTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg5 withArguments(C c, D d, E e) { return new QTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(C c, D d, E e, F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(C c, D d, E e, F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5323,7 +5323,7 @@ public static final class QTaskBuilderVoid9Arg2 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c) { @@ -5339,42 +5339,42 @@ public static final class QTaskBuilderVoid9Arg3 exten private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg4 withArguments(D d) { return new QTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg5 withArguments(D d, E e) { return new QTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(D d, E e, F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(D d, E e, F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(D d, E e, F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5401,7 +5401,7 @@ public static final class QTaskBuilderVoid9Arg3 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d) { @@ -5419,35 +5419,35 @@ public static final class QTaskBuilderVoid9Arg4 exten private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg5 withArguments(E e) { return new QTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(E e, F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(E e, F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(E e, F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(E e, F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5474,7 +5474,7 @@ public static final class QTaskBuilderVoid9Arg4 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e) { @@ -5494,28 +5494,28 @@ public static final class QTaskBuilderVoid9Arg5 exten private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg6 withArguments(F f) { return new QTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(F f, G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(F f, G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(F f, G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5542,7 +5542,7 @@ public static final class QTaskBuilderVoid9Arg5 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f) { @@ -5564,21 +5564,21 @@ public static final class QTaskBuilderVoid9Arg6 exten private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg7 withArguments(G g) { return new QTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(G g, H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(G g, H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5605,7 +5605,7 @@ public static final class QTaskBuilderVoid9Arg6 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -5629,14 +5629,14 @@ public static final class QTaskBuilderVoid9Arg7 exten private final G g; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg8 withArguments(H h) { return new QTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(H h, I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5663,7 +5663,7 @@ public static final class QTaskBuilderVoid9Arg7 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg8 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -5689,7 +5689,7 @@ public static final class QTaskBuilderVoid9Arg8 exten private final H h; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTaskBuilderVoid9Arg9 withArguments(I i) { return new QTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -5716,7 +5716,7 @@ public static final class QTaskBuilderVoid9Arg8 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTaskBuilderVoid9Arg9 extends QTaskBuilder<@QtPrimitiveType Void>{ QTaskBuilderVoid9Arg9(int newPriority, QThreadPool threadPool, @StrictNonNull Runnable9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -5773,7 +5773,7 @@ public static final class QTaskBuilderVoid9Arg9 exten } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder0Arg0 task(java.util.concurrent.@StrictNonNull Callable callable) { return new QTypedTaskBuilder0Arg0<>(0, null, callable); @@ -5781,7 +5781,7 @@ public static final class QTaskBuilderVoid9Arg9 exten /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder0Arg0 extends QTaskBuilder{ QTypedTaskBuilder0Arg0(int newPriority, QThreadPool threadPool, java.util.concurrent.Callable callable) { @@ -5820,7 +5820,7 @@ public static class QTypedTaskBuilder0Arg0 extends QTaskBuilder{ } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder1Arg0 task(@StrictNonNull Callable1 callable) { return new QTypedTaskBuilder1Arg0<>(0, null, callable); @@ -5828,7 +5828,7 @@ public static class QTypedTaskBuilder0Arg0 extends QTaskBuilder{ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder1Arg0 extends QTaskBuilder{ private final Callable1 callable; @@ -5839,7 +5839,7 @@ public static final class QTypedTaskBuilder1Arg0 extends QTaskBuilder{ } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder1Arg1 withArguments(A a) { return new QTypedTaskBuilder1Arg1<>(priority(), threadPool(), callable, a); @@ -5866,7 +5866,7 @@ public static final class QTypedTaskBuilder1Arg0 extends QTaskBuilder{ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder1Arg1 extends QTaskBuilder{ QTypedTaskBuilder1Arg1(int newPriority, QThreadPool threadPool, Callable1 callable, A a) { @@ -5908,7 +5908,7 @@ public static class QTypedTaskBuilder1Arg1 extends QTaskBuilder{ } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder2Arg0 task(@StrictNonNull Callable2 callable) { return new QTypedTaskBuilder2Arg0<>(0, null, callable); @@ -5916,7 +5916,7 @@ public static class QTypedTaskBuilder1Arg1 extends QTaskBuilder{ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder2Arg0 extends QTaskBuilder{ private final Callable2 callable; @@ -5927,14 +5927,14 @@ public static final class QTypedTaskBuilder2Arg0 extends QTaskBuilderSee QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder2Arg1 withArguments(A a) { return new QTypedTaskBuilder2Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder2Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder2Arg2<>(priority(), threadPool(), callable, a, b); @@ -5961,7 +5961,7 @@ public static final class QTypedTaskBuilder2Arg0 extends QTaskBuilderJava wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder2Arg1 extends QTaskBuilder{ QTypedTaskBuilder2Arg1(int newPriority, QThreadPool threadPool, Callable2 callable, A a) { @@ -5973,7 +5973,7 @@ public static class QTypedTaskBuilder2Arg1 extends QTaskBuilder{ private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder2Arg2 withArguments(B b) { return new QTypedTaskBuilder2Arg2<>(priority(), threadPool(), callable, a, b); @@ -6000,7 +6000,7 @@ public static class QTypedTaskBuilder2Arg1 extends QTaskBuilder{ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder2Arg2 extends QTaskBuilder{ QTypedTaskBuilder2Arg2(int newPriority, QThreadPool threadPool, Callable2 callable, A a, B b) { @@ -6044,7 +6044,7 @@ public static final class QTypedTaskBuilder2Arg2 extends QTaskBuilderSee QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder3Arg0 task(@StrictNonNull Callable3 callable) { return new QTypedTaskBuilder3Arg0<>(0, null, callable); @@ -6052,7 +6052,7 @@ public static final class QTypedTaskBuilder2Arg2 extends QTaskBuilderJava wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder3Arg0 extends QTaskBuilder{ private final Callable3 callable; @@ -6063,21 +6063,21 @@ public static final class QTypedTaskBuilder3Arg0 extends QTaskBuilde } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg1 withArguments(A a) { return new QTypedTaskBuilder3Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder3Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder3Arg3<>(priority(), threadPool(), callable, a, b, c); @@ -6104,7 +6104,7 @@ public static final class QTypedTaskBuilder3Arg0 extends QTaskBuilde /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder3Arg1 extends QTaskBuilder{ QTypedTaskBuilder3Arg1(int newPriority, QThreadPool threadPool, Callable3 callable, A a) { @@ -6116,14 +6116,14 @@ public static class QTypedTaskBuilder3Arg1 extends QTaskBuilder{ private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg2 withArguments(B b) { return new QTypedTaskBuilder3Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder3Arg3<>(priority(), threadPool(), callable, a, b, c); @@ -6150,7 +6150,7 @@ public static class QTypedTaskBuilder3Arg1 extends QTaskBuilder{ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder3Arg2 extends QTaskBuilder{ QTypedTaskBuilder3Arg2(int newPriority, QThreadPool threadPool, Callable3 callable, A a, B b) { @@ -6164,7 +6164,7 @@ public static final class QTypedTaskBuilder3Arg2 extends QTaskBuilde private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder3Arg3 withArguments(C c) { return new QTypedTaskBuilder3Arg3<>(priority(), threadPool(), callable, a, b, c); @@ -6191,7 +6191,7 @@ public static final class QTypedTaskBuilder3Arg2 extends QTaskBuilde /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder3Arg3 extends QTaskBuilder{ QTypedTaskBuilder3Arg3(int newPriority, QThreadPool threadPool, Callable3 callable, A a, B b, C c) { @@ -6237,7 +6237,7 @@ public static final class QTypedTaskBuilder3Arg3 extends QTaskBuilde } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder4Arg0 task(@StrictNonNull Callable4 callable) { return new QTypedTaskBuilder4Arg0<>(0, null, callable); @@ -6245,7 +6245,7 @@ public static final class QTypedTaskBuilder3Arg3 extends QTaskBuilde /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder4Arg0 extends QTaskBuilder{ private final Callable4 callable; @@ -6256,28 +6256,28 @@ public static final class QTypedTaskBuilder4Arg0 extends QTaskBui } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg1 withArguments(A a) { return new QTypedTaskBuilder4Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder4Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder4Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder4Arg4<>(priority(), threadPool(), callable, a, b, c, d); @@ -6304,7 +6304,7 @@ public static final class QTypedTaskBuilder4Arg0 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder4Arg1 extends QTaskBuilder{ QTypedTaskBuilder4Arg1(int newPriority, QThreadPool threadPool, Callable4 callable, A a) { @@ -6316,21 +6316,21 @@ public static class QTypedTaskBuilder4Arg1 extends QTaskBuilderSee QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg2 withArguments(B b) { return new QTypedTaskBuilder4Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder4Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder4Arg4<>(priority(), threadPool(), callable, a, b, c, d); @@ -6357,7 +6357,7 @@ public static class QTypedTaskBuilder4Arg1 extends QTaskBuilderJava wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder4Arg2 extends QTaskBuilder{ QTypedTaskBuilder4Arg2(int newPriority, QThreadPool threadPool, Callable4 callable, A a, B b) { @@ -6371,14 +6371,14 @@ public static final class QTypedTaskBuilder4Arg2 extends QTaskBui private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg3 withArguments(C c) { return new QTypedTaskBuilder4Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder4Arg4<>(priority(), threadPool(), callable, a, b, c, d); @@ -6405,7 +6405,7 @@ public static final class QTypedTaskBuilder4Arg2 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder4Arg3 extends QTaskBuilder{ QTypedTaskBuilder4Arg3(int newPriority, QThreadPool threadPool, Callable4 callable, A a, B b, C c) { @@ -6421,7 +6421,7 @@ public static final class QTypedTaskBuilder4Arg3 extends QTaskBui private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder4Arg4 withArguments(D d) { return new QTypedTaskBuilder4Arg4<>(priority(), threadPool(), callable, a, b, c, d); @@ -6448,7 +6448,7 @@ public static final class QTypedTaskBuilder4Arg3 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder4Arg4 extends QTaskBuilder{ QTypedTaskBuilder4Arg4(int newPriority, QThreadPool threadPool, Callable4 callable, A a, B b, C c, D d) { @@ -6496,7 +6496,7 @@ public static final class QTypedTaskBuilder4Arg4 extends QTaskBui } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder5Arg0 task(@StrictNonNull Callable5 callable) { return new QTypedTaskBuilder5Arg0<>(0, null, callable); @@ -6504,7 +6504,7 @@ public static final class QTypedTaskBuilder4Arg4 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder5Arg0 extends QTaskBuilder{ private final Callable5 callable; @@ -6515,35 +6515,35 @@ public static final class QTypedTaskBuilder5Arg0 extends QTask } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg1 withArguments(A a) { return new QTypedTaskBuilder5Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder5Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder5Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder5Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedTaskBuilder5Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); @@ -6570,7 +6570,7 @@ public static final class QTypedTaskBuilder5Arg0 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder5Arg1 extends QTaskBuilder{ QTypedTaskBuilder5Arg1(int newPriority, QThreadPool threadPool, Callable5 callable, A a) { @@ -6582,28 +6582,28 @@ public static class QTypedTaskBuilder5Arg1 extends QTaskBuilde private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg2 withArguments(B b) { return new QTypedTaskBuilder5Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder5Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder5Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg5 withArguments(B b, C c, D d, E e) { return new QTypedTaskBuilder5Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); @@ -6630,7 +6630,7 @@ public static class QTypedTaskBuilder5Arg1 extends QTaskBuilde /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder5Arg2 extends QTaskBuilder{ QTypedTaskBuilder5Arg2(int newPriority, QThreadPool threadPool, Callable5 callable, A a, B b) { @@ -6644,21 +6644,21 @@ public static final class QTypedTaskBuilder5Arg2 extends QTask private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg3 withArguments(C c) { return new QTypedTaskBuilder5Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder5Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg5 withArguments(C c, D d, E e) { return new QTypedTaskBuilder5Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); @@ -6685,7 +6685,7 @@ public static final class QTypedTaskBuilder5Arg2 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder5Arg3 extends QTaskBuilder{ QTypedTaskBuilder5Arg3(int newPriority, QThreadPool threadPool, Callable5 callable, A a, B b, C c) { @@ -6701,14 +6701,14 @@ public static final class QTypedTaskBuilder5Arg3 extends QTask private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg4 withArguments(D d) { return new QTypedTaskBuilder5Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg5 withArguments(D d, E e) { return new QTypedTaskBuilder5Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); @@ -6735,7 +6735,7 @@ public static final class QTypedTaskBuilder5Arg3 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder5Arg4 extends QTaskBuilder{ QTypedTaskBuilder5Arg4(int newPriority, QThreadPool threadPool, Callable5 callable, A a, B b, C c, D d) { @@ -6753,7 +6753,7 @@ public static final class QTypedTaskBuilder5Arg4 extends QTask private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder5Arg5 withArguments(E e) { return new QTypedTaskBuilder5Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); @@ -6780,7 +6780,7 @@ public static final class QTypedTaskBuilder5Arg4 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder5Arg5 extends QTaskBuilder{ QTypedTaskBuilder5Arg5(int newPriority, QThreadPool threadPool, Callable5 callable, A a, B b, C c, D d, E e) { @@ -6830,7 +6830,7 @@ public static final class QTypedTaskBuilder5Arg5 extends QTask } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder6Arg0 task(@StrictNonNull Callable6 callable) { return new QTypedTaskBuilder6Arg0<>(0, null, callable); @@ -6838,7 +6838,7 @@ public static final class QTypedTaskBuilder5Arg5 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder6Arg0 extends QTaskBuilder{ private final Callable6 callable; @@ -6849,42 +6849,42 @@ public static class QTypedTaskBuilder6Arg0 extends QTaskBui } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg1 withArguments(A a) { return new QTypedTaskBuilder6Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder6Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder6Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder6Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedTaskBuilder6Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -6911,7 +6911,7 @@ public static class QTypedTaskBuilder6Arg0 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder6Arg1 extends QTaskBuilder{ QTypedTaskBuilder6Arg1(int newPriority, QThreadPool threadPool, Callable6 callable, A a) { @@ -6923,35 +6923,35 @@ public static class QTypedTaskBuilder6Arg1 extends QTaskBui private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg2 withArguments(B b) { return new QTypedTaskBuilder6Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder6Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder6Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg5 withArguments(B b, C c, D d, E e) { return new QTypedTaskBuilder6Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -6978,7 +6978,7 @@ public static class QTypedTaskBuilder6Arg1 extends QTaskBui /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder6Arg2 extends QTaskBuilder{ QTypedTaskBuilder6Arg2(int newPriority, QThreadPool threadPool, Callable6 callable, A a, B b) { @@ -6992,28 +6992,28 @@ public static final class QTypedTaskBuilder6Arg2 extends QT private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg3 withArguments(C c) { return new QTypedTaskBuilder6Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder6Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg5 withArguments(C c, D d, E e) { return new QTypedTaskBuilder6Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(C c, D d, E e, F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -7040,7 +7040,7 @@ public static final class QTypedTaskBuilder6Arg2 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder6Arg3 extends QTaskBuilder{ QTypedTaskBuilder6Arg3(int newPriority, QThreadPool threadPool, Callable6 callable, A a, B b, C c) { @@ -7056,21 +7056,21 @@ public static final class QTypedTaskBuilder6Arg3 extends QT private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg4 withArguments(D d) { return new QTypedTaskBuilder6Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg5 withArguments(D d, E e) { return new QTypedTaskBuilder6Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(D d, E e, F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -7097,7 +7097,7 @@ public static final class QTypedTaskBuilder6Arg3 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder6Arg4 extends QTaskBuilder{ QTypedTaskBuilder6Arg4(int newPriority, QThreadPool threadPool, Callable6 callable, A a, B b, C c, D d) { @@ -7115,14 +7115,14 @@ public static final class QTypedTaskBuilder6Arg4 extends QT private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg5 withArguments(E e) { return new QTypedTaskBuilder6Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(E e, F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -7149,7 +7149,7 @@ public static final class QTypedTaskBuilder6Arg4 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder6Arg5 extends QTaskBuilder{ QTypedTaskBuilder6Arg5(int newPriority, QThreadPool threadPool, Callable6 callable, A a, B b, C c, D d, E e) { @@ -7169,7 +7169,7 @@ public static final class QTypedTaskBuilder6Arg5 extends QT private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder6Arg6 withArguments(F f) { return new QTypedTaskBuilder6Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); @@ -7196,7 +7196,7 @@ public static final class QTypedTaskBuilder6Arg5 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder6Arg6 extends QTaskBuilder{ QTypedTaskBuilder6Arg6(int newPriority, QThreadPool threadPool, Callable6 callable, A a, B b, C c, D d, E e, F f) { @@ -7248,7 +7248,7 @@ public static final class QTypedTaskBuilder6Arg6 extends QT } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder7Arg0 task(@StrictNonNull Callable7 callable) { return new QTypedTaskBuilder7Arg0<>(0, null, callable); @@ -7256,7 +7256,7 @@ public static final class QTypedTaskBuilder6Arg6 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder7Arg0 extends QTaskBuilder{ private final Callable7 callable; @@ -7267,49 +7267,49 @@ public static class QTypedTaskBuilder7Arg0 extends QTask } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg1 withArguments(A a) { return new QTypedTaskBuilder7Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder7Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder7Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder7Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedTaskBuilder7Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7336,7 +7336,7 @@ public static class QTypedTaskBuilder7Arg0 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder7Arg1 extends QTaskBuilder{ QTypedTaskBuilder7Arg1(int newPriority, QThreadPool threadPool, Callable7 callable, A a) { @@ -7348,42 +7348,42 @@ public static class QTypedTaskBuilder7Arg1 extends QTask private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg2 withArguments(B b) { return new QTypedTaskBuilder7Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder7Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder7Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg5 withArguments(B b, C c, D d, E e) { return new QTypedTaskBuilder7Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7410,7 +7410,7 @@ public static class QTypedTaskBuilder7Arg1 extends QTask /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg2 extends QTaskBuilder{ QTypedTaskBuilder7Arg2(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b) { @@ -7424,35 +7424,35 @@ public static final class QTypedTaskBuilder7Arg2 extends private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg3 withArguments(C c) { return new QTypedTaskBuilder7Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder7Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg5 withArguments(C c, D d, E e) { return new QTypedTaskBuilder7Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(C c, D d, E e, F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7479,7 +7479,7 @@ public static final class QTypedTaskBuilder7Arg2 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg3 extends QTaskBuilder{ QTypedTaskBuilder7Arg3(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b, C c) { @@ -7495,28 +7495,28 @@ public static final class QTypedTaskBuilder7Arg3 extends private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg4 withArguments(D d) { return new QTypedTaskBuilder7Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg5 withArguments(D d, E e) { return new QTypedTaskBuilder7Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(D d, E e, F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(D d, E e, F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7543,7 +7543,7 @@ public static final class QTypedTaskBuilder7Arg3 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg4 extends QTaskBuilder{ QTypedTaskBuilder7Arg4(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b, C c, D d) { @@ -7561,21 +7561,21 @@ public static final class QTypedTaskBuilder7Arg4 extends private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg5 withArguments(E e) { return new QTypedTaskBuilder7Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(E e, F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(E e, F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7602,7 +7602,7 @@ public static final class QTypedTaskBuilder7Arg4 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg5 extends QTaskBuilder{ QTypedTaskBuilder7Arg5(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b, C c, D d, E e) { @@ -7622,14 +7622,14 @@ public static final class QTypedTaskBuilder7Arg5 extends private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg6 withArguments(F f) { return new QTypedTaskBuilder7Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(F f, G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7656,7 +7656,7 @@ public static final class QTypedTaskBuilder7Arg5 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg6 extends QTaskBuilder{ QTypedTaskBuilder7Arg6(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b, C c, D d, E e, F f) { @@ -7678,7 +7678,7 @@ public static final class QTypedTaskBuilder7Arg6 extends private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder7Arg7 withArguments(G g) { return new QTypedTaskBuilder7Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); @@ -7705,7 +7705,7 @@ public static final class QTypedTaskBuilder7Arg6 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder7Arg7 extends QTaskBuilder{ QTypedTaskBuilder7Arg7(int newPriority, QThreadPool threadPool, Callable7 callable, A a, B b, C c, D d, E e, F f, G g) { @@ -7759,7 +7759,7 @@ public static final class QTypedTaskBuilder7Arg7 extends } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder8Arg0 task(@StrictNonNull Callable8 callable) { return new QTypedTaskBuilder8Arg0<>(0, null, callable); @@ -7767,7 +7767,7 @@ public static final class QTypedTaskBuilder7Arg7 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder8Arg0 extends QTaskBuilder{ private final Callable8 callable; @@ -7778,56 +7778,56 @@ public static class QTypedTaskBuilder8Arg0 extends QT } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg1 withArguments(A a) { return new QTypedTaskBuilder8Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder8Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder8Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder8Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedTaskBuilder8Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -7854,7 +7854,7 @@ public static class QTypedTaskBuilder8Arg0 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder8Arg1 extends QTaskBuilder{ QTypedTaskBuilder8Arg1(int newPriority, QThreadPool threadPool, Callable8 callable, A a) { @@ -7866,49 +7866,49 @@ public static class QTypedTaskBuilder8Arg1 extends QT private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg2 withArguments(B b) { return new QTypedTaskBuilder8Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder8Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder8Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg5 withArguments(B b, C c, D d, E e) { return new QTypedTaskBuilder8Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -7935,7 +7935,7 @@ public static class QTypedTaskBuilder8Arg1 extends QT /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg2 extends QTaskBuilder{ QTypedTaskBuilder8Arg2(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b) { @@ -7949,42 +7949,42 @@ public static final class QTypedTaskBuilder8Arg2 exte private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg3 withArguments(C c) { return new QTypedTaskBuilder8Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder8Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg5 withArguments(C c, D d, E e) { return new QTypedTaskBuilder8Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(C c, D d, E e, F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8011,7 +8011,7 @@ public static final class QTypedTaskBuilder8Arg2 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg3 extends QTaskBuilder{ QTypedTaskBuilder8Arg3(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c) { @@ -8027,35 +8027,35 @@ public static final class QTypedTaskBuilder8Arg3 exte private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg4 withArguments(D d) { return new QTypedTaskBuilder8Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg5 withArguments(D d, E e) { return new QTypedTaskBuilder8Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(D d, E e, F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(D d, E e, F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8082,7 +8082,7 @@ public static final class QTypedTaskBuilder8Arg3 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg4 extends QTaskBuilder{ QTypedTaskBuilder8Arg4(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c, D d) { @@ -8100,28 +8100,28 @@ public static final class QTypedTaskBuilder8Arg4 exte private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg5 withArguments(E e) { return new QTypedTaskBuilder8Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(E e, F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(E e, F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(E e, F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8148,7 +8148,7 @@ public static final class QTypedTaskBuilder8Arg4 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg5 extends QTaskBuilder{ QTypedTaskBuilder8Arg5(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c, D d, E e) { @@ -8168,21 +8168,21 @@ public static final class QTypedTaskBuilder8Arg5 exte private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg6 withArguments(F f) { return new QTypedTaskBuilder8Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(F f, G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(F f, G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8209,7 +8209,7 @@ public static final class QTypedTaskBuilder8Arg5 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg6 extends QTaskBuilder{ QTypedTaskBuilder8Arg6(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c, D d, E e, F f) { @@ -8231,14 +8231,14 @@ public static final class QTypedTaskBuilder8Arg6 exte private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg7 withArguments(G g) { return new QTypedTaskBuilder8Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(G g, H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8265,7 +8265,7 @@ public static final class QTypedTaskBuilder8Arg6 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg7 extends QTaskBuilder{ QTypedTaskBuilder8Arg7(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c, D d, E e, F f, G g) { @@ -8289,7 +8289,7 @@ public static final class QTypedTaskBuilder8Arg7 exte private final G g; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder8Arg8 withArguments(H h) { return new QTypedTaskBuilder8Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); @@ -8316,7 +8316,7 @@ public static final class QTypedTaskBuilder8Arg7 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder8Arg8 extends QTaskBuilder{ QTypedTaskBuilder8Arg8(int newPriority, QThreadPool threadPool, Callable8 callable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -8372,7 +8372,7 @@ public static final class QTypedTaskBuilder8Arg8 exte } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static @NonNull QTypedTaskBuilder9Arg0 task(@StrictNonNull Callable9 callable) { return new QTypedTaskBuilder9Arg0<>(0, null, callable); @@ -8380,7 +8380,7 @@ public static final class QTypedTaskBuilder8Arg8 exte /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder9Arg0 extends QTaskBuilder{ private final Callable9 callable; @@ -8391,63 +8391,63 @@ public static class QTypedTaskBuilder9Arg0 extends } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg1 withArguments(A a) { return new QTypedTaskBuilder9Arg1<>(priority(), threadPool(), callable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg2 withArguments(A a, B b) { return new QTypedTaskBuilder9Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg3 withArguments(A a, B b, C c) { return new QTypedTaskBuilder9Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg4 withArguments(A a, B b, C c, D d) { return new QTypedTaskBuilder9Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedTaskBuilder9Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(A a, B b, C c, D d, E e, F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8474,7 +8474,7 @@ public static class QTypedTaskBuilder9Arg0 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QTypedTaskBuilder9Arg1 extends QTaskBuilder{ QTypedTaskBuilder9Arg1(int newPriority, QThreadPool threadPool, Callable9 callable, A a) { @@ -8486,56 +8486,56 @@ public static class QTypedTaskBuilder9Arg1 extends private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg2 withArguments(B b) { return new QTypedTaskBuilder9Arg2<>(priority(), threadPool(), callable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg3 withArguments(B b, C c) { return new QTypedTaskBuilder9Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg4 withArguments(B b, C c, D d) { return new QTypedTaskBuilder9Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg5 withArguments(B b, C c, D d, E e) { return new QTypedTaskBuilder9Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(B b, C c, D d, E e, F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8562,7 +8562,7 @@ public static class QTypedTaskBuilder9Arg1 extends /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg2 extends QTaskBuilder{ QTypedTaskBuilder9Arg2(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b) { @@ -8576,49 +8576,49 @@ public static final class QTypedTaskBuilder9Arg2 e private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg3 withArguments(C c) { return new QTypedTaskBuilder9Arg3<>(priority(), threadPool(), callable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg4 withArguments(C c, D d) { return new QTypedTaskBuilder9Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg5 withArguments(C c, D d, E e) { return new QTypedTaskBuilder9Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(C c, D d, E e, F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(C c, D d, E e, F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8645,7 +8645,7 @@ public static final class QTypedTaskBuilder9Arg2 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg3 extends QTaskBuilder{ QTypedTaskBuilder9Arg3(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c) { @@ -8661,42 +8661,42 @@ public static final class QTypedTaskBuilder9Arg3 e private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg4 withArguments(D d) { return new QTypedTaskBuilder9Arg4<>(priority(), threadPool(), callable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg5 withArguments(D d, E e) { return new QTypedTaskBuilder9Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(D d, E e, F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(D d, E e, F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(D d, E e, F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8723,7 +8723,7 @@ public static final class QTypedTaskBuilder9Arg3 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg4 extends QTaskBuilder{ QTypedTaskBuilder9Arg4(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d) { @@ -8741,35 +8741,35 @@ public static final class QTypedTaskBuilder9Arg4 e private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg5 withArguments(E e) { return new QTypedTaskBuilder9Arg5<>(priority(), threadPool(), callable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(E e, F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(E e, F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(E e, F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(E e, F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8796,7 +8796,7 @@ public static final class QTypedTaskBuilder9Arg4 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg5 extends QTaskBuilder{ QTypedTaskBuilder9Arg5(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d, E e) { @@ -8816,28 +8816,28 @@ public static final class QTypedTaskBuilder9Arg5 e private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg6 withArguments(F f) { return new QTypedTaskBuilder9Arg6<>(priority(), threadPool(), callable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(F f, G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(F f, G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(F f, G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8864,7 +8864,7 @@ public static final class QTypedTaskBuilder9Arg5 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg6 extends QTaskBuilder{ QTypedTaskBuilder9Arg6(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d, E e, F f) { @@ -8886,21 +8886,21 @@ public static final class QTypedTaskBuilder9Arg6 e private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg7 withArguments(G g) { return new QTypedTaskBuilder9Arg7<>(priority(), threadPool(), callable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(G g, H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(G g, H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8927,7 +8927,7 @@ public static final class QTypedTaskBuilder9Arg6 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg7 extends QTaskBuilder{ QTypedTaskBuilder9Arg7(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d, E e, F f, G g) { @@ -8951,14 +8951,14 @@ public static final class QTypedTaskBuilder9Arg7 e private final G g; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg8 withArguments(H h) { return new QTypedTaskBuilder9Arg8<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(H h, I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -8985,7 +8985,7 @@ public static final class QTypedTaskBuilder9Arg7 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg8 extends QTaskBuilder{ QTypedTaskBuilder9Arg8(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -9011,7 +9011,7 @@ public static final class QTypedTaskBuilder9Arg8 e private final H h; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public @NonNull QTypedTaskBuilder9Arg9 withArguments(I i) { return new QTypedTaskBuilder9Arg9<>(priority(), threadPool(), callable, a, b, c, d, e, f, g, h, i); @@ -9038,7 +9038,7 @@ public static final class QTypedTaskBuilder9Arg8 e /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedTaskBuilder9Arg9 extends QTaskBuilder{ QTypedTaskBuilder9Arg9(int newPriority, QThreadPool threadPool, Callable9 callable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -9095,7 +9095,7 @@ public static final class QTypedTaskBuilder9Arg9 e } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid0Arg0 task(@StrictNonNull RunnableWithVoidPromise runnable) { return new QPromiseTaskBuilderVoid0Arg0(0, null, runnable); @@ -9103,7 +9103,7 @@ public static QPromiseTaskBuilderVoid0Arg0 task(@StrictNonNull RunnableWithVoidP /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid0Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid0Arg0(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise runnable) { @@ -9142,7 +9142,7 @@ public QPromiseTaskBuilderVoid0Arg0 onThreadPool(@StrictNonNull QThreadPool newT } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid1Arg0 task(@StrictNonNull RunnableWithVoidPromise1 runnable) { return new QPromiseTaskBuilderVoid1Arg0<>(0, null, runnable); @@ -9150,7 +9150,7 @@ public static QPromiseTaskBuilderVoid1Arg0 task(@StrictNonNull RunnableWi /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid1Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise1 runnable; @@ -9161,7 +9161,7 @@ public static final class QPromiseTaskBuilderVoid1Arg0 extends QTaskBuilder<@ } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid1Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid1Arg1<>(priority(), threadPool(), runnable, a); @@ -9188,7 +9188,7 @@ public QPromiseTaskBuilderVoid1Arg0 onThreadPool(@StrictNonNull QThreadPool n /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid1Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid1Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise1 runnable, A a) { @@ -9230,7 +9230,7 @@ public QPromiseTaskBuilderVoid1Arg1 onThreadPool(@StrictNonNull QThreadPool n } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid2Arg0 task(@StrictNonNull RunnableWithVoidPromise2 runnable) { return new QPromiseTaskBuilderVoid2Arg0<>(0, null, runnable); @@ -9238,7 +9238,7 @@ public static QPromiseTaskBuilderVoid2Arg0 task(@StrictNonNull Runn /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid2Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise2 runnable; @@ -9249,14 +9249,14 @@ public static final class QPromiseTaskBuilderVoid2Arg0 extends QTaskBuilde } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid2Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid2Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid2Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -9283,7 +9283,7 @@ public QPromiseTaskBuilderVoid2Arg0 onThreadPool(@StrictNonNull QThreadPoo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid2Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid2Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise2 runnable, A a) { @@ -9295,7 +9295,7 @@ public static class QPromiseTaskBuilderVoid2Arg1 extends QTaskBuilder<@QtP private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid2Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -9322,7 +9322,7 @@ public QPromiseTaskBuilderVoid2Arg1 onThreadPool(@StrictNonNull QThreadPoo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid2Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid2Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise2 runnable, A a, B b) { @@ -9366,7 +9366,7 @@ public QPromiseTaskBuilderVoid2Arg2 onThreadPool(@StrictNonNull QThreadPoo } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid3Arg0 task(@StrictNonNull RunnableWithVoidPromise3 runnable) { return new QPromiseTaskBuilderVoid3Arg0<>(0, null, runnable); @@ -9374,7 +9374,7 @@ public static QPromiseTaskBuilderVoid3Arg0 task(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid3Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise3 runnable; @@ -9385,21 +9385,21 @@ public static final class QPromiseTaskBuilderVoid3Arg0 extends QTaskBui } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid3Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -9426,7 +9426,7 @@ public QPromiseTaskBuilderVoid3Arg0 onThreadPool(@StrictNonNull QThread /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid3Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid3Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise3 runnable, A a) { @@ -9438,14 +9438,14 @@ public static class QPromiseTaskBuilderVoid3Arg1 extends QTaskBuilder<@ private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -9472,7 +9472,7 @@ public QPromiseTaskBuilderVoid3Arg1 onThreadPool(@StrictNonNull QThread /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid3Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid3Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise3 runnable, A a, B b) { @@ -9486,7 +9486,7 @@ public static final class QPromiseTaskBuilderVoid3Arg2 extends QTaskBui private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid3Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -9513,7 +9513,7 @@ public QPromiseTaskBuilderVoid3Arg2 onThreadPool(@StrictNonNull QThread /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid3Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid3Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise3 runnable, A a, B b, C c) { @@ -9559,7 +9559,7 @@ public QPromiseTaskBuilderVoid3Arg3 onThreadPool(@StrictNonNull QThread } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid4Arg0 task(@StrictNonNull RunnableWithVoidPromise4 runnable) { return new QPromiseTaskBuilderVoid4Arg0<>(0, null, runnable); @@ -9567,7 +9567,7 @@ public static QPromiseTaskBuilderVoid4Arg0 task(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid4Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise4 runnable; @@ -9578,28 +9578,28 @@ public static final class QPromiseTaskBuilderVoid4Arg0 extends QTask } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid4Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -9626,7 +9626,7 @@ public QPromiseTaskBuilderVoid4Arg0 onThreadPool(@StrictNonNull QThr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid4Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid4Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise4 runnable, A a) { @@ -9638,21 +9638,21 @@ public static class QPromiseTaskBuilderVoid4Arg1 extends QTaskBuilde private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -9679,7 +9679,7 @@ public QPromiseTaskBuilderVoid4Arg1 onThreadPool(@StrictNonNull QThr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid4Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid4Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise4 runnable, A a, B b) { @@ -9693,14 +9693,14 @@ public static final class QPromiseTaskBuilderVoid4Arg2 extends QTask private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -9727,7 +9727,7 @@ public QPromiseTaskBuilderVoid4Arg2 onThreadPool(@StrictNonNull QThr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid4Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid4Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise4 runnable, A a, B b, C c) { @@ -9743,7 +9743,7 @@ public static final class QPromiseTaskBuilderVoid4Arg3 extends QTask private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid4Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -9770,7 +9770,7 @@ public QPromiseTaskBuilderVoid4Arg3 onThreadPool(@StrictNonNull QThr /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid4Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid4Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise4 runnable, A a, B b, C c, D d) { @@ -9818,7 +9818,7 @@ public QPromiseTaskBuilderVoid4Arg4 onThreadPool(@StrictNonNull QThr } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid5Arg0 task(@StrictNonNull RunnableWithVoidPromise5 runnable) { return new QPromiseTaskBuilderVoid5Arg0<>(0, null, runnable); @@ -9826,7 +9826,7 @@ public static QPromiseTaskBuilderVoid5Arg0 task(@ /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid5Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise5 runnable; @@ -9837,35 +9837,35 @@ public static final class QPromiseTaskBuilderVoid5Arg0 extends QT } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid5Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg5 withArguments(A a, B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -9892,7 +9892,7 @@ public QPromiseTaskBuilderVoid5Arg0 onThreadPool(@StrictNonNull Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid5Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid5Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a) { @@ -9904,28 +9904,28 @@ public static class QPromiseTaskBuilderVoid5Arg1 extends QTaskBui private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg5 withArguments(B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -9952,7 +9952,7 @@ public QPromiseTaskBuilderVoid5Arg1 onThreadPool(@StrictNonNull Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid5Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid5Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b) { @@ -9966,21 +9966,21 @@ public static final class QPromiseTaskBuilderVoid5Arg2 extends QT private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg5 withArguments(C c, D d, E e) { return new QPromiseTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -10007,7 +10007,7 @@ public QPromiseTaskBuilderVoid5Arg2 onThreadPool(@StrictNonNull Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid5Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid5Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b, C c) { @@ -10023,14 +10023,14 @@ public static final class QPromiseTaskBuilderVoid5Arg3 extends QT private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg5 withArguments(D d, E e) { return new QPromiseTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -10057,7 +10057,7 @@ public QPromiseTaskBuilderVoid5Arg3 onThreadPool(@StrictNonNull Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid5Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid5Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b, C c, D d) { @@ -10075,7 +10075,7 @@ public static final class QPromiseTaskBuilderVoid5Arg4 extends QT private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid5Arg5 withArguments(E e) { return new QPromiseTaskBuilderVoid5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -10102,7 +10102,7 @@ public QPromiseTaskBuilderVoid5Arg4 onThreadPool(@StrictNonNull Q /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid5Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid5Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise5 runnable, A a, B b, C c, D d, E e) { @@ -10152,7 +10152,7 @@ public QPromiseTaskBuilderVoid5Arg5 onThreadPool(@StrictNonNull Q } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid6Arg0 task(@StrictNonNull RunnableWithVoidPromise6 runnable) { return new QPromiseTaskBuilderVoid6Arg0<>(0, null, runnable); @@ -10160,7 +10160,7 @@ public static QPromiseTaskBuilderVoid6Arg0 /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid6Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise6 runnable; @@ -10171,42 +10171,42 @@ public static class QPromiseTaskBuilderVoid6Arg0 extends QTask } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid6Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg5 withArguments(A a, B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10233,7 +10233,7 @@ public QPromiseTaskBuilderVoid6Arg0 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid6Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a) { @@ -10245,35 +10245,35 @@ public static class QPromiseTaskBuilderVoid6Arg1 extends QTask private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg5 withArguments(B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10300,7 +10300,7 @@ public QPromiseTaskBuilderVoid6Arg1 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid6Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b) { @@ -10314,28 +10314,28 @@ public static final class QPromiseTaskBuilderVoid6Arg2 extends private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg5 withArguments(C c, D d, E e) { return new QPromiseTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10362,7 +10362,7 @@ public QPromiseTaskBuilderVoid6Arg2 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid6Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b, C c) { @@ -10378,21 +10378,21 @@ public static final class QPromiseTaskBuilderVoid6Arg3 extends private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg5 withArguments(D d, E e) { return new QPromiseTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(D d, E e, F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10419,7 +10419,7 @@ public QPromiseTaskBuilderVoid6Arg3 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid6Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b, C c, D d) { @@ -10437,14 +10437,14 @@ public static final class QPromiseTaskBuilderVoid6Arg4 extends private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg5 withArguments(E e) { return new QPromiseTaskBuilderVoid6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(E e, F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10471,7 +10471,7 @@ public QPromiseTaskBuilderVoid6Arg4 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid6Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b, C c, D d, E e) { @@ -10491,7 +10491,7 @@ public static final class QPromiseTaskBuilderVoid6Arg5 extends private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid6Arg6 withArguments(F f) { return new QPromiseTaskBuilderVoid6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -10518,7 +10518,7 @@ public QPromiseTaskBuilderVoid6Arg5 onThreadPool(@StrictNonNul /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid6Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid6Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise6 runnable, A a, B b, C c, D d, E e, F f) { @@ -10570,7 +10570,7 @@ public QPromiseTaskBuilderVoid6Arg6 onThreadPool(@StrictNonNul } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid7Arg0 task(@StrictNonNull RunnableWithVoidPromise7 runnable) { return new QPromiseTaskBuilderVoid7Arg0<>(0, null, runnable); @@ -10578,7 +10578,7 @@ public static QPromiseTaskBuilderVoid7Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid7Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise7 runnable; @@ -10589,49 +10589,49 @@ public static class QPromiseTaskBuilderVoid7Arg0 extends QT } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid7Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg5 withArguments(A a, B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10658,7 +10658,7 @@ public QPromiseTaskBuilderVoid7Arg0 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid7Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a) { @@ -10670,42 +10670,42 @@ public static class QPromiseTaskBuilderVoid7Arg1 extends QT private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg5 withArguments(B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10732,7 +10732,7 @@ public QPromiseTaskBuilderVoid7Arg1 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b) { @@ -10746,35 +10746,35 @@ public static final class QPromiseTaskBuilderVoid7Arg2 exte private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg5 withArguments(C c, D d, E e) { return new QPromiseTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10801,7 +10801,7 @@ public QPromiseTaskBuilderVoid7Arg2 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c) { @@ -10817,28 +10817,28 @@ public static final class QPromiseTaskBuilderVoid7Arg3 exte private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg5 withArguments(D d, E e) { return new QPromiseTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(D d, E e, F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10865,7 +10865,7 @@ public QPromiseTaskBuilderVoid7Arg3 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c, D d) { @@ -10883,21 +10883,21 @@ public static final class QPromiseTaskBuilderVoid7Arg4 exte private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg5 withArguments(E e) { return new QPromiseTaskBuilderVoid7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(E e, F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(E e, F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10924,7 +10924,7 @@ public QPromiseTaskBuilderVoid7Arg4 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c, D d, E e) { @@ -10944,14 +10944,14 @@ public static final class QPromiseTaskBuilderVoid7Arg5 exte private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg6 withArguments(F f) { return new QPromiseTaskBuilderVoid7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(F f, G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -10978,7 +10978,7 @@ public QPromiseTaskBuilderVoid7Arg5 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c, D d, E e, F f) { @@ -11000,7 +11000,7 @@ public static final class QPromiseTaskBuilderVoid7Arg6 exte private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid7Arg7 withArguments(G g) { return new QPromiseTaskBuilderVoid7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -11027,7 +11027,7 @@ public QPromiseTaskBuilderVoid7Arg6 onThreadPool(@StrictNon /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid7Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid7Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -11081,7 +11081,7 @@ public QPromiseTaskBuilderVoid7Arg7 onThreadPool(@StrictNon } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid8Arg0 task(@StrictNonNull RunnableWithVoidPromise8 runnable) { return new QPromiseTaskBuilderVoid8Arg0<>(0, null, runnable); @@ -11089,7 +11089,7 @@ public static QPromiseTaskBuilderVoid8Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid8Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise8 runnable; @@ -11100,56 +11100,56 @@ public static class QPromiseTaskBuilderVoid8Arg0 extends } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid8Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg5 withArguments(A a, B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11176,7 +11176,7 @@ public QPromiseTaskBuilderVoid8Arg0 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid8Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a) { @@ -11188,49 +11188,49 @@ public static class QPromiseTaskBuilderVoid8Arg1 extends private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg5 withArguments(B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11257,7 +11257,7 @@ public QPromiseTaskBuilderVoid8Arg1 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b) { @@ -11271,42 +11271,42 @@ public static final class QPromiseTaskBuilderVoid8Arg2 e private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg5 withArguments(C c, D d, E e) { return new QPromiseTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11333,7 +11333,7 @@ public QPromiseTaskBuilderVoid8Arg2 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c) { @@ -11349,35 +11349,35 @@ public static final class QPromiseTaskBuilderVoid8Arg3 e private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg5 withArguments(D d, E e) { return new QPromiseTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(D d, E e, F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11404,7 +11404,7 @@ public QPromiseTaskBuilderVoid8Arg3 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, D d) { @@ -11422,28 +11422,28 @@ public static final class QPromiseTaskBuilderVoid8Arg4 e private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg5 withArguments(E e) { return new QPromiseTaskBuilderVoid8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(E e, F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(E e, F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11470,7 +11470,7 @@ public QPromiseTaskBuilderVoid8Arg4 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, D d, E e) { @@ -11490,21 +11490,21 @@ public static final class QPromiseTaskBuilderVoid8Arg5 e private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg6 withArguments(F f) { return new QPromiseTaskBuilderVoid8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(F f, G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(F f, G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11531,7 +11531,7 @@ public QPromiseTaskBuilderVoid8Arg5 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, D d, E e, F f) { @@ -11553,14 +11553,14 @@ public static final class QPromiseTaskBuilderVoid8Arg6 e private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg7 withArguments(G g) { return new QPromiseTaskBuilderVoid8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(G g, H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11587,7 +11587,7 @@ public QPromiseTaskBuilderVoid8Arg6 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -11611,7 +11611,7 @@ public static final class QPromiseTaskBuilderVoid8Arg7 e private final G g; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid8Arg8 withArguments(H h) { return new QPromiseTaskBuilderVoid8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -11638,7 +11638,7 @@ public QPromiseTaskBuilderVoid8Arg7 onThreadPool(@Strict /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid8Arg8 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid8Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -11694,7 +11694,7 @@ public QPromiseTaskBuilderVoid8Arg8 onThreadPool(@Strict } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QPromiseTaskBuilderVoid9Arg0 task(@StrictNonNull RunnableWithVoidPromise9 runnable) { return new QPromiseTaskBuilderVoid9Arg0<>(0, null, runnable); @@ -11702,7 +11702,7 @@ public static QPromiseTaskBuilderVoid9Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid9Arg0 extends QTaskBuilder<@QtPrimitiveType Void>{ private final RunnableWithVoidPromise9 runnable; @@ -11713,63 +11713,63 @@ public static class QPromiseTaskBuilderVoid9Arg0 exte } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg1 withArguments(A a) { return new QPromiseTaskBuilderVoid9Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg2 withArguments(A a, B b) { return new QPromiseTaskBuilderVoid9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg3 withArguments(A a, B b, C c) { return new QPromiseTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg4 withArguments(A a, B b, C c, D d) { return new QPromiseTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg5 withArguments(A a, B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(A a, B b, C c, D d, E e, F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -11796,7 +11796,7 @@ public QPromiseTaskBuilderVoid9Arg0 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static class QPromiseTaskBuilderVoid9Arg1 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a) { @@ -11808,56 +11808,56 @@ public static class QPromiseTaskBuilderVoid9Arg1 exte private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg2 withArguments(B b) { return new QPromiseTaskBuilderVoid9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg3 withArguments(B b, C c) { return new QPromiseTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg4 withArguments(B b, C c, D d) { return new QPromiseTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg5 withArguments(B b, C c, D d, E e) { return new QPromiseTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(B b, C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(B b, C c, D d, E e, F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -11884,7 +11884,7 @@ public QPromiseTaskBuilderVoid9Arg1 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg2 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b) { @@ -11898,49 +11898,49 @@ public static final class QPromiseTaskBuilderVoid9Arg2See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg3 withArguments(C c) { return new QPromiseTaskBuilderVoid9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg4 withArguments(C c, D d) { return new QPromiseTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg5 withArguments(C c, D d, E e) { return new QPromiseTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(C c, D d, E e, F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(C c, D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(C c, D d, E e, F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -11967,7 +11967,7 @@ public QPromiseTaskBuilderVoid9Arg2 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg3 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c) { @@ -11983,42 +11983,42 @@ public static final class QPromiseTaskBuilderVoid9Arg3See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg4 withArguments(D d) { return new QPromiseTaskBuilderVoid9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg5 withArguments(D d, E e) { return new QPromiseTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(D d, E e, F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(D d, E e, F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(D d, E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(D d, E e, F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12045,7 +12045,7 @@ public QPromiseTaskBuilderVoid9Arg3 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg4 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d) { @@ -12063,35 +12063,35 @@ public static final class QPromiseTaskBuilderVoid9Arg4See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg5 withArguments(E e) { return new QPromiseTaskBuilderVoid9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(E e, F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(E e, F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(E e, F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(E e, F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12118,7 +12118,7 @@ public QPromiseTaskBuilderVoid9Arg4 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg5 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d, E e) { @@ -12138,28 +12138,28 @@ public static final class QPromiseTaskBuilderVoid9Arg5See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg6 withArguments(F f) { return new QPromiseTaskBuilderVoid9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(F f, G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(F f, G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(F f, G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12186,7 +12186,7 @@ public QPromiseTaskBuilderVoid9Arg5 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg6 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d, E e, F f) { @@ -12208,21 +12208,21 @@ public static final class QPromiseTaskBuilderVoid9Arg6See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg7 withArguments(G g) { return new QPromiseTaskBuilderVoid9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(G g, H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(G g, H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12249,7 +12249,7 @@ public QPromiseTaskBuilderVoid9Arg6 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg7 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -12273,14 +12273,14 @@ public static final class QPromiseTaskBuilderVoid9Arg7See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg8 withArguments(H h) { return new QPromiseTaskBuilderVoid9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(H h, I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12307,7 +12307,7 @@ public QPromiseTaskBuilderVoid9Arg7 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg8 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -12333,7 +12333,7 @@ public static final class QPromiseTaskBuilderVoid9Arg8See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QPromiseTaskBuilderVoid9Arg9 withArguments(I i) { return new QPromiseTaskBuilderVoid9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -12360,7 +12360,7 @@ public QPromiseTaskBuilderVoid9Arg8 onThreadPool(@Str /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QPromiseTaskBuilderVoid9Arg9 extends QTaskBuilder<@QtPrimitiveType Void>{ QPromiseTaskBuilderVoid9Arg9(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithVoidPromise9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { @@ -12417,7 +12417,7 @@ public QPromiseTaskBuilderVoid9Arg9 onThreadPool(@Str } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder0Arg0 task(@StrictNonNull RunnableWithPromise callable) { return new QTypedPromiseTaskBuilder0Arg0<>(0, null, callable); @@ -12425,7 +12425,7 @@ public static QTypedPromiseTaskBuilder0Arg0 task(@StrictNonNull RunnableW /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder0Arg0 extends QTaskBuilder{ QTypedPromiseTaskBuilder0Arg0(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise runnable) { @@ -12464,7 +12464,7 @@ public QTypedPromiseTaskBuilder0Arg0 onThreadPool(@StrictNonNull QThreadPool } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder1Arg0 task(@StrictNonNull RunnableWithPromise1 runnable) { return new QTypedPromiseTaskBuilder1Arg0<>(0, null, runnable); @@ -12472,7 +12472,7 @@ public static QTypedPromiseTaskBuilder1Arg0 task(@StrictNonNull Run /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder1Arg0 extends QTaskBuilder{ private final RunnableWithPromise1 runnable; @@ -12483,7 +12483,7 @@ public static final class QTypedPromiseTaskBuilder1Arg0 extends QTaskBuild } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder1Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder1Arg1<>(priority(), threadPool(), runnable, a); @@ -12510,7 +12510,7 @@ public QTypedPromiseTaskBuilder1Arg0 onThreadPool(@StrictNonNull QThreadPo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder1Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder1Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise1 runnable, A a) { @@ -12552,7 +12552,7 @@ public QTypedPromiseTaskBuilder1Arg1 onThreadPool(@StrictNonNull QThreadPo } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder2Arg0 task(@StrictNonNull RunnableWithPromise2 runnable) { return new QTypedPromiseTaskBuilder2Arg0<>(0, null, runnable); @@ -12560,7 +12560,7 @@ public static QTypedPromiseTaskBuilder2Arg0 task(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder2Arg0 extends QTaskBuilder{ private final RunnableWithPromise2 runnable; @@ -12571,14 +12571,14 @@ public static final class QTypedPromiseTaskBuilder2Arg0 extends QTaskBu } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder2Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder2Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder2Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -12605,7 +12605,7 @@ public QTypedPromiseTaskBuilder2Arg0 onThreadPool(@StrictNonNull QThrea /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder2Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder2Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise2 runnable, A a) { @@ -12617,7 +12617,7 @@ public static final class QTypedPromiseTaskBuilder2Arg1 extends QTaskBu private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder2Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder2Arg2<>(priority(), threadPool(), runnable, a, b); @@ -12644,7 +12644,7 @@ public QTypedPromiseTaskBuilder2Arg1 onThreadPool(@StrictNonNull QThrea /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder2Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder2Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise2 runnable, A a, B b) { @@ -12688,7 +12688,7 @@ public QTypedPromiseTaskBuilder2Arg2 onThreadPool(@StrictNonNull QThrea } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder3Arg0 task(@StrictNonNull RunnableWithPromise3 runnable) { return new QTypedPromiseTaskBuilder3Arg0<>(0, null, runnable); @@ -12696,7 +12696,7 @@ public static QTypedPromiseTaskBuilder3Arg0 task(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder3Arg0 extends QTaskBuilder{ private final RunnableWithPromise3 runnable; @@ -12707,21 +12707,21 @@ public static final class QTypedPromiseTaskBuilder3Arg0 extends QTas } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder3Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -12748,7 +12748,7 @@ public QTypedPromiseTaskBuilder3Arg0 onThreadPool(@StrictNonNull QTh /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder3Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder3Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise3 runnable, A a) { @@ -12760,14 +12760,14 @@ public static final class QTypedPromiseTaskBuilder3Arg1 extends QTas private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder3Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -12794,7 +12794,7 @@ public QTypedPromiseTaskBuilder3Arg1 onThreadPool(@StrictNonNull QTh /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder3Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder3Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise3 runnable, A a, B b) { @@ -12808,7 +12808,7 @@ public static final class QTypedPromiseTaskBuilder3Arg2 extends QTas private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder3Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder3Arg3<>(priority(), threadPool(), runnable, a, b, c); @@ -12835,7 +12835,7 @@ public QTypedPromiseTaskBuilder3Arg2 onThreadPool(@StrictNonNull QTh /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder3Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder3Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise3 runnable, A a, B b, C c) { @@ -12881,7 +12881,7 @@ public QTypedPromiseTaskBuilder3Arg3 onThreadPool(@StrictNonNull QTh } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder4Arg0 task(@StrictNonNull RunnableWithPromise4 runnable) { return new QTypedPromiseTaskBuilder4Arg0<>(0, null, runnable); @@ -12889,7 +12889,7 @@ public static QTypedPromiseTaskBuilder4Arg0 task( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder4Arg0 extends QTaskBuilder{ private final RunnableWithPromise4 runnable; @@ -12900,28 +12900,28 @@ public static final class QTypedPromiseTaskBuilder4Arg0 extends Q } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder4Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -12948,7 +12948,7 @@ public QTypedPromiseTaskBuilder4Arg0 onThreadPool(@StrictNonNull /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder4Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder4Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise4 runnable, A a) { @@ -12960,21 +12960,21 @@ public static final class QTypedPromiseTaskBuilder4Arg1 extends Q private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder4Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -13001,7 +13001,7 @@ public QTypedPromiseTaskBuilder4Arg1 onThreadPool(@StrictNonNull /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder4Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder4Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise4 runnable, A a, B b) { @@ -13015,14 +13015,14 @@ public static final class QTypedPromiseTaskBuilder4Arg2 extends Q private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder4Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -13049,7 +13049,7 @@ public QTypedPromiseTaskBuilder4Arg2 onThreadPool(@StrictNonNull /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder4Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder4Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise4 runnable, A a, B b, C c) { @@ -13065,7 +13065,7 @@ public static final class QTypedPromiseTaskBuilder4Arg3 extends Q private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder4Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder4Arg4<>(priority(), threadPool(), runnable, a, b, c, d); @@ -13092,7 +13092,7 @@ public QTypedPromiseTaskBuilder4Arg3 onThreadPool(@StrictNonNull /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder4Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder4Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise4 runnable, A a, B b, C c, D d) { @@ -13140,7 +13140,7 @@ public QTypedPromiseTaskBuilder4Arg4 onThreadPool(@StrictNonNull } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder5Arg0 task(@StrictNonNull RunnableWithPromise5 runnable) { return new QTypedPromiseTaskBuilder5Arg0<>(0, null, runnable); @@ -13148,7 +13148,7 @@ public static QTypedPromiseTaskBuilder5Arg0 /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg0 extends QTaskBuilder{ private final RunnableWithPromise5 runnable; @@ -13159,35 +13159,35 @@ public static final class QTypedPromiseTaskBuilder5Arg0 extend } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder5Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -13214,7 +13214,7 @@ public QTypedPromiseTaskBuilder5Arg0 onThreadPool(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder5Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a) { @@ -13226,28 +13226,28 @@ public static final class QTypedPromiseTaskBuilder5Arg1 extend private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder5Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg5 withArguments(B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -13274,7 +13274,7 @@ public QTypedPromiseTaskBuilder5Arg1 onThreadPool(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder5Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a, B b) { @@ -13288,21 +13288,21 @@ public static final class QTypedPromiseTaskBuilder5Arg2 extend private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder5Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg5 withArguments(C c, D d, E e) { return new QTypedPromiseTaskBuilder5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -13329,7 +13329,7 @@ public QTypedPromiseTaskBuilder5Arg2 onThreadPool(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder5Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a, B b, C c) { @@ -13345,14 +13345,14 @@ public static final class QTypedPromiseTaskBuilder5Arg3 extend private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder5Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg5 withArguments(D d, E e) { return new QTypedPromiseTaskBuilder5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -13379,7 +13379,7 @@ public QTypedPromiseTaskBuilder5Arg3 onThreadPool(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder5Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a, B b, C c, D d) { @@ -13397,7 +13397,7 @@ public static final class QTypedPromiseTaskBuilder5Arg4 extend private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder5Arg5 withArguments(E e) { return new QTypedPromiseTaskBuilder5Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); @@ -13424,7 +13424,7 @@ public QTypedPromiseTaskBuilder5Arg4 onThreadPool(@StrictNonNu /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder5Arg5 extends QTaskBuilder{ QTypedPromiseTaskBuilder5Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise5 runnable, A a, B b, C c, D d, E e) { @@ -13474,7 +13474,7 @@ public QTypedPromiseTaskBuilder5Arg5 onThreadPool(@StrictNonNu } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder6Arg0 task(@StrictNonNull RunnableWithPromise6 runnable) { return new QTypedPromiseTaskBuilder6Arg0<>(0, null, runnable); @@ -13482,7 +13482,7 @@ public static QTypedPromiseTaskBuilder6Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg0 extends QTaskBuilder{ private final RunnableWithPromise6 runnable; @@ -13493,42 +13493,42 @@ public static final class QTypedPromiseTaskBuilder6Arg0 ext } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder6Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13555,7 +13555,7 @@ public QTypedPromiseTaskBuilder6Arg0 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a) { @@ -13567,35 +13567,35 @@ public static final class QTypedPromiseTaskBuilder6Arg1 ext private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder6Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg5 withArguments(B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13622,7 +13622,7 @@ public QTypedPromiseTaskBuilder6Arg1 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a, B b) { @@ -13636,28 +13636,28 @@ public static final class QTypedPromiseTaskBuilder6Arg2 ext private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder6Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg5 withArguments(C c, D d, E e) { return new QTypedPromiseTaskBuilder6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13684,7 +13684,7 @@ public QTypedPromiseTaskBuilder6Arg2 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a, B b, C c) { @@ -13700,21 +13700,21 @@ public static final class QTypedPromiseTaskBuilder6Arg3 ext private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder6Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg5 withArguments(D d, E e) { return new QTypedPromiseTaskBuilder6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(D d, E e, F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13741,7 +13741,7 @@ public QTypedPromiseTaskBuilder6Arg3 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a, B b, C c, D d) { @@ -13759,14 +13759,14 @@ public static final class QTypedPromiseTaskBuilder6Arg4 ext private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg5 withArguments(E e) { return new QTypedPromiseTaskBuilder6Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(E e, F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13793,7 +13793,7 @@ public QTypedPromiseTaskBuilder6Arg4 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg5 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a, B b, C c, D d, E e) { @@ -13813,7 +13813,7 @@ public static final class QTypedPromiseTaskBuilder6Arg5 ext private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder6Arg6 withArguments(F f) { return new QTypedPromiseTaskBuilder6Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); @@ -13840,7 +13840,7 @@ public QTypedPromiseTaskBuilder6Arg5 onThreadPool(@StrictNo /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder6Arg6 extends QTaskBuilder{ QTypedPromiseTaskBuilder6Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise6 runnable, A a, B b, C c, D d, E e, F f) { @@ -13892,7 +13892,7 @@ public QTypedPromiseTaskBuilder6Arg6 onThreadPool(@StrictNo } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder7Arg0 task(@StrictNonNull RunnableWithPromise7 runnable) { return new QTypedPromiseTaskBuilder7Arg0<>(0, null, runnable); @@ -13900,7 +13900,7 @@ public static QTypedPromiseTaskBuilder7Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg0 extends QTaskBuilder{ private final RunnableWithPromise7 runnable; @@ -13911,49 +13911,49 @@ public static final class QTypedPromiseTaskBuilder7Arg0 } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder7Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -13980,7 +13980,7 @@ public QTypedPromiseTaskBuilder7Arg0 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a) { @@ -13992,42 +13992,42 @@ public static final class QTypedPromiseTaskBuilder7Arg1 private final A a; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder7Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg5 withArguments(B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14054,7 +14054,7 @@ public QTypedPromiseTaskBuilder7Arg1 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b) { @@ -14068,35 +14068,35 @@ public static final class QTypedPromiseTaskBuilder7Arg2 private final B b; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder7Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg5 withArguments(C c, D d, E e) { return new QTypedPromiseTaskBuilder7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14123,7 +14123,7 @@ public QTypedPromiseTaskBuilder7Arg2 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c) { @@ -14139,28 +14139,28 @@ public static final class QTypedPromiseTaskBuilder7Arg3 private final C c; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder7Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg5 withArguments(D d, E e) { return new QTypedPromiseTaskBuilder7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(D d, E e, F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14187,7 +14187,7 @@ public QTypedPromiseTaskBuilder7Arg3 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c, D d) { @@ -14205,21 +14205,21 @@ public static final class QTypedPromiseTaskBuilder7Arg4 private final D d; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg5 withArguments(E e) { return new QTypedPromiseTaskBuilder7Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(E e, F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(E e, F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14246,7 +14246,7 @@ public QTypedPromiseTaskBuilder7Arg4 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg5 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c, D d, E e) { @@ -14266,14 +14266,14 @@ public static final class QTypedPromiseTaskBuilder7Arg5 private final E e; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg6 withArguments(F f) { return new QTypedPromiseTaskBuilder7Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(F f, G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14300,7 +14300,7 @@ public QTypedPromiseTaskBuilder7Arg5 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg6 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c, D d, E e, F f) { @@ -14322,7 +14322,7 @@ public static final class QTypedPromiseTaskBuilder7Arg6 private final F f; /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder7Arg7 withArguments(G g) { return new QTypedPromiseTaskBuilder7Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); @@ -14349,7 +14349,7 @@ public QTypedPromiseTaskBuilder7Arg6 onThreadPool(@Stric /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder7Arg7 extends QTaskBuilder{ QTypedPromiseTaskBuilder7Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise7 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -14403,7 +14403,7 @@ public QTypedPromiseTaskBuilder7Arg7 onThreadPool(@Stric } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder8Arg0 task(@StrictNonNull RunnableWithPromise8 runnable) { return new QTypedPromiseTaskBuilder8Arg0<>(0, null, runnable); @@ -14411,7 +14411,7 @@ public static QTypedPromiseTaskBuilder8Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg0 extends QTaskBuilder{ private final RunnableWithPromise8 runnable; @@ -14422,56 +14422,56 @@ public static final class QTypedPromiseTaskBuilder8Arg0See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder8Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14498,7 +14498,7 @@ public QTypedPromiseTaskBuilder8Arg0 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a) { @@ -14510,49 +14510,49 @@ public static final class QTypedPromiseTaskBuilder8Arg1See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder8Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg5 withArguments(B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14579,7 +14579,7 @@ public QTypedPromiseTaskBuilder8Arg1 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b) { @@ -14593,42 +14593,42 @@ public static final class QTypedPromiseTaskBuilder8Arg2See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder8Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg5 withArguments(C c, D d, E e) { return new QTypedPromiseTaskBuilder8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14655,7 +14655,7 @@ public QTypedPromiseTaskBuilder8Arg2 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c) { @@ -14671,35 +14671,35 @@ public static final class QTypedPromiseTaskBuilder8Arg3See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder8Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg5 withArguments(D d, E e) { return new QTypedPromiseTaskBuilder8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(D d, E e, F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14726,7 +14726,7 @@ public QTypedPromiseTaskBuilder8Arg3 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c, D d) { @@ -14744,28 +14744,28 @@ public static final class QTypedPromiseTaskBuilder8Arg4See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg5 withArguments(E e) { return new QTypedPromiseTaskBuilder8Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(E e, F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(E e, F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14792,7 +14792,7 @@ public QTypedPromiseTaskBuilder8Arg4 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg5 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c, D d, E e) { @@ -14812,21 +14812,21 @@ public static final class QTypedPromiseTaskBuilder8Arg5See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg6 withArguments(F f) { return new QTypedPromiseTaskBuilder8Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(F f, G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(F f, G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14853,7 +14853,7 @@ public QTypedPromiseTaskBuilder8Arg5 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg6 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c, D d, E e, F f) { @@ -14875,14 +14875,14 @@ public static final class QTypedPromiseTaskBuilder8Arg6See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg7 withArguments(G g) { return new QTypedPromiseTaskBuilder8Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(G g, H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14909,7 +14909,7 @@ public QTypedPromiseTaskBuilder8Arg6 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg7 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -14933,7 +14933,7 @@ public static final class QTypedPromiseTaskBuilder8Arg7See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder8Arg8 withArguments(H h) { return new QTypedPromiseTaskBuilder8Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); @@ -14960,7 +14960,7 @@ public QTypedPromiseTaskBuilder8Arg7 onThreadPool(@St /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder8Arg8 extends QTaskBuilder{ QTypedPromiseTaskBuilder8Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise8 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -15016,7 +15016,7 @@ public QTypedPromiseTaskBuilder8Arg8 onThreadPool(@St } /** - *

See QtConcurrent::task(Task&&)

+ *

See QtConcurrent::task(Task&&)

*/ public static QTypedPromiseTaskBuilder9Arg0 task(@StrictNonNull RunnableWithPromise9 runnable) { return new QTypedPromiseTaskBuilder9Arg0<>(0, null, runnable); @@ -15024,7 +15024,7 @@ public static QTypedPromiseTaskBuilder9Arg0Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg0 extends QTaskBuilder{ private final RunnableWithPromise9 runnable; @@ -15035,63 +15035,63 @@ public static final class QTypedPromiseTaskBuilder9Arg0See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg1 withArguments(A a) { return new QTypedPromiseTaskBuilder9Arg1<>(priority(), threadPool(), runnable, a); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg2 withArguments(A a, B b) { return new QTypedPromiseTaskBuilder9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg3 withArguments(A a, B b, C c) { return new QTypedPromiseTaskBuilder9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg4 withArguments(A a, B b, C c, D d) { return new QTypedPromiseTaskBuilder9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg5 withArguments(A a, B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(A a, B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(A a, B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(A a, B b, C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(A a, B b, C c, D d, E e, F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15118,7 +15118,7 @@ public QTypedPromiseTaskBuilder9Arg0 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg1 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg1(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a) { @@ -15130,56 +15130,56 @@ public static final class QTypedPromiseTaskBuilder9Arg1See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg2 withArguments(B b) { return new QTypedPromiseTaskBuilder9Arg2<>(priority(), threadPool(), runnable, a, b); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg3 withArguments(B b, C c) { return new QTypedPromiseTaskBuilder9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg4 withArguments(B b, C c, D d) { return new QTypedPromiseTaskBuilder9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg5 withArguments(B b, C c, D d, E e) { return new QTypedPromiseTaskBuilder9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(B b, C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(B b, C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(B b, C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(B b, C c, D d, E e, F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15206,7 +15206,7 @@ public QTypedPromiseTaskBuilder9Arg1 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg2 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg2(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b) { @@ -15220,49 +15220,49 @@ public static final class QTypedPromiseTaskBuilder9Arg2See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg3 withArguments(C c) { return new QTypedPromiseTaskBuilder9Arg3<>(priority(), threadPool(), runnable, a, b, c); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg4 withArguments(C c, D d) { return new QTypedPromiseTaskBuilder9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg5 withArguments(C c, D d, E e) { return new QTypedPromiseTaskBuilder9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(C c, D d, E e, F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(C c, D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(C c, D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(C c, D d, E e, F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15289,7 +15289,7 @@ public QTypedPromiseTaskBuilder9Arg2 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg3 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg3(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c) { @@ -15305,42 +15305,42 @@ public static final class QTypedPromiseTaskBuilder9Arg3See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg4 withArguments(D d) { return new QTypedPromiseTaskBuilder9Arg4<>(priority(), threadPool(), runnable, a, b, c, d); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg5 withArguments(D d, E e) { return new QTypedPromiseTaskBuilder9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(D d, E e, F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(D d, E e, F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(D d, E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(D d, E e, F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15367,7 +15367,7 @@ public QTypedPromiseTaskBuilder9Arg3 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg4 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg4(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d) { @@ -15385,35 +15385,35 @@ public static final class QTypedPromiseTaskBuilder9Arg4See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg5 withArguments(E e) { return new QTypedPromiseTaskBuilder9Arg5<>(priority(), threadPool(), runnable, a, b, c, d, e); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(E e, F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(E e, F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(E e, F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(E e, F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15440,7 +15440,7 @@ public QTypedPromiseTaskBuilder9Arg4 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg5 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg5(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d, E e) { @@ -15460,28 +15460,28 @@ public static final class QTypedPromiseTaskBuilder9Arg5See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg6 withArguments(F f) { return new QTypedPromiseTaskBuilder9Arg6<>(priority(), threadPool(), runnable, a, b, c, d, e, f); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(F f, G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(F f, G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(F f, G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15508,7 +15508,7 @@ public QTypedPromiseTaskBuilder9Arg5 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg6 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg6(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d, E e, F f) { @@ -15530,21 +15530,21 @@ public static final class QTypedPromiseTaskBuilder9Arg6See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg7 withArguments(G g) { return new QTypedPromiseTaskBuilder9Arg7<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(G g, H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(G g, H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15571,7 +15571,7 @@ public QTypedPromiseTaskBuilder9Arg6 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg7 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg7(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d, E e, F f, G g) { @@ -15595,14 +15595,14 @@ public static final class QTypedPromiseTaskBuilder9Arg7See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg8 withArguments(H h) { return new QTypedPromiseTaskBuilder9Arg8<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h); } /** - *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(H h, I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15629,7 +15629,7 @@ public QTypedPromiseTaskBuilder9Arg7 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg8 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg8(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d, E e, F f, G g, H h) { @@ -15655,7 +15655,7 @@ public static final class QTypedPromiseTaskBuilder9Arg8See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

+ *

See QtConcurrent::QTaskBuilder::withArguments(ExtraArgs &&...)

*/ public QTypedPromiseTaskBuilder9Arg9 withArguments(I i) { return new QTypedPromiseTaskBuilder9Arg9<>(priority(), threadPool(), runnable, a, b, c, d, e, f, g, h, i); @@ -15682,7 +15682,7 @@ public QTypedPromiseTaskBuilder9Arg8 onThreadPool( /** * The QTaskBuilder class is used for adjusting task parameters. - *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

+ *

Java wrapper for Qt's class QtConcurrent::QTaskBuilder

*/ public static final class QTypedPromiseTaskBuilder9Arg9 extends QTaskBuilder{ QTypedPromiseTaskBuilder9Arg9(int newPriority, QThreadPool threadPool, @StrictNonNull RunnableWithPromise9 runnable, A a, B b, C c, D d, E e, F f, G g, H h, I i) { diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiCore.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiCore.java index 1a9620a6..02b0da48 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiCore.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiCore.java @@ -74,7 +74,7 @@ private static String classToScope(Class cls) { * * @param source the source text to translate. * @return translated version of the source text. - * @see QObject::tr(const char *, const char *, int) + * @see QObject::tr(const char *, const char *, int) */ public static @NonNull String tr(@Nullable String source) { String scope = classToScope(QtJambi_LibraryUtilities.internal.callerClassProvider().get()); @@ -90,7 +90,7 @@ private static String classToScope(Class cls) { * @param source the source text to translate. * @param comment helps the translator translate the source text. * @return translated version of the source text. - * @see QObject::tr(const char *, const char *, int) + * @see QObject::tr(const char *, const char *, int) */ public static @NonNull String tr(@Nullable String source, @Nullable String comment) { String scope = classToScope(QtJambi_LibraryUtilities.internal.callerClassProvider().get()); @@ -108,7 +108,7 @@ private static String classToScope(Class cls) { * @param comment helps the translator translate the source text. * @param count in source %n will be substituted by count. * @return translated version of the source text. - * @see QObject::tr(const char *, const char *, int) + * @see QObject::tr(const char *, const char *, int) */ public static @NonNull String tr(@Nullable String source, @Nullable String comment, int count) { String scope = classToScope(QtJambi_LibraryUtilities.internal.callerClassProvider().get()); @@ -347,29 +347,16 @@ public final class Signal9 extends QMetaObject.Abstra * * @param The type of the first parameter of the signal. */ - public final class Signal1Default1 extends QMetaObject.AbstractPublicSignal1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + public final class Signal1Default1 extends QMetaObject.AbstractSignal1Default1{ @SuppressWarnings("unused") private Signal1Default1() { - this.arg1Default = null; } public Signal1Default1(@StrictNonNull Supplier arg1Default){ - super(); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + super(arg1Default); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - + /** * Returns the object containing this signal. * @return the signal containing object @@ -417,38 +404,25 @@ public Signal2Default1(@StrictNonNull Supplier arg2Default) { * @param The type of the first parameter of the signal. * @param The type of the second parameter of the signal. */ - public final class Signal2Default2 extends QMetaObject.AbstractSignal2Default1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal2Default2() { - this.arg1Default = null; - } - - public Signal2Default2(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ - super(arg2Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal2Default2 extends QMetaObject.AbstractSignal2Default2{ + + @SuppressWarnings("unused") + private Signal2Default2() { + } + + public Signal2Default2(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ + super(arg1Default, arg2Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -517,38 +491,25 @@ public Signal3Default2(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the second parameter of the signal. * @param The type of the third parameter of the signal. */ - public final class Signal3Default3 extends QMetaObject.AbstractSignal3Default2 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal3Default3() { - this.arg1Default = null; - } - - public Signal3Default3(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ - super(arg2Default, arg3Default); - if(arg2Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal3Default3 extends QMetaObject.AbstractSignal3Default3{ + + @SuppressWarnings("unused") + private Signal3Default3() { + } + + public Signal3Default3(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ + super(arg1Default, arg2Default, arg3Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -646,39 +607,26 @@ public Signal4Default3(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the third parameter of the signal. * @param The type of the fourth parameter of the signal. */ - public final class Signal4Default4 extends QMetaObject.AbstractSignal4Default3 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal4Default4() { - this.arg1Default = null; - } - - public Signal4Default4(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, - Supplier arg3Default, @StrictNonNull Supplier arg4Default){ - super(arg2Default, arg3Default, arg4Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal4Default4 extends QMetaObject.AbstractSignal4Default4{ + + @SuppressWarnings("unused") + private Signal4Default4() { + } + + public Signal4Default4(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, + Supplier arg3Default, @StrictNonNull Supplier arg4Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -815,38 +763,25 @@ public Signal5Default4(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the fourth parameter of the signal. * @param The type of the fifth parameter of the signal. */ - public final class Signal5Default5 extends QMetaObject.AbstractSignal5Default4 implements QMetaObject.Emitable0, QMetaObject.Connectable0{ - - @SuppressWarnings("unused") - private Signal5Default5() { - this.arg1Default = null; - } - - public Signal5Default5(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal5Default5 extends QMetaObject.AbstractSignal5Default5{ + + @SuppressWarnings("unused") + private Signal5Default5() { + } + + public Signal5Default5(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -1020,37 +955,25 @@ public Signal6Default5(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the fifth parameter of the signal. * @param The type of the sixth parameter of the signal. */ - public final class Signal6Default6 extends QMetaObject.AbstractSignal6Default5 implements QMetaObject.Emitable0, QMetaObject.Connectable0{ - - @SuppressWarnings("unused") - private Signal6Default6() { - this.arg1Default = null; - } - - public Signal6Default6(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal6Default6 extends QMetaObject.AbstractSignal6Default6{ + + @SuppressWarnings("unused") + private Signal6Default6() { + } + + public Signal6Default6(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -1263,37 +1186,25 @@ public Signal7Default6(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the sixth parameter of the signal. * @param The type of the seventh parameter of the signal. */ - public final class Signal7Default7 extends QMetaObject.AbstractSignal7Default6 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal7Default7() { - this.arg1Default = null; - } - - public Signal7Default7(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(2); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal7Default7 extends QMetaObject.AbstractSignal7Default7{ + + @SuppressWarnings("unused") + private Signal7Default7() { + } + + public Signal7Default7(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -1547,37 +1458,25 @@ public Signal8Default7(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the seventh parameter of the signal. * @param The type of the eighth parameter of the signal. */ - public final class Signal8Default8 extends QMetaObject.AbstractSignal8Default7 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal8Default8() { - this.arg1Default = null; - } - - public Signal8Default8(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal8Default8 extends QMetaObject.AbstractSignal8Default8{ + + @SuppressWarnings("unused") + private Signal8Default8() { + } + + public Signal8Default8(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -1874,37 +1773,24 @@ public Signal9Default8(@StrictNonNull Supplier arg2Default, @Strict * @param The type of the eighth parameter of the signal. * @param The type of the ninth parameter of the signal. */ - public final class Signal9Default9 extends QMetaObject.AbstractSignal9Default8 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - @SuppressWarnings("unused") - private Signal9Default9() { - this.arg1Default = null; - } - - public Signal9Default9(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } - } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } - - /** - * Returns the object containing this signal. - * @return the signal containing object - */ - @Override - public final @NonNull QObject containingObject() { - return QObject.this; - } - } + public final class Signal9Default9 extends QMetaObject.AbstractSignal9Default9{ + @SuppressWarnings("unused") + private Signal9Default9() { + } + + public Signal9Default9(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); + } + + /** + * Returns the object containing this signal. + * @return the signal containing object + */ + @Override + public final @NonNull QObject containingObject() { + return QObject.this; + } + } /** * Declare and instantiate a field of this class in your @@ -2598,7 +2484,7 @@ public final boolean disconnectAll() { * connection has not been previously established by a call to connect. * @throws QNoSuchSlotException Raised if the method passed in the slot object was not found */ - public final boolean disconnect(Object receiver, String method) { + public final boolean disconnect(@Nullable Object receiver, @Nullable String method) { if (method != null && receiver == null) throw new IllegalArgumentException("Receiver cannot be null if you specify a method"); return super.disconnect(receiver, method); @@ -2611,7 +2497,6 @@ public final boolean disconnect(Object receiver, String method) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull Slot0 slot, Qt.@NonNull ConnectionType @NonNull... connectionType) throws QNoSuchSignalException{ return super.connect(slot, connectionType); @@ -2700,9 +2585,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal0 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal0 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2714,9 +2598,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2729,9 +2612,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2743,9 +2625,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2758,9 +2639,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2774,9 +2654,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2788,9 +2667,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2803,9 +2681,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2819,9 +2696,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2836,9 +2712,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2850,9 +2725,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2865,9 +2739,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2881,9 +2754,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2898,9 +2770,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2916,9 +2787,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2930,9 +2800,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2945,9 +2814,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2961,9 +2829,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2978,9 +2845,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -2996,9 +2862,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3015,9 +2880,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3029,9 +2893,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3044,9 +2907,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3060,9 +2922,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3077,9 +2938,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3095,9 +2955,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3114,9 +2973,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3134,9 +2992,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3148,9 +3005,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3163,9 +3019,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3179,9 +3034,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3196,9 +3050,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3214,9 +3067,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3233,9 +3085,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3253,9 +3104,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3274,9 +3124,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3288,9 +3137,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3303,9 +3151,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3319,9 +3166,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3336,9 +3182,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3354,9 +3199,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3373,9 +3217,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3393,9 +3236,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3414,9 +3256,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3436,9 +3277,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3450,9 +3290,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3465,9 +3304,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3481,9 +3319,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3498,9 +3335,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3516,9 +3352,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3535,9 +3370,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3555,9 +3389,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3576,9 +3409,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3598,9 +3430,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -3621,9 +3452,8 @@ private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot9 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.@StrictNonNull Slot9 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(slot, connectionType); } @@ -4406,7 +4236,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal0 signal, QMetaObject.Connectable0 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal0 signal, QMetaObject.Connectable0 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4431,7 +4261,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull AbstractPrivateSigna * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.Connectable1 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal, QMetaObject.Connectable1 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4458,7 +4288,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull AbstractPrivateS * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.Connectable2 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal, QMetaObject.Connectable2 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4487,7 +4317,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull AbstractPrivat * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.Connectable3 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal, QMetaObject.Connectable3 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4518,7 +4348,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull AbstractPriv * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.Connectable4 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal, QMetaObject.Connectable4 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4551,7 +4381,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull AbstractPr * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.Connectable5 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal, QMetaObject.Connectable5 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4586,7 +4416,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull Abstract * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.Connectable6 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal, QMetaObject.Connectable6 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4623,7 +4453,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull Abstra * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.Connectable7 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal, QMetaObject.Connectable7 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4662,7 +4492,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull Abst * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.Connectable8 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal, QMetaObject.Connectable8 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4703,7 +4533,7 @@ public static boolean disconnect(QMetaObject.@StrictNonNull Ab * @return connection if successful or null otherwise * @throws QMisfittingSignatureException Raised if their signatures are incompatible. */ - public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.Connectable9 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal, QMetaObject.Connectable9 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connect(connectSignal, connectionType); } @@ -4734,11 +4564,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot0 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4750,11 +4578,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot1 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4767,11 +4593,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot2 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4785,11 +4609,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot3 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4804,11 +4626,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot4 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4824,11 +4644,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot5 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4845,11 +4663,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot6 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4867,11 +4683,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot7 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4890,11 +4704,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot8 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4914,11 +4726,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param slot the slot to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QUninvokableSlotException Raised if slot is annotated @QtUninvokable. * @throws QMisfittingSignatureException Raised if slot does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot9 slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Slot9 slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSlot(slot, connectionType); } @@ -4929,10 +4739,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. + * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable0 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable0 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -4944,10 +4753,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable1 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable1 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -4960,10 +4768,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable2 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable2 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -4977,10 +4784,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable3 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable3 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -4995,10 +4801,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable4 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable4 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5014,10 +4819,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable5 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable5 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5034,10 +4838,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable6 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable6 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5055,10 +4858,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable7 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable7 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5077,10 +4879,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable8 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable8 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5100,10 +4901,9 @@ public static boolean disconnect(QMetaObject.@StrictNonNull * @param connectSignal the signal to be connected * @param connectionType type of connection * @return connection if successful or null otherwise - * @throws QMisfittingSignatureException Raised if their signatures are incompatible. * @throws QMisfittingSignatureException Raised if connectSignal does not match to any of the signatures. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable9 connectSignal, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull MultiSignal signal, QMetaObject.@StrictNonNull Connectable9 connectSignal, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { return signal.connectSignal((QMetaObject.AbstractSignal)connectSignal, connectionType); } @@ -5509,8 +5309,9 @@ public static boolean disconnect(@StrictNonNull MultiSignal * @see #disconnect() * @see #sender() * @see QMetaType#qRegisterMetaType(Class, QMetaType...) + * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull QObject sender, @StrictNonNull String signal, @StrictNonNull QObject receiver, @StrictNonNull String slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull QObject sender, @StrictNonNull String signal, @StrictNonNull QObject receiver, @StrictNonNull String slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { if(signal.isEmpty()) throw new IllegalArgumentException("Empty string not allowed as signal."); if(slot.isEmpty()) @@ -5540,12 +5341,12 @@ public static boolean disconnect(@StrictNonNull MultiSignal * You can check {@link QMetaObject.Connection#isConnected()} on the returned connection object.

* *

This function works in the same way as - * {@link #connect(QObject, String, QObject, String, Qt.ConnectionType...)} + * {@link #connect(QObject, String, QObject, String, Qt.@StrictNonNull ConnectionType @StrictNonNull...)} * but it uses QMetaMethod to specify signal and method.

* - * @see #connect(QObject, String, QObject, String, Qt.ConnectionType...) + * @see #connect(QObject, String, QObject, String, Qt.@StrictNonNull ConnectionType @StrictNonNull...) */ - public static QMetaObject.@NonNull Connection connect(@StrictNonNull QObject sender, @StrictNonNull QMetaMethod signal, QObject receiver, @StrictNonNull QMetaMethod slot, Qt.ConnectionType... connectionType) { + public static QMetaObject.@NonNull Connection connect(@StrictNonNull QObject sender, @StrictNonNull QMetaMethod signal, QObject receiver, @StrictNonNull QMetaMethod slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) { java.util.Objects.requireNonNull(signal); java.util.Objects.requireNonNull(slot); byte flags = 0; @@ -5744,6 +5545,7 @@ public final boolean inherits(@StrictNonNull Class targetType){ } /** + * Returns the number of receivers connected to the signal. * @see #receivers(String) */ @QtUninvokable @@ -5756,7 +5558,7 @@ protected final int receivers(QMetaObject.@StrictNonNull AbstractSignal signalOb } /** - *

See qobject_cast<T>(QObject *)

+ *

See qobject_cast<T>(QObject *)

*/ @QtUninvokable public static T qobject_cast(@StrictNonNull Class targetType, @Nullable QObject object) { @@ -6068,7 +5870,7 @@ void initialize(QProperty property) { /** *

The QProperty class enables automatic property bindings. - * The Java type QProperty corresponds to the C++ type QObjectBindableProperty.

+ * The Java type QProperty corresponds to the C++ type QObjectBindableProperty.

*

It is only allowed to use QProperty as final-declared member variable of a QObject subtype.

*

Example:

* @@ -6144,7 +5946,7 @@ void initialize(QProperty property) { *
  • {@link QDoubleProperty}
  • *
  • {@link QCharProperty}
  • * - *

    See QObjectBindableProperty

    + *

    See QObjectBindableProperty

    */ public final class QProperty extends QPropertyData { @@ -6195,7 +5997,7 @@ public QProperty(QtUtilities.@StrictNonNull Supplier functor) { /** * Returns the value of the property. This may evaluate a binding expression that is tied to this property, before returning the value. - *

    See QObjectBindableProperty::value()const

    + *

    See QObjectBindableProperty::value()const

    * @return value */ @QtUninvokable @@ -6206,7 +6008,7 @@ public final T value() /** *

    Assigns newValue to this property and removes the property's associated binding, if present.

    - *

    See QObjectBindableProperty::setValue(T)

    + *

    See QObjectBindableProperty::setValue(T)

    * @param newValue */ @SuppressWarnings("unchecked") @@ -6388,7 +6190,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -6689,7 +6491,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -6985,7 +6787,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -7283,7 +7085,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -7579,7 +7381,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -7875,7 +7677,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -8171,7 +7973,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -8467,7 +8269,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -8763,7 +8565,7 @@ private void notifyProperty(QPropertyBindingData binding){ /** * Programmatically signals a change of the property. Any binding which depend on it will be notified, and if the property has a signal, it will be emitted. - *

    See QObjectBindableProperty::notify()

    + *

    See QObjectBindableProperty::notify()

    */ @QtUninvokable public final void notifyProperty() { @@ -9438,14 +9240,46 @@ public interface FormattingOption extends QtFlagEnumerator{ public final static @NonNull FormattingOption FullyEncoded = ComponentFormattingOption.FullyEncoded; public final static @NonNull FormattingOption FullyDecoded = ComponentFormattingOption.FullyDecoded; + /** + * Creates a new {@link FormattingOptions} from the entries. + * @param values entries + * @return new flag + */ public static @NonNull FormattingOptions flags(@NonNull FormattingOption @NonNull... values) { return new FormattingOptions(values); } + /** + * Create a QFlags of the enum entry. + * @return QFlags + */ public default @NonNull QFlags asFlags() { return new FormattingOptions(value()); } + + /** + * Combines this entry with other enum entry. + * @param e enum entry + * @return new flag + */ + public default @NonNull FormattingOptions combined(@NonNull FormattingOption e) { + return new FormattingOptions(value()).setFlag(e, true); + } + + /** + * Excludes other enum entry from a flag of this entry. + * @param e enum entry + * @return new flag + */ + public default @NonNull FormattingOptions cleared(@NonNull FormattingOption e) { + return new FormattingOptions(value()).setFlag(e, false); + } + /** + * Returns the corresponding enum entry for the given value. + * @param value + * @return enum entry + */ public static @NonNull FormattingOption resolve(int value) { try { return UrlFormattingOption.resolve(value); @@ -9467,10 +9301,10 @@ public interface FormattingOption extends QtFlagEnumerator{ /** * QFlags type for joining {@link UrlFormattingOption} and {@link ComponentFormattingOption}. */ - public static final class FormattingOptions extends QFlags implements Comparable { + public static final class FormattingOptions extends QFlags<@NonNull FormattingOption> implements Comparable<@NonNull FormattingOptions> { private static final long serialVersionUID = -4458464052834800982L; - public FormattingOptions(@NonNull FormattingOption @NonNull... args) { + public FormattingOptions(@Nullable FormattingOption @NonNull... args) { super(args); for (FormattingOption arg : args) { if( !(arg instanceof UrlFormattingOption) @@ -9490,12 +9324,47 @@ public FormattingOptions(int value) { } @Override - public @NonNull FormattingOptions combined(FormattingOption flag) { + public @NonNull FormattingOptions combined(@StrictNonNull FormattingOption flag) { if( !(flag instanceof UrlFormattingOption) && !(flag instanceof ComponentFormattingOption) ) { throw new IllegalArgumentException("Custom implementations of FormattingOption (" + QtJambi_LibraryUtilities.internal.getClass(flag).getName() + ") are not allowed."); } - return new FormattingOptions(value() | flag.value()); + return clone().setFlag(flag, true); + } + + @Override + public @NonNull FormattingOptions cleared(@StrictNonNull FormattingOption flag) { + if( !(flag instanceof UrlFormattingOption) + && !(flag instanceof ComponentFormattingOption) ) { + throw new IllegalArgumentException("Custom implementations of FormattingOption (" + QtJambi_LibraryUtilities.internal.getClass(flag).getName() + ") are not allowed."); + } + return clone().setFlag(flag, false); + } + + /** + * Sets the flag e + * @param e enum entry + * @return this + */ + public final @NonNull FormattingOptions setFlag(@Nullable FormattingOption e){ + return setFlag(e, true); + } + + /** + * Sets or clears the flag flag + * @param e enum entry + * @param on set (true) or clear (false) + * @return this + */ + public final @NonNull FormattingOptions setFlag(@Nullable FormattingOption e, boolean on){ + if(e!=null){ + if (on) { + setValue(value() | e.value()); + }else { + setValue(value() & ~e.value()); + } + } + return this; } @Override @@ -9504,13 +9373,13 @@ public FormattingOptions(int value) { } @Override - public int compareTo(FormattingOptions o) { + public int compareTo(@StrictNonNull FormattingOptions o) { return Integer.compare(value(), o.value()); } } /** - *

    See QUrl::toDisplayString(QUrl::FormattingOptions)const

    + *

    See QUrl::toDisplayString(QUrl::FormattingOptions)const

    */ @QtUninvokable public final java.lang.@NonNull String toDisplayString(@NonNull FormattingOption @NonNull... options) { @@ -9518,7 +9387,7 @@ public int compareTo(FormattingOptions o) { } /** - *

    See QUrl::toString(QUrl::FormattingOptions)const

    + *

    See QUrl::toString(QUrl::FormattingOptions)const

    */ @QtUninvokable public final java.lang.@NonNull String toString(@NonNull FormattingOption @NonNull... options) { @@ -9526,7 +9395,7 @@ public int compareTo(FormattingOptions o) { } /** - *

    See QUrl::url(QUrl::FormattingOptions)const

    + *

    See QUrl::url(QUrl::FormattingOptions)const

    */ @QtUninvokable public final java.lang.@NonNull String url(@NonNull FormattingOption @NonNull... options) { @@ -9534,7 +9403,7 @@ public int compareTo(FormattingOptions o) { } /** - *

    See QUrl::toEncoded(QUrl::FormattingOptions)const

    + *

    See QUrl::toEncoded(QUrl::FormattingOptions)const

    */ @QtUninvokable public final io.qt.core.@NonNull QByteArray toEncoded(@NonNull FormattingOption @NonNull... options) { @@ -9542,14 +9411,14 @@ public int compareTo(FormattingOptions o) { } /** - *

    See QUrl::toStringList(QList<QUrl>,QUrl::FormattingOptions)

    + *

    See QUrl::toStringList(QList<QUrl>,QUrl::FormattingOptions)

    */ public static @NonNull QStringList toStringList(java.util.Collection uris, @NonNull FormattingOption @NonNull... options){ return toStringList(uris, new FormattingOptions(options)); } /** - *

    See QUrl::adjusted(QUrl::FormattingOptions)const

    + *

    See QUrl::adjusted(QUrl::FormattingOptions)const

    */ @QtUninvokable public final io.qt.core.@NonNull QUrl adjusted(io.qt.core.QUrl.@NonNull FormattingOption @NonNull... options){ @@ -9568,7 +9437,7 @@ public int compareTo(FormattingOptions o) { abstract class QAbstractItemModel___ extends QAbstractItemModel { /** - *

    See QAbstractItemModel::setData(QModelIndex,QVariant,int)

    + *

    See QAbstractItemModel::setData(QModelIndex,QVariant,int)

    */ @QtUninvokable public final boolean setData(int row, int col, @Nullable Object value) { @@ -9576,7 +9445,7 @@ public final boolean setData(int row, int col, @Nullable Object value) { } /** - *

    See QAbstractItemModel::setData(QModelIndex,QVariant,int)

    + *

    See QAbstractItemModel::setData(QModelIndex,QVariant,int)

    */ @QtUninvokable public final boolean setData(int row, int col, @Nullable Object value, int role) { @@ -9584,7 +9453,7 @@ public final boolean setData(int row, int col, @Nullable Object value, int role) } /** - *

    See QAbstractItemModel::data(QModelIndex,int)const

    + *

    See QAbstractItemModel::data(QModelIndex,int)const

    */ @QtUninvokable public final @Nullable Object data(int row, int col) { @@ -9592,7 +9461,7 @@ public final boolean setData(int row, int col, @Nullable Object value, int role) } /** - *

    See QAbstractItemModel::data(QModelIndex,int)

    + *

    See QAbstractItemModel::data(QModelIndex,int)

    */ @QtUninvokable public final @Nullable Object data(int row, int col, int role) { @@ -9600,7 +9469,7 @@ public final boolean setData(int row, int col, @Nullable Object value, int role) } /** - *

    See QAbstractItemModel::createIndex(int,int,quintptr)

    + *

    See QAbstractItemModel::createIndex(int,int,quintptr)

    */ @QtUninvokable protected final io.qt.core.QModelIndex createIndex(int row, int column){ @@ -9679,7 +9548,7 @@ protected void timerEvent(QTimerEvent e) { * time interval is msec milliseconds. * * @see #start() - * @see QTimer::singleShot(int,const QObject*,const char *) + * @see QTimer::singleShot(int,const QObject*,const char *) */ public static void singleShot(int msec, @Nullable QObject obj, @NonNull String method) { singleShot(msec, defaultTypeFor(msec), obj, method); @@ -9699,7 +9568,7 @@ public static void singleShot(int msec, @Nullable QObject obj, @NonNull String m * * @see #start() * @since 5.4 - * @see QTimer::singleShot(int,const QObject*,Functor) + * @see QTimer::singleShot(int,const QObject*,Functor) */ public static void singleShot(int msec, @Nullable QObject context, QMetaObject.@NonNull Slot0 slot) { singleShot(msec, defaultTypeFor(msec), context, slot); @@ -9716,7 +9585,7 @@ public static void singleShot(int msec, @Nullable QObject context, QMetaObject.@ * accuracy of the timer. * * @see #start() - * @see QTimer::singleShot(int,Qt::TimerType,const QObject*,const char *) + * @see QTimer::singleShot(int,Qt::TimerType,const QObject*,const char *) */ public static void singleShot(int msec, Qt.@NonNull TimerType timeType, @Nullable QObject obj, @NonNull String method) { new QSingleShotTimer(msec, timeType, obj, method); @@ -9733,7 +9602,7 @@ public static void singleShot(int msec, Qt.@NonNull TimerType timeType, @Nullabl * * @see #start() * @since 5.4 - * @see QTimer::singleShot(int,Qt::TimerType,PointerToMemberFunction) + * @see QTimer::singleShot(int,Qt::TimerType,PointerToMemberFunction) */ public static void singleShot(int msec, QMetaObject.@NonNull Slot0 slot) { singleShot(msec, defaultTypeFor(msec), null, slot); @@ -9751,7 +9620,7 @@ public static void singleShot(int msec, QMetaObject.@NonNull Slot0 slot) { * * @see #start() * @since 5.4 - * @see QTimer::singleShot(int,Qt::TimerType,PointerToMemberFunction) + * @see QTimer::singleShot(int,Qt::TimerType,PointerToMemberFunction) */ public static void singleShot(int msec, Qt.@NonNull TimerType timeType, QMetaObject.@NonNull Slot0 slot) { singleShot(msec, timeType, null, slot); @@ -9773,7 +9642,7 @@ public static void singleShot(int msec, Qt.@NonNull TimerType timeType, QMetaObj * * @see #start() * @since 5.4 - * @see QTimer::singleShot(int,Qt::TimerType,const QObject*,Functor) + * @see QTimer::singleShot(int,Qt::TimerType,const QObject*,Functor) */ public static void singleShot(int msec, Qt.@NonNull TimerType timeType, @Nullable QObject context, QMetaObject.@NonNull Slot0 slot) { new QSingleShotTimer(msec, timeType, context, slot); @@ -9784,21 +9653,21 @@ private static Qt.TimerType defaultTypeFor(int msecs){ } /** - *

    See QObject::callOnTimeout(Args&&...)

    + *

    See QObject::callOnTimeout(Args&&...)

    */ public final QMetaObject.@NonNull Connection callOnTimeout(QMetaObject.@NonNull Slot0 slot, Qt.@NonNull ConnectionType @NonNull... type){ return timeout.connect(slot, type); } /** - *

    See QObject::callOnTimeout(Args&&...)

    + *

    See QObject::callOnTimeout(Args&&...)

    */ public final QMetaObject.@NonNull Connection callOnTimeout(QMetaObject.@NonNull Connectable0 connectable, Qt.@NonNull ConnectionType @NonNull... type){ return timeout.connect(connectable, type); } /** - *

    See QObject::callOnTimeout(Args&&...)

    + *

    See QObject::callOnTimeout(Args&&...)

    */ public final QMetaObject.@NonNull Connection callOnTimeout(@Nullable QObject receiver, @NonNull String method, Qt.@NonNull ConnectionType @NonNull... type){ return timeout.connect(receiver, method, type); @@ -9897,7 +9766,7 @@ public static void sendPostedEvents(io.qt.core.QObject receiver, QEvent.Type eve /** * Destroys the QCoreApplication instance and purges Qt. - * @see ~QCoreApplication() + * @see ~QCoreApplication() */ @QtUninvokable public static void shutdown() { @@ -9984,7 +9853,7 @@ public static void addPreRoutine(@NonNull Runnable startUpFunction) { /** * Adds a post-routine to be executed when deleting QCoreApplication. - * @see qAddPostRoutine(QtCleanUpFunction) + * @see qAddPostRoutine(QtCleanUpFunction) * @see shutdown() */ @QtUninvokable @@ -9994,7 +9863,7 @@ public static void addPostRoutine(@NonNull Runnable cleanUpFunction) { /** * Removes a previously added post-routine. - * @see qRemovePostRoutine(QtCleanUpFunction) + * @see qRemovePostRoutine(QtCleanUpFunction) * @see addPostRoutine(Runnable) * @see shutdown() */ @@ -10051,7 +9920,7 @@ private T createPermission(Class permissionType) { } /** - *

    See QCoreApplication::checkPermission(QPermission)

    + *

    See QCoreApplication::checkPermission(QPermission)

    */ @QtUninvokable public final io.qt.core.Qt.@NonNull PermissionStatus checkPermission(@StrictNonNull Class permissionType){ @@ -10059,7 +9928,7 @@ private T createPermission(Class permissionType) { } /** - *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    + *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    */ @QtUninvokable public final void requestPermission(@StrictNonNull Class permissionType, QMetaObject.@StrictNonNull Slot2<@NonNull T, Qt.@NonNull PermissionStatus> functor){ @@ -10073,7 +9942,7 @@ public final void requestPermission(@StrictNonNull Class } /** - *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    + *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    */ @QtUninvokable public final void requestPermission(@StrictNonNull Class permissionType, QMetaObject.@StrictNonNull Slot1 functor){ @@ -10087,7 +9956,7 @@ public final void requestPermission(@StrictNonNull Class } /** - *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    + *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    */ @QtUninvokable public final void requestPermission(@StrictNonNull T permission, QMetaObject.@StrictNonNull Slot2<@NonNull T, Qt.@NonNull PermissionStatus> functor){ @@ -10100,7 +9969,7 @@ public final void requestPermission(@StrictNonNull T per } /** - *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    + *

    See QCoreApplication::requestPermission<Functor>(const QPermission, Functor functor)

    */ @QtUninvokable public final void requestPermission(@StrictNonNull QPermission permission, QMetaObject.@StrictNonNull Slot1 functor){ @@ -10126,7 +9995,7 @@ public interface Request extends QtObjectInterface{ } /** - *

    See QPermission::QPermission<T>(T)

    + *

    See QPermission::QPermission<T>(T)

    */ public QPermission(Request request){ super((QPrivateConstructor)null); @@ -10137,7 +10006,7 @@ public QPermission(Request request){ private static native void setData(long nativeId, Request request); /** - *

    See QPermission::data<T>()

    + *

    See QPermission::data<T>()

    */ public final Request data() { return data(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -10170,7 +10039,7 @@ public QXmlStreamAttributes(java.util.Collection collection class autoclosedelete { /** - * {@inheritDoc} + * Deletes the underlying native object. */ @Override public void close(){ @@ -10181,7 +10050,7 @@ public void close(){ class QDebug___ extends QDebug { /** - * {@inheritDoc} + * Appends a subsequence of the specified character sequence to this QDebug. */ @Override public final @NonNull QDebug append(CharSequence csq, int start, int end) { @@ -10191,7 +10060,7 @@ class QDebug___ extends QDebug { } /** - *

    See Qt::endl

    + *

    See Qt::endl

    */ @QtUninvokable public final @NonNull QDebug endl(){ @@ -10204,7 +10073,7 @@ class QDebug___ extends QDebug { private native void endl(long __this__nativeId); /** - *

    See Qt::flush

    + *

    See Qt::flush

    */ @QtUninvokable public final @NonNull QDebug flush(){ @@ -10217,7 +10086,7 @@ class QDebug___ extends QDebug { private native void flush(long __this__nativeId); /** - *

    See Qt::reset

    + *

    See Qt::reset

    */ @QtUninvokable public final @NonNull QDebug reset(){ @@ -10230,7 +10099,7 @@ class QDebug___ extends QDebug { private native void reset(long __this__nativeId); /** - *

    See Qt::bin

    + *

    See Qt::bin

    */ @QtUninvokable public final @NonNull QDebug bin(){ @@ -10243,7 +10112,7 @@ class QDebug___ extends QDebug { private native void bin(long __this__nativeId); /** - *

    See Qt::oct

    + *

    See Qt::oct

    */ @QtUninvokable public final @NonNull QDebug oct(){ @@ -10256,7 +10125,7 @@ class QDebug___ extends QDebug { private native void oct(long __this__nativeId); /** - *

    See Qt::hex

    + *

    See Qt::hex

    */ @QtUninvokable public final @NonNull QDebug hex(){ @@ -10269,7 +10138,7 @@ class QDebug___ extends QDebug { private native void hex(long __this__nativeId); /** - *

    See Qt::dec

    + *

    See Qt::dec

    */ @QtUninvokable public final @NonNull QDebug dec(){ @@ -10282,7 +10151,7 @@ class QDebug___ extends QDebug { private native void dec(long __this__nativeId); /** - *

    See Qt::showbase

    + *

    See Qt::showbase

    */ @QtUninvokable public final @NonNull QDebug showbase(){ @@ -10295,7 +10164,7 @@ class QDebug___ extends QDebug { private native void showbase(long __this__nativeId); /** - *

    See Qt::forcesign

    + *

    See Qt::forcesign

    */ @QtUninvokable public final @NonNull QDebug forcesign(){ @@ -10308,7 +10177,7 @@ class QDebug___ extends QDebug { private native void forcesign(long __this__nativeId); /** - *

    See Qt::forcepoint

    + *

    See Qt::forcepoint

    */ @QtUninvokable public final @NonNull QDebug forcepoint(){ @@ -10321,7 +10190,7 @@ class QDebug___ extends QDebug { private native void forcepoint(long __this__nativeId); /** - *

    See Qt::noshowbase

    + *

    See Qt::noshowbase

    */ @QtUninvokable public final @NonNull QDebug noshowbase(){ @@ -10334,7 +10203,7 @@ class QDebug___ extends QDebug { private native void noshowbase(long __this__nativeId); /** - *

    See Qt::noforcesign

    + *

    See Qt::noforcesign

    */ @QtUninvokable public final @NonNull QDebug noforcesign(){ @@ -10347,7 +10216,7 @@ class QDebug___ extends QDebug { private native void noforcesign(long __this__nativeId); /** - *

    See Qt::noforcepoint

    + *

    See Qt::noforcepoint

    */ @QtUninvokable public final @NonNull QDebug noforcepoint(){ @@ -10360,7 +10229,7 @@ class QDebug___ extends QDebug { private native void noforcepoint(long __this__nativeId); /** - *

    See Qt::uppercasebase

    + *

    See Qt::uppercasebase

    */ @QtUninvokable public final @NonNull QDebug uppercasebase(){ @@ -10373,7 +10242,7 @@ class QDebug___ extends QDebug { private native void uppercasebase(long __this__nativeId); /** - *

    See Qt::uppercasedigits

    + *

    See Qt::uppercasedigits

    */ @QtUninvokable public final @NonNull QDebug uppercasedigits(){ @@ -10386,7 +10255,7 @@ class QDebug___ extends QDebug { private native void uppercasedigits(long __this__nativeId); /** - *

    See Qt::lowercasebase

    + *

    See Qt::lowercasebase

    */ @QtUninvokable public final @NonNull QDebug lowercasebase(){ @@ -10399,7 +10268,7 @@ class QDebug___ extends QDebug { private native void lowercasebase(long __this__nativeId); /** - *

    See Qt::lowercasedigits

    + *

    See Qt::lowercasedigits

    */ @QtUninvokable public final @NonNull QDebug lowercasedigits(){ @@ -10412,7 +10281,7 @@ class QDebug___ extends QDebug { private native void lowercasedigits(long __this__nativeId); /** - *

    See Qt::fixed

    + *

    See Qt::fixed

    */ @QtUninvokable public final @NonNull QDebug fixed(){ @@ -10425,7 +10294,7 @@ class QDebug___ extends QDebug { private native void fixed(long __this__nativeId); /** - *

    See Qt::scientific

    + *

    See Qt::scientific

    */ @QtUninvokable public final @NonNull QDebug scientific(){ @@ -10438,7 +10307,7 @@ class QDebug___ extends QDebug { private native void scientific(long __this__nativeId); /** - *

    See Qt::left

    + *

    See Qt::left

    */ @QtUninvokable public final @NonNull QDebug left(){ @@ -10451,7 +10320,7 @@ class QDebug___ extends QDebug { private native void left(long __this__nativeId); /** - *

    See Qt::right

    + *

    See Qt::right

    */ @QtUninvokable public final @NonNull QDebug right(){ @@ -10464,7 +10333,7 @@ class QDebug___ extends QDebug { private native void right(long __this__nativeId); /** - *

    See Qt::center

    + *

    See Qt::center

    */ @QtUninvokable public final @NonNull QDebug center(){ @@ -10477,7 +10346,7 @@ class QDebug___ extends QDebug { private native void center(long __this__nativeId); /** - *

    See Qt::bom

    + *

    See Qt::bom

    */ @QtUninvokable public final @NonNull QDebug bom(){ @@ -10490,7 +10359,7 @@ class QDebug___ extends QDebug { private native void bom(long __this__nativeId); /** - *

    See Qt::ws

    + *

    See Qt::ws

    */ @QtUninvokable public final @NonNull QDebug ws(){ @@ -10503,7 +10372,7 @@ class QDebug___ extends QDebug { private native void ws(long __this__nativeId); /** - *

    See qSetFieldWidth(int width)

    + *

    See qSetFieldWidth(int width)

    */ @QtUninvokable public final @NonNull QDebug qSetFieldWidth(int width){ @@ -10516,7 +10385,7 @@ class QDebug___ extends QDebug { private native void setFieldWidth(long __this__nativeId, int width); /** - *

    See qSetRealNumberPrecision(int precision)

    + *

    See qSetRealNumberPrecision(int precision)

    */ @QtUninvokable public final @NonNull QDebug qSetRealNumberPrecision(int precision){ @@ -10529,7 +10398,7 @@ class QDebug___ extends QDebug { private native void setRealNumberPrecision(long __this__nativeId, int precision); /** - *

    See qSetPadChar(QChar ch)

    + *

    See qSetPadChar(QChar ch)

    */ @QtUninvokable public final @NonNull QDebug qSetPadChar(char ch){ @@ -10542,13 +10411,16 @@ class QDebug___ extends QDebug { private native void setPadChar(long __this__nativeId, char ch); /** - *

    See QDebug::QDebug(QString*)

    + *

    See QDebug::QDebug(QString*)

    */ @SuppressWarnings("hiding") public QDebug(String string){ this(new QTextStream.StringDevice(java.util.Objects.requireNonNull(string, "Argument 'string': null not expected."), QIODevice.OpenModeFlag.WriteOnly.asFlags())); } + /** + *

    See QDebug::operator<<

    + */ @QtUninvokable public final @NonNull QDebug append(java.lang.Object obj){ if(!disabled){ @@ -10568,7 +10440,7 @@ public QDebug(String string) class QTextStream___ extends QTextStream { /** - *

    See QTextStream::string() const

    + *

    See QTextStream::string() const

    */ public final @Nullable CharSequence string() { QIODevice device = device_private(); @@ -10584,7 +10456,7 @@ class QTextStream___ extends QTextStream { } /** - * {@inheritDoc} + * Appends a subsequence of the specified character sequence to this QTextStream. */ @Override public final @NonNull QTextStream append(CharSequence csq, int start, int end) { @@ -10592,7 +10464,7 @@ class QTextStream___ extends QTextStream { } /** - *

    See QTextStream::device()const

    + *

    See QTextStream::device()const

    */ @QtUninvokable public final @Nullable QIODevice device(){ @@ -10603,7 +10475,7 @@ class QTextStream___ extends QTextStream { } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public void setString(String string, QIODevice.@NonNull OpenModeFlag @NonNull... openMode) { @@ -10611,7 +10483,7 @@ class QTextStream___ extends QTextStream { } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public void setString(String string) { @@ -10619,7 +10491,7 @@ class QTextStream___ extends QTextStream { } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public void setString(String string, QIODevice.@NonNull OpenMode openMode) { @@ -10628,42 +10500,42 @@ class QTextStream___ extends QTextStream { } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ public void setString(@NonNull String string, QIODevice.OpenModeFlag ... openMode) { setString(string, new QIODevice.OpenMode(openMode)); } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ public void setString(@NonNull String string) { setString(string, new QIODevice.OpenMode(4)); } /** - *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::setString(QString *, QIODeviceBase::OpenMode)

    */ public void setString(@NonNull String string, QIODevice.OpenMode openMode) { setString(string==null ? new StringBuilder() : new StringBuilder(string), openMode); } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public QTextStream(String string, QIODevice.@NonNull OpenModeFlag @NonNull... openMode) { this(string, new QIODevice.OpenMode(openMode)); } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public QTextStream(String string) { this(string, new QIODevice.OpenMode(3)); } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ @SuppressWarnings("hiding") public QTextStream(String string, QIODevice.@NonNull OpenMode openMode){ @@ -10671,19 +10543,19 @@ public void setString(@NonNull String string, QIODevice.OpenMode openMode) { } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ public QTextStream(@NonNull String string, QIODevice.@NonNull OpenModeFlag @NonNull... openMode) { this(string, new QIODevice.OpenMode(openMode)); } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ public QTextStream(@NonNull String string) { this(string, new QIODevice.OpenMode(3)); } /** - *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    + *

    See QTextStream::QTextStream(QString *, QIODeviceBase::OpenMode)

    */ public QTextStream(@NonNull String string, QIODevice.@NonNull OpenMode openMode){ this(string==null ? new StringBuilder() : new StringBuilder(string), openMode); @@ -10755,7 +10627,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeString(java.lang.String s){ @@ -10763,7 +10635,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeString(java.lang.CharSequence s){ @@ -10771,7 +10643,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeDouble(double v){ @@ -10779,7 +10651,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeByte(byte v){ @@ -10787,7 +10659,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeBytes(QByteArray v){ @@ -10795,7 +10667,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeChar(char v){ @@ -10803,7 +10675,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeFloat(float v){ @@ -10811,7 +10683,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeInt(int v){ @@ -10819,7 +10691,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeLong(long v){ @@ -10827,7 +10699,7 @@ public boolean seek(long pos) { } /** - *

    See QTextStream::operator<<

    + *

    See QTextStream::operator<<

    */ @QtUninvokable public final @NonNull QTextStream writeShort(short v){ @@ -10835,7 +10707,7 @@ public boolean seek(long pos) { } /** - *

    See Qt::endl

    + *

    See Qt::endl

    */ @QtUninvokable public final @NonNull QTextStream endl(){ @@ -10847,7 +10719,7 @@ public boolean seek(long pos) { private native void endl(long __this__nativeId); /** - *

    See Qt::flush

    + *

    See Qt::flush

    */ @QtUninvokable public final @NonNull QTextStream flush(){ @@ -10859,7 +10731,7 @@ public boolean seek(long pos) { private native void flush(long __this__nativeId); /** - *

    See Qt::reset

    + *

    See Qt::reset

    */ @QtUninvokable public final @NonNull QTextStream reset(){ @@ -10871,7 +10743,7 @@ public boolean seek(long pos) { private native void reset(long __this__nativeId); /** - *

    See Qt::bin

    + *

    See Qt::bin

    */ @QtUninvokable public final @NonNull QTextStream bin(){ @@ -10883,7 +10755,7 @@ public boolean seek(long pos) { private native void bin(long __this__nativeId); /** - *

    See Qt::oct

    + *

    See Qt::oct

    */ @QtUninvokable public final @NonNull QTextStream oct(){ @@ -10895,7 +10767,7 @@ public boolean seek(long pos) { private native void oct(long __this__nativeId); /** - *

    See Qt::hex

    + *

    See Qt::hex

    */ @QtUninvokable public final @NonNull QTextStream hex(){ @@ -10907,7 +10779,7 @@ public boolean seek(long pos) { private native void hex(long __this__nativeId); /** - *

    See Qt::dec

    + *

    See Qt::dec

    */ @QtUninvokable public final @NonNull QTextStream dec(){ @@ -10919,7 +10791,7 @@ public boolean seek(long pos) { private native void dec(long __this__nativeId); /** - *

    See Qt::showbase

    + *

    See Qt::showbase

    */ @QtUninvokable public final @NonNull QTextStream showbase(){ @@ -10931,7 +10803,7 @@ public boolean seek(long pos) { private native void showbase(long __this__nativeId); /** - *

    See Qt::forcesign

    + *

    See Qt::forcesign

    */ @QtUninvokable public final @NonNull QTextStream forcesign(){ @@ -10943,7 +10815,7 @@ public boolean seek(long pos) { private native void forcesign(long __this__nativeId); /** - *

    See Qt::forcepoint

    + *

    See Qt::forcepoint

    */ @QtUninvokable public final @NonNull QTextStream forcepoint(){ @@ -10955,7 +10827,7 @@ public boolean seek(long pos) { private native void forcepoint(long __this__nativeId); /** - *

    See Qt::noshowbase

    + *

    See Qt::noshowbase

    */ @QtUninvokable public final @NonNull QTextStream noshowbase(){ @@ -10967,7 +10839,7 @@ public boolean seek(long pos) { private native void noshowbase(long __this__nativeId); /** - *

    See Qt::noforcesign

    + *

    See Qt::noforcesign

    */ @QtUninvokable public final @NonNull QTextStream noforcesign(){ @@ -10979,7 +10851,7 @@ public boolean seek(long pos) { private native void noforcesign(long __this__nativeId); /** - *

    See Qt::noforcepoint

    + *

    See Qt::noforcepoint

    */ @QtUninvokable public final @NonNull QTextStream noforcepoint(){ @@ -10991,7 +10863,7 @@ public boolean seek(long pos) { private native void noforcepoint(long __this__nativeId); /** - *

    See Qt::uppercasebase

    + *

    See Qt::uppercasebase

    */ @QtUninvokable public final @NonNull QTextStream uppercasebase(){ @@ -11003,7 +10875,7 @@ public boolean seek(long pos) { private native void uppercasebase(long __this__nativeId); /** - *

    See Qt::uppercasedigits

    + *

    See Qt::uppercasedigits

    */ @QtUninvokable public final @NonNull QTextStream uppercasedigits(){ @@ -11015,7 +10887,7 @@ public boolean seek(long pos) { private native void uppercasedigits(long __this__nativeId); /** - *

    See Qt::lowercasebase

    + *

    See Qt::lowercasebase

    */ @QtUninvokable public final @NonNull QTextStream lowercasebase(){ @@ -11027,7 +10899,7 @@ public boolean seek(long pos) { private native void lowercasebase(long __this__nativeId); /** - *

    See Qt::lowercasedigits

    + *

    See Qt::lowercasedigits

    */ @QtUninvokable public final @NonNull QTextStream lowercasedigits(){ @@ -11039,7 +10911,7 @@ public boolean seek(long pos) { private native void lowercasedigits(long __this__nativeId); /** - *

    See Qt::fixed

    + *

    See Qt::fixed

    */ @QtUninvokable public final @NonNull QTextStream fixed(){ @@ -11051,7 +10923,7 @@ public boolean seek(long pos) { private native void fixed(long __this__nativeId); /** - *

    See Qt::scientific

    + *

    See Qt::scientific

    */ @QtUninvokable public final @NonNull QTextStream scientific(){ @@ -11063,7 +10935,7 @@ public boolean seek(long pos) { private native void scientific(long __this__nativeId); /** - *

    See Qt::left

    + *

    See Qt::left

    */ @QtUninvokable public final @NonNull QTextStream left(){ @@ -11075,7 +10947,7 @@ public boolean seek(long pos) { private native void left(long __this__nativeId); /** - *

    See Qt::right

    + *

    See Qt::right

    */ @QtUninvokable public final @NonNull QTextStream right(){ @@ -11087,7 +10959,7 @@ public boolean seek(long pos) { private native void right(long __this__nativeId); /** - *

    See Qt::center

    + *

    See Qt::center

    */ @QtUninvokable public final @NonNull QTextStream center(){ @@ -11099,7 +10971,7 @@ public boolean seek(long pos) { private native void center(long __this__nativeId); /** - *

    See Qt::bom

    + *

    See Qt::bom

    */ @QtUninvokable public final @NonNull QTextStream bom(){ @@ -11111,7 +10983,7 @@ public boolean seek(long pos) { private native void bom(long __this__nativeId); /** - *

    See Qt::ws

    + *

    See Qt::ws

    */ @QtUninvokable public final @NonNull QTextStream ws(){ @@ -11123,7 +10995,7 @@ public boolean seek(long pos) { private native void ws(long __this__nativeId); /** - *

    See qSetFieldWidth(int width)

    + *

    See qSetFieldWidth(int width)

    */ @QtUninvokable public final @NonNull QTextStream qSetFieldWidth(int width){ @@ -11135,7 +11007,7 @@ public boolean seek(long pos) { private native void setFieldWidth(long __this__nativeId, int width); /** - *

    See qSetRealNumberPrecision(int precision)

    + *

    See qSetRealNumberPrecision(int precision)

    */ @QtUninvokable public final @NonNull QTextStream qSetRealNumberPrecision(int precision){ @@ -11147,7 +11019,7 @@ public boolean seek(long pos) { private native void setRealNumberPrecision(long __this__nativeId, int precision); /** - *

    See qSetPadChar(QChar ch)

    + *

    See qSetPadChar(QChar ch)

    */ @QtUninvokable public final @NonNull QTextStream qSetPadChar(char ch){ @@ -11218,7 +11090,7 @@ public final int compare(byte[] b) { } /** - *

    See QByteArray::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(byte[] b, Qt.CaseSensitivity cs) { @@ -11235,7 +11107,7 @@ public final int compare(String str) { } /** - *

    See QByteArray::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(String str, Qt.CaseSensitivity cs) { @@ -11261,14 +11133,14 @@ private FromBase64Result(QByteArray decoded, int decodingStatus) { class QByteArray___ extends QByteArray { /** - *

    See QByteArray(const char *)

    + *

    See QByteArray(const char *)

    */ public QByteArray(byte data[]) { this(java.nio.ByteBuffer.wrap(data), data.length); } /** - *

    See QByteArray::prepend(const char *)

    + *

    See QByteArray::prepend(const char *)

    */ @QtUninvokable public final QByteArray prepend(byte[] data) { @@ -11276,7 +11148,7 @@ public final QByteArray prepend(byte[] data) { } /** - *

    See QByteArray::append(const char *)

    + *

    See QByteArray::append(const char *)

    */ @QtUninvokable public final QByteArray append(byte[] a){ @@ -11284,7 +11156,7 @@ public final QByteArray append(byte[] a){ } /** - *

    See QByteArray::operator=(const char*)

    + *

    See QByteArray::operator=(const char*)

    */ @QtUninvokable public final void assign(byte[] data){ @@ -11292,7 +11164,7 @@ public final void assign(byte[] data){ } /** - *

    See QByteArray::operator=(const char*)

    + *

    See QByteArray::operator=(const char*)

    */ @QtUninvokable public final void assign(String data){ @@ -11318,19 +11190,19 @@ public final void set(String data){ } /** - *

    See QByteArrayList::join()

    + *

    See QByteArrayList::join()

    */ @QtUninvokable public native static QByteArray join(java.util.Collection stringList); /** - *

    See QByteArrayList::join(char)

    + *

    See QByteArrayList::join(char)

    */ @QtUninvokable public native static QByteArray join(java.util.Collection stringList, byte sep); /** - *

    See QByteArrayList::join(QByteArray)

    + *

    See QByteArrayList::join(QByteArray)

    */ @QtUninvokable public native static QByteArray join(java.util.Collection stringList, QByteArray sep); @@ -11340,7 +11212,7 @@ public final void set(String data){ class QByteArray_5__ extends QByteArray { /** - *

    See QByteArray::QByteArray(const char*)

    + *

    See QByteArray::QByteArray(const char*)

    */ public QByteArray(String s) { this(); @@ -11348,14 +11220,14 @@ public QByteArray(String s) { } /** - *

    See QByteArray::QByteArray(const char*,int)

    + *

    See QByteArray::QByteArray(const char*,int)

    */ public QByteArray(byte data[], int size) { this(java.nio.ByteBuffer.wrap(data), size==-1 ? data.length : Math.min(size, data.length)); } /** - *

    See QByteArray::prepend(const char *,int)

    + *

    See QByteArray::prepend(const char *,int)

    */ @QtUninvokable public final QByteArray prepend(byte[] data, int size) { @@ -11363,7 +11235,7 @@ public final QByteArray prepend(byte[] data, int size) { } /** - *

    See QByteArray::append(const char *,int)

    + *

    See QByteArray::append(const char *,int)

    */ @QtUninvokable public final QByteArray append(byte[] a, int size){ @@ -11371,7 +11243,7 @@ public final QByteArray append(byte[] a, int size){ } /** - *

    See QByteArray::count(const char*)const

    + *

    See QByteArray::count(const char*)const

    */ @QtUninvokable public final int count(byte data[]) { @@ -11379,7 +11251,7 @@ public final int count(byte data[]) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(byte data[]) { @@ -11387,7 +11259,7 @@ public final boolean contains(byte data[]) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(String str) { @@ -11395,7 +11267,7 @@ public final boolean startsWith(String str) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(byte[] str) { @@ -11403,7 +11275,7 @@ public final boolean startsWith(byte[] str) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(String str) { @@ -11411,7 +11283,7 @@ public final boolean contains(String str) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final int count(String str) { @@ -11419,7 +11291,7 @@ public final int count(String str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(String str) { @@ -11427,7 +11299,7 @@ public final boolean endsWith(String str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(byte[] str) { @@ -11435,7 +11307,7 @@ public final boolean endsWith(byte[] str) { } /** - *

    See QByteArray::prepend(const char*)

    + *

    See QByteArray::prepend(const char*)

    */ @QtUninvokable public final QByteArray prepend(String str) { @@ -11443,7 +11315,7 @@ public final QByteArray prepend(String str) { } /** - *

    See QByteArray::replace(int,int,const char*)

    + *

    See QByteArray::replace(int,int,const char*)

    */ @QtUninvokable public final QByteArray replace(int index, int len, byte[] data) { @@ -11452,7 +11324,7 @@ public final QByteArray replace(int index, int len, byte[] data) { } /** - *

    See QByteArray::insert(int,const char*)

    + *

    See QByteArray::insert(int,const char*)

    */ @QtUninvokable public final QByteArray insert(int i, byte[] data) { @@ -11461,7 +11333,7 @@ public final QByteArray insert(int i, byte[] data) { } /** - *

    See QByteArray::replace(QByteArray,const char*)

    + *

    See QByteArray::replace(QByteArray,const char*)

    */ @QtUninvokable public final QByteArray replace(QByteArray before, String after) { @@ -11469,7 +11341,7 @@ public final QByteArray replace(QByteArray before, String after) { } /** - *

    See QByteArray::replace(const char*,QByteArray)

    + *

    See QByteArray::replace(const char*,QByteArray)

    */ @QtUninvokable public final QByteArray replace(byte[] before, QByteArray after) { @@ -11477,7 +11349,7 @@ public final QByteArray replace(byte[] before, QByteArray after) { } /** - *

    See QByteArray::replace(QByteArray,const char*)

    + *

    See QByteArray::replace(QByteArray,const char*)

    */ @QtUninvokable public final QByteArray replace(QByteArray before, byte[] after) { @@ -11485,7 +11357,7 @@ public final QByteArray replace(QByteArray before, byte[] after) { } /** - *

    See QByteArray::replace(const char*,const char*)

    + *

    See QByteArray::replace(const char*,const char*)

    */ @QtUninvokable public final QByteArray replace(String before, String after) { @@ -11493,7 +11365,7 @@ public final QByteArray replace(String before, String after) { } /** - *

    See QByteArray::replace(const char*,const char*)

    + *

    See QByteArray::replace(const char*,const char*)

    */ @QtUninvokable public final QByteArray replace(byte[] before, byte[] after) { @@ -11514,21 +11386,21 @@ private static byte[] getBytes(String s) { } /** - *

    See QByteArray::QByteArray(const char*)

    + *

    See QByteArray::QByteArray(const char*)

    */ public QByteArray(String s) { this(getBytes(s)); } /** - *

    See QByteArray::QByteArray(const char*,qsizetype)

    + *

    See QByteArray::QByteArray(const char*,qsizetype)

    */ public QByteArray(byte data[], long size) { this(java.nio.ByteBuffer.wrap(data), size==-1 ? data.length : Math.min(size, data.length)); } /** - *

    See QByteArray::prepend(const char *,qsizetype)

    + *

    See QByteArray::prepend(const char *,qsizetype)

    */ @QtUninvokable public final QByteArray prepend(byte[] data, long size) { @@ -11536,7 +11408,7 @@ public final QByteArray prepend(byte[] data, long size) { } /** - *

    See QByteArray::append(const char *,qsizetype)

    + *

    See QByteArray::append(const char *,qsizetype)

    */ @QtUninvokable public final QByteArray append(byte[] a, long size){ @@ -11544,7 +11416,7 @@ public final QByteArray append(byte[] a, long size){ } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(String str) { @@ -11552,7 +11424,7 @@ public final boolean contains(String str) { } /** - *

    See QByteArray::count(const char*)const

    + *

    See QByteArray::count(const char*)const

    */ @QtUninvokable public final long count(String str) { @@ -11560,7 +11432,7 @@ public final long count(String str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(String str) { @@ -11568,7 +11440,7 @@ public final boolean endsWith(String str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(byte[] str) { @@ -11576,7 +11448,7 @@ public final boolean endsWith(byte[] str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(java.nio.ByteBuffer str) { @@ -11584,7 +11456,7 @@ public final boolean endsWith(java.nio.ByteBuffer str) { } /** - *

    See QByteArray::endsWith(const char*)const

    + *

    See QByteArray::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(QByteArray str) { @@ -11592,7 +11464,7 @@ public final boolean endsWith(QByteArray str) { } /** - *

    See QByteArray::prepend(const char*)

    + *

    See QByteArray::prepend(const char*)

    */ @QtUninvokable public final QByteArray prepend(String str) { @@ -11600,7 +11472,7 @@ public final QByteArray prepend(String str) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(String str) { @@ -11608,7 +11480,7 @@ public final boolean startsWith(String str) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(byte[] str) { @@ -11616,7 +11488,7 @@ public final boolean startsWith(byte[] str) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(java.nio.ByteBuffer str) { @@ -11624,7 +11496,7 @@ public final boolean startsWith(java.nio.ByteBuffer str) { } /** - *

    See QByteArray::startsWith(const char*)const

    + *

    See QByteArray::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(QByteArray str) { @@ -11632,7 +11504,7 @@ public final boolean startsWith(QByteArray str) { } /** - *

    See QByteArray::append(const char*)

    + *

    See QByteArray::append(const char*)

    */ @QtUninvokable public final QByteArray append(String a){ @@ -11640,7 +11512,7 @@ public final QByteArray append(String a){ } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(String str) { @@ -11648,7 +11520,7 @@ public final int compare(String str) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(String str, Qt.CaseSensitivity cs) { @@ -11656,7 +11528,7 @@ public final int compare(String str, Qt.CaseSensitivity cs) { } /** - *

    See QByteArray::count(const char*)const

    + *

    See QByteArray::count(const char*)const

    */ @QtUninvokable public final long count(byte data[]) { @@ -11664,7 +11536,7 @@ public final long count(byte data[]) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(byte data[]) { @@ -11672,7 +11544,7 @@ public final boolean contains(byte data[]) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(byte[] b) { @@ -11680,7 +11552,7 @@ public final int compare(byte[] b) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(byte[] b, Qt.CaseSensitivity cs) { @@ -11688,7 +11560,7 @@ public final int compare(byte[] b, Qt.CaseSensitivity cs) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(QByteArray b) { @@ -11696,7 +11568,7 @@ public final int compare(QByteArray b) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(QByteArray b, Qt.CaseSensitivity cs) { @@ -11704,7 +11576,7 @@ public final int compare(QByteArray b, Qt.CaseSensitivity cs) { } /** - *

    See QByteArray::count(const char*)const

    + *

    See QByteArray::count(const char*)const

    */ @QtUninvokable public final long count(java.nio.ByteBuffer data) { @@ -11712,7 +11584,7 @@ public final long count(java.nio.ByteBuffer data) { } /** - *

    See QByteArray::count(const char*)const

    + *

    See QByteArray::count(const char*)const

    */ @QtUninvokable public final long count(QByteArray data) { @@ -11720,7 +11592,7 @@ public final long count(QByteArray data) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(java.nio.ByteBuffer data) { @@ -11728,7 +11600,7 @@ public final boolean contains(java.nio.ByteBuffer data) { } /** - *

    See QByteArray::contains(const char*)const

    + *

    See QByteArray::contains(const char*)const

    */ @QtUninvokable public final boolean contains(QByteArray data) { @@ -11736,7 +11608,7 @@ public final boolean contains(QByteArray data) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(java.nio.ByteBuffer b) { @@ -11744,7 +11616,7 @@ public final int compare(java.nio.ByteBuffer b) { } /** - *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    + *

    See QByteArray::compare(const char*, Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(java.nio.ByteBuffer b, Qt.CaseSensitivity cs) { @@ -11752,7 +11624,7 @@ public final int compare(java.nio.ByteBuffer b, Qt.CaseSensitivity cs) { } /** - *

    See QByteArray::indexOf(const char*)const

    + *

    See QByteArray::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(String strg) { @@ -11760,7 +11632,7 @@ public final long indexOf(String strg) { } /** - *

    See QByteArray::indexOf(const char*,qsizetype)const

    + *

    See QByteArray::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(String strg, long from){ @@ -11768,7 +11640,7 @@ public final long indexOf(String strg, long from){ } /** - *

    See QByteArray::indexOf(const char*)const

    + *

    See QByteArray::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(byte[] other) { @@ -11776,7 +11648,7 @@ public final long indexOf(byte[] other) { } /** - *

    See QByteArray::indexOf(const char*,qsizetype)const

    + *

    See QByteArray::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(byte[] other, long from){ @@ -11784,7 +11656,7 @@ public final long indexOf(byte[] other, long from){ } /** - *

    See QByteArray::indexOf(const char*)const

    + *

    See QByteArray::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(java.nio.ByteBuffer other) { @@ -11792,7 +11664,7 @@ public final long indexOf(java.nio.ByteBuffer other) { } /** - *

    See QByteArray::indexOf(const char*,qsizetype)const

    + *

    See QByteArray::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(java.nio.ByteBuffer other, long from){ @@ -11800,7 +11672,7 @@ public final long indexOf(java.nio.ByteBuffer other, long from){ } /** - *

    See QByteArray::indexOf(QByteArray)const

    + *

    See QByteArray::indexOf(QByteArray)const

    */ @QtUninvokable public final long indexOf(QByteArray other) { @@ -11808,7 +11680,7 @@ public final long indexOf(QByteArray other) { } /** - *

    See QByteArray::indexOf(QByteArray,qsizetype)const

    + *

    See QByteArray::indexOf(QByteArray,qsizetype)const

    */ @QtUninvokable public final long indexOf(QByteArray other, long from){ @@ -11816,7 +11688,7 @@ public final long indexOf(QByteArray other, long from){ } /** - *

    See QByteArray::lastIndexOf(const char*)const

    + *

    See QByteArray::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(String strg) { @@ -11824,7 +11696,7 @@ public final long lastIndexOf(String strg) { } /** - *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(String strg, long from){ @@ -11832,7 +11704,7 @@ public final long lastIndexOf(String strg, long from){ } /** - *

    See QByteArray::lastIndexOf(const char*)const

    + *

    See QByteArray::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(byte[] other) { @@ -11840,7 +11712,7 @@ public final long lastIndexOf(byte[] other) { } /** - *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(byte[] other, long from){ @@ -11848,7 +11720,7 @@ public final long lastIndexOf(byte[] other, long from){ } /** - *

    See QByteArray::lastIndexOf(const char*)const

    + *

    See QByteArray::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(java.nio.ByteBuffer other) { @@ -11856,7 +11728,7 @@ public final long lastIndexOf(java.nio.ByteBuffer other) { } /** - *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArray::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(java.nio.ByteBuffer other, long from){ @@ -11864,7 +11736,7 @@ public final long lastIndexOf(java.nio.ByteBuffer other, long from){ } /** - *

    See QByteArray::lastIndexOf(QByteArray)const

    + *

    See QByteArray::lastIndexOf(QByteArray)const

    */ @QtUninvokable public final long lastIndexOf(QByteArray other) { @@ -11872,7 +11744,7 @@ public final long lastIndexOf(QByteArray other) { } /** - *

    See QByteArray::lastIndexOf(QByteArray,qsizetype)const

    + *

    See QByteArray::lastIndexOf(QByteArray,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(QByteArray other, long from){ @@ -11880,7 +11752,7 @@ public final long lastIndexOf(QByteArray other, long from){ } /** - *

    See QByteArray::replace(qsizetype,qsizetype,QByteArrayView)

    + *

    See QByteArray::replace(qsizetype,qsizetype,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(long index, long len, byte[] data) { @@ -11889,7 +11761,7 @@ public final QByteArray replace(long index, long len, byte[] data) { } /** - *

    See QByteArray::insert(qsizetype,QByteArrayView)

    + *

    See QByteArray::insert(qsizetype,QByteArrayView)

    */ @QtUninvokable public final QByteArray insert(long i, byte[] data) { @@ -11898,7 +11770,7 @@ public final QByteArray insert(long i, byte[] data) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(QByteArray before, byte[] after) { @@ -11906,7 +11778,7 @@ public final QByteArray replace(QByteArray before, byte[] after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(QByteArray before, String after) { @@ -11914,7 +11786,7 @@ public final QByteArray replace(QByteArray before, String after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(byte[] before, String after) { @@ -11922,7 +11794,7 @@ public final QByteArray replace(byte[] before, String after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(byte[] before, QByteArray after) { @@ -11930,7 +11802,7 @@ public final QByteArray replace(byte[] before, QByteArray after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(String before, QByteArray after) { @@ -11938,7 +11810,7 @@ public final QByteArray replace(String before, QByteArray after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(String before, byte[] after) { @@ -11946,7 +11818,7 @@ public final QByteArray replace(String before, byte[] after) { } /** - *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    + *

    See QByteArray::replace(QByteArrayView,QByteArrayView)

    */ @QtUninvokable public final QByteArray replace(String before, String after) { @@ -11956,7 +11828,7 @@ public final QByteArray replace(String before, String after) { class QByteArray_63__ extends QByteArray { /** - *

    See QByteArrayList::join(QByteArrayView)

    + *

    See QByteArrayList::join(QByteArrayView)

    */ @QtUninvokable public native static QByteArray join(java.util.Collection stringList, QByteArrayView sep); @@ -11965,7 +11837,7 @@ class QByteArray_63__ extends QByteArray { class QByteArrayView___ extends QByteArray { /** - *

    See QByteArrayView::QByteArrayView(const char*)

    + *

    See QByteArrayView::QByteArrayView(const char*)

    */ public QByteArrayView(byte[] data){ super((QPrivateConstructor)null); @@ -11981,7 +11853,7 @@ public QByteArrayView(byte[] data){ private native static void purgeBytes(long pointer); /** - *

    See QByteArrayView::QByteArrayView(const char*)

    + *

    See QByteArrayView::QByteArrayView(const char*)

    */ public QByteArrayView(String data){ super((QPrivateConstructor)null); @@ -11997,7 +11869,7 @@ public QByteArrayView(String data){ private native static void purgeString(long pointer); /** - *

    See QByteArrayView::QByteArrayView(const char*)

    + *

    See QByteArrayView::QByteArrayView(const char*)

    */ public QByteArrayView(java.nio.ByteBuffer data){ super((QPrivateConstructor)null); @@ -12020,7 +11892,7 @@ public QByteArrayView(java.nio.ByteBuffer data){ private native static void purgeBuffer(long pointer); /** - *

    See QByteArrayView::QByteArrayView(QByteArray)

    + *

    See QByteArrayView::QByteArrayView(QByteArray)

    */ public QByteArrayView(QByteArray data){ super((QPrivateConstructor)null); @@ -12037,7 +11909,7 @@ public QByteArrayView(QByteArray data){ private Runnable purgeTask; /** - *

    See QByteArrayView::compare(QByteArray,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(QByteArray,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(QByteArray a){ @@ -12045,7 +11917,7 @@ public final int compare(QByteArray a){ } /** - *

    See QByteArrayView::compare(QByteArray,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(QByteArray,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(QByteArray a, Qt.CaseSensitivity cs){ @@ -12053,7 +11925,7 @@ public final int compare(QByteArray a, Qt.CaseSensitivity cs){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(byte[] a){ @@ -12061,7 +11933,7 @@ public final int compare(byte[] a){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(byte[] a, Qt.CaseSensitivity cs){ @@ -12069,7 +11941,7 @@ public final int compare(byte[] a, Qt.CaseSensitivity cs){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(java.nio.ByteBuffer a){ @@ -12077,7 +11949,7 @@ public final int compare(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(java.nio.ByteBuffer a, Qt.CaseSensitivity cs){ @@ -12085,7 +11957,7 @@ public final int compare(java.nio.ByteBuffer a, Qt.CaseSensitivity cs){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(String a){ @@ -12093,7 +11965,7 @@ public final int compare(String a){ } /** - *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    + *

    See QByteArrayView::compare(const char*,Qt::CaseSensitivity)const

    */ @QtUninvokable public final int compare(String a, Qt.CaseSensitivity cs){ @@ -12101,7 +11973,7 @@ public final int compare(String a, Qt.CaseSensitivity cs){ } /** - *

    See QByteArrayView::contains(QByteArray)const

    + *

    See QByteArrayView::contains(QByteArray)const

    */ @QtUninvokable public final boolean contains(QByteArray a){ @@ -12109,7 +11981,7 @@ public final boolean contains(QByteArray a){ } /** - *

    See QByteArrayView::contains(const char*)const

    + *

    See QByteArrayView::contains(const char*)const

    */ @QtUninvokable public final boolean contains(byte[] a){ @@ -12117,7 +11989,7 @@ public final boolean contains(byte[] a){ } /** - *

    See QByteArrayView::contains(const char*)const

    + *

    See QByteArrayView::contains(const char*)const

    */ @QtUninvokable public final boolean contains(String a){ @@ -12125,7 +11997,7 @@ public final boolean contains(String a){ } /** - *

    See QByteArrayView::contains(const char*)const

    + *

    See QByteArrayView::contains(const char*)const

    */ @QtUninvokable public final boolean contains(java.nio.ByteBuffer a){ @@ -12133,7 +12005,7 @@ public final boolean contains(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::endsWith(QByteArray)const

    + *

    See QByteArrayView::endsWith(QByteArray)const

    */ @QtUninvokable public final boolean endsWith(QByteArray a){ @@ -12141,7 +12013,7 @@ public final boolean endsWith(QByteArray a){ } /** - *

    See QByteArrayView::endsWith(const char*)const

    + *

    See QByteArrayView::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(byte[] a){ @@ -12149,7 +12021,7 @@ public final boolean endsWith(byte[] a){ } /** - *

    See QByteArrayView::endsWith(const char*)const

    + *

    See QByteArrayView::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(String a){ @@ -12157,7 +12029,7 @@ public final boolean endsWith(String a){ } /** - *

    See QByteArrayView::endsWith(const char*)const

    + *

    See QByteArrayView::endsWith(const char*)const

    */ @QtUninvokable public final boolean endsWith(java.nio.ByteBuffer a){ @@ -12165,7 +12037,7 @@ public final boolean endsWith(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::startsWith(QByteArray)const

    + *

    See QByteArrayView::startsWith(QByteArray)const

    */ @QtUninvokable public final boolean startsWith(QByteArray a){ @@ -12173,7 +12045,7 @@ public final boolean startsWith(QByteArray a){ } /** - *

    See QByteArrayView::startsWith(const char*)const

    + *

    See QByteArrayView::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(byte[] a){ @@ -12181,7 +12053,7 @@ public final boolean startsWith(byte[] a){ } /** - *

    See QByteArrayView::startsWith(const char*)const

    + *

    See QByteArrayView::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(String a){ @@ -12189,7 +12061,7 @@ public final boolean startsWith(String a){ } /** - *

    See QByteArrayView::startsWith(const char*)const

    + *

    See QByteArrayView::startsWith(const char*)const

    */ @QtUninvokable public final boolean startsWith(java.nio.ByteBuffer a){ @@ -12197,7 +12069,7 @@ public final boolean startsWith(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::count(QByteArray)const

    + *

    See QByteArrayView::count(QByteArray)const

    */ @QtUninvokable public final long count(QByteArray a){ @@ -12205,7 +12077,7 @@ public final long count(QByteArray a){ } /** - *

    See QByteArrayView::count(const char*)const

    + *

    See QByteArrayView::count(const char*)const

    */ @QtUninvokable public final long count(byte[] a){ @@ -12213,7 +12085,7 @@ public final long count(byte[] a){ } /** - *

    See QByteArrayView::count(const char*)const

    + *

    See QByteArrayView::count(const char*)const

    */ @QtUninvokable public final long count(String a){ @@ -12221,7 +12093,7 @@ public final long count(String a){ } /** - *

    See QByteArrayView::count(const char*)const

    + *

    See QByteArrayView::count(const char*)const

    */ @QtUninvokable public final long count(java.nio.ByteBuffer a){ @@ -12229,7 +12101,7 @@ public final long count(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::indexOf(QByteArray)const

    + *

    See QByteArrayView::indexOf(QByteArray)const

    */ @QtUninvokable public final long indexOf(QByteArray a){ @@ -12237,7 +12109,7 @@ public final long indexOf(QByteArray a){ } /** - *

    See QByteArrayView::indexOf(const char*)const

    + *

    See QByteArrayView::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(byte[] a){ @@ -12245,7 +12117,7 @@ public final long indexOf(byte[] a){ } /** - *

    See QByteArrayView::indexOf(const char*)const

    + *

    See QByteArrayView::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(String a){ @@ -12253,7 +12125,7 @@ public final long indexOf(String a){ } /** - *

    See QByteArrayView::indexOf(const char*)const

    + *

    See QByteArrayView::indexOf(const char*)const

    */ @QtUninvokable public final long indexOf(java.nio.ByteBuffer a){ @@ -12261,7 +12133,7 @@ public final long indexOf(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::indexOf(QByteArray,qsizetype)const

    + *

    See QByteArrayView::indexOf(QByteArray,qsizetype)const

    */ @QtUninvokable public final long indexOf(QByteArray a, long from){ @@ -12269,7 +12141,7 @@ public final long indexOf(QByteArray a, long from){ } /** - *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(byte[] a, long from){ @@ -12277,7 +12149,7 @@ public final long indexOf(byte[] a, long from){ } /** - *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(String a, long from){ @@ -12285,7 +12157,7 @@ public final long indexOf(String a, long from){ } /** - *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::indexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long indexOf(java.nio.ByteBuffer a, long from){ @@ -12293,7 +12165,7 @@ public final long indexOf(java.nio.ByteBuffer a, long from){ } /** - *

    See QByteArrayView::lastIndexOf(QByteArray)const

    + *

    See QByteArrayView::lastIndexOf(QByteArray)const

    */ @QtUninvokable public final long lastIndexOf(QByteArray a){ @@ -12301,7 +12173,7 @@ public final long lastIndexOf(QByteArray a){ } /** - *

    See QByteArrayView::lastIndexOf(const char*)const

    + *

    See QByteArrayView::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(byte[] a){ @@ -12309,7 +12181,7 @@ public final long lastIndexOf(byte[] a){ } /** - *

    See QByteArrayView::lastIndexOf(const char*)const

    + *

    See QByteArrayView::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(String a){ @@ -12317,7 +12189,7 @@ public final long lastIndexOf(String a){ } /** - *

    See QByteArrayView::lastIndexOf(const char*)const

    + *

    See QByteArrayView::lastIndexOf(const char*)const

    */ @QtUninvokable public final long lastIndexOf(java.nio.ByteBuffer a){ @@ -12325,7 +12197,7 @@ public final long lastIndexOf(java.nio.ByteBuffer a){ } /** - *

    See QByteArrayView::lastIndexOf(QByteArray,qsizetype)const

    + *

    See QByteArrayView::lastIndexOf(QByteArray,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(QByteArray a, long from){ @@ -12333,7 +12205,7 @@ public final long lastIndexOf(QByteArray a, long from){ } /** - *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(byte[] a, long from){ @@ -12341,7 +12213,7 @@ public final long lastIndexOf(byte[] a, long from){ } /** - *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(String a, long from){ @@ -12349,7 +12221,7 @@ public final long lastIndexOf(String a, long from){ } /** - *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    + *

    See QByteArrayView::lastIndexOf(const char*,qsizetype)const

    */ @QtUninvokable public final long lastIndexOf(java.nio.ByteBuffer a, long from){ @@ -12360,84 +12232,84 @@ public final long lastIndexOf(java.nio.ByteBuffer a, long from){ class QStringConverter___{ /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForHtml(QByteArray data){ return encodingForHtml(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(QByteArray data){ return encodingForData(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(QByteArray data, char expectedFirstCharacter){ return encodingForData(new QByteArrayView(data), expectedFirstCharacter); } /** - *

    See QStringConverter::encodingForHtml(QByteArrayView)

    + *

    See QStringConverter::encodingForHtml(QByteArrayView)

    */ public static java.util.Optional encodingForHtml(byte[] data){ return encodingForHtml(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(byte[] data){ return encodingForData(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(byte[] data, char expectedFirstCharacter){ return encodingForData(new QByteArrayView(data), expectedFirstCharacter); } /** - *

    See QStringConverter::encodingForHtml(QByteArrayView)

    + *

    See QStringConverter::encodingForHtml(QByteArrayView)

    */ public static java.util.Optional encodingForHtml(String data){ return encodingForHtml(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(String data){ return encodingForData(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(String data, char expectedFirstCharacter){ return encodingForData(new QByteArrayView(data), expectedFirstCharacter); } /** - *

    See QStringConverter::encodingForHtml(QByteArrayView)

    + *

    See QStringConverter::encodingForHtml(QByteArrayView)

    */ public static java.util.Optional encodingForHtml(java.nio.ByteBuffer data){ return encodingForHtml(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(java.nio.ByteBuffer data){ return encodingForData(new QByteArrayView(data)); } /** - *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    + *

    See QStringConverter::encodingForData(QByteArrayView,char16_t)

    */ public static java.util.Optional encodingForData(java.nio.ByteBuffer data, char expectedFirstCharacter){ return encodingForData(new QByteArrayView(data), expectedFirstCharacter); @@ -12448,28 +12320,28 @@ public static java.util.Optional encodingForData(java class QUuid_63__{ /** - *

    See QUuid::fromRfc4122(QByteArrayView)

    + *

    See QUuid::fromRfc4122(QByteArrayView)

    */ public static QUuid fromRfc4122(QByteArray data){ return fromRfc4122(new QByteArrayView(data)); } /** - *

    See QUuid::fromRfc4122(QByteArrayView)

    + *

    See QUuid::fromRfc4122(QByteArrayView)

    */ public static QUuid fromRfc4122(byte[] data){ return fromRfc4122(new QByteArrayView(data)); } /** - *

    See QUuid::fromRfc4122(QByteArrayView)

    + *

    See QUuid::fromRfc4122(QByteArrayView)

    */ public static QUuid fromRfc4122(String data){ return fromRfc4122(new QByteArrayView(data)); } /** - *

    See QUuid::fromRfc4122(QByteArrayView)

    + *

    See QUuid::fromRfc4122(QByteArrayView)

    */ public static QUuid fromRfc4122(java.nio.ByteBuffer data){ return fromRfc4122(new QByteArrayView(data)); @@ -12754,7 +12626,7 @@ class QFutureInterfaceBase___ { class QtFuture___ { /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal0 signal) { @@ -12780,7 +12652,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal1 signal) { @@ -12807,7 +12679,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture> connect(QMetaObject.@StrictNonNull AbstractPrivateSignal2 signal) { @@ -12834,7 +12706,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal3 signal) { @@ -12861,7 +12733,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal4 signal) { @@ -12888,7 +12760,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal5 signal) { @@ -12915,7 +12787,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal6 signal) { @@ -12942,7 +12814,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal7 signal) { @@ -12969,7 +12841,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal8 signal) { @@ -12996,7 +12868,7 @@ class QtFuture___ { } /** - *

    See QtFuture::connect(Sender *, Signal)

    + *

    See QtFuture::connect(Sender *, Signal)

    */ @QtUninvokable public static @NonNull QFuture connect(QMetaObject.@StrictNonNull AbstractPrivateSignal9 signal) { @@ -13024,9 +12896,9 @@ class QtFuture___ { }// class -class QtFuture_6_1__ { +class QtFuture_6_1to5__ { /** - *

    See QtFuture::makeReadyFuture(T)

    + *

    See QtFuture::makeReadyFuture(T)

    */ @QtUninvokable public static @NonNull QFuture makeReadyFuture(T value) @@ -13039,7 +12911,7 @@ class QtFuture_6_1__ { } /** - *

    See QtFuture::makeReadyFuture(QList<T>)

    + *

    See QtFuture::makeReadyFuture(QList<T>)

    */ @QtUninvokable public static @NonNull QFuture makeReadyFuture(java.util.Collection values) @@ -13050,9 +12922,9 @@ class QtFuture_6_1__ { promise.reportFinished(); return promise.future(); } - + /** - *

    See QtFuture::makeReadyFuture()

    + *

    See QtFuture::makeReadyFuture()

    */ @QtUninvokable public static @NonNull QFuture makeReadyFuture() @@ -13063,8 +12935,11 @@ class QtFuture_6_1__ { return promise.future(); } +}// class + +class QtFuture_6_1__ { /** - *

    See QtFuture::makeExceptionalFuture(QException)

    + *

    See QtFuture::makeExceptionalFuture(QException)

    */ @QtUninvokable public static @NonNull QFuture makeExceptionalFuture(@StrictNonNull Throwable exception) @@ -13079,7 +12954,7 @@ class QtFuture_6_1__ { class QtFuture_6_3__ { /** - *

    See QtFuture::whenAny(Futures)

    + *

    See QtFuture::whenAny(Futures)

    */ @QtUninvokable public static @NonNull QFuture> whenAny(QFuture... futures) { @@ -13100,7 +12975,7 @@ class QtFuture_6_3__ { } /** - *

    See QtFuture::whenAny(Futures)

    + *

    See QtFuture::whenAny(Futures)

    */ @QtUninvokable public static @NonNull QFuture> whenAny(java.util.Collection> futures) { @@ -13121,7 +12996,7 @@ class QtFuture_6_3__ { } /** - *

    See QtFuture::whenAll(Futures)

    + *

    See QtFuture::whenAll(Futures)

    */ @QtUninvokable public static @NonNull QFuture>> whenAll(QFuture... futures) { @@ -13147,7 +13022,7 @@ class QtFuture_6_3__ { } /** - *

    See QtFuture::whenAll(Futures)

    + *

    See QtFuture::whenAll(Futures)

    */ @QtUninvokable public static @NonNull QFuture>> whenAll(java.util.Collection> futures) { @@ -13173,6 +13048,75 @@ class QtFuture_6_3__ { } }// class +class QtFuture_6_6__ { + /** + * Use makeReadyValueFuture() instead + */ + @QtUninvokable + @Deprecated + public static @NonNull QFuture makeReadyFuture(T value){ + return makeReadyValueFuture(value); + } + + /** + * Use makeReadyRangeFuture() instead + */ + @QtUninvokable + @Deprecated + public static @NonNull QFuture makeReadyFuture(java.util.Collection values){ + return makeReadyRangeFuture(values); + } + + /** + * Use makeReadyVoidFuture() instead + */ + @QtUninvokable + @Deprecated + public static @NonNull QFuture makeReadyFuture(){ + return makeReadyVoidFuture(); + } + + /** + *

    See QtFuture::makeReadyValueFuture(T)

    + */ + @QtUninvokable + public static @NonNull QFuture makeReadyValueFuture(T value) + { + QFutureInterface promise = new QFutureInterface<>(); + promise.reportStarted(); + promise.reportResult(value); + promise.reportFinished(); + return promise.future(); + } + + /** + *

    See QtFuture::makeReadyRangeFuture(QList<T>)

    + */ + @QtUninvokable + public static @NonNull QFuture makeReadyRangeFuture(java.util.Collection values) + { + QFutureInterface promise = new QFutureInterface<>(); + promise.reportStarted(); + promise.reportResults(values); + promise.reportFinished(); + return promise.future(); + } + + /** + *

    See QtFuture::makeReadyRangeFuture(std::initializer_list<T>)

    + */ + @SafeVarargs + @QtUninvokable + public static @NonNull QFuture makeReadyRangeFuture(T value0, T... valuesN) + { + QFutureInterface promise = new QFutureInterface<>(); + promise.reportStarted(); + promise.reportResults(QList.of(value0, valuesN)); + promise.reportFinished(); + return promise.future(); + } +}// class + class QJsonDocument___{ /** @@ -13328,21 +13272,21 @@ public static QMetaType fromObject(Object obj) { } /** - *

    See QMetaType::fromName(const char*)

    + *

    See QMetaType::fromName(const char*)

    */ public static QMetaType fromName(String name){ return fromName(new QByteArrayView(name)); } /** - *

    See QMetaType::fromName(QByteArray)

    + *

    See QMetaType::fromName(QByteArray)

    */ public static QMetaType fromName(QByteArray name){ return fromName(new QByteArrayView(name)); } /** - *

    See QMetaType::fromName(const char*)

    + *

    See QMetaType::fromName(const char*)

    */ public static QMetaType fromName(byte[] name){ return fromName(new QByteArrayView(name)); @@ -13532,7 +13476,7 @@ public int value() { /** * This class represents a QMetaType-registered but Java-unknown QFlags type. */ - public static final class GenericFlags extends QFlags implements GenericTypeInterface, Comparable>{ + public static final class GenericFlags extends QFlags<@NonNull GenericFlag> implements GenericTypeInterface, Comparable<@NonNull QFlags>{ private static final long serialVersionUID = -7659504264600507749L; @NativeAccess @@ -13544,26 +13488,57 @@ private GenericFlags(int type, int value) { private final int type; @Override - public final QMetaType metaType() { + public final @NonNull QMetaType metaType() { return new QMetaType(type); } - public GenericFlag[] flags(){ + public @NonNull GenericFlag @NonNull[] flags(){ return new GenericFlag[]{new GenericFlag(value())}; } @Override - public GenericFlags clone() { + public @NonNull GenericFlags clone() { return new GenericFlags(type, value()); } @Override - public GenericFlags combined(GenericFlag flag) { - return new GenericFlags(type, value() | flag.value()); + public @NonNull GenericFlags combined(@StrictNonNull GenericFlag flag) { + return clone().setFlag(flag, true); } @Override - public int compareTo(QFlags o) { + public @NonNull GenericFlags cleared(@StrictNonNull GenericFlag flag) { + return clone().setFlag(flag, false); + } + + /** + * Sets the flag e + * @param e enum entry + * @return this + */ + public final @NonNull GenericFlags setFlag(@Nullable GenericFlag e){ + return setFlag(e, true); + } + + /** + * Sets or clears the flag flag + * @param e enum entry + * @param on set (true) or clear (false) + * @return this + */ + public final @NonNull GenericFlags setFlag(@Nullable GenericFlag e, boolean on){ + if(e!=null){ + if (on) { + setValue(value() | e.value()); + }else { + setValue(value() & ~e.value()); + } + } + return this; + } + + @Override + public int compareTo(@StrictNonNull QFlags o) { return Integer.compare(value(), o.value()); } } @@ -14056,7 +14031,7 @@ public static Object convert(Object obj, @StrictNonNull Type metaType, boolean o } /** - *

    See QVariant::canConvert(int)const

    + *

    See QVariant::canConvert(int)const

    */ @QtUninvokable public final boolean canConvert(QMetaType.@StrictNonNull Type targetType){ @@ -14064,7 +14039,7 @@ public final boolean canConvert(QMetaType.@StrictNonNull Type targetType){ } /** - *

    See QVariant::canConvert(int)const

    + *

    See QVariant::canConvert(int)const

    */ @QtUninvokable public final boolean canConvert(@StrictNonNull Type targetType){ @@ -14072,14 +14047,14 @@ public final boolean canConvert(@StrictNonNull Type targetType){ } /** - *

    See QVariant::convert(int)

    + *

    See QVariant::convert(int)

    */ public final boolean convert(@StrictNonNull Class cl, @StrictNonNull QMetaType @StrictNonNull... instantiations) { return convert(QMetaType.fromType(cl, instantiations).id()); } /** - *

    See QVariant::QVariant(int,const void*)

    + *

    See QVariant::QVariant(int,const void*)

    */ public QVariant(QMetaType.@StrictNonNull Type metaType){ this(metaType.value(), null); @@ -14110,7 +14085,7 @@ public static boolean canConvert(Object obj, QMetaType.@StrictNonNull Type type) class QVariant_6__ { /** - *

    See QVariant::QVariant(QMetaType,const void*)

    + *

    See QVariant::QVariant(QMetaType,const void*)

    */ public QVariant(QMetaType.@NonNull Type type, java.lang.Object copy){ this(new QMetaType(type), copy); @@ -14209,7 +14184,7 @@ public static Object convert(Object obj, int metaType, boolean ok[]) { } /** - *

    See QVariant::canConvert(QMetaType)const

    + *

    See QVariant::canConvert(QMetaType)const

    */ @QtUninvokable public final boolean canConvert(QMetaType.@NonNull Type targetType){ @@ -14233,7 +14208,7 @@ public static Object convert(Object obj, QMetaType.@NonNull Type type, boolean o } /** - *

    See QVariant::canConvert(QMetaType)const

    + *

    See QVariant::canConvert(QMetaType)const

    */ @Deprecated @QtUninvokable @@ -14254,14 +14229,14 @@ public static boolean canConvert(Object obj, @StrictNonNull QMetaType type) { } /** - *

    See QVariant::convert(QMetaType)

    + *

    See QVariant::convert(QMetaType)

    */ public final boolean convert(@StrictNonNull Class cl, @StrictNonNull QMetaType @StrictNonNull...instantiations) { return convert(QMetaType.fromType(cl, instantiations)); } /** - *

    See QVariant::QVariant(QMetaType,const void*)

    + *

    See QVariant::QVariant(QMetaType,const void*)

    */ public QVariant(QMetaType.@NonNull Type metaType){ this(new QMetaType(metaType), null); @@ -15243,19 +15218,19 @@ public static boolean canConvertToMap(Object obj) class QPartialOrdering___ { /** - *

    See QPartialOrdering::Equivalent

    + *

    See QPartialOrdering::Equivalent

    */ public static final int Equivalent = 0; /** - *

    See QPartialOrdering::Less

    + *

    See QPartialOrdering::Less

    */ public static final int Greater = 1; /** - *

    See QPartialOrdering::Greater

    + *

    See QPartialOrdering::Greater

    */ public static final int Less = -1; /** - *

    See QPartialOrdering::Unordered

    + *

    See QPartialOrdering::Unordered

    */ public static final int Unordered = -127; }// class @@ -15265,7 +15240,7 @@ class QMetaMethod___ { private java.util.List> parameterClassTypes; /** - *

    See QMetaMethod::parameterTypes() const

    + *

    See QMetaMethod::parameterTypes() const

    */ @QtUninvokable public final java.util.List> parameterClassTypes() { @@ -15279,7 +15254,7 @@ public final java.util.List> parameterClassTypes() { private native final java.util.List> parameterClassTypes_native(); /** - *

    See QMetaMethod::parameterType(int index) const

    + *

    See QMetaMethod::parameterType(int index) const

    */ @QtUninvokable public final Class parameterClassType(int index) { @@ -15287,7 +15262,7 @@ public final Class parameterClassType(int index) { } /** - *

    See QMetaMethod::returnType() const

    + *

    See QMetaMethod::returnType() const

    */ @QtUninvokable public final Class returnClassType(){ @@ -15300,7 +15275,7 @@ public final Class returnClassType(){ private native final Class returnClassType_native(); /** - *

    See QMetaMethod::methodSignature() const

    + *

    See QMetaMethod::methodSignature() const

    */ @QtUninvokable public final @NonNull String methodSignature() { @@ -15338,6 +15313,10 @@ public final Class returnClassType(){ return String.format("%1$s(%2$s)", name(), args); } + /** + * Returns the string representation of the QMetaMethod. + * @see #methodSignature() + */ @Override @QtUninvokable public final @NonNull String toString() { @@ -15345,7 +15324,7 @@ public final Class returnClassType(){ } /** - *

    See QMetaMethod::invoke(QObject *object, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    + *

    See QMetaMethod::invoke(QObject *object, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    */ @QtUninvokable public final Object invoke(QObject object, Object... args) throws IllegalArgumentException, QUnsuccessfulInvocationException { @@ -15353,7 +15332,7 @@ public final Object invoke(QObject object, Object... args) throws IllegalArgumen } /** - *

    See QMetaMethod::invoke(QObject *object, Qt::ConnectionType connectionType, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    + *

    See QMetaMethod::invoke(QObject *object, Qt::ConnectionType connectionType, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    */ @QtUninvokable public final Object invoke(QObject object, Qt.ConnectionType connection, Object... args) throws IllegalArgumentException, QUnsuccessfulInvocationException { @@ -15395,7 +15374,7 @@ public final Object invoke(QObject object, Qt.ConnectionType connection, Object. private native Object invoke_native(QObject object__id, Class[] argClassTypes, int connection, Object[] args); /** - *

    See QMetaMethod::invokeOnGadget(void *gadget, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    + *

    See QMetaMethod::invokeOnGadget(void *gadget, QGenericReturnArgument returnValue, QGenericArgument val0 = QGenericArgument(nullptr), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) const

    */ @QtUninvokable public final @Nullable Object invokeOnGadget(Object object, Object... args) throws IllegalArgumentException, QUnsuccessfulInvocationException { @@ -15756,19 +15735,19 @@ class QMetaProperty___{ } /** - *

    See QMetaProperty::resetOnGadget(const void *) const

    + *

    See QMetaProperty::resetOnGadget(const void *) const

    */ @QtUninvokable public native final boolean resetOnGadget(@StrictNonNull Object object); /** - *

    See QMetaProperty::readOnGadget(const void *) const

    + *

    See QMetaProperty::readOnGadget(const void *) const

    */ @QtUninvokable public native final Object readOnGadget(@StrictNonNull Object object); /** - *

    See QMetaProperty::writeOnGadget(void *, const QVariant &) const

    + *

    See QMetaProperty::writeOnGadget(void *, const QVariant &) const

    */ @QtUninvokable public native final boolean writeOnGadget(@StrictNonNull Object object, Object value); @@ -15782,7 +15761,7 @@ class QMetaProperty___{ private Class classType; /** - *

    See QMetaProperty::metaType() const

    + *

    See QMetaProperty::metaType() const

    */ @QtUninvokable public final Class classType(){ @@ -15806,7 +15785,7 @@ class QMetaEnum___{ } /** - *

    See QMetaEnum::keysToValue(const char *) const

    + *

    See QMetaEnum::keysToValue(const char *) const

    */ @QtUninvokable public @Nullable Integer keysToValue(String... keys) { @@ -15814,7 +15793,7 @@ class QMetaEnum___{ } /** - *

    See QMetaEnum::keysToValue(const char *) const

    + *

    See QMetaEnum::keysToValue(const char *) const

    */ @QtUninvokable public @Nullable Integer keysToValue(java.util.@StrictNonNull Collection<@NonNull String> keys) { @@ -15949,13 +15928,6 @@ class Qt___ extends Qt { }// class -class QTimeZone___{ - // No known zone > 12 hrs West of Greenwich (Baker Island, USA) - public static final int MinUtcOffsetSecs = -14 * 3600; - // No known zone > 14 hrs East of Greenwich (Kiritimati, Christmas Island, Kiribati) - public static final int MaxUtcOffsetSecs = +14 * 3600; -}// class - class QCollatorSortKey___{ @QtUninvokable @@ -15985,14 +15957,14 @@ private FromCborResult(QCborValue value, QCborParserError error) { class QCborStreamReader_java__{ /** - *

    See QCborStreamReader::QCborStreamReader(const char*,qsizetype)

    + *

    See QCborStreamReader::QCborStreamReader(const char*,qsizetype)

    */ public QCborStreamReader(byte[] data){ this(new QByteArray(data)); } /** - *

    See QCborStreamReader::addData(QByteArray)

    + *

    See QCborStreamReader::addData(QByteArray)

    */ @QtUninvokable public final void addData(byte[] data){ @@ -16791,7 +16763,7 @@ public static void registerPluginInterface(Class fa public static native void qRegisterPluginInterface(Class iface); /** - *

    See QPluginLoader::instance()

    + *

    See QPluginLoader::instance()

    */ @QtUninvokable public final T instance(Class type){ @@ -16813,14 +16785,14 @@ protected void addURLs(Collection urls) { private static final PluginClassLoader pluginClassLoader = new PluginClassLoader(); /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(QObject instance){ qRegisterStaticPluginFunction(instance, (QJsonObject)null); } /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(QObject instance, QJsonObject metaData) { if (metaData == null) { @@ -16830,28 +16802,28 @@ public static void qRegisterStaticPluginFunction(QObject instance, QJsonObject m } /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(QObject instance, java.util.Map metaData){ qRegisterStaticPluginFunction(instance, QJsonObject.fromVariantHash(metaData)); } /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(Class pluginClass){ qRegisterStaticPluginFunction(pluginClass, (QJsonObject)null); } /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(Class pluginClass, java.util.Map metaData){ qRegisterStaticPluginFunction(pluginClass, QJsonObject.fromVariantHash(metaData)); } /** - *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    + *

    See qRegisterStaticPluginFunction(QStaticPlugin)

    */ public static void qRegisterStaticPluginFunction(Class pluginClass, QJsonObject metaData) { try { @@ -17027,7 +16999,7 @@ private static QObject loadPluginInstance(String libPath, String className, Stri class QStaticPlugin_java__{ /** - *

    See QStaticPlugin::instance

    + *

    See QStaticPlugin::instance

    */ @QtUninvokable public final native QObject instance(); @@ -17049,7 +17021,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable) { @@ -17057,7 +17029,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable QObject parent) { @@ -17065,7 +17037,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, long stackSize) { @@ -17073,7 +17045,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, long stackSize, @Nullable QObject parent) { @@ -17081,7 +17053,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, long stackSize) { @@ -17089,7 +17061,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, long stackSize, @Nullable QObject parent) { @@ -17097,7 +17069,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name) { @@ -17105,7 +17077,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, @Nullable QObject parent) { @@ -17113,7 +17085,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, long stackSize) { @@ -17121,7 +17093,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, long stackSize, @Nullable QObject parent) { @@ -17129,7 +17101,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, long stackSize) { @@ -17137,7 +17109,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name, @Nullable QObject parent) { @@ -17145,7 +17117,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(Runnable, String) */ public static @NonNull QThread create(@StrictNonNull Runnable runnable, @Nullable String name) { @@ -17153,7 +17125,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable) { @@ -17161,7 +17133,7 @@ public QThread(ThreadGroup group, String name, long stackSize, QObject parent) { } /** - *

    See QThread::create(Function, Args...)

    + *

    See QThread::create(Function, Args...)

    * @see Thread#Thread(ThreadGroup, Runnable, String, long) */ public static @NonNull QThread create(ThreadGroup group, @StrictNonNull Runnable runnable, @Nullable String name, long stackSize, @Nullable QObject parent) { @@ -17348,6 +17320,7 @@ public void setUncaughtExceptionHandler(Thread.@Nullable UncaughtExceptionHandle private native Thread.UncaughtExceptionHandler __qt_getUncaughtExceptionHandler(); /** + * Sets the class loader of this thread * @see Thread#setContextClassLoader(ClassLoader) */ public void setContextClassLoader(@Nullable ClassLoader cl) { @@ -17361,6 +17334,7 @@ public void setContextClassLoader(@Nullable ClassLoader cl) { private native void __qt_setContextClassLoader(ClassLoader cl); /** + * Returns the class loader of this thread * @see Thread#getContextClassLoader() */ public final @Nullable ClassLoader getContextClassLoader() { @@ -17375,12 +17349,16 @@ public void setContextClassLoader(@Nullable ClassLoader cl) { private native void __qt_initialize(ThreadGroup group); private final Thread javaThread = null; + /** + * Returns the {@link Thread} instance repüresenting this {@link QThread}. + */ public final @Nullable Thread javaThread() { return javaThread==null ? __qt_javaThread() : javaThread; } private native Thread __qt_javaThread(); public static native @Nullable QThread thread(@NonNull Thread thread); /** + * Returns true if thread is running. * @see Thread#isAlive() */ public final boolean isAlive() { @@ -17388,6 +17366,7 @@ public final boolean isAlive() { } /** + * Returns true if interruption is requested. * @see Thread#isInterrupted() */ public final boolean isInterrupted() { @@ -17397,6 +17376,7 @@ public final boolean isInterrupted() { } /** + * Checks if current thread has been interrupted and clear interruption state. * @see Thread#interrupted() */ public static boolean interrupted() { @@ -17404,6 +17384,7 @@ public static boolean interrupted() { } /** + * Interrupts the current thread. * @see Thread#interrupt() */ public final void interrupt() { @@ -17435,6 +17416,11 @@ public void run() { private boolean isClosed = false; } + /** + * This type represents a locked data access. + * Close this after accessing data. It is recommended to use this in resource try block. + * @see QSharedMemory#access() + */ public static class DataAccess implements AutoCloseable{ private final QSharedMemory sharedMemory; @@ -17445,11 +17431,17 @@ public static class DataAccess implements AutoCloseable{ cleanable = QtJambi_LibraryUtilities.internal.registerCleaner(this, new CleanTask(sharedMemory)); } + /** + * Unlocks QSharedMemory + */ @Override public void close(){ cleanable.clean(); } + /** + * Access to QSharedMemory's data + */ @QtUninvokable public java.nio.@NonNull ByteBuffer data() { if(!sharedMemory.__qt_isInUse) { @@ -17467,6 +17459,9 @@ public void close(){ private AccessMode __qt_accessMode = AccessMode.ReadOnly; private boolean __qt_isInUse; + /** + * Locks QSharedMemory and gives access to its data. + */ public @NonNull DataAccess access() throws IllegalStateException{ if(this.isAttached() && !__qt_isInUse && lock()) { __qt_isInUse = true; @@ -17676,7 +17671,7 @@ public QLoggingCategory(java.lang.@NonNull String category){ } /** - *

    See QLoggingCategory::QLoggingCategory(const char*,QtMsgType)

    + *

    See QLoggingCategory::QLoggingCategory(const char*,QtMsgType)

    */ public QLoggingCategory(java.lang.@NonNull String category, @NonNull QtMsgType severityLevel){ this(category==null ? null : new QByteArray(category), severityLevel); @@ -17786,7 +17781,7 @@ static void addClassPath(java.net.URL url) { class QCryptographicHash___{ /** - *

    See QCryptographicHash::addData(const char*)

    + *

    See QCryptographicHash::addData(const char*)

    */ @QtUninvokable public final void addData(java.nio.ByteBuffer data){ @@ -17794,14 +17789,14 @@ public final void addData(java.nio.ByteBuffer data){ } /** - *

    See QCryptographicHash::hash(const char*,QCryptographicHash::Algorithm)

    + *

    See QCryptographicHash::hash(const char*,QCryptographicHash::Algorithm)

    */ public static QByteArray hash(java.nio.ByteBuffer data, QCryptographicHash.Algorithm method){ return hash(new QByteArrayView(data), method); } /** - *

    See QCryptographicHash::addData(QByteArray)

    + *

    See QCryptographicHash::addData(QByteArray)

    */ @QtUninvokable public final void addData(@NonNull QByteArray data){ @@ -17809,7 +17804,7 @@ public final void addData(@NonNull QByteArray data){ } /** - *

    See QCryptographicHash::hash(QByteArray,QCryptographicHash::Algorithm)

    + *

    See QCryptographicHash::hash(QByteArray,QCryptographicHash::Algorithm)

    */ public static @NonNull QByteArray hash(@NonNull QByteArray data, QCryptographicHash.@NonNull Algorithm method){ return hash(new QByteArrayView(data), method); @@ -17818,7 +17813,7 @@ public final void addData(@NonNull QByteArray data){ class QDataStream_5__{ /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ public final @NonNull QDataStream append(T object){ int metaType = QMetaType.fromObject(object).id(); @@ -17830,7 +17825,7 @@ class QDataStream_5__{ } /** - *

    See QDataStream::operator>>

    + *

    See QDataStream::operator>>

    */ @SuppressWarnings("unchecked") public final T readObject(Class cl, @NonNull QMetaType @NonNull...instantiations){ @@ -17846,7 +17841,7 @@ public final T readObject(Class cl, @NonNull QMetaType @NonNull...instant class QDataStream_6__{ /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ public final @NonNull QDataStream append(T object){ QMetaType metaType = QMetaType.fromObject(object); @@ -17858,7 +17853,7 @@ class QDataStream_6__{ } /** - *

    See QDataStream::operator>>

    + *

    See QDataStream::operator>>

    */ @SuppressWarnings("unchecked") public final T readObject(Class cl, @NonNull QMetaType @NonNull...instantiations){ @@ -17875,7 +17870,7 @@ public final T readObject(Class cl, @NonNull QMetaType @NonNull...instant class QDataStream___{ /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeObject(T t){ @@ -17883,7 +17878,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeString(java.lang.String s){ @@ -17891,7 +17886,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeDouble(double v){ @@ -17899,7 +17894,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeByte(byte v){ @@ -17907,7 +17902,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream append(byte[] v){ @@ -17916,7 +17911,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeChar(char v){ @@ -17924,7 +17919,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeFloat(float v){ @@ -17932,7 +17927,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeInt(int v){ @@ -17940,7 +17935,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeLong(long v){ @@ -17948,7 +17943,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeShort(short v){ @@ -17956,7 +17951,7 @@ class QDataStream___{ } /** - *

    See QDataStream::operator<<

    + *

    See QDataStream::operator<<

    */ @QtUninvokable public final @NonNull QDataStream writeBoolean(boolean v){ @@ -17993,7 +17988,7 @@ public final char charAt(int index) { } /** - *

    See QString::arg(Args &&... args) const

    + *

    See QString::arg(Args &&... args) const

    */ @QtUninvokable public final @NonNull QString arg(Object... args){ @@ -18067,38 +18062,38 @@ else if(arg!=null) class QtGlobal_5_ { /** - *

    See qHash(T,0)

    + *

    See qHash(T,0)

    */ public static int qHash(T object) throws UnsupportedOperationException { return qHash(object, 0); } /** - *

    See qHash(T,int)

    + *

    See qHash(T,int)

    */ public static native int qHash(T object, int seed) throws UnsupportedOperationException; }// class class QtGlobal_6_ { /** - *

    See qHash(T,0)

    + *

    See qHash(T,0)

    */ public static long qHash(T object) throws UnsupportedOperationException { return qHash(object, 0); } /** - *

    See qHash(T,long)

    + *

    See qHash(T,long)

    */ public static native long qHash(T object, long seed) throws UnsupportedOperationException; /** - *

    See qHashMulti(long,T...)

    + *

    See qHashMulti(long,T...)

    */ public static native long qHashMulti(long seed, Object... objects) throws UnsupportedOperationException; /** - *

    See qHashMultiCommutative(long,T...)

    + *

    See qHashMultiCommutative(long,T...)

    */ public static native long qHashMultiCommutative(long seed, Object... objects) throws UnsupportedOperationException; }// class diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiGui.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiGui.java index 75df583a..660ca8b8 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiGui.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiGui.java @@ -220,7 +220,7 @@ public QShortcut(io.qt.gui.QKeySequence.StandardKey key, io.qt.core.QObject pare } /** - *

    Type-casting overload of QObject::parent()const

    + *

    Type-casting overload of QObject::parent()const

    */ @QtUninvokable public final T parent(Class type) { @@ -252,15 +252,18 @@ class QBrush___ extends QBrush { class QClipboard___ extends QClipboard { - public final static class Text { - private Text(String text, String subtype) { - super(); - this.text = text; - this.subtype = subtype; - } - public final String text; - public final String subtype; + /** + * Result type for {@link QClipboard#text(String, Mode)}. + */ + public final static class Text { + private Text(String text, String subtype) { + super(); + this.text = text; + this.subtype = subtype; } + public final String text; + public final String subtype; + } }// class class QColor___ extends QColor { @@ -556,6 +559,10 @@ public final void setConvolutionKernel(double[] kernel, int rows, int columns) { }// class class QTextCursor___ extends QTextCursor { + + /** + * Result type for {@link QTextCursor#selectedTableCells()}. + */ public final static class SelectedTableCells { private SelectedTableCells(int firstRow, int numRows, int firstColumn, int numColumns) { this.firstRow = firstRow; @@ -610,6 +617,9 @@ public final void append(double x, double y) { class QValidator___ extends QValidator { + /** + Result type for {@link QValidator#validate(QValidationData)}. + */ public static class QValidationData { @NativeAccess public QValidationData(String input, int pos) { @@ -682,6 +692,9 @@ class QPaintDeviceWindow___ extends QPaintDeviceWindow { }// class class QQuaternion___ extends QQuaternion { + /** + * Result type for {@link QQuaternion#getAxes()}. + */ public static class Axes{ private Axes(QVector3D xAxis, QVector3D yAxis, QVector3D zAxis) { super(); @@ -694,6 +707,9 @@ private Axes(QVector3D xAxis, QVector3D yAxis, QVector3D zAxis) { public final QVector3D zAxis; } + /** + * Result type for {@link QQuaternion#getAxisAndAngle()}. + */ public static class AxisAndAngle{ private AxisAndAngle(QVector3D axis, float angle) { super(); @@ -704,6 +720,9 @@ private AxisAndAngle(QVector3D axis, float angle) { public final float angle; } + /** + * Result type for {@link QQuaternion#getEulerAngles()}. + */ public static class EulerAngles{ private EulerAngles(float pitch, float yaw, float roll) { super(); @@ -782,7 +801,7 @@ public final void setIcon(QPixmap pm) { } /** - *

    Type-casting overload of QObject::parent()const

    + *

    Type-casting overload of QObject::parent()const

    */ @QtUninvokable public final T parent(Class type) { @@ -793,7 +812,7 @@ public final T parent(Class type) { } /** - *

    Type-casting overload of QAction::associatedObjects()const

    + *

    Type-casting overload of QAction::associatedObjects()const

    */ @QtUninvokable public final io.qt.core.QList associatedObjects(Class type) { diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiNetwork.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiNetwork.java index 9e2b984a..b7e6bf93 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiNetwork.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiNetwork.java @@ -45,7 +45,7 @@ class QSsl___{ class QHostInfo___ extends QHostInfo { /** - *

    See QHostInfo::lookupHost(QString, Functor)

    + *

    See QHostInfo::lookupHost(QString, Functor)

    */ @QtUninvokable public static int lookupHost(String name, io.qt.core.QMetaObject.Slot1 slot) { @@ -71,7 +71,7 @@ public static int lookupHost(String name, io.qt.core.QMetaObject.Slot1See QHostInfo::lookupHost(QString, QObject, Functor)

    + *

    See QHostInfo::lookupHost(QString, QObject, Functor)

    */ @QtUninvokable public static int lookupHost(String name, io.qt.core.QObject context, io.qt.core.QMetaObject.Slot1 slot){ @@ -97,7 +97,7 @@ public static int lookupHost(String name, io.qt.core.QObject context, io.qt.core } /** - *

    See QHostInfo::lookupHost(QString, Functor)

    + *

    See QHostInfo::lookupHost(QString, Functor)

    */ @SuppressWarnings("unchecked") @QtUninvokable @@ -146,7 +146,7 @@ public final boolean waitForNewConnection() throws QTimeoutException { class QUdpSocket___ extends QUdpSocket { /** - * Result class for QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *). + * Result class for QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *). */ public static final class HostInfo { public HostInfo() { @@ -159,28 +159,28 @@ public HostInfo() { } /** - *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    + *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    */ public final long readDatagram(byte data[], HostInfo info) { return readDatagram(java.nio.ByteBuffer.wrap(data), info); } /** - *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    + *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    */ public final long readDatagram(byte data[]) { return readDatagram(data, null); } /** - *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    + *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    */ public final long readDatagram(java.nio.ByteBuffer data) { return readDatagram(data, null); } /** - *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    + *

    See QUdpSocket::readDatagram(char *, qint64, QHostAddress *, quint16 *)

    */ public final long writeDatagram(byte data[], QHostAddress address, short port) { return writeDatagram(java.nio.ByteBuffer.wrap(data), address, port); @@ -189,7 +189,7 @@ public final long writeDatagram(byte data[], QHostAddress address, short port) { class QNetworkReply___ extends QNetworkReply { /** - *

    See QNetworkReply::rawHeader(QByteArray)const

    + *

    See QNetworkReply::rawHeader(QByteArray)const

    */ @QtUninvokable public final io.qt.core.QByteArray rawHeader(String headerName){ @@ -197,7 +197,7 @@ public final io.qt.core.QByteArray rawHeader(String headerName){ } /** - *

    See QNetworkReply::hasRawHeader(QByteArray)const

    + *

    See QNetworkReply::hasRawHeader(QByteArray)const

    */ @QtUninvokable public final boolean hasRawHeader(String headerName){ diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiQml.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiQml.java index b3fd4cdc..a48ab8de 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiQml.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiQml.java @@ -126,7 +126,7 @@ public static int qmlRegisterSingletonInstance(QObject instance, String uri, int } /** - *

    See qmlRegisterSingletonInstance(const char*,int,int,const char*,QObject*)

    + *

    See qmlRegisterSingletonInstance(const char*,int,int,const char*,QObject*)

    */ public static int qmlRegisterSingletonInstance(String uri, int versionMajor, int versionMinor, String qmlName, QObject instance){ java.util.Objects.requireNonNull(instance); @@ -205,7 +205,7 @@ public final T fromVariant(Object variant, Class type, io.qt.core.QMetaTy class QQmlEngine__{ /** - *

    See QQmlEngine::singletonInstance(int)

    + *

    See QQmlEngine::singletonInstance(int)

    */ @QtUninvokable public final T singletonInstance(Class type, int qmlTypeId) { @@ -220,7 +220,7 @@ public final T singletonInstance(Class type, in class QQmlEngine_65_{ /** - *

    See QQmlEngine::singletonInstance(QAnyStringView,QAnyStringView)

    + *

    See QQmlEngine::singletonInstance(QAnyStringView,QAnyStringView)

    */ @QtUninvokable public final T singletonInstance(Class type, java.lang.@NonNull String moduleName, java.lang.@NonNull String typeName) { diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiScxml.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiScxml.java index 983050cf..a7e62be0 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiScxml.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiScxml.java @@ -42,7 +42,7 @@ class ForeachLoopBody___ { class QScxmlStateMachine___ { /** - *

    See QScxmlStateMachine::onEntry(QObject, const char*)

    + *

    See QScxmlStateMachine::onEntry(QObject, const char*)

    */ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QObject object, String slot){ io.qt.core.QMetaMethod method = object.metaObject().method(slot); @@ -55,7 +55,7 @@ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QObject o } /** - *

    See QScxmlStateMachine::onExit(QObject, const char*)

    + *

    See QScxmlStateMachine::onExit(QObject, const char*)

    */ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QObject object, String slot){ io.qt.core.QMetaMethod method = object.metaObject().method(slot); @@ -68,7 +68,7 @@ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QObject ob } /** - *

    See QScxmlStateMachine::onEntry(Functor)

    + *

    See QScxmlStateMachine::onEntry(Functor)

    */ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QMetaObject.Slot0 slot){ io.qt.core.QObject object = QtJambi_LibraryUtilities.internal.lambdaContext(slot); @@ -79,7 +79,7 @@ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QMetaObje } /** - *

    See QScxmlStateMachine::onExit(Functor)

    + *

    See QScxmlStateMachine::onExit(Functor)

    */ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QMetaObject.Slot0 slot){ io.qt.core.QObject object = QtJambi_LibraryUtilities.internal.lambdaContext(slot); @@ -90,7 +90,7 @@ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QMetaObjec } /** - *

    See QScxmlStateMachine::onEntry(Functor)

    + *

    See QScxmlStateMachine::onEntry(Functor)

    */ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QMetaObject.Emitable0 signal){ return (isEnteringState) -> { @@ -100,7 +100,7 @@ public static io.qt.core.QMetaObject.Slot1 onEntry(io.qt.core.QMetaObje } /** - *

    See QScxmlStateMachine::onExit(Functor)

    + *

    See QScxmlStateMachine::onExit(Functor)

    */ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QMetaObject.Emitable0 signal){ return (isEnteringState) -> { @@ -110,7 +110,7 @@ public static io.qt.core.QMetaObject.Slot1 onExit(io.qt.core.QMetaObjec } /** - *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, io.qt.core.QMetaObject.Slot0 slot, io.qt.core.Qt.ConnectionType... type){ @@ -137,7 +137,7 @@ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, io.qt.core.QMetaObject.Connectable0 signal, io.qt.core.Qt.ConnectionType... type){ @@ -169,7 +169,7 @@ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, io.qt.core.QMetaObject.Slot1 slot, io.qt.core.Qt.ConnectionType... type){ @@ -199,7 +199,7 @@ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToState(QString, Functor, Qt::ConnectionType)

    */ @SuppressWarnings("unchecked") public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, @@ -235,7 +235,7 @@ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToState(QString, QObject, const char*, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToState(QString, QObject, const char*, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, io.qt.core.QObject object, String member, io.qt.core.Qt.ConnectionType... type){ @@ -260,7 +260,7 @@ public io.qt.core.QMetaObject.Connection connectToState(String scxmlStateName, private native io.qt.core.QMetaObject.Connection connectToState(long nativeId, String scxmlStateName, io.qt.core.QMetaObject.AbstractSlot slot, int type); /** - *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, io.qt.core.QMetaObject.Slot0 slot, io.qt.core.Qt.ConnectionType... type){ @@ -287,7 +287,7 @@ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, io.qt.core.QMetaObject.Connectable0 signal, io.qt.core.Qt.ConnectionType... type){ @@ -320,7 +320,7 @@ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, io.qt.core.QMetaObject.Slot1 slot, io.qt.core.Qt.ConnectionType... type){ @@ -350,7 +350,7 @@ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToEvent(QString, Functor, Qt::ConnectionType)

    */ @SuppressWarnings("unchecked") public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, @@ -386,7 +386,7 @@ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, } /** - *

    See QScxmlStateMachine::connectToEvent(QString, QObject, const char*, Qt::ConnectionType)

    + *

    See QScxmlStateMachine::connectToEvent(QString, QObject, const char*, Qt::ConnectionType)

    */ public io.qt.core.QMetaObject.Connection connectToEvent(String scxmlStateName, io.qt.core.QObject object, String member, io.qt.core.Qt.ConnectionType... type){ diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiTest.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiTest.java index 38502c24..94fd8d8f 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiTest.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiTest.java @@ -32,7 +32,7 @@ class QTest__{ /** - *

    See QBENCHMARK

    + *

    See QBENCHMARK

    */ @QtUninvokable public static void QBENCHMARK(Runnable runnable) { @@ -42,7 +42,7 @@ public static void QBENCHMARK(Runnable runnable) { } /** - *

    See QBENCHMARK_ONCE

    + *

    See QBENCHMARK_ONCE

    */ @QtUninvokable public static void QBENCHMARK_ONCE(Runnable runnable) { @@ -72,7 +72,7 @@ public static boolean qCompare(T t1, T t2, java.lang.String actual, java.lan } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static > void QCOMPARE(T t1, T t2) throws AssertionError { @@ -85,7 +85,7 @@ public static > void QCOMPARE(T t1, T t2) throws Asserti } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(T t1, T t2) throws AssertionError { @@ -98,7 +98,7 @@ public static void QCOMPARE(T t1, T t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(int t1, int t2) throws AssertionError { @@ -111,7 +111,7 @@ public static void QCOMPARE(int t1, int t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(double t1, double t2) throws AssertionError { @@ -124,7 +124,7 @@ public static void QCOMPARE(double t1, double t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(float t1, double t2) throws AssertionError { @@ -137,7 +137,7 @@ public static void QCOMPARE(float t1, double t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(double t1, float t2) throws AssertionError { @@ -150,7 +150,7 @@ public static void QCOMPARE(double t1, float t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(float t1, float t2) throws AssertionError { @@ -163,7 +163,7 @@ public static void QCOMPARE(float t1, float t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(String t1, String t2) throws AssertionError { @@ -176,7 +176,7 @@ public static void QCOMPARE(String t1, String t2) throws AssertionError { } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(io.qt.gui.QIcon t1, io.qt.gui.QIcon t2) throws AssertionError { @@ -193,7 +193,7 @@ public static void QCOMPARE(io.qt.gui.QIcon t1, io.qt.gui.QIcon t2) throws Asser } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(io.qt.gui.QPixmap t1, io.qt.gui.QPixmap t2) throws AssertionError { @@ -210,7 +210,7 @@ public static void QCOMPARE(io.qt.gui.QPixmap t1, io.qt.gui.QPixmap t2) throws A } /** - *

    See QCOMPARE(actual, expected)

    + *

    See QCOMPARE(actual, expected)

    */ @QtUninvokable public static void QCOMPARE(io.qt.gui.QImage t1, io.qt.gui.QImage t2) throws AssertionError { @@ -227,7 +227,7 @@ public static void QCOMPARE(io.qt.gui.QImage t1, io.qt.gui.QImage t2) throws Ass } /** - *

    See QEXPECT_FAIL(dataIndex, comment, mode)

    + *

    See QEXPECT_FAIL(dataIndex, comment, mode)

    */ @QtUninvokable public static void QEXPECT_FAIL(String dataIndex, String comment, QTest.TestFailMode mode) throws AssertionError { @@ -237,7 +237,7 @@ public static void QEXPECT_FAIL(String dataIndex, String comment, QTest.TestFail } /** - *

    See QFAIL(message)

    + *

    See QFAIL(message)

    */ @QtUninvokable public static void QFAIL(String message) throws AssertionError { @@ -265,7 +265,7 @@ public static T QFETCH_GLOBAL(Class type, String name) { } /** - *

    See QFETCH(type, name)

    + *

    See QFETCH(type, name)

    */ @QtUninvokable public static T QFETCH(String name, Class type, io.qt.core.QMetaType...instantiations) { @@ -273,7 +273,7 @@ public static T QFETCH(String name, Class type, io.qt.core.QMetaType...in } /** - *

    See QFETCH_GLOBAL(type, name)

    + *

    See QFETCH_GLOBAL(type, name)

    */ @QtUninvokable public static T QFETCH_GLOBAL(String name, Class type, io.qt.core.QMetaType...instantiations) { @@ -281,7 +281,7 @@ public static T QFETCH_GLOBAL(String name, Class type, io.qt.core.QMetaTy } /** - *

    See QFINDTESTDATA(filename)

    + *

    See QFINDTESTDATA(filename)

    */ @QtUninvokable public static String QFINDTESTDATA(String basepath){ @@ -290,7 +290,7 @@ public static String QFINDTESTDATA(String basepath){ } /** - *

    See QFINDTESTDATA(filename,builddir)

    + *

    See QFINDTESTDATA(filename,builddir)

    */ @QtUninvokable public static String QFINDTESTDATA(String basepath, java.lang.String builddir){ @@ -299,7 +299,7 @@ public static String QFINDTESTDATA(String basepath, java.lang.String builddir){ } /** - *

    See QSKIP(description)

    + *

    See QSKIP(description)

    */ @QtUninvokable public static void QSKIP(String statement){ @@ -315,7 +315,7 @@ public static boolean qTest(T actual, String elementName, String actualStr, } /** - *

    See QTEST(actual, testElement)

    + *

    See QTEST(actual, testElement)

    */ @QtUninvokable public static void QTEST(T actual, String testElement) throws AssertionError { @@ -325,7 +325,7 @@ public static void QTEST(T actual, String testElement) throws AssertionError } /** - *

    See QTest::qExec(QObject *, int, char **)

    + *

    See QTest::qExec(QObject *, int, char **)

    */ @QtUninvokable public static int qExec(io.qt.core.QObject testObject, String...args){ @@ -384,7 +384,7 @@ private static void QTRY_COMPARE_WITH_TIMEOUT_IMPL(io.qt.InternalAccess.CallerCo } /** - *

    See QTRY_COMPARE_WITH_TIMEOUT(actual, expected, timeout)

    + *

    See QTRY_COMPARE_WITH_TIMEOUT(actual, expected, timeout)

    */ @QtUninvokable public static > void QTRY_COMPARE_WITH_TIMEOUT(T t1, T t2, int timeout) throws AssertionError { @@ -393,7 +393,7 @@ public static > void QTRY_COMPARE_WITH_TIMEOUT(T t1, T t } /** - *

    See QTRY_COMPARE(actual, expected)

    + *

    See QTRY_COMPARE(actual, expected)

    */ @QtUninvokable public static > void QTRY_COMPARE(T t1, T t2) throws AssertionError { @@ -402,7 +402,7 @@ public static > void QTRY_COMPARE(T t1, T t2) throws Ass } /** - *

    See QTRY_COMPARE_WITH_TIMEOUT(actual, expected, timeout)

    + *

    See QTRY_COMPARE_WITH_TIMEOUT(actual, expected, timeout)

    */ @QtUninvokable public static void QTRY_COMPARE_WITH_TIMEOUT(T t1, T t2, int timeout) throws AssertionError { @@ -411,7 +411,7 @@ public static void QTRY_COMPARE_WITH_TIMEOUT(T t1, T t2, int timeout) throws } /** - *

    See QTRY_COMPARE(actual, expected)

    + *

    See QTRY_COMPARE(actual, expected)

    */ @QtUninvokable public static void QTRY_COMPARE(T t1, T t2) throws AssertionError { @@ -427,7 +427,7 @@ public static void QTRY_VERIFY_WITH_TIMEOUT(java.util.function.BooleanSupplier e } /** - *

    See QTRY_VERIFY_WITH_TIMEOUT(condition, timeout)

    + *

    See QTRY_VERIFY_WITH_TIMEOUT(condition, timeout)

    */ @QtUninvokable public static void QTRY_VERIFY_WITH_TIMEOUT(java.util.function.BooleanSupplier expr, String messageExpression, int timeout) throws AssertionError { @@ -437,7 +437,7 @@ public static void QTRY_VERIFY_WITH_TIMEOUT(java.util.function.BooleanSupplier e } /** - *

    See QVERIFY(condition)

    + *

    See QVERIFY(condition)

    */ @QtUninvokable public static void QVERIFY(java.util.function.BooleanSupplier statement) throws AssertionError { @@ -446,7 +446,7 @@ public static void QVERIFY(java.util.function.BooleanSupplier statement) throws } /** - *

    See QVERIFY(condition)

    + *

    See QVERIFY(condition)

    */ @QtUninvokable private static void QVERIFY(io.qt.InternalAccess.CallerContext info, java.util.function.BooleanSupplier statement) throws AssertionError { @@ -455,7 +455,7 @@ private static void QVERIFY(io.qt.InternalAccess.CallerContext info, java.util.f } /** - *

    See QVERIFY2(condition,message)

    + *

    See QVERIFY2(condition,message)

    */ @QtUninvokable public static void QVERIFY(java.util.function.BooleanSupplier statement, String description) throws AssertionError { @@ -464,7 +464,7 @@ public static void QVERIFY(java.util.function.BooleanSupplier statement, String } /** - *

    See QVERIFY2(condition,message)

    + *

    See QVERIFY2(condition,message)

    */ @QtUninvokable private static void QVERIFY(io.qt.InternalAccess.CallerContext info, java.util.function.BooleanSupplier statement, String description) throws AssertionError { @@ -478,7 +478,7 @@ private static void QVERIFY(io.qt.InternalAccess.CallerContext info, java.util.f } /** - *

    See QTest

    + *

    See QTest

    */ @QtUninvokable public static void QWARN(String message){ @@ -487,7 +487,7 @@ public static void QWARN(String message){ } /** - *

    See QTest

    + *

    See QTest

    */ @QtUninvokable public static io.qt.core.QTemporaryDir QEXTRACTTESTDATA(String resourcePath){ @@ -505,7 +505,7 @@ public static void addColumn(Class type, String name){ /** * Place this macro-like method in the main method of the test class. - *

    See QTEST_MAIN(TestClass)

    + *

    See QTEST_MAIN(TestClass)

    */ @QtUninvokable @SuppressWarnings("unchecked") @@ -518,7 +518,7 @@ public static int QTEST_MAIN(String... args) { /** * Place this macro-like method in the main method of the test class. - *

    See QTEST_MAIN(TestClass)

    + *

    See QTEST_MAIN(TestClass)

    */ @QtUninvokable @SuppressWarnings("unchecked") @@ -531,7 +531,7 @@ public static int QTEST_WIDGETLESS_MAIN(String... args) { /** * Place this macro-like method in the main method of the test class. - *

    See QTEST_GUILESS_MAIN(TestClass)

    + *

    See QTEST_GUILESS_MAIN(TestClass)

    */ @QtUninvokable @SuppressWarnings("unchecked") @@ -544,7 +544,7 @@ public static int QTEST_GUILESS_MAIN(String... args) { /** * Place this macro-like method in the main method of the test class. - *

    See QTEST_APPLESS_MAIN(TestClass)

    + *

    See QTEST_APPLESS_MAIN(TestClass)

    */ @QtUninvokable @SuppressWarnings("unchecked") @@ -601,7 +601,7 @@ private static int QTEST_MAIN_WRAPPER(Class testCl class QTest_5__{ /** - *

    See QTest::touchEvent(QWindow *window, QTouchDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWindow *window, QTouchDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow window, io.qt.gui.QTouchDevice device) { @@ -609,13 +609,13 @@ public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow } /** - *

    See QTest::touchEvent(QWindow *window, QTouchDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWindow *window, QTouchDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static native io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow window, io.qt.gui.QTouchDevice device, boolean autoCommit); /** - *

    See QTest::touchEvent(QWidget *widget, QTouchDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWidget *widget, QTouchDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.widgets.QWidget window, io.qt.gui.QTouchDevice device) { @@ -623,7 +623,7 @@ public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.widgets.QWid } /** - *

    See QTest::touchEvent(QWidget *widget, QTouchDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWidget *widget, QTouchDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static native io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.widgets.QWidget window, io.qt.gui.QTouchDevice device, boolean autoCommit); @@ -633,7 +633,7 @@ public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.widgets.QWid class QTest_6__{ /** - *

    See QTest::touchEvent(QWidget *widget, QPointingDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWidget *widget, QPointingDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow window, io.qt.gui.QPointingDevice device) { @@ -641,7 +641,7 @@ public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow } /** - *

    See QTest::touchEvent(QWidget *widget, QPointingDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWidget *widget, QPointingDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow window, io.qt.gui.QPointingDevice device, boolean autoCommit){ @@ -649,7 +649,7 @@ public static io.qt.test.QTest.QTouchEventSequence touchEvent(io.qt.gui.QWindow } /** - *

    See QTest::touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static io.qt.test.QTest.QTouchEventWidgetSequence touchEvent(io.qt.widgets.QWidget window, io.qt.gui.QPointingDevice device) { @@ -657,13 +657,13 @@ public static io.qt.test.QTest.QTouchEventWidgetSequence touchEvent(io.qt.widget } /** - *

    See QTest::touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit = true)

    + *

    See QTest::touchEvent(QWindow *window, QPointingDevice *device, bool autoCommit = true)

    */ @QtUninvokable public static native io.qt.test.QTest.QTouchEventWidgetSequence touchEvent(io.qt.widgets.QWidget window, io.qt.gui.QPointingDevice device, boolean autoCommit); /** - *

    See QFINDTESTDATA(filename,builddir)

    + *

    See QFINDTESTDATA(filename,builddir)

    */ @QtUninvokable public static String QFINDTESTDATA(String basepath, java.lang.String builddir, java.lang.String sourcedir){ @@ -686,7 +686,7 @@ private static void QCOMPARE_OP_IMPL(java.util.function.BiPredicate pr } /** - *

    See QCOMPARE_EQ

    + *

    See QCOMPARE_EQ

    */ @QtUninvokable public static void QCOMPARE_EQ(T lhs, T rhs) throws AssertionError { @@ -694,7 +694,7 @@ public static void QCOMPARE_EQ(T lhs, T rhs) throws AssertionError { } /** - *

    See QCOMPARE_NE

    + *

    See QCOMPARE_NE

    */ @QtUninvokable public static void QCOMPARE_NE(T lhs, T rhs) throws AssertionError { @@ -702,7 +702,7 @@ public static void QCOMPARE_NE(T lhs, T rhs) throws AssertionError { } /** - *

    See QCOMPARE_EQ

    + *

    See QCOMPARE_EQ

    */ @QtUninvokable public static > void QCOMPARE_EQ(T lhs, T rhs) throws AssertionError { @@ -710,7 +710,7 @@ public static > void QCOMPARE_EQ(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_EQ

    + *

    See QCOMPARE_EQ

    */ @QtUninvokable public static void QCOMPARE_EQ(int lhs, int rhs) throws AssertionError { @@ -718,7 +718,7 @@ public static void QCOMPARE_EQ(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_EQ

    + *

    See QCOMPARE_EQ

    */ @QtUninvokable public static void QCOMPARE_EQ(double lhs, double rhs) throws AssertionError { @@ -726,7 +726,7 @@ public static void QCOMPARE_EQ(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_EQ

    + *

    See QCOMPARE_EQ

    */ @QtUninvokable public static void QCOMPARE_EQ(long lhs, long rhs) throws AssertionError { @@ -734,7 +734,7 @@ public static void QCOMPARE_EQ(long lhs, long rhs) throws AssertionError { } /** - *

    See QCOMPARE_NE

    + *

    See QCOMPARE_NE

    */ @QtUninvokable public static > void QCOMPARE_NE(T lhs, T rhs) throws AssertionError { @@ -742,7 +742,7 @@ public static > void QCOMPARE_NE(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_NE

    + *

    See QCOMPARE_NE

    */ @QtUninvokable public static void QCOMPARE_NE(int lhs, int rhs) throws AssertionError { @@ -750,7 +750,7 @@ public static void QCOMPARE_NE(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_NE

    + *

    See QCOMPARE_NE

    */ @QtUninvokable public static void QCOMPARE_NE(double lhs, double rhs) throws AssertionError { @@ -758,7 +758,7 @@ public static void QCOMPARE_NE(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_NE

    + *

    See QCOMPARE_NE

    */ @QtUninvokable public static void QCOMPARE_NE(long lhs, long rhs) throws AssertionError { @@ -766,7 +766,7 @@ public static void QCOMPARE_NE(long lhs, long rhs) throws AssertionError { } /** - *

    See QCOMPARE_LT

    + *

    See QCOMPARE_LT

    */ @QtUninvokable public static > void QCOMPARE_LT(T lhs, T rhs) throws AssertionError { @@ -774,7 +774,7 @@ public static > void QCOMPARE_LT(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_LT

    + *

    See QCOMPARE_LT

    */ @QtUninvokable public static void QCOMPARE_LT(int lhs, int rhs) throws AssertionError { @@ -782,7 +782,7 @@ public static void QCOMPARE_LT(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_LT

    + *

    See QCOMPARE_LT

    */ @QtUninvokable public static void QCOMPARE_LT(double lhs, double rhs) throws AssertionError { @@ -790,7 +790,7 @@ public static void QCOMPARE_LT(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_LT

    + *

    See QCOMPARE_LT

    */ @QtUninvokable public static void QCOMPARE_LT(long lhs, long rhs) throws AssertionError { @@ -798,7 +798,7 @@ public static void QCOMPARE_LT(long lhs, long rhs) throws AssertionError { } /** - *

    See QCOMPARE_LE

    + *

    See QCOMPARE_LE

    */ @QtUninvokable public static > void QCOMPARE_LE(T lhs, T rhs) throws AssertionError { @@ -806,7 +806,7 @@ public static > void QCOMPARE_LE(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_LE

    + *

    See QCOMPARE_LE

    */ @QtUninvokable public static void QCOMPARE_LE(int lhs, int rhs) throws AssertionError { @@ -814,7 +814,7 @@ public static void QCOMPARE_LE(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_LE

    + *

    See QCOMPARE_LE

    */ @QtUninvokable public static void QCOMPARE_LE(double lhs, double rhs) throws AssertionError { @@ -822,7 +822,7 @@ public static void QCOMPARE_LE(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_LE

    + *

    See QCOMPARE_LE

    */ @QtUninvokable public static void QCOMPARE_LE(long lhs, long rhs) throws AssertionError { @@ -830,7 +830,7 @@ public static void QCOMPARE_LE(long lhs, long rhs) throws AssertionError { } /** - *

    See QCOMPARE_GT

    + *

    See QCOMPARE_GT

    */ @QtUninvokable public static > void QCOMPARE_GT(T lhs, T rhs) throws AssertionError { @@ -838,7 +838,7 @@ public static > void QCOMPARE_GT(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_GT

    + *

    See QCOMPARE_GT

    */ @QtUninvokable public static void QCOMPARE_GT(int lhs, int rhs) throws AssertionError { @@ -846,7 +846,7 @@ public static void QCOMPARE_GT(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_GT

    + *

    See QCOMPARE_GT

    */ @QtUninvokable public static void QCOMPARE_GT(double lhs, double rhs) throws AssertionError { @@ -854,7 +854,7 @@ public static void QCOMPARE_GT(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_GT

    + *

    See QCOMPARE_GT

    */ @QtUninvokable public static void QCOMPARE_GT(long lhs, long rhs) throws AssertionError { @@ -862,7 +862,7 @@ public static void QCOMPARE_GT(long lhs, long rhs) throws AssertionError { } /** - *

    See QCOMPARE_GE

    + *

    See QCOMPARE_GE

    */ @QtUninvokable public static > void QCOMPARE_GE(T lhs, T rhs) throws AssertionError { @@ -870,7 +870,7 @@ public static > void QCOMPARE_GE(T lhs, T rhs) throws As } /** - *

    See QCOMPARE_GE

    + *

    See QCOMPARE_GE

    */ @QtUninvokable public static void QCOMPARE_GE(int lhs, int rhs) throws AssertionError { @@ -878,7 +878,7 @@ public static void QCOMPARE_GE(int lhs, int rhs) throws AssertionError { } /** - *

    See QCOMPARE_GE

    + *

    See QCOMPARE_GE

    */ @QtUninvokable public static void QCOMPARE_GE(double lhs, double rhs) throws AssertionError { @@ -886,7 +886,7 @@ public static void QCOMPARE_GE(double lhs, double rhs) throws AssertionError { } /** - *

    See QCOMPARE_GE

    + *

    See QCOMPARE_GE

    */ @QtUninvokable public static void QCOMPARE_GE(long lhs, long rhs) throws AssertionError { @@ -898,7 +898,7 @@ public static void QCOMPARE_GE(long lhs, long rhs) throws AssertionError { class QSignalSpy__{ /** - *

    See QSignalSpy::QSignalSpy(const QObject *, PointerToMemberFunction)

    + *

    See QSignalSpy::QSignalSpy(const QObject *, PointerToMemberFunction)

    */ public QSignalSpy(QMetaObject.AbstractSignal signal) { super((QPrivateConstructor)null); diff --git a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiWidgets.java b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiWidgets.java index a97c987f..d652cdbf 100644 --- a/src/cpp/QtJambiGenerator/typesystem/java/QtJambiWidgets.java +++ b/src/cpp/QtJambiGenerator/typesystem/java/QtJambiWidgets.java @@ -310,7 +310,7 @@ void add_widget(QWidget widget){ class QGridLayout___ extends QGridLayout { /** - * Result class for QGridLayout::getItemPosition(int,int*,int*,int*,int*)const. + * Result class for QGridLayout::getItemPosition(int,int*,int*,int*,int*)const. */ public static final class ItemInfo{ private ItemInfo(int row, int column, int rowSpan, int columnSpan){ @@ -328,7 +328,7 @@ private ItemInfo(int row, int column, int rowSpan, int columnSpan){ class QColorDialog__java_{ /** - *

    See QColorDialog::open(QObject *, const char *)

    + *

    See QColorDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSlot) { @@ -350,7 +350,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1See QColorDialog::open(QObject *, const char *)

    + *

    See QColorDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1 selectedSignal) { @@ -375,7 +375,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1See QFontDialog::open(QObject *, const char *)

    + *

    See QFontDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSlot) { @@ -397,7 +397,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1See QFontDialog::open(QObject *, const char *)

    + *

    See QFontDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1 selectedSignal) { @@ -422,12 +422,12 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1QFileDialog::getOpenFileName(QWidget*,QString,QString,QString,QString*,Options), - * QFileDialog::getOpenFileNames(QWidget*,QString,QString,QString,QString*,Options), - * QFileDialog::getOpenFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList), - * QFileDialog::getOpenFileUrls(QWidget*,QString,QUrl,QString,QString*,Options,QStringList), - * QFileDialog::getSaveFileName(QWidget*,QString,QString,QString,QString*,Options) and - * QFileDialog::getSaveFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList). + * Result class for QFileDialog::getOpenFileName(QWidget*,QString,QString,QString,QString*,Options), + * QFileDialog::getOpenFileNames(QWidget*,QString,QString,QString,QString*,Options), + * QFileDialog::getOpenFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList), + * QFileDialog::getOpenFileUrls(QWidget*,QString,QUrl,QString,QString*,Options,QStringList), + * QFileDialog::getSaveFileName(QWidget*,QString,QString,QString,QString*,Options) and + * QFileDialog::getSaveFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList). */ public static final class Result { @NativeAccess @@ -441,35 +441,35 @@ private Result(R result, String selectedFilter) { } /** - *

    See QFileDialog::getExistingDirectoryUrl(QWidget*,QString,QUrl,Options,QStringList)

    + *

    See QFileDialog::getExistingDirectoryUrl(QWidget*,QString,QUrl,Options,QStringList)

    */ public static io.qt.core.@NonNull QUrl getExistingDirectoryUrl(io.qt.widgets.@Nullable QWidget parent, java.lang.@NonNull String caption, io.qt.core.@NonNull QUrl dir, java.util.@NonNull Collection supportedSchemes, io.qt.widgets.QFileDialog.@NonNull Option @NonNull... options){ return getExistingDirectoryUrl(parent, caption, dir, new io.qt.widgets.QFileDialog.Options(options), supportedSchemes); } /** - *

    See QFileDialog::getOpenFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    + *

    See QFileDialog::getOpenFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    */ public static io.qt.widgets.QFileDialog.@NonNull Result getOpenFileUrl(io.qt.widgets.@Nullable QWidget parent, java.lang.@NonNull String caption, io.qt.core.@NonNull QUrl dir, java.lang.@NonNull String filter, java.util.@NonNull Collection supportedSchemes, io.qt.widgets.QFileDialog.@NonNull Option @NonNull... options){ return getOpenFileUrl(parent, caption, dir, filter, io.qt.widgets.QFileDialog.Option.flags(options), supportedSchemes); } /** - *

    See QFileDialog::getOpenFileUrls(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    + *

    See QFileDialog::getOpenFileUrls(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    */ public static io.qt.widgets.QFileDialog.@NonNull Result> getOpenFileUrls(io.qt.widgets.@Nullable QWidget parent, java.lang.@NonNull String caption, io.qt.core.@NonNull QUrl dir, java.lang.@NonNull String filter, java.util.Collection supportedSchemes, io.qt.widgets.QFileDialog.@NonNull Option @NonNull... options){ return getOpenFileUrls(parent, caption, dir, filter, io.qt.widgets.QFileDialog.Option.flags(options), supportedSchemes); } /** - *

    See QFileDialog::getSaveFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    + *

    See QFileDialog::getSaveFileUrl(QWidget*,QString,QUrl,QString,QString*,Options,QStringList)

    */ public static io.qt.widgets.QFileDialog.@NonNull Result getSaveFileUrl(io.qt.widgets.@Nullable QWidget parent, java.lang.String caption, io.qt.core.@NonNull QUrl dir, java.lang.@NonNull String filter, java.util.@NonNull Collection supportedSchemes, io.qt.widgets.QFileDialog.@NonNull Option @NonNull... options){ return getSaveFileUrl(parent, caption, dir, filter, io.qt.widgets.QFileDialog.Option.flags(options), supportedSchemes); } /** - *

    See QFileDialog::open(QObject *, const char *)

    + *

    See QFileDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSlot) { @@ -497,7 +497,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSl } /** - *

    See QFileDialog::open(QObject *, const char *)

    + *

    See QFileDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1 selectedSignal) { @@ -528,7 +528,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1 sel class QInputDialog__java_ extends QInputDialog { /** - *

    See QInputDialog::open(QObject *, const char *)

    + *

    See QInputDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot0 selectedSlot) { @@ -547,7 +547,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot0 selectedSlot) } /** - *

    See QInputDialog::open(QObject *, const char *)

    + *

    See QInputDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSlot) { @@ -572,7 +572,7 @@ public final void open(io.qt.core.QMetaObject.@StrictNonNull Slot1 selectedSl } /** - *

    See QInputDialog::open(QObject *, const char *)

    + *

    See QInputDialog::open(QObject *, const char *)

    */ @QtUninvokable public final void open(io.qt.core.QMetaObject.@StrictNonNull Connectable1 selectedSignal) { @@ -608,7 +608,7 @@ public QPaintEngine paintEngine() { class QSplitter___ extends QSplitter { /** - * Result class for QSplitter::getRange(int,int*,int*)const. + * Result class for QSplitter::getRange(int,int*,int*)const. */ public static final class Range { @NativeAccess @@ -683,9 +683,9 @@ public static void shutdown() { class QFormLayout___ extends QFormLayout { /** - * Result class for QFormLayout::getItemPosition(int,int*,QFormLayout::ItemRole*)const, - * QFormLayout::getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const and - * QFormLayout::getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const. + * Result class for QFormLayout::getItemPosition(int,int*,QFormLayout::ItemRole*)const, + * QFormLayout::getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const and + * QFormLayout::getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const. */ public static final class ItemInfo{ private ItemInfo(int row, ItemRole role){ @@ -712,7 +712,7 @@ class QGraphicsWidget___ extends QGraphicsWidget { class QGraphicsItem___{ /** - * Result class for QGraphicsItem::isBlockedByModalPanel(QGraphicsItem**)const. + * Result class for QGraphicsItem::isBlockedByModalPanel(QGraphicsItem**)const. */ public static final class BlockedByModalPanelInfo{ private BlockedByModalPanelInfo(boolean isBlockedByModalPanel, diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtBluetooth.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtBluetooth.qml index cf70a1d0..76623ab3 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtBluetooth.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtBluetooth.qml @@ -286,6 +286,7 @@ TypeSystem{ "%env->SetByteArrayRegion(jbyteArray(%out), 0, 16, reinterpret_cast(%in.data));"} } } + until: 6.5 } ModifyFunction{ signature: "QBluetoothUuid(quint128)" @@ -305,6 +306,7 @@ TypeSystem{ "%env->GetByteArrayRegion(jbyteArray(%in), 0, 16, reinterpret_cast(%out.data));"} } } + until: 6.5 } ModifyFunction{ signature: "toUInt16(bool*) const" diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtCore.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtCore.qml index d02d4028..e9fe3f9e 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtCore.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtCore.qml @@ -185,6 +185,11 @@ public final %ITERATOR_TYPE iterator() { }` } } + + Rejection{ + className: "QScopedPropertyUpdateGroup" + since: 6.6 + } PrimitiveType{ name: "bool" @@ -2134,11 +2139,6 @@ public final %ITERATOR_TYPE iterator() { enumName: "enum_2" } - Rejection{ - className: "QTimeZone" - enumName: "enum_1" - } - Rejection{ className: "QArrayData" enumName: "AllocationOption" @@ -3652,11 +3652,6 @@ public final %ITERATOR_TYPE iterator() { since: [6, 3] } - EnumType{ - name: "QProcessEnvironment::Initialization" - since: [6, 3] - } - EnumType{ name: "QLocale::QuotationStyle" } @@ -3743,17 +3738,6 @@ public final %ITERATOR_TYPE iterator() { EnumType{ name: "QTimeLine::State" } - - EnumType{ - name: "QUuid::Variant" - } - - EnumType{ - name: "QUuid::Version" - RejectEnumValue{ - name: "Name" - } - } EnumType{ name: "QDirIterator::IteratorFlag" @@ -4091,10 +4075,6 @@ public final %ITERATOR_TYPE iterator() { name: "QRegularExpression::PatternOption" } - EnumType{ - name: "QUuid::StringFormat" - } - EnumType{ name: "QByteArray::Base64Option" RejectEnumValue{ @@ -4109,14 +4089,6 @@ public final %ITERATOR_TYPE iterator() { name: "QByteArray::Base64DecodingStatus" } - EnumType{ - name: "QTimeZone::TimeType" - } - - EnumType{ - name: "QTimeZone::NameType" - } - NamespaceType{ name: "QSysInfo" @@ -4194,6 +4166,8 @@ public final %ITERATOR_TYPE iterator() { ValueType{ name: "QElapsedTimer" + Rejection{className: "Duration"; since: 6.6} + Rejection{className: "TimePoint"; since: 6.6} EnumType{ name: "ClockType" @@ -4202,6 +4176,11 @@ public final %ITERATOR_TYPE iterator() { ValueType{ name: "QProcessEnvironment" + + EnumType{ + name: "Initialization" + since: [6, 3] + } } ObjectType{ @@ -4701,6 +4680,18 @@ public final %ITERATOR_TYPE iterator() { ValueType{ name: "QMetaMethod" + + EnumType{ + name: "MethodType" + } + + EnumType{ + name: "Attributes" + } + + EnumType{ + name: "Access" + } ExtraIncludes{ Include{ fileName: "QtJambi/CoreAPI" @@ -4748,23 +4739,16 @@ public final %ITERATOR_TYPE iterator() { } } - Rejection{ - className: "QMetaProperty" - functionName: "resetOnGadget" - } - - Rejection{ - className: "QMetaProperty" - functionName: "readOnGadget" - } - - Rejection{ - className: "QMetaProperty" - functionName: "writeOnGadget" - } - ValueType{ name: "QMetaProperty" + Rejection{functionName: "resetOnGadget"} + Rejection{functionName: "readOnGadget"} + Rejection{functionName: "writeOnGadget"} + ModifyFunction{ + signature: "write(QObject*,QVariant&&)const" + remove: RemoveFlag.All + since: 6.6 + } InjectCode{ ImportFile{ name: ":/io/qtjambi/generator/typesystem/QtJambiCore.java" @@ -4834,21 +4818,15 @@ public final %ITERATOR_TYPE iterator() { } } } - - EnumType{ - name: "QMetaMethod::MethodType" - } - - EnumType{ - name: "QMetaMethod::Attributes" - } - - EnumType{ - name: "QMetaMethod::Access" - } ValueType{ name: "QModelIndex" + ExtraIncludes{ + Include{ + fileName: "QtJambi/CoreAPI" + location: Include.Global + } + } ModifyFunction{ signature: "internalPointer() const" remove: RemoveFlag.All @@ -4858,6 +4836,70 @@ public final %ITERATOR_TYPE iterator() { remove: RemoveFlag.All since: 6 } + ModifyFunction{ + signature: "model() const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "parent() const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "sibling(int,int) const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "siblingAtColumn(int) const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "siblingAtRow(int) const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "data(int) const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "multiData(QModelRoleDataSpan) const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } + ModifyFunction{ + signature: "flags() const" + InjectCode{ + target: CodeClass.Native + position: Position.Beginning + Text{content: "CoreAPI::ckeckLinkExtension(__jni_env, __this_nativeId);"} + } + } } ValueType{ @@ -4886,6 +4928,22 @@ public final %ITERATOR_TYPE iterator() { ValueType{ name: "QUuid" + + EnumType{ + name: "StringFormat" + } + + EnumType{ + name: "Variant" + } + + EnumType{ + name: "Version" + RejectEnumValue{ + name: "Name" + } + } + Rejection{className: "Id128Bytes"; since: 6.6} ModifyFunction{ signature: "QUuid(const char*)" remove: RemoveFlag.All @@ -4909,6 +4967,11 @@ public final %ITERATOR_TYPE iterator() { signature: "operator>=(const QUuid&,const QUuid&)" remove: RemoveFlag.All } + ModifyFunction{ + signature: "fromBytes(const void*,QSysInfo::Endian)" + remove: RemoveFlag.All + since: 6.6 + } InjectCode{ since: [6, 3] ImportFile{ @@ -4918,6 +4981,11 @@ public final %ITERATOR_TYPE iterator() { } } } + + ObjectType{ + name: "QNativeIpcKey" + since: 6.6 + } ValueType{ name: "QLocale" @@ -6871,23 +6939,35 @@ public final %ITERATOR_TYPE iterator() { ValueType{ name: "QTimeZone" + + Rejection{ + enumName: "enum_1" + } + + EnumType{ + name: "TimeType" + } + + EnumType{ + name: "NameType" + } InjectCode{ target: CodeClass.Java - ImportFile{ - name: ":/io/qtjambi/generator/typesystem/QtJambiCore.java" - quoteAfterLine: "class QTimeZone___" - quoteBeforeLine: "}// class" - } + Text{content: String.raw`// No known zone > 12 hrs West of Greenwich (Baker Island, USA) +public static final int MinUtcOffsetSecs = -14 * 3600; +// No known zone > 14 hrs East of Greenwich (Kiritimati, Christmas Island, Kiribati) +public static final int MaxUtcOffsetSecs = +14 * 3600;`} + until: 6.5 } - } - - ValueType{ - name: "QTimeZone::OffsetData" - } - EnumType{ - name: "QTimeZone::Initialization" - since: [6,5] + ValueType{ + name: "OffsetData" + } + + EnumType{ + name: "Initialization" + since: [6,5] + } } @@ -7756,24 +7836,84 @@ if(destinationChild<0) until: 5 } ModifyFunction{ - signature: "operator==(QByteArray,const char*)" - remove: RemoveFlag.All + signature: "operator<(QByteArray,const char*)" + ModifyArgument{ + index: 2 + NoNullPointer{} + ReplaceType{ + modifiedType: "io.qt.core.QByteArrayView" + } + ConversionRule{ + codeClass: CodeClass.Native + Text{content: "QByteArrayView %out = qtjambi_cast(%env, %in);"} + } + } + since: 6 + } + InjectCode{ + target: CodeClass.Java + position: Position.Compare until: 5 + Text{content: "if (other instanceof byte[]) {\n"+ + " other = new io.qt.core.QByteArray((byte[]) other);\n"+ + "}else if (other instanceof java.nio.ByteBuffer) {\n"+ + " other = new io.qt.core.QByteArray((java.nio.ByteBuffer) other);\n"+ + "}"} + } + InjectCode{ + target: CodeClass.Java + position: Position.Compare + since: 6 + Text{content: "if (other instanceof byte[]) {\n"+ + " other = new io.qt.core.QByteArrayView((byte[]) other);\n"+ + "}else if (other instanceof java.nio.ByteBuffer) {\n"+ + " other = new io.qt.core.QByteArrayView((java.nio.ByteBuffer) other);\n"+ + "}"} } ModifyFunction{ - signature: "operator!=(QByteArray,const char*)" + signature: "operator==(QByteArray,const char*)" remove: RemoveFlag.All until: 5 } ModifyFunction{ - signature: "operator==(const char*)" - remove: RemoveFlag.All + signature: "operator==(QByteArray,const char*)" + ModifyArgument{ + index: 2 + NoNullPointer{} + ReplaceType{ + modifiedType: "io.qt.core.QByteArrayView" + } + ConversionRule{ + codeClass: CodeClass.Native + Text{content: "QByteArrayView %out = qtjambi_cast(%env, %in);"} + } + } since: 6 } + InjectCode{ + target: CodeClass.Java + position: Position.Equals + until: 5 + Text{content: "if (other instanceof byte[]) {\n"+ + " other = new io.qt.core.QByteArray((byte[]) other);\n"+ + "}else if (other instanceof java.nio.ByteBuffer) {\n"+ + " other = new io.qt.core.QByteArray((java.nio.ByteBuffer) other);\n"+ + "}"} + } + InjectCode{ + target: CodeClass.Java + position: Position.Equals + since: 6 + Text{content: "if (other instanceof byte[]) {\n"+ + " other = new io.qt.core.QByteArrayView((byte[]) other);\n"+ + "}else if (other instanceof java.nio.ByteBuffer) {\n"+ + " other = new io.qt.core.QByteArrayView((java.nio.ByteBuffer) other);\n"+ + "}"} + } ModifyFunction{ - signature: "operator<(const char*)" + signature: "operator!=(QByteArray,const char*)" remove: RemoveFlag.All - since: 6 + until: 5 } ModifyFunction{ signature: "operator!=(const char*)" @@ -7895,46 +8035,6 @@ if(destinationChild<0) } } } - InjectCode{ - target: CodeClass.Java - position: Position.Equals - until: 5 - Text{content: "if (other instanceof byte[]) {\n"+ - " other = new io.qt.core.QByteArray((byte[]) other);\n"+ - "}else if (other instanceof java.nio.ByteBuffer) {\n"+ - " other = new io.qt.core.QByteArray((java.nio.ByteBuffer) other);\n"+ - "}"} - } - InjectCode{ - target: CodeClass.Java - position: Position.Equals - since: 6 - Text{content: "if (other instanceof byte[]) {\n"+ - " other = new io.qt.core.QByteArrayView((byte[]) other);\n"+ - "}else if (other instanceof java.nio.ByteBuffer) {\n"+ - " other = new io.qt.core.QByteArrayView((java.nio.ByteBuffer) other);\n"+ - "}"} - } - InjectCode{ - target: CodeClass.Java - position: Position.Compare - until: 5 - Text{content: "if (other instanceof byte[]) {\n"+ - " other = new io.qt.core.QByteArray((byte[]) other);\n"+ - "}else if (other instanceof java.nio.ByteBuffer) {\n"+ - " other = new io.qt.core.QByteArray((java.nio.ByteBuffer) other);\n"+ - "}"} - } - InjectCode{ - target: CodeClass.Java - position: Position.Compare - since: 6 - Text{content: "if (other instanceof byte[]) {\n"+ - " other = new io.qt.core.QByteArrayView((byte[]) other);\n"+ - "}else if (other instanceof java.nio.ByteBuffer) {\n"+ - " other = new io.qt.core.QByteArrayView((java.nio.ByteBuffer) other);\n"+ - "}"} - } InjectCode{ target: CodeClass.Java ImportFile{ @@ -8845,36 +8945,6 @@ if(destinationChild<0) } } } - ModifyFunction{ - signature: "operator<(QByteArray,const char*)" - ModifyArgument{ - index: 1 - NoNullPointer{} - ReplaceType{ - modifiedType: "io.qt.core.QByteArrayView" - } - ConversionRule{ - codeClass: CodeClass.Native - Text{content: "QByteArrayView %out = qtjambi_cast(%env, %in);"} - } - } - since: 6 - } - ModifyFunction{ - signature: "operator==(QByteArray,const char*)" - ModifyArgument{ - index: 1 - NoNullPointer{} - ReplaceType{ - modifiedType: "io.qt.core.QByteArrayView" - } - ConversionRule{ - codeClass: CodeClass.Native - Text{content: "QByteArrayView %out = qtjambi_cast(%env, %in);"} - } - } - since: 6 - } ModifyFunction{ signature: "operator=(QByteArray)" Delegate{ @@ -10615,6 +10685,9 @@ if(destinationChild<0) ObjectType{ name: "State" Rejection{functionName: "reset"} + Rejection{functionName: "clear"} + Rejection{fieldName: "clearFn"} + Rejection{className: "ClearDataFn"} since: 6 } ModifyFunction{ @@ -11093,6 +11166,26 @@ if(destinationChild<0) functionName: "setNativeArguments" since: 6 } + Rejection{ + enumName: "UnixProcessFlag" + since: 6.6 + } + Rejection{ + className: "UnixProcessParameters" + since: 6.6 + } + Rejection{ + functionName: "setUnixProcessParameters" + since: 6.6 + } + Rejection{ + functionName: "unixProcessParameters" + since: 6.6 + } + Rejection{ + functionName: "setUnixProcessParameters" + since: 6.6 + } EnumType{ name: "ExitStatus" @@ -11690,6 +11783,11 @@ if(destinationChild<0) Rejection{functionName: "connect_functor"} Rejection{functionName: "disconnectImpl"} Rejection{fieldName: "staticQtMetaObject"} + ModifyFunction{ + signature: "setProperty(const char*,QVariant&&)" + remove: RemoveFlag.All + since: 6.6 + } ModifyFunction{ signature: "destroyed(QObject *)" @@ -12510,6 +12608,16 @@ if(destinationChild<0) } since: [6, 5] } + Rejection{ + functionName: "requestPermission" + since: [6, 5] + } + } + + ValueType{ + name: "QPermission" + generate: false + since: [6, 5] } ValueType{ @@ -13884,12 +13992,25 @@ if(destinationChild<0) quoteBeforeLine: "}// class" since: [6, 1] } + ImportFile{ + name: ":/io/qtjambi/generator/typesystem/QtJambiCore.java" + quoteAfterLine: "class QtFuture_6_1to5__" + quoteBeforeLine: "}// class" + since: [6, 1] + until: 6.5 + } ImportFile{ name: ":/io/qtjambi/generator/typesystem/QtJambiCore.java" quoteAfterLine: "class QtFuture_6_3__" quoteBeforeLine: "}// class" since: [6, 3] } + ImportFile{ + name: ":/io/qtjambi/generator/typesystem/QtJambiCore.java" + quoteAfterLine: "class QtFuture_6_6__" + quoteBeforeLine: "}// class" + since: [6, 6] + } } since: 6 } @@ -14280,6 +14401,10 @@ if(destinationChild<0) " }\n"+ "}"} } + Rejection{ + className: "QGenericRunnable" + since: 6.6 + } } @@ -14319,6 +14444,7 @@ if(destinationChild<0) signature: "value(const QString &, const QLatin1StringView &)const" remove: RemoveFlag.All since: [6, 4] + until: [6, 5] } ModifyFunction{ signature: "value(QLatin1String, QLatin1String)const" @@ -14329,6 +14455,7 @@ if(destinationChild<0) signature: "value(QLatin1StringView, QLatin1StringView)const" remove: RemoveFlag.All since: [6, 4] + until: [6, 5] } ModifyFunction{ signature: "value(QLatin1String)const" @@ -14339,6 +14466,7 @@ if(destinationChild<0) signature: "value(QLatin1StringView)const" remove: RemoveFlag.All since: [6, 4] + until: [6, 5] } ModifyFunction{ signature: "hasAttribute(QLatin1String)const" @@ -14349,6 +14477,7 @@ if(destinationChild<0) signature: "hasAttribute(QLatin1StringView)const" remove: RemoveFlag.All since: [6, 4] + until: [6, 5] } InjectCode{ ImportFile{ @@ -16138,6 +16267,11 @@ if(destinationChild<0) remove: RemoveFlag.All since: [6, 4] } + ModifyFunction{ + signature: "assign(QAnyStringView)" + remove: RemoveFlag.All + since: [6, 6] + } ExtraIncludes{ Include{ fileName: "QtJambi/JavaAPI" @@ -18937,15 +19071,6 @@ if(destinationChild<0) } } - Rejection{ - className: "QDebug::Stream" - } - - EnumType{ - name: "QDebug::VerbosityLevel" - forceInteger: true - } - ObjectType{ name: "QDebugStateSaver" implementing: "java.lang.AutoCloseable" @@ -18963,6 +19088,13 @@ if(destinationChild<0) Rejection{ enumName: "Latin1Content" } + Rejection{ + className: "Stream" + } + EnumType{ + name: "VerbosityLevel" + forceInteger: true + } implementing: "java.lang.AutoCloseable, java.lang.Appendable" CustomConstructor{ Text{content: "if(copy){\n"+ @@ -21371,6 +21503,7 @@ if(destinationChild<0) SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QRandomGenerator::QRandomGenerator*', unmatched parameter type 'const quint32[N]'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QRandomGenerator::_fillRange', unmatched parameter type 'qptrdiff'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QtFuture::makeReadyFuture*'*"} + SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: Missing instantiations for template method QtFuture::makeReadyValueFuture*"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: signature 'reportFinished(const JObjectWrapper*)' for function modification in 'QtJambiFutureInterface' not found.*"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QFuture::*', unmatched parameter type '*QFuture*'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QCalendar::QCalendar', unmatched parameter type 'QCalendar::SystemId'"} @@ -21417,7 +21550,7 @@ if(destinationChild<0) SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: Missing instantiations for template method operator<<(std::pair)"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: Missing instantiations for template method operator>>(std::pair&)"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping field 'QSequentialConstIterator::i' with unmatched type '*::Node*'"} - SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QCoreApplication::requestPermission', unmatched parameter type 'const QPermission&'"} + SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QCoreApplication::requestPermission<*>', unmatched parameter type 'const QPermission&'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: namespace 'io.qt.core.Q*Permission' for enum '*' is not declared"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QDebug::operator<<', unmatched parameter type 'const std::basic_string<*>&'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: signature 'QPartialOrdering(QPartialOrdering)' for function modification in 'QPartialOrdering' not found. Possible candidates: "} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtDBus.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtDBus.qml index e0bbf10d..22f89bef 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtDBus.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtDBus.qml @@ -1899,6 +1899,11 @@ TypeSystem{ ObjectType{ name: "QDBusVariant" + ModifyFunction{ + signature: "QDBusVariant(QVariant&&)" + remove: RemoveFlag.All + since: 6.6 + } } GlobalFunction{ diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtGraphs.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtGraphs.qml new file mode 100644 index 00000000..434e7fdb --- /dev/null +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtGraphs.qml @@ -0,0 +1,1237 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of QtJambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +import QtJambiGenerator 1.0 + +TypeSystem{ + packageName: "io.qt.graphs" + defaultSuperClass: "QtObject" + qtLibrary: "QtGraphs" + module: "qtjambi.graphs" + description: "UI Components for creating stunning 3D graphs." + Rejection{ + className: "*" + functionName: "dptr" + } + + Rejection{ + className: "*" + functionName: "dptrc" + } + + Rejection{ + className: "*" + fieldName: "d_ptr" + } + + NamespaceType{ + name: "QtGraphs" + ExtraIncludes{ + Include{ + fileName: "QtGraphs/qutils.h" + location: Include.Global + } + } + } + + GlobalFunction{ + signature: "qDefaultSurfaceFormat(bool)" + targetType: "QtGraphs" + } + + ObjectType{ + name: "QAbstract3DAxisPrivate" + generate: false + } + + ObjectType{ + name: "QAbstractDataProxyPrivate" + generate: false + } + + ObjectType{ + name: "QAbstract3DSeriesPrivate" + generate: false + } + + ObjectType{ + name: "Q3DBars" + ModifyFunction{ + signature: "setColumnAxis(QCategory3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setRowAxis(QCategory3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setValueAxis(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addAxis(QAbstract3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "releaseAxis(QAbstract3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setPrimarySeries(QBar3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addSeries(QBar3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "removeSeries(QBar3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "insertSeries(int, QBar3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 2 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + } + + ObjectType{ + name: "Q3DCamera" + + EnumType{ + name: "CameraPreset" + } + } + + ObjectType{ + name: "Q3DInputHandler" + ModifyFunction{ + signature: "mouseMoveEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "mousePressEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "mouseReleaseEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "wheelEvent(QWheelEvent *)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + } + + ObjectType{ + name: "Q3DLight" + } + + ObjectType{ + name: "Q3DObject" + } + + ObjectType{ + name: "Q3DScatter" + ModifyFunction{ + signature: "setAxisX(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setAxisY(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setAxisZ(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addAxis(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addSeries(QScatter3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "releaseAxis(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "removeSeries(QScatter3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + } + + ObjectType{ + name: "Q3DScene" + ModifyFunction{ + signature: "setActiveCamera(Q3DCamera *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setActiveLight(Q3DLight *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + } + + ObjectType{ + name: "Q3DSurface" + ModifyFunction{ + signature: "addAxis(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addSeries(QSurface3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "removeSeries(QSurface3DSeries *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setAxisX(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setAxisY(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setAxisZ(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + } + + ObjectType{ + name: "Q3DTheme" + + EnumType{ + name: "ColorStyle" + } + + EnumType{ + name: "Theme" + } + } + + ObjectType{ + name: "QAbstract3DAxis" + + EnumType{ + name: "AxisOrientation" + } + + EnumType{ + name: "AxisType" + } + ModifyFunction{ + signature: "QAbstract3DAxis(QAbstract3DAxisPrivate *, QObject *)" + remove: RemoveFlag.All + } + ModifyFunction{ + signature: "setLabels(QStringList)" + access: Modification.NonFinal + } + ModifyFunction{ + signature: "labels()const" + access: Modification.NonFinal + } + } + + ObjectType{ + name: "QAbstract3DGraph" + + EnumType{ + name: "ElementType" + } + + EnumType{ + name: "ShadowQuality" + } + + EnumType{ + name: "OptimizationHint" + } + + EnumType{ + name: "SelectionFlag" + } + ModifyFunction{ + signature: "setLocale(QLocale)" + rename: "setGraphsLocale" + } + ModifyFunction{ + signature: "locale()const" + rename: "graphsLocale" + } + ModifyFunction{ + signature: "addCustomItem(QCustom3DItem *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addInputHandler(QAbstract3DInputHandler *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "addTheme(Q3DTheme *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "releaseCustomItem(QCustom3DItem *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "releaseInputHandler(QAbstract3DInputHandler *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "releaseTheme(Q3DTheme *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "removeCustomItem(QCustom3DItem *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setActiveInputHandler(QAbstract3DInputHandler *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "setActiveTheme(Q3DTheme *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + } + + ObjectType{ + name: "QAbstract3DInputHandler" + + EnumType{ + name: "InputView" + } + ModifyFunction{ + signature: "mouseMoveEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "mousePressEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "mouseReleaseEvent(QMouseEvent *,QPoint)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "mouseDoubleClickEvent(QMouseEvent *)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "touchEvent(QTouchEvent *)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "wheelEvent(QWheelEvent *)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + ModifyFunction{ + signature: "setScene(Q3DScene *)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcScene" + action: ReferenceCount.Set + } + } + } + } + + ObjectType{ + name: "QAbstract3DSeries" + + EnumType{ + name: "Mesh" + } + + EnumType{ + name: "SeriesType" + } + ModifyFunction{ + signature: "QAbstract3DSeries(QAbstract3DSeriesPrivate *, QObject *)" + remove: RemoveFlag.All + } + } + + ObjectType{ + name: "QAbstractDataProxy" + + EnumType{ + name: "DataType" + } + ModifyFunction{ + signature: "QAbstractDataProxy(QAbstractDataProxyPrivate *, QObject *)" + remove: RemoveFlag.All + } + } + + ObjectType{ + name: "QBar3DSeries" + ModifyFunction{ + signature: "setDataProxy(QBarDataProxy *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + NoNullPointer{ + } + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + InjectCode{ + position: Position.Beginning + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "if(%1!=null){\n"+ + " if(%1==dataProxy()){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to this series.\");\n"+ + " }else if(%1.series()!=null){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to another series.\");\n"+ + " }\n"+ + "}"} + } + } + } + + ValueType{ + name: "QBarDataItem" + } + + ObjectType{ + name: "QBarDataProxy" + ModifyFunction{ + signature: "addRow(QBarDataRow*)" + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "addRow(QBarDataRow*,QString)" + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "insertRow(int,QBarDataRow*)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "insertRow(int,QBarDataRow*,QString)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "setRow(int,QBarDataRow*)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "setRow(int,QBarDataRow*,QString)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "resetArray(QBarDataArray*)" + InjectCode{ + position: Position.Beginning + Text{content: "QtJambi_LibraryUtilities.internal.invalidateObject(__rcArray);"} + } + InjectCode{ + position: Position.End + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "__rcArray = %1;\n"+ + "QtJambi_LibraryUtilities.internal.registerDependentObject(__rcArray, this);"} + } + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Java + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "resetArray(QBarDataArray*,QStringList,QStringList)" + InjectCode{ + position: Position.Beginning + Text{content: "QtJambi_LibraryUtilities.internal.invalidateObject(__rcArray);"} + } + InjectCode{ + position: Position.End + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "__rcArray = %1;\n"+ + "QtJambi_LibraryUtilities.internal.registerDependentObject(__rcArray, this);"} + } + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Java + ownership: Ownership.Cpp + } + } + } + InjectCode{ + Text{content: "private QBarDataArray __rcArray;"} + } + } + + ObjectType{ + name: "QBarDataRow" + ExtraIncludes{ + Include{ + fileName: "hashes.h" + location: Include.Local + } + } + } + + ValueType{ + name: "QBarDataArray" + ExtraIncludes{ + Include{ + fileName: "hashes.h" + location: Include.Local + } + } + } + + ObjectType{ + name: "QCategory3DAxis" + } + + ObjectType{ + name: "QCustom3DItem" + } + + ObjectType{ + name: "QCustom3DLabel" + } + + ObjectType{ + name: "QCustom3DVolume" + ModifyFunction{ + signature: "setSubTextureData(Qt::Axis,int,const uchar*)" + ModifyArgument{ + index: 3 + ArrayType{ + asBuffer: true + } + } + } + ModifyFunction{ + signature: "createTextureData(QVector)" + InjectCode{ + position: Position.Beginning + Text{content: "QtJambi_LibraryUtilities.internal.invalidateObject(__rcTextureData);"} + } + InjectCode{ + position: Position.End + ArgumentMap{ + index: 0 + metaName: "%0" + } + Text{content: "__rcTextureData = %0;\n"+ + "QtJambi_LibraryUtilities.internal.registerDependentObject(__rcTextureData, this);"} + } + } + InjectCode{ + Text{content: "private QtObject __rcTextureData;"} + } + } + + ObjectType{ + name: "QHeightMapSurfaceDataProxy" + } + + ObjectType{ + name: "QItemModelBarDataProxy" + + EnumType{ + name: "MultiMatchBehavior" + } + ModifyFunction{ + signature: "setItemModel(QAbstractItemModel*)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + variableName: "__rcItemModel" + action: ReferenceCount.Set + } + } + } + } + + ObjectType{ + name: "QItemModelScatterDataProxy" + ModifyFunction{ + signature: "setItemModel(QAbstractItemModel *)" + threadAffinity: true + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcItemModel" + action: ReferenceCount.Set + } + } + } + } + + ObjectType{ + name: "QItemModelSurfaceDataProxy" + + EnumType{ + name: "MultiMatchBehavior" + } + ModifyFunction{ + signature: "setItemModel(QAbstractItemModel *)" + threadAffinity: true + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcItemModel" + action: ReferenceCount.Set + } + } + } + } + + ObjectType{ + name: "QLogValue3DAxisFormatter" + ModifyFunction{ + signature: "createNewInstance()const" + ModifyArgument{ + index: "return" + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Java + } + } + } + } + + ObjectType{ + name: "QScatter3DSeries" + ModifyFunction{ + signature: "setDataProxy(QScatterDataProxy *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + NoNullPointer{ + } + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + InjectCode{ + position: Position.Beginning + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "if(%1!=null){\n"+ + " if(%1==dataProxy()){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to this series.\");\n"+ + " }else if(%1.series()!=null){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to another series.\");\n"+ + " }\n"+ + "}"} + } + } + } + + ValueType{ + name: "QScatterDataItem" + } + + ObjectType{ + name: "QScatterDataProxy" + ModifyFunction{ + signature: "resetArray(QScatterDataArray*)" + InjectCode{ + position: Position.Beginning + Text{content: "QtJambi_LibraryUtilities.internal.invalidateObject(__rcArray);"} + } + InjectCode{ + position: Position.End + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "__rcArray = %1;\n"+ + "QtJambi_LibraryUtilities.internal.registerDependentObject(__rcArray, this);"} + } + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Java + ownership: Ownership.Cpp + } + } + } + InjectCode{ + Text{content: "private QScatterDataArray __rcArray;"} + } + } + + ObjectType{ + name: "QScatterDataRow" + ExtraIncludes{ + Include{ + fileName: "hashes.h" + location: Include.Local + } + } + } + + ValueType{ + name: "QScatterDataArray" + ExtraIncludes{ + Include{ + fileName: "hashes.h" + location: Include.Local + } + } + } + + ObjectType{ + name: "QSurface3DSeries" + + EnumType{ + name: "DrawFlag" + } + ModifyFunction{ + signature: "setDataProxy(QSurfaceDataProxy *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + NoNullPointer{ + } + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + InjectCode{ + position: Position.Beginning + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "if(%1!=null){\n"+ + " if(%1==dataProxy()){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to this series.\");\n"+ + " }else if(%1.series()!=null){\n"+ + " throw new IllegalArgumentException(\"Proxy is already assigned to another series.\");\n"+ + " }\n"+ + "}"} + } + } + } + + ValueType{ + name: "QSurfaceDataItem" + } + + ObjectType{ + name: "QSurfaceDataProxy" + ModifyFunction{ + signature: "addRow(QSurfaceDataRow*)" + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "insertRow(int,QSurfaceDataRow*)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "setRow(int,QSurfaceDataRow*)" + ModifyArgument{ + index: 2 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Cpp + } + } + } + ModifyFunction{ + signature: "resetArray(QSurfaceDataArray*)" + InjectCode{ + position: Position.Beginning + Text{content: "QtJambi_LibraryUtilities.internal.invalidateObject(__rcArray);"} + } + InjectCode{ + position: Position.End + ArgumentMap{ + index: 1 + metaName: "%1" + } + Text{content: "__rcArray = %1;\n"+ + "QtJambi_LibraryUtilities.internal.registerDependentObject(__rcArray, this);"} + } + ModifyArgument{ + index: 1 + DefineOwnership{ + codeClass: CodeClass.Java + ownership: Ownership.Cpp + } + } + } + InjectCode{ + Text{content: "private QSurfaceDataArray __rcArray;"} + } + } + + ObjectType{ + name: "QSurfaceDataRow" + ExtraIncludes{ + Include{ + fileName: "hashes.h" + location: Include.Local + } + } + } + + ValueType{ + name: "QSurfaceDataArray" + } + + ObjectType{ + name: "QTouch3DInputHandler" + ModifyFunction{ + signature: "touchEvent(QTouchEvent *)" + ModifyArgument{ + index: 1 + invalidateAfterUse: true + } + } + } + + ObjectType{ + name: "QValue3DAxis" + ModifyFunction{ + signature: "setFormatter(QValue3DAxisFormatter *)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcFormatter" + action: ReferenceCount.Set + } + } + } + } + + ObjectType{ + name: "QValue3DAxisFormatter" + ModifyFunction{ + signature: "setAxis(QValue3DAxis *)" + threadAffinity: true + ModifyArgument{ + index: 1 + threadAffinity: true + ReferenceCount{ + action: ReferenceCount.Ignore + } + } + } + ModifyFunction{ + signature: "createNewInstance()const" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Java + } + } + } + ModifyFunction{ + signature: "gridPositions()" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Dependent + } + } + } + ModifyFunction{ + signature: "labelPositions()" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Dependent + } + } + } + ModifyFunction{ + signature: "labelStrings()" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Dependent + } + } + } + ModifyFunction{ + signature: "subGridPositions()" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Dependent + } + } + } + } + + SuppressedWarning{text: "WARNING(JavaGenerator) :: No ==/!= operator found for value type *Q*DataArray."} + SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: signature 'fromAdapter(quint32,qint32,int)' for function modification in 'QQuickGraphicsDevice' not found. Possible candidates: "} + SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: signature 'from*' for function modification in 'QQuickRenderTarget' not found. Possible candidates: "} +} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtGui.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtGui.qml index a75a1eb1..5cae4e48 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtGui.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtGui.qml @@ -50,6 +50,11 @@ TypeSystem{ className: "QWindowsMimeConverter" since: [6,5] } + + Rejection{ + className: "QNativeInterface::Private::QInterfaceProxyImp" + since: [6,5] + } PrimitiveType{ name: "GLuint" @@ -9821,13 +9826,6 @@ TypeSystem{ invalidateAfterUse: true } } - ModifyFunction{ - signature: "updateState(QPaintEngineState)" - ModifyArgument{ - index: 1 - invalidateAfterUse: true - } - } ModifyFunction{ signature: "drawTextItem(QPointF,QTextItem)" ModifyArgument{ @@ -9975,12 +9973,28 @@ TypeSystem{ ObjectType{ name: "QPaintEngineState" + targetType: "final class" + generate: "no-shell" + noMetaType: true ExtraIncludes{ Include{ fileName: "QPainterPath" location: Include.Global } } + ModifyFunction{ + signature: "QPaintEngineState()" + remove: RemoveFlag.All + } + ModifyFunction{ + signature: "QPaintEngineState(const QPaintEngineState &)" + remove: RemoveFlag.All + } + ModifyField{ + name: "dirtyFlags" + write: false + read: false + } ModifyFunction{ signature: "painter()const" ModifyArgument{ @@ -14716,6 +14730,10 @@ TypeSystem{ fileName: "QtCore/QSharedPointer" location: Include.Global } + Include{ + fileName: "QtJambi/JavaAPI" + location: Include.Global + } } InjectCode{ target: CodeClass.Native @@ -18975,4 +18993,5 @@ TypeSystem{ SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: class 'QAccessibleEvent' has polymorphic id but does not inherit a polymorphic class"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QAccessibleTableCellInterface'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: class 'Display' inherits from unknown base class '_XDisplay'"} + SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: signature 'QPaintEngineState(*)' for function modification in 'QPaintEngineState' not found. Possible candidates: "} } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtMultimedia.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtMultimedia.qml index 71dc995d..c361655f 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtMultimedia.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtMultimedia.qml @@ -2552,6 +2552,17 @@ TypeSystem{ } since: [6, 5] } + ModifyFunction{ + signature: "setWindowCapture(QWindowCapture*)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcWindowCapture" + action: ReferenceCount.Set + } + } + since: [6, 6] + } since: [6, 2] } @@ -2624,6 +2635,15 @@ TypeSystem{ } since: [6, 2] } + + ObjectType{ + name: "QWindowCapture" + since: [6, 6] + } + ObjectType{ + name: "QCapturableWindow" + since: [6, 6] + } SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QAudioBuffer::QAudioBuffer', unmatched parameter type 'QAbstractAudioBuffer*'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: skipping function 'QMediaService::requestControl', unmatched return type 'T'"} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtNetwork.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtNetwork.qml index ff06a699..159e3c62 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtNetwork.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtNetwork.qml @@ -1030,6 +1030,10 @@ TypeSystem{ "}"} } } + ModifyFunction{ + signature: "lookupHost(QString,Functor&&)" + remove: RemoveFlag.All + } } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGL.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGL.qml index 6a924eef..0d45c1aa 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGL.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGL.qml @@ -3471,145 +3471,24 @@ TypeSystem{ className: "QOpenGLTextureHelper" } - EnumType{ - name: "QOpenGLWindow::UpdateBehavior" - } - - EnumType{ - name: "QOpenGLBuffer::Access" - } - - EnumType{ - name: "QOpenGLBuffer::Type" - } - - EnumType{ - name: "QOpenGLBuffer::RangeAccessFlag" - } - - EnumType{ - name: "QOpenGLBuffer::UsagePattern" - } - - EnumType{ - name: "QOpenGLDebugLogger::LoggingMode" - } - - EnumType{ - name: "QOpenGLDebugMessage::Severity" - RejectEnumValue{ - name: "LastSeverity" + ValueType{ + name: "QOpenGLBuffer" + + EnumType{ + name: "Access" } - } - - EnumType{ - name: "QOpenGLDebugMessage::Source" - RejectEnumValue{ - name: "LastSource" + + EnumType{ + name: "Type" } - } - - EnumType{ - name: "QOpenGLDebugMessage::Type" - RejectEnumValue{ - name: "LastType" + + EnumType{ + name: "RangeAccessFlag" } - } - - EnumType{ - name: "QOpenGLFramebufferObject::Attachment" - } - - EnumType{ - name: "QOpenGLFramebufferObject::FramebufferRestorePolicy" - } - - EnumType{ - name: "QOpenGLShader::ShaderTypeBit" - } - - EnumType{ - name: "QOpenGLTexture::BindingTarget" - } - - EnumType{ - name: "QOpenGLTexture::DepthStencilMode" - } - - EnumType{ - name: "QOpenGLTexture::CoordinateDirection" - } - - EnumType{ - name: "QOpenGLTexture::Feature" - } - - EnumType{ - name: "QOpenGLTexture::CubeMapFace" - } - - EnumType{ - name: "QOpenGLTexture::Filter" - } - - EnumType{ - name: "QOpenGLTexture::MipMapGeneration" - } - - EnumType{ - name: "QOpenGLTexture::PixelFormat" - } - - EnumType{ - name: "QOpenGLTexture::PixelType" - } - - EnumType{ - name: "QOpenGLTexture::SwizzleComponent" - } - - EnumType{ - name: "QOpenGLTexture::SwizzleValue" - } - - EnumType{ - name: "QOpenGLTexture::Target" - } - - EnumType{ - name: "QOpenGLTexture::TextureFormat" - } - - EnumType{ - name: "QOpenGLTexture::TextureUnitReset" - } - - EnumType{ - name: "QOpenGLTexture::WrapMode" - } - - EnumType{ - name: "QOpenGLTexture::TextureFormatClass" - } - - EnumType{ - name: "QOpenGLTexture::ComparisonFunction" - RejectEnumValue{ - name: "CommpareNotEqual" - since: [6, 1] + + EnumType{ + name: "UsagePattern" } - } - - EnumType{ - name: "QOpenGLTexture::ComparisonMode" - } - - EnumType{ - name: "QOpenGLVersionStatus::OpenGLStatus" - } - - ValueType{ - name: "QOpenGLBuffer" ExtraIncludes{ Include{ fileName: "QtJambi/JavaAPI" @@ -3673,10 +3552,35 @@ TypeSystem{ ObjectType{ name: "QOpenGLDebugLogger" + + EnumType{ + name: "LoggingMode" + } } ValueType{ name: "QOpenGLDebugMessage" + + EnumType{ + name: "Severity" + RejectEnumValue{ + name: "LastSeverity" + } + } + + EnumType{ + name: "Source" + RejectEnumValue{ + name: "LastSource" + } + } + + EnumType{ + name: "Type" + RejectEnumValue{ + name: "LastType" + } + } } ValueType{ @@ -3685,6 +3589,14 @@ TypeSystem{ ObjectType{ name: "QOpenGLFramebufferObject" + + EnumType{ + name: "Attachment" + } + + EnumType{ + name: "FramebufferRestorePolicy" + } } ObjectType{ @@ -4514,6 +4426,10 @@ TypeSystem{ ObjectType{ name: "QOpenGLShader" + + EnumType{ + name: "ShaderTypeBit" + } ModifyFunction{ signature: "compileSourceCode ( const char *)" remove: RemoveFlag.All @@ -4993,27 +4909,25 @@ TypeSystem{ ObjectType{ name: "QOpenGLVertexArrayObject" - } - - ObjectType{ - name: "QOpenGLVertexArrayObject::Binder" - implementing: "AutoCloseable" - InjectCode{ - target: CodeClass.Java - Text{content: "@Override\n"+ - "@QtUninvokable\n"+ - "public final void close(){\n"+ - " dispose();\n"+ - "}"} + ObjectType{ + name: "Binder" + implementing: "AutoCloseable" + InjectCode{ + target: CodeClass.Java + Text{content: "@Override\n"+ + "@QtUninvokable\n"+ + "public final void close(){\n"+ + " dispose();\n"+ + "}"} + } } } - EnumType{ - name: "QOpenGLTextureBlitter::Origin" - } - ObjectType{ name: "QOpenGLTextureBlitter" + EnumType{ + name: "Origin" + } ExtraIncludes{ Include{ fileName: "hashes.h" @@ -5029,6 +4943,10 @@ TypeSystem{ ValueType{ name: "QOpenGLVersionStatus" + + EnumType{ + name: "OpenGLStatus" + } CustomConstructor{ Text{content: "return new(placement) QOpenGLVersionStatus(copy->version.first, copy->version.second, copy->status);"} } @@ -5036,6 +4954,81 @@ TypeSystem{ ObjectType{ name: "QOpenGLTexture" + EnumType{ + name: "BindingTarget" + } + + EnumType{ + name: "DepthStencilMode" + } + + EnumType{ + name: "CoordinateDirection" + } + + EnumType{ + name: "Feature" + } + + EnumType{ + name: "CubeMapFace" + } + + EnumType{ + name: "Filter" + } + + EnumType{ + name: "MipMapGeneration" + } + + EnumType{ + name: "PixelFormat" + } + + EnumType{ + name: "PixelType" + } + + EnumType{ + name: "SwizzleComponent" + } + + EnumType{ + name: "SwizzleValue" + } + + EnumType{ + name: "Target" + } + + EnumType{ + name: "TextureFormat" + } + + EnumType{ + name: "TextureUnitReset" + } + + EnumType{ + name: "WrapMode" + } + + EnumType{ + name: "TextureFormatClass" + } + + EnumType{ + name: "ComparisonFunction" + RejectEnumValue{ + name: "CommpareNotEqual" + since: [6, 1] + } + } + + EnumType{ + name: "ComparisonMode" + } ModifyFunction{ signature: "createTextureView(QOpenGLTexture::Target, QOpenGLTexture::TextureFormat, int, int, int, int) const" ModifyArgument{ @@ -5215,6 +5208,10 @@ TypeSystem{ ObjectType{ name: "QOpenGLWindow" + + EnumType{ + name: "UpdateBehavior" + } ModifyFunction{ signature: "paintGL()" isPaintMethod: true diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGLWidgets.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGLWidgets.qml index 529a0fab..1b867d38 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGLWidgets.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtOpenGLWidgets.qml @@ -35,18 +35,15 @@ TypeSystem{ qtLibrary: "QtOpenGLWidgets" module: "qtjambi.openglwidgets" description: "This library provides a widget for rendering OpenGL graphics." - - EnumType{ - name: "QOpenGLWidget::UpdateBehavior" - } - - EnumType{ - name: "QOpenGLWidget::TargetBuffer" - since: [6,5] - } - ObjectType{ name: "QOpenGLWidget" + EnumType{ + name: "UpdateBehavior" + } + EnumType{ + name: "TargetBuffer" + since: [6,5] + } ModifyFunction{ signature: "paintGL()" isPaintMethod: true diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtPdf.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtPdf.qml index 204f5b10..8a05c0da 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtPdf.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtPdf.qml @@ -143,12 +143,11 @@ TypeSystem{ } } - EnumType{ - name: "QPdfPageRenderer::RenderMode" - } - ObjectType{ name: "QPdfPageRenderer" + EnumType{ + name: "RenderMode" + } ModifyFunction{ signature: "setDocument(QPdfDocument *)" ModifyArgument{ @@ -233,21 +232,6 @@ TypeSystem{ } since: [6, 6] } - - ObjectType{ - name: "QPdfPageSelector" - ModifyFunction{ - signature: "setDocument(QPdfDocument *)" - ModifyArgument{ - index: 1 - ReferenceCount{ - variableName: "__rcDocument" - action: ReferenceCount.Set - } - } - } - since: [6, 6] - } SuppressedWarning{text: "WARNING(CppImplGenerator) :: Value type 'QPdfDestination' is missing a default constructor.*"} SuppressedWarning{text: "WARNING(CppImplGenerator) :: Value type 'QPdfSelection' is missing a default constructor.*"} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtPdfWidgets.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtPdfWidgets.qml index f81b3e85..6612b02f 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtPdfWidgets.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtPdfWidgets.qml @@ -35,21 +35,56 @@ TypeSystem{ qtLibrary: "QtPdfWidgets" module: "qtjambi.pdfwidgets" description: "Classes and functions for rendering PDF documents in a widget." - Rejection{ - className: "QPdfView" - functionName: "pageNavigator" - } - - EnumType{ - name: "QPdfView::PageMode" - } - - EnumType{ - name: "QPdfView::ZoomMode" - } ObjectType{ name: "QPdfView" + Rejection{functionName: "pageNavigator"} + EnumType{ + name: "PageMode" + } + EnumType{ + name: "ZoomMode" + } + ModifyFunction{ + signature: "setDocument(QPdfDocument *)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcDocument" + action: ReferenceCount.Set + } + } + } + ModifyFunction{ + signature: "setSearchModel(QPdfSearchModel*)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcSearchModel" + action: ReferenceCount.Set + } + } + since: [6, 6] + } + } + + ObjectType{ + name: "QPdfPageSelector" + ExtraIncludes{ + /*Include{ + fileName: "qtwidgets-config.h" + location: Include.Global + suppressed: true + } + Include{ + fileName: "QtWidgets/qtwidgets-config.h" + location: Include.Global + }*/ + Include{ + fileName: "QtJambi/JavaAPI" + location: Include.Global + } + } ModifyFunction{ signature: "setDocument(QPdfDocument *)" ModifyArgument{ @@ -60,5 +95,6 @@ TypeSystem{ } } } + since: [6, 6] } } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtQml.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtQml.qml index 33c85378..5ef873ef 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtQml.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtQml.qml @@ -81,10 +81,22 @@ TypeSystem{ className: "" functionName: "qjsvalue_cast" } + Rejection{ + className: "QQmlTypeNotAvailable" + since: 6.6 + } Rejection{ className: "QJSValueList" } + + Rejection{ + className: "QJSList" + } + + Rejection{ + className: "QJSListIndexClamp" + } Rejection{ className: "QJSValue::QJSValueList" @@ -377,6 +389,20 @@ TypeSystem{ signature: "operateOnIntegers(QJSPrimitiveValue,QJSPrimitiveValue)" remove: RemoveFlag.All } + ModifyFunction{ + signature: "data()" + remove: RemoveFlag.All + } + ModifyFunction{ + signature: "data()const" + remove: RemoveFlag.All + since: [6, 6] + } + ModifyFunction{ + signature: "constData()const" + remove: RemoveFlag.All + since: [6, 6] + } since: [6, 1] } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick.qml index 18b12ac1..369a0fc4 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick.qml @@ -2721,6 +2721,23 @@ TypeSystem{ } since: [6, 2] } + + InterfaceType{ + name: "QNativeInterface::QSGD3D12Texture" + packageName: "io.qt.quick.nativeinterface" + javaName: "QSGD3D12Texture" + ppCondition: "defined(Q_OS_WIN)" + isNativeInterface: true + generate: "no-shell" + Rejection{ + className: "TypeInfo" + } + ModifyFunction{ + signature: "QSGD3D12Texture()" + remove: RemoveFlag.All + } + since: [6, 6] + } PrimitiveType{ name: "VkFormat" diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick3D.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick3D.qml index 169da01a..efcc0731 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick3D.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtQuick3D.qml @@ -76,6 +76,10 @@ TypeSystem{ ObjectType{ name: "QQuick3DGeometry" + ObjectType{ + name: "TargetAttribute" + since: 6.6 + } EnumType{ name: "PrimitiveType" diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtSerialBus.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtSerialBus.qml index db5652d5..073dad52 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtSerialBus.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtSerialBus.qml @@ -806,11 +806,6 @@ TypeSystem{ until: 5 } - ObjectType{ - name: "QModbusRtuSerialClient" - since: [6, 2] - } - ObjectType{ name: "QModbusRtuSerialSlave" until: 5 @@ -818,6 +813,13 @@ TypeSystem{ ObjectType{ name: "QModbusRtuSerialServer" + ppCondition: "!defined(Q_OS_IOS)" + since: [6, 2] + } + + ObjectType{ + name: "QModbusRtuSerialClient" + ppCondition: "!defined(Q_OS_IOS)" since: [6, 2] } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtSql.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtSql.qml index 6bc57936..186ce4ae 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtSql.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtSql.qml @@ -73,6 +73,22 @@ TypeSystem{ fileName: "qtsqlglobal.h" location: Include.Global } + + EnumType{ + name: "Location" + } + + EnumType{ + name: "ParamTypeFlag" + } + + EnumType{ + name: "TableType" + } + + EnumType{ + name: "NumericalPrecisionPolicy" + } } ObjectType{ @@ -190,6 +206,10 @@ TypeSystem{ ValueType{ name: "QSqlQuery" + + EnumType{ + name: "BatchExecutionMode" + } ExtraIncludes{ Include{ fileName: "QSqlError" @@ -226,6 +246,10 @@ TypeSystem{ ValueType{ name: "QSqlError" + + EnumType{ + name: "ErrorType" + } } ValueType{ @@ -238,6 +262,10 @@ TypeSystem{ ValueType{ name: "QSqlField" + + EnumType{ + name: "RequiredStatus" + } ModifyFunction{ signature: "QSqlField(QString,QVariant::Type)" ModifyArgument{ @@ -252,6 +280,25 @@ TypeSystem{ ObjectType{ name: "QSqlDriver" + EnumType{ + name: "DbmsType" + } + + EnumType{ + name: "DriverFeature" + } + + EnumType{ + name: "IdentifierType" + } + + EnumType{ + name: "StatementType" + } + + EnumType{ + name: "NotificationSource" + } ExtraIncludes{ Include{ fileName: "QSqlQuery" @@ -347,6 +394,9 @@ TypeSystem{ ObjectType{ name: "QSqlRelationalTableModel" + EnumType{ + name: "JoinMode" + } ExtraIncludes{ Include{ fileName: "QStringList" @@ -361,6 +411,12 @@ TypeSystem{ ObjectType{ name: "QSqlResult" + EnumType{ + name: "BindingSyntax" + } + EnumType{ + name: "VirtualHookOperation" + } ExtraIncludes{ Include{ fileName: "QSqlError" @@ -398,11 +454,40 @@ TypeSystem{ ownership: Ownership.Dependent } } + until: 6.5 + } + ModifyFunction{ + signature: "boundValues(Qt::Disambiguated_t)const" + remove: RemoveFlag.All + since: 6.6 + } + ModifyFunction{ + signature: "boundValues(Qt::Disambiguated_t)" + ModifyArgument{ + index: 0 + DefineOwnership{ + codeClass: CodeClass.Native + ownership: Ownership.Dependent + } + } + ModifyArgument{ + index: 1 + RemoveArgument{} + ConversionRule{ + codeClass: CodeClass.Native + Text{content: "constexpr Qt::Disambiguated_t %out = Qt::Disambiguated;"} + } + } + since: 6.6 } } ObjectType{ name: "QSqlTableModel" + + EnumType{ + name: "EditStrategy" + } ExtraIncludes{ Include{ fileName: "QSqlIndex" @@ -469,70 +554,6 @@ TypeSystem{ } } - EnumType{ - name: "QSql::Location" - } - - EnumType{ - name: "QSql::ParamTypeFlag" - } - - EnumType{ - name: "QSql::TableType" - } - - EnumType{ - name: "QSql::NumericalPrecisionPolicy" - } - - EnumType{ - name: "QSqlDriver::DbmsType" - } - - EnumType{ - name: "QSqlDriver::DriverFeature" - } - - EnumType{ - name: "QSqlDriver::IdentifierType" - } - - EnumType{ - name: "QSqlDriver::StatementType" - } - - EnumType{ - name: "QSqlError::ErrorType" - } - - EnumType{ - name: "QSqlField::RequiredStatus" - } - - EnumType{ - name: "QSqlQuery::BatchExecutionMode" - } - - EnumType{ - name: "QSqlResult::BindingSyntax" - } - - EnumType{ - name: "QSqlResult::VirtualHookOperation" - } - - EnumType{ - name: "QSqlTableModel::EditStrategy" - } - - EnumType{ - name: "QSqlDriver::NotificationSource" - } - - EnumType{ - name: "QSqlRelationalTableModel::JoinMode" - } - SuppressedWarning{text: "WARNING(CppImplGenerator) :: protected function '*' in final class '*'"} SuppressedWarning{text: "WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'"} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtStateMachine.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtStateMachine.qml index 5ac50616..b218ecc0 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtStateMachine.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtStateMachine.qml @@ -35,26 +35,6 @@ TypeSystem{ qtLibrary: "QtStateMachine" module: "qtjambi.statemachine" description: "Provides classes and tools for creating state machines from SCXML files and embedding them in applications." - - EnumType{ - name: "QHistoryState::HistoryType" - } - - EnumType{ - name: "QState::ChildMode" - } - - EnumType{ - name: "QState::RestorePolicy" - } - - EnumType{ - name: "QStateMachine::Error" - } - - EnumType{ - name: "QStateMachine::EventPriority" - } ObjectType{ name: "QAbstractState" @@ -74,12 +54,12 @@ TypeSystem{ } } - EnumType{ - name: "QAbstractTransition::TransitionType" - } - ObjectType{ name: "QAbstractTransition" + + EnumType{ + name: "TransitionType" + } ModifyFunction{ signature: "addAnimation(QAbstractAnimation*)" ModifyArgument{ @@ -150,6 +130,14 @@ TypeSystem{ ObjectType{ name: "QState" + + EnumType{ + name: "ChildMode" + } + + EnumType{ + name: "RestorePolicy" + } ModifyFunction{ signature: "addTransition(QAbstractTransition*)" ModifyArgument{ @@ -281,6 +269,22 @@ TypeSystem{ ObjectType{ name: "QStateMachine" + + EnumType{ + name: "Error" + } + + EnumType{ + name: "EventPriority" + } + + ObjectType{ + name: "SignalEvent" + } + + ObjectType{ + name: "WrappedEvent" + } ModifyFunction{ signature: "beginMicrostep(QEvent*)" ModifyArgument{ @@ -360,6 +364,9 @@ TypeSystem{ ObjectType{ name: "QHistoryState" + EnumType{ + name: "HistoryType" + } ModifyFunction{ signature: "setDefaultTransition(QAbstractTransition*)" ModifyArgument{ @@ -479,12 +486,4 @@ TypeSystem{ ObjectType{ name: "QFinalState" } - - ObjectType{ - name: "QStateMachine::SignalEvent" - } - - ObjectType{ - name: "QStateMachine::WrappedEvent" - } } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtTextToSpeech.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtTextToSpeech.qml index e2e79d26..4acb652e 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtTextToSpeech.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtTextToSpeech.qml @@ -35,7 +35,7 @@ TypeSystem{ qtLibrary: "QtTextToSpeech" module: "qtjambi.texttospeech" description: "Provides support for accessibility features such as text-to-speech." - + ObjectType{ name: "QTextToSpeech" @@ -61,9 +61,163 @@ TypeSystem{ fileName: "hashes.h" location: Include.Local } + Include{ + fileName: "utils_p.h" + location: Include.Local + } + } + + ModifyFunction{ + signature: "synthesize(QString,Functor&&)" + Instantiation{ + Argument{ + type: "QAudioBuffer" + } + proxyCall: "qtjambi_synthesize1" + ModifyArgument{ + index: 2 + NoNullPointer{} + ReplaceType{ + modifiedType: "io.qt.core.QMetaObject$Slot1" + } + ConversionRule{ + codeClass: CodeClass.Native + Text{content: "jobject %out = %in;"} + } + } + InjectCode{ + target: CodeClass.Java + position: Position.Beginning + ArgumentMap{metaName: "func"; index: 2} + Text{content: String.raw`if(context==null) + context = QtJambi_LibraryUtilities.internal.lambdaContext(func);`} + } + AddArgument{ + index: 2 + name: "context" + type: "io.qt.core.QObject" + } + } + Instantiation{ + Argument{ + type: "QAudioFormat" + } + proxyCall: "qtjambi_synthesize2" + ModifyArgument{ + index: 2 + NoNullPointer{} + ReplaceType{ + modifiedType: "io.qt.core.QMetaObject$Slot2" + } + ConversionRule{ + codeClass: CodeClass.Native + Text{content: "jobject %out = %in;"} + } + } + InjectCode{ + target: CodeClass.Java + position: Position.Beginning + ArgumentMap{metaName: "func"; index: 2} + Text{content: String.raw`if(context==null) + context = QtJambi_LibraryUtilities.internal.lambdaContext(func);`} + } + AddArgument{ + index: 2 + name: "context" + type: "io.qt.core.QObject" + } + } + since: 6.6 + } + ModifyFunction{ + signature: "findVoices(Args&&)const" + remove: RemoveFlag.All + since: 6.6 + } + InjectCode{ + target: CodeClass.Java + position: Position.End + since: 6.6 + Text{content: String.raw` +/** + *

    Overloaded function for {@link #synthesize(String, io.qt.core.QObject, io.qt.core.QMetaObject.Slot1)} + * with context = null.

    + */ +@SuppressWarnings("exports") +@QtUninvokable +public final void synthesize(java.lang.@NonNull String text, io.qt.core.QMetaObject.@StrictNonNull Slot1 func){ + synthesize(text, null, func); +} + +/** + *

    Overloaded function for {@link #synthesize(String, io.qt.core.QObject, io.qt.core.QMetaObject.Slot2)} + * with context = null.

    + */ +@SuppressWarnings("exports") +@QtUninvokable +public final void synthesize(java.lang.@NonNull String text, io.qt.core.QMetaObject.@StrictNonNull Slot2 func){ + synthesize(text, null, func); +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(){ + io.qt.core.QList voices = allVoices(null); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(java.lang.@NonNull String name){ + io.qt.core.QList voices = allVoices(new io.qt.core.QLocale(name)); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(io.qt.core.@NonNull QLocale locale){ + io.qt.core.QList voices = allVoices(locale); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(io.qt.core.QLocale.@NonNull Language language){ + io.qt.core.QList voices = allVoices(new io.qt.core.QLocale(language)); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(io.qt.core.QLocale.@NonNull Language language, io.qt.core.QLocale.@NonNull Country territory){ + io.qt.core.QList voices = allVoices(new io.qt.core.QLocale(language, territory)); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(io.qt.core.QLocale.@NonNull Language language, io.qt.core.QLocale.@NonNull Script script){ + io.qt.core.QList voices = allVoices(new io.qt.core.QLocale(language, script)); + return voices; +} + +/** + *

    See QTextToSpeech::findVoices(Args...)

    + */ +public io.qt.core.QList findVoices(io.qt.core.QLocale.@NonNull Language language, io.qt.core.QLocale.@NonNull Script script, io.qt.core.QLocale.@NonNull Country territory){ + io.qt.core.QList voices = allVoices(new io.qt.core.QLocale(language, script, territory)); + return voices; +}` + } } } - + ObjectType{ name: "QTextToSpeechEngine" ExtraIncludes{ @@ -73,7 +227,7 @@ TypeSystem{ } } } - + ObjectType{ name: "QTextToSpeechPlugin" ExtraIncludes{ @@ -154,7 +308,7 @@ TypeSystem{ "}"} } } - + ValueType{ name: "QVoice" diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannel.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannel.qml index edb03b07..45977364 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannel.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannel.qml @@ -35,10 +35,6 @@ TypeSystem{ qtLibrary: "QtWebChannel" module: "qtjambi.webchannel" description: "Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients." - Rejection{ - className: "QQmlWebChannel" - functionName: "qmlAttachedProperties" - } Rejection{ className: "QQmlWebChannelAttached" @@ -54,6 +50,9 @@ TypeSystem{ ObjectType{ name: "QQmlWebChannel" + Rejection{ + functionName: "qmlAttachedProperties" + } ExtraIncludes{ Include{ fileName: "QtJambiQml/hashes.h" @@ -69,6 +68,7 @@ TypeSystem{ } } } + until: 6.5 } ObjectType{ diff --git a/src/java/modules/qtjambi/main/io/qt/core/QIterator.java b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannelQuick.qml similarity index 57% rename from src/java/modules/qtjambi/main/io/qt/core/QIterator.java rename to src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannelQuick.qml index 99251fa6..91f54de4 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QIterator.java +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebChannelQuick.qml @@ -1,45 +1,59 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -package io.qt.core; - -import java.util.Iterator; -import java.util.Optional; - -import io.qt.QtObjectInterface; - -/** - * Use {@link QIterator} instead. - */ -@Deprecated -public interface QIterator extends QtObjectInterface, java.lang.Iterable { - public Iterator iterator(); - public Optional value(); -} +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of QtJambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +import QtJambiGenerator 1.0 + +TypeSystem{ + packageName: "io.qt.webchannelquick" + defaultSuperClass: "QtObject" + qtLibrary: "QtWebChannelQuick" + module: "qtjambi.webchannelquick" + description: "Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients." + ObjectType{ + name: "QQmlWebChannel" + Rejection{ + functionName: "qmlAttachedProperties" + } + ExtraIncludes{ + Include{ + fileName: "QtJambiQml/hashes.h" + location: Include.Global + } + } + ModifyFunction{ + signature: "registerObjects(const QMap &)" + ModifyArgument{ + index: 1 + ReplaceType{ + modifiedType: "java.util.@Nullable SortedMap" + } + } + } + } +} diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngine.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngine.qml index 72a42d9f..1bc56af5 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngine.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngine.qml @@ -36,30 +36,18 @@ TypeSystem{ module: "qtjambi.webengine" description: "Classes and functions for embedding web content in applications using the Chromium browser project." until: 5 - - Rejection{ - className: "QQuickWebEngineProfile" - functionName: "settings" - } - - EnumType{ - name: "QQuickWebEngineProfile::HttpCacheType" - } - - EnumType{ - name: "QQuickWebEngineProfile::PersistentCookiesPolicy" - } - - EnumType{ - name: "QQuickWebEngineScript::InjectionPoint" - } - - EnumType{ - name: "QQuickWebEngineScript::ScriptWorldId" - } ObjectType{ name: "QQuickWebEngineProfile" + Rejection{ + functionName: "settings" + } + EnumType{ + name: "HttpCacheType" + } + EnumType{ + name: "PersistentCookiesPolicy" + } ModifyFunction{ signature: "installUrlSchemeHandler(QByteArray,QWebEngineUrlSchemeHandler*)" ModifyArgument{ @@ -150,6 +138,12 @@ TypeSystem{ ObjectType{ name: "QQuickWebEngineScript" + EnumType{ + name: "InjectionPoint" + } + EnumType{ + name: "ScriptWorldId" + } } ObjectType{ diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineCore.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineCore.qml index 1f611b21..61fc6823 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineCore.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineCore.qml @@ -251,12 +251,11 @@ TypeSystem{ } } - EnumType{ - name: "QWebEngineHttpRequest::Method" - } - ValueType{ name: "QWebEngineHttpRequest" + EnumType{ + name: "Method" + } ModifyFunction{ signature: "operator=(QWebEngineHttpRequest)" Delegate{ @@ -287,6 +286,21 @@ TypeSystem{ ObjectType{ name: "QWebEngineNotification" } + + ObjectType{ + name: "QWebEngineUrlResponseInterceptor" + since: [6, 6] + } + + ObjectType{ + name: "QWebEngineUrlResponseInfo" + since: [6, 6] + } + + ObjectType{ + name: "QWebEngineGlobalSettings" + since: [6, 6] + } ObjectType{ name: "QWebEnginePage" @@ -308,52 +322,33 @@ TypeSystem{ EnumType{ name: "Feature" - since: [6, 2] } - EnumType{ name: "FileSelectionMode" - since: [6, 2] } - EnumType{ name: "FindFlag" - since: [6, 2] } - EnumType{ name: "JavaScriptConsoleMessageLevel" - since: [6, 2] } - EnumType{ name: "NavigationType" - since: [6, 2] } - EnumType{ name: "PermissionPolicy" - since: [6, 2] } - EnumType{ name: "RenderProcessTerminationStatus" - since: [6, 2] } - EnumType{ name: "WebAction" - since: [6, 2] } - EnumType{ name: "WebWindowType" - since: [6, 2] } - EnumType{ name: "LifecycleState" - since: [6, 2] } ModifyFunction{ signature: "scripts()" @@ -520,6 +515,17 @@ TypeSystem{ } } } + ModifyFunction{ + signature: "setUrlResponseInterceptor(QWebEngineUrlResponseInterceptor*)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcUrlResponseInterceptor" + action: ReferenceCount.Set + } + } + since: [6, 6] + } ModifyFunction{ signature: "setWebChannel(QWebChannel*,quint32)" ModifyArgument{ @@ -621,18 +627,36 @@ TypeSystem{ since: [6, 2] } - EnumType{ - name: "QWebEngineProfile::HttpCacheType" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineProfile::PersistentCookiesPolicy" - since: [6, 2] - } - ObjectType{ name: "QWebEngineProfile" + EnumType{ + name: "HttpCacheType" + } + EnumType{ + name: "PersistentCookiesPolicy" + } + + FunctionalType{ + name: "IconAvailableCallback3" + using: "std::function" + ExtraIncludes{ + Include{ + fileName: "QtWebEngineCore/QWebEngineNotification" + location: Include.Global + } + } + } + + FunctionalType{ + name: "IconAvailableCallback2" + using: "std::function" + ExtraIncludes{ + Include{ + fileName: "QtWebEngineCore/QWebEngineNotification" + location: Include.Global + } + } + } ExtraIncludes{ Include{ fileName: "QtWebEngineCore/QWebEngineNotification" @@ -677,6 +701,17 @@ TypeSystem{ } } } + ModifyFunction{ + signature: "setUrlResponseInterceptor(QWebEngineUrlResponseInterceptor*)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcUrlResponseInterceptor" + action: ReferenceCount.Set + } + } + since: [6, 6] + } ModifyFunction{ signature: "setNotificationPresenter(std::function)>)" ModifyArgument{ @@ -703,42 +738,14 @@ TypeSystem{ since: [6, 2] } - FunctionalType{ - name: "QWebEngineProfile::IconAvailableCallback3" - using: "std::function" - ExtraIncludes{ - Include{ - fileName: "QtWebEngineCore/QWebEngineNotification" - location: Include.Global - } - } - since: [6, 2] - } - - FunctionalType{ - name: "QWebEngineProfile::IconAvailableCallback2" - using: "std::function" - ExtraIncludes{ - Include{ - fileName: "QtWebEngineCore/QWebEngineNotification" - location: Include.Global - } - } - since: [6, 2] - } - - EnumType{ - name: "QWebEngineCertificateError::Error" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineCertificateError::Type" - since: [6, 2] - } - ValueType{ name: "QWebEngineCertificateError" + EnumType{ + name: "Error" + } + EnumType{ + name: "Type" + } CustomConstructor{ Text{content: "if(copy){\n"+ " return new(placement) QWebEngineCertificateError(*copy);\n"+ @@ -749,18 +756,14 @@ TypeSystem{ since: [6, 2] } - EnumType{ - name: "QWebEngineScript::InjectionPoint" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineScript::ScriptWorldId" - since: [6, 2] - } - ValueType{ name: "QWebEngineScript" + EnumType{ + name: "InjectionPoint" + } + EnumType{ + name: "ScriptWorldId" + } ModifyFunction{ signature: "operator=(QWebEngineScript)" Delegate{ @@ -773,26 +776,18 @@ TypeSystem{ ObjectType{ name: "QWebEngineSettings" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineSettings::FontFamily" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineSettings::FontSize" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineSettings::WebAttribute" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineSettings::UnknownUrlSchemePolicy" + EnumType{ + name: "FontFamily" + } + EnumType{ + name: "FontSize" + } + EnumType{ + name: "WebAttribute" + } + EnumType{ + name: "UnknownUrlSchemePolicy" + } since: [6, 2] } @@ -832,11 +827,9 @@ TypeSystem{ ObjectType{ name: "QWebEngineHistoryModel" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineHistoryModel::Roles" + EnumType{ + name: "Roles" + } since: [6, 2] } @@ -859,58 +852,42 @@ TypeSystem{ since: [6, 2] } - EnumType{ - name: "QWebEngineContextMenuRequest::MediaType" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineContextMenuRequest::MediaFlag" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineContextMenuRequest::EditFlag" - since: [6, 2] - } - ObjectType{ name: "QWebEngineContextMenuRequest" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineDownloadRequest::DownloadState" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineDownloadRequest::DownloadType" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineDownloadRequest::DownloadInterruptReason" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineDownloadRequest::SavePageFormat" + EnumType{ + name: "MediaType" + } + EnumType{ + name: "MediaFlag" + } + EnumType{ + name: "EditFlag" + } since: [6, 2] } ObjectType{ name: "QWebEngineDownloadRequest" - since: [6, 2] - } - - EnumType{ - name: "QWebEngineNavigationRequest::NavigationType" + EnumType{ + name: "DownloadState" + } + EnumType{ + name: "DownloadType" + } + EnumType{ + name: "DownloadInterruptReason" + } + EnumType{ + name: "SavePageFormat" + } since: [6, 2] } ObjectType{ name: "QWebEngineNavigationRequest" + EnumType{ + name: "NavigationType" + } since: [6, 2] } diff --git a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineQuick.qml b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineQuick.qml index 7516004a..60386f61 100644 --- a/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineQuick.qml +++ b/src/cpp/QtJambiGenerator/typesystem/qml/QtWebEngineQuick.qml @@ -35,27 +35,17 @@ TypeSystem{ qtLibrary: "QtWebEngineQuick" module: "qtjambi.webenginequick" description: "Classes and functions for embedding web content in applications using the Chromium browser project." - - Rejection{ - className: "QQuickWebEngineProfile" - functionName: "settings" - } - - Rejection{ - className: "QQuickWebEngineProfile" - functionName: "userScripts" - } - - EnumType{ - name: "QQuickWebEngineProfile::HttpCacheType" - } - - EnumType{ - name: "QQuickWebEngineProfile::PersistentCookiesPolicy" - } ObjectType{ name: "QQuickWebEngineProfile" + Rejection{functionName: "settings"} + Rejection{functionName: "userScripts"} + EnumType{ + name: "HttpCacheType" + } + EnumType{ + name: "PersistentCookiesPolicy" + } ModifyFunction{ signature: "installUrlSchemeHandler(QByteArray,QWebEngineUrlSchemeHandler*)" ModifyArgument{ @@ -86,6 +76,17 @@ TypeSystem{ } } } + ModifyFunction{ + signature: "setUrlResponseInterceptor(QWebEngineUrlResponseInterceptor*)" + ModifyArgument{ + index: 1 + ReferenceCount{ + variableName: "__rcUrlResponseInterceptor" + action: ReferenceCount.Set + } + } + since: [6, 6] + } ExtraIncludes{ Include{ fileName: "QtWebEngineCore/QWebEngineDownloadRequest" diff --git a/src/cpp/QtJambiGenerator/typesystem/typeentry.h b/src/cpp/QtJambiGenerator/typesystem/typeentry.h index 666c63e4..6f04d412 100644 --- a/src/cpp/QtJambiGenerator/typesystem/typeentry.h +++ b/src/cpp/QtJambiGenerator/typesystem/typeentry.h @@ -692,7 +692,7 @@ class FunctionalTypeEntry : public TypeEntry { QString pkg = javaPackage().replace('.', '/'); QString javaQual = javaQualifier(); if (pkg.isEmpty()) return javaQual.isEmpty() ? targetLangName() : javaQual + '$' + targetLangName(); - return javaQual.isEmpty() ? pkg + '/' + targetLangName() : pkg + '.' + javaQual + '$' + targetLangName(); + return javaQual.isEmpty() ? pkg + '/' + targetLangName() : pkg + '/' + javaQual + '$' + targetLangName(); } QString jniName() const override { @@ -1308,6 +1308,12 @@ class ComplexTypeEntry : public TypeEntry { void setQObject(bool qobject) { m_attributes.setFlag(IsQObject, qobject); } + bool isQEvent() const { + return m_attributes.testFlag(IsQEvent); + } + void setQEvent(bool b) { + m_attributes.setFlag(IsQEvent, b); + } bool isGLsync() const { return m_attributes.testFlag(IsGLsync); } @@ -1761,7 +1767,8 @@ class ComplexTypeEntry : public TypeEntry { IsValueOwner = 0x010000, SkipMetaTypeRegistration = 0x20000, ForceMetaTypeRegistration = 0x40000, - IsQMediaControl = 0x80000 + IsQMediaControl = 0x80000, + IsQEvent = 0x100000 }; QFlags m_attributes; diff --git a/src/cpp/QtJambiGraphs/QtJambiGraphs.pro b/src/cpp/QtJambiGraphs/QtJambiGraphs.pro new file mode 100644 index 00000000..57288578 --- /dev/null +++ b/src/cpp/QtJambiGraphs/QtJambiGraphs.pro @@ -0,0 +1,9 @@ +include(../QtJambi/configure.pri) + +QT = core gui graphs + +HEADERS += \ + hashes.h + +SOURCES += + diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMapIterator.java b/src/cpp/QtJambiGraphs/hashes.h similarity index 53% rename from src/java/modules/qtjambi/main/io/qt/core/QMapIterator.java rename to src/cpp/QtJambiGraphs/hashes.h index ba69b3f6..e8b09fd2 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QMapIterator.java +++ b/src/cpp/QtJambiGraphs/hashes.h @@ -5,6 +5,7 @@ ** This file is part of Qt Jambi. ** ** $BEGIN_LICENSE$ +** ** GNU Lesser General Public License Usage ** This file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software @@ -12,7 +13,7 @@ ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** +** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software @@ -20,26 +21,48 @@ ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. +** ** $END_LICENSE$ - ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.core; -import java.util.Iterator; -import java.util.Optional; +#ifndef QTJAMBIDATAVIS3D_HASHES_H +#define QTJAMBIDATAVIS3D_HASHES_H + +#include +#include +#include + +#include +#include +#include + +inline bool operator==(const QBarDataItem& a, const QBarDataItem& b){ + return qFuzzyCompare(a.value(), b.value()) && qFuzzyCompare(a.rotation(), b.rotation()); +} + +inline bool operator==(const QScatterDataItem& a, const QScatterDataItem& b){ + return a.position()==b.position() && qFuzzyCompare(a.rotation(), b.rotation()); +} + +inline bool operator==(const QSurfaceDataItem& a, const QSurfaceDataItem& b){ + return a.position()==b.position(); +} + +inline hash_type qHash(const QBarDataItem &value, hash_type seed = 0){ + return qHashMulti(seed, value.value(), value.rotation()); +} -import io.qt.QtObjectInterface; +inline hash_type qHash(const QScatterDataItem &value, hash_type seed = 0){ + return qHashMulti(seed, value.position(), value.rotation()); +} -/** - * Use {@link QAssociativeConstIterator} instead. - */ -@Deprecated -public interface QMapIterator extends QtObjectInterface, java.lang.Iterable> { - public Iterator> iterator(); - public Optional> keyValuePair(); +inline hash_type qHash(const QSurfaceDataItem &value, hash_type seed = 0){ + return qHash(value.position(), seed); } + +#endif // QTJAMBI_DATAVIS3D_HASHES_H diff --git a/src/cpp/QtJambiGui/hashes.h b/src/cpp/QtJambiGui/hashes.h index 5bddc6a4..7145f4c4 100644 --- a/src/cpp/QtJambiGui/hashes.h +++ b/src/cpp/QtJambiGui/hashes.h @@ -584,10 +584,12 @@ inline hash_type qHash(const QQuaternion &value, hash_type seed = 0) return genericHash(value, seed); } +#if QT_VERSION < QT_VERSION_CHECK(6,6,0) inline hash_type qHash(const QPixmapCache::Key &value, hash_type seed = 0) { return genericHash(value, seed); } +#endif inline hash_type qHash(const QTextFragment &value, hash_type seed = 0) { diff --git a/src/cpp/QtJambiMultimedia/hashes.h b/src/cpp/QtJambiMultimedia/hashes.h index 0961c5b4..94d5eb0b 100644 --- a/src/cpp/QtJambiMultimedia/hashes.h +++ b/src/cpp/QtJambiMultimedia/hashes.h @@ -308,4 +308,14 @@ inline hash_type qHash(const QAudioFormat& value, hash_type seed){ return seed; } +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) +inline hash_type qHash(const QCapturableWindow &value, hash_type seed = 0) +{ + QtPrivate::QHashCombine hash; + seed = hash(seed, value.isValid()); + seed = hash(seed, value.description()); + return seed; +} +#endif + #endif // QTJAMBIMULTIMEDIA_HASHES_H diff --git a/src/cpp/QtJambiQuick/hashes.h b/src/cpp/QtJambiQuick/hashes.h index 6653949f..98fdfefb 100644 --- a/src/cpp/QtJambiQuick/hashes.h +++ b/src/cpp/QtJambiQuick/hashes.h @@ -274,7 +274,13 @@ inline hash_type qHash(const QQuickRenderTarget &value, hash_type seed = 0) seed = hash(seed, p->sampleCount); switch(p->type){ case QQuickRenderTargetPrivate::Type::NativeTexture: +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) + seed = hash(seed, p->u.nativeTexture.layoutOrState); + seed = hash(seed, p->u.nativeTexture.rhiFormat); + seed = hash(seed, p->u.nativeTexture.rhiFlags); +#else seed = hash(seed, p->u.nativeTexture.layout); +#endif seed = hash(seed, p->u.nativeTexture.object); break; case QQuickRenderTargetPrivate::Type::RhiRenderTarget: diff --git a/src/cpp/QtJambiTextToSpeech/impl.cpp b/src/cpp/QtJambiTextToSpeech/impl.cpp index bd75829b..684f96e1 100644 --- a/src/cpp/QtJambiTextToSpeech/impl.cpp +++ b/src/cpp/QtJambiTextToSpeech/impl.cpp @@ -29,6 +29,11 @@ #include #include "utils_p.h" +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) +#include +#include +#include +#endif namespace Java{ namespace QtTextToSpeech{ @@ -37,4 +42,53 @@ namespace Java{ QTJAMBI_REPOSITORY_DEFINE_METHOD(getMessage,()Ljava/lang/String;) ) } + namespace QtMultimedia{ + QTJAMBI_REPOSITORY_DECLARE_CLASS(QAudioFormat,) + QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/multimedia,QAudioFormat,) + QTJAMBI_REPOSITORY_DECLARE_CLASS(QAudioBuffer,) + QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/multimedia,QAudioBuffer,) + } +} + +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) + +struct Prototype1{ + Prototype1(JNIEnv *env, jobject func) : wrapper(env, func){} + void operator()(const QAudioBuffer& arg1){ + if(JniEnvironment env{200}){ + Java::QtCore::QMetaObject$Slot1::invoke(env, wrapper.object(), QtJambiAPI::convertNativeToJavaObjectAsCopy(env, &arg1, Java::QtMultimedia::QAudioBuffer::getClass(env))); + } + } + JObjectWrapper wrapper; +}; + +struct Prototype2{ + Prototype2(JNIEnv *env, jobject func) : wrapper(env, func){} + void operator()(const QAudioFormat& arg1, const QByteArray& arg2){ + if(JniEnvironment env{200}){ + Java::QtCore::QMetaObject$Slot2::invoke(env, wrapper.object(), QtJambiAPI::convertNativeToJavaObjectAsCopy(env, &arg1, Java::QtMultimedia::QAudioFormat::getClass(env)), qtjambi_cast(env, arg2)); + } + } + JObjectWrapper wrapper; +}; + +void qtjambi_synthesize1(JNIEnv *env, QTextToSpeech *_this, jobject _context, const QString& text, jobject func){ + QObject* context = qtjambi_cast(env, _context); + auto out = [wrapper = JObjectWrapper(env, func)](const QAudioBuffer& arg1){ + if(JniEnvironment env{200}){ + Java::QtCore::QMetaObject$Slot1::invoke(env, wrapper.object(), QtJambiAPI::convertNativeToJavaObjectAsCopy(env, &arg1, Java::QtMultimedia::QAudioBuffer::getClass(env))); + } + }; + _this->synthesize(text, context, std::move(out)); +} + +void qtjambi_synthesize2(JNIEnv *env, QTextToSpeech *_this, jobject _context, const QString& text, jobject func){ + QObject* context = qtjambi_cast(env, _context); + auto out = [wrapper = JObjectWrapper(env, func)](const QAudioFormat& arg1, const QByteArray& arg2){ + if(JniEnvironment env{200}){ + Java::QtCore::QMetaObject$Slot2::invoke(env, wrapper.object(), QtJambiAPI::convertNativeToJavaObjectAsCopy(env, &arg1, Java::QtMultimedia::QAudioFormat::getClass(env)), qtjambi_cast(env, arg2)); + } + }; + _this->synthesize(text, context, std::move(out)); } +#endif diff --git a/src/cpp/QtJambiTextToSpeech/utils_p.h b/src/cpp/QtJambiTextToSpeech/utils_p.h index 855ee19f..7657df23 100644 --- a/src/cpp/QtJambiTextToSpeech/utils_p.h +++ b/src/cpp/QtJambiTextToSpeech/utils_p.h @@ -41,4 +41,9 @@ namespace Java{ } } +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) +void qtjambi_synthesize1(JNIEnv *env, class QTextToSpeech *_this, jobject context, const QString& text, jobject func); +void qtjambi_synthesize2(JNIEnv *env, class QTextToSpeech *_this, jobject context, const QString& text, jobject func); +#endif + #endif // UTILS_P_H diff --git a/src/cpp/QtJambiWebChannelQuick/QtJambiWebChannelQuick.pro b/src/cpp/QtJambiWebChannelQuick/QtJambiWebChannelQuick.pro new file mode 100644 index 00000000..95e67870 --- /dev/null +++ b/src/cpp/QtJambiWebChannelQuick/QtJambiWebChannelQuick.pro @@ -0,0 +1,3 @@ +include(../QtJambi/configure.pri) + +QT = core webchannel webchannelquick diff --git a/src/cpp/QtJambiWidgets/impl.cpp b/src/cpp/QtJambiWidgets/impl.cpp index 7909f3fe..7b084ce1 100644 --- a/src/cpp/QtJambiWidgets/impl.cpp +++ b/src/cpp/QtJambiWidgets/impl.cpp @@ -32,6 +32,11 @@ #include #include #include + +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) +#define QBACKINGSTORERHISUPPORT_P_H +#endif + #include #include #include @@ -64,24 +69,6 @@ QTJAMBI_REPOSITORY_DEFINE_CLASS(io/qt/widgets,QStyle, } } -extern "C" JNIEXPORT jlong JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_widgets_QItemEditorCreator_constructorHandle) -(JNIEnv *__jni_env, - jclass, - jobject constructor) -{ - return jlong(__jni_env->FromReflectedMethod(constructor)); -} - -extern "C" JNIEXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_widgets_QItemEditorCreator_construct) -(JNIEnv *__jni_env, - jclass, - jclass cls, - jlong constructorHandle, - jobject parent) -{ - return __jni_env->NewObject(cls, jmethodID(constructorHandle), parent); -} - extern "C" Q_DECL_EXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_widgets_QWidgetItem_hasWidgetItemV2) (JNIEnv *__jni_env, jobject, diff --git a/src/cpp/autotests/internal.h b/src/cpp/autotests/internal.h index f16c001a..1245ac71 100644 --- a/src/cpp/autotests/internal.h +++ b/src/cpp/autotests/internal.h @@ -26,9 +26,9 @@ enum class UnknownEnum{ E1 = 101,E2,E3,E4 }; -inline hash_type qHash(const UnknownEnum & e) +inline hash_type qHash(const UnknownEnum & e, hash_type seed = 0) { - return uint(e); + return qHash(*reinterpret_cast(&e), seed); } Q_DECLARE_METATYPE(UnknownEnum); @@ -37,7 +37,7 @@ struct UnknownValue{ inline bool operator<(const UnknownValue&) const {return false;} }; -inline hash_type qHash(const UnknownValue &) +inline hash_type qHash(const UnknownValue &, hash_type = 0) { return 0; } diff --git a/src/cpp/autotests/tulip.cpp b/src/cpp/autotests/tulip.cpp index 55a8eee9..53d16012 100644 --- a/src/cpp/autotests/tulip.cpp +++ b/src/cpp/autotests/tulip.cpp @@ -79,6 +79,11 @@ void Tulip::testStdFunctions(const QList& functions){ } } +void Tulip::consumeIntList(const QList& list){for (int i = 0; i < list.size(); i++) {list.at(i);}} +void Tulip::consumeStringList(const QList& list){for (int i = 0; i < list.size(); i++) {list.at(i);}} +void Tulip::consumeColorList(const QList& list){for (int i = 0; i < list.size(); i++) {list.at(i);}} +void Tulip::consumeQObjectList(const QList& list){for (int i = 0; i < list.size(); i++) {list.at(i);}} + QSet Tulip::createSetOfRunnables() {return {};} QHash Tulip::createStringHashOfRunnables() {return {};} QMultiHash Tulip::createStringMultiHashOfRunnables() {return {};} @@ -92,3 +97,13 @@ QMap Tulip::createStringMapOfObjects() {return {};} QMultiMap Tulip::createStringMultiMapOfObjects() {return {};} QList> Tulip::createListOfListOfRunnables() {return {};} QList> Tulip::createListOfListOfObjects() {return {};} + +qint64 Tulip::fillIntList(qint32 capacity){ + QList list; + QTime t1 = QTime::currentTime(); + for (int i = 0; i < capacity; i++) { + list.append(i); + } + QTime t2 = QTime::currentTime(); + return t1.msecsTo(t2); +} diff --git a/src/cpp/autotests/tulip.h b/src/cpp/autotests/tulip.h index 21d7a6c5..15101ca6 100644 --- a/src/cpp/autotests/tulip.h +++ b/src/cpp/autotests/tulip.h @@ -79,6 +79,8 @@ inline #endif #include +#include + class Tulip { public: @@ -163,6 +165,11 @@ class Tulip static QList> createListOfListOfRunnables(); static QList> createListOfListOfObjects(); + static qint64 fillIntList(qint32 capacity); + static void consumeIntList(const QList& list); + static void consumeStringList(const QList& list); + static void consumeColorList(const QList& list); + static void consumeQObjectList(const QList& list); public: QList m_list; private: diff --git a/src/cpp/functionpointers/functionpointers.pro b/src/cpp/functionpointers/functionpointers.pro index dc651132..aced70fc 100644 --- a/src/cpp/functionpointers/functionpointers.pro +++ b/src/cpp/functionpointers/functionpointers.pro @@ -10,10 +10,9 @@ SUBDIRS += DoubleToDoubleFunction SUBDIRS += FloatToFloatFunction greaterThan(QT_MAJOR_VERSION, 5): { SUBDIRS += PluginMetaDataFunction MetaTypeFunction QmlTypeCreatorFunction - greaterThan(QT_MAJOR_VERSION, 6) | greaterThan(QT_MINOR_VERSION, 4): { - SUBDIRS += PropertyBindingWrapperFunction BindingSetterFunction MakeBindingFunction - } -} -else{ + greaterThan(QT_MAJOR_VERSION, 6) | greaterThan(QT_MINOR_VERSION, 4): { + SUBDIRS += PropertyBindingWrapperFunction BindingSetterFunction MakeBindingFunction + } +}else{ SUBDIRS += VariantDataFunction } diff --git a/src/java/ant/io/qt/tools/ant/CreateFunctionPointerQrcTask.java b/src/java/ant/io/qt/tools/ant/CreateFunctionPointerQrcTask.java index 57a3d619..8ffb2b4c 100644 --- a/src/java/ant/io/qt/tools/ant/CreateFunctionPointerQrcTask.java +++ b/src/java/ant/io/qt/tools/ant/CreateFunctionPointerQrcTask.java @@ -14,6 +14,7 @@ public class CreateFunctionPointerQrcTask extends Task { public void execute() throws BuildException { PropertyHelper propertyHelper = PropertyHelper.getPropertyHelper(getProject()); int qtMajorVersion = Integer.parseInt(AntUtil.getPropertyAsString(propertyHelper, Constants.QT_VERSION_MAJOR)); + int qtMinorVersion = Integer.parseInt(AntUtil.getPropertyAsString(propertyHelper, Constants.QT_VERSION_MINOR)); String fileName = "functionpointers-%1$s.qrc"; if("qtjambi".equals(module)) { String dlibFormat = "%1$sd.dll"; @@ -39,20 +40,20 @@ public void execute() throws BuildException { if(qtMajorVersion<6) { libFormat = "lib%1$s_armeabi-v7a.so"; dlibFormat = "lib%1$s_debug_armeabi-v7a.so"; - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-armeabi-v7a")), libFormat, qtMajorVersion); - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-armeabi-v7a")), dlibFormat, qtMajorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-armeabi-v7a")), libFormat, qtMajorVersion, qtMinorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-armeabi-v7a")), dlibFormat, qtMajorVersion, qtMinorVersion); libFormat = "lib%1$s_arm64-v8a.so"; dlibFormat = "lib%1$s_debug_arm64-v8a.so"; - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-arm64-v8a")), libFormat, qtMajorVersion); - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-arm64-v8a")), dlibFormat, qtMajorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-arm64-v8a")), libFormat, qtMajorVersion, qtMinorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-arm64-v8a")), dlibFormat, qtMajorVersion, qtMinorVersion); libFormat = "lib%1$s_x86.so"; dlibFormat = "lib%1$s_debug_x86.so"; - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-x86")), libFormat, qtMajorVersion); - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-x86")), dlibFormat, qtMajorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-x86")), libFormat, qtMajorVersion, qtMinorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-x86")), dlibFormat, qtMajorVersion, qtMinorVersion); libFormat = "lib%1$s_x86_64.so"; dlibFormat = "lib%1$s_debug_x86_64.so"; - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-x86_64")), libFormat, qtMajorVersion); - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-x86_64")), dlibFormat, qtMajorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release-x86_64")), libFormat, qtMajorVersion, qtMinorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug-x86_64")), dlibFormat, qtMajorVersion, qtMinorVersion); return; }else { switch(OSInfo.crossOSArchName()) { @@ -74,12 +75,12 @@ public void execute() throws BuildException { default: return; } - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug")), dlibFormat, qtMajorVersion); - write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release")), libFormat, qtMajorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "debug")), dlibFormat, qtMajorVersion, qtMinorVersion); + write(new java.io.File(new java.io.File(new java.io.File(dir), "QtJambi"), String.format(fileName, "release")), libFormat, qtMajorVersion, qtMinorVersion); } } - private void write(java.io.File file, String libFormat, int qtMajorVersion) { + private void write(java.io.File file, String libFormat, int qtMajorVersion, int qtMinorVersion) { file.getParentFile().mkdirs(); try(FileOutputStream fos = new FileOutputStream(file); PrintWriter stream = new PrintWriter(fos)){ @@ -112,12 +113,14 @@ private void write(java.io.File file, String libFormat, int qtMajorVersion) { stream.println(""); stream.append(" ../lib/").append(String.format(libFormat, "QmlTypeCreatorFunction")); stream.println(""); - stream.append(" ../lib/").append(String.format(libFormat, "MakeBindingFunction")); - stream.println(""); - stream.append(" ../lib/").append(String.format(libFormat, "PropertyBindingWrapperFunction")); - stream.println(""); - stream.append(" ../lib/").append(String.format(libFormat, "BindingSetterFunction")); - stream.println(""); + if(qtMajorVersion>=7 || qtMinorVersion>=5) { + stream.append(" ../lib/").append(String.format(libFormat, "MakeBindingFunction")); + stream.println(""); + stream.append(" ../lib/").append(String.format(libFormat, "PropertyBindingWrapperFunction")); + stream.println(""); + stream.append(" ../lib/").append(String.format(libFormat, "BindingSetterFunction")); + stream.println(""); + } }else { stream.append(" ../lib/").append(String.format(libFormat, "VariantDataFunction")); stream.println(""); diff --git a/src/java/ant/io/qt/tools/ant/CreatePOMTask.java b/src/java/ant/io/qt/tools/ant/CreatePOMTask.java index 6a80a88f..0d7fb15a 100644 --- a/src/java/ant/io/qt/tools/ant/CreatePOMTask.java +++ b/src/java/ant/io/qt/tools/ant/CreatePOMTask.java @@ -661,7 +661,7 @@ public void execute() throws BuildException { String prefix = _moduleId + "-native-"; String suffix = "-" + qtjambiVersion + ".jar"; String prohibited = "-debug-" + qtjambiVersion + ".jar"; - for(String file : directory.list()) { + for(String file : new java.io.File(directory, "native").list()) { if(file.startsWith(prefix) && file.endsWith(suffix) && !file.endsWith(prohibited)) { String platform = file.substring(prefix.length(), file.length() - suffix.length()); if(platform.equals("macos")) { @@ -714,7 +714,7 @@ public void execute() throws BuildException { description.setTextContent("Native components for "+platform); } artifactId.setTextContent(_moduleId+"-native-"+platform); - try(FileOutputStream fos = new FileOutputStream(new java.io.File(directory, _moduleId+"-native-"+platform+"-"+qtjambiVersion+".pom"))){ + try(FileOutputStream fos = new FileOutputStream(new java.io.File(new java.io.File(directory, "native"), _moduleId+"-native-"+platform+"-"+qtjambiVersion+".pom"))){ StreamResult result = new StreamResult(fos); transformer.transform(new DOMSource(doc), result); } diff --git a/src/java/ant/io/qt/tools/ant/GeneratorTask.java b/src/java/ant/io/qt/tools/ant/GeneratorTask.java index dc6e7e27..51080cef 100644 --- a/src/java/ant/io/qt/tools/ant/GeneratorTask.java +++ b/src/java/ant/io/qt/tools/ant/GeneratorTask.java @@ -173,17 +173,25 @@ private boolean parseArguments() { commandList.add("--output-preprocess-file="+o); if(typesystem!=null && !typesystem.isEmpty()) { - File typesystemFile = Util.makeCanonical(typesystem); - if(typesystemFile == null || !typesystemFile.exists()) - throw new BuildException("Typesystem file '" + typesystem + "' does not exist."); - commandList.add("--typesystem="+typesystemFile.getAbsolutePath()); + if(typesystem.startsWith(":")) { + commandList.add("--typesystem="+typesystem); + }else { + File typesystemFile = Util.makeCanonical(typesystem); + if(typesystemFile == null || !typesystemFile.exists()) + throw new BuildException("Typesystem file '" + typesystem + "' does not exist."); + commandList.add("--typesystem="+typesystemFile.getAbsolutePath()); + } } if(header!=null && !header.isEmpty()) { - File headerFile = Util.makeCanonical(header); - if(headerFile == null || !headerFile.exists()) - throw new BuildException("Header file '" + headerFile.getAbsolutePath() + "' does not exist."); - commandList.add(headerFile.getAbsolutePath()); + if(header.startsWith(":")) { + commandList.add(header); + }else { + File headerFile = Util.makeCanonical(header); + if(headerFile == null || !headerFile.exists()) + throw new BuildException("Header file '" + headerFile.getAbsolutePath() + "' does not exist."); + commandList.add(headerFile.getAbsolutePath()); + } } return true; diff --git a/src/java/ant/io/qt/tools/ant/InitializeBuildTask.java b/src/java/ant/io/qt/tools/ant/InitializeBuildTask.java index 43659a6f..462b1d81 100644 --- a/src/java/ant/io/qt/tools/ant/InitializeBuildTask.java +++ b/src/java/ant/io/qt/tools/ant/InitializeBuildTask.java @@ -156,6 +156,7 @@ Map moduleInfos(){ _moduleInfos.put("qt3danimation", new ModuleInfo("QTJAMBI_NO_QT3DANIMATION", "Qt3DAnimation")); _moduleInfos.put("websockets", new ModuleInfo("QTJAMBI_NO_WEBSOCKETS", "QtWebSockets")); _moduleInfos.put("webchannel", new ModuleInfo("QTJAMBI_NO_WEBCHANNEL", "QtWebChannel")); + _moduleInfos.put("webchannelquick", new ModuleInfo("QTJAMBI_NO_WEBCHANNELQUICK", "QtWebChannelQuick")); _moduleInfos.put("webenginecore", new ModuleInfo("QTJAMBI_NO_WEBENGINECORE", "QtWebEngineCore")); _moduleInfos.put("webenginewidgets", new ModuleInfo("QTJAMBI_NO_WEBENGINEWIDGETS", "QtWebEngineWidgets")); _moduleInfos.put("webview", new ModuleInfo("QTJAMBI_NO_WEBVIEW", "QtWebView")); @@ -207,6 +208,9 @@ Map moduleInfos(){ skippedModules.add("grpc"); skippedModules.add("protobuf"); } + if((qtMajorVersion==6 && qtMinorVersion>=6) || qtMajorVersion>7) { + _moduleInfos.put("graphs", new ModuleInfo("QTJAMBI_NO_GRAPHS", "QtGraphs")); + } } moduleInfos = Collections.unmodifiableMap(_moduleInfos); } diff --git a/src/java/autotests/io/qt/autotests/TestContainerPerformance.java b/src/java/autotests/io/qt/autotests/TestContainerPerformance.java new file mode 100644 index 00000000..59b2407a --- /dev/null +++ b/src/java/autotests/io/qt/autotests/TestContainerPerformance.java @@ -0,0 +1,181 @@ +package io.qt.autotests; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.BeforeClass; +import org.junit.Test; + +import io.qt.autotests.generated.Tulip; +import io.qt.core.QList; +import io.qt.core.QObject; +import io.qt.core.QStringList; +import io.qt.gui.QColor; + +public class TestContainerPerformance extends ApplicationInitializer{ + + private static final int CAPACITY = 50000; + @BeforeClass + public static void testInitialize() throws Exception { + ApplicationInitializer.testInitializeWithWidgets(); + } + + @Test + public void testIntListPerformance() { + long tdiff1; + long tdiffc1; + Integer object = Integer.valueOf(5); + { + QList list = new QList<>(int.class); +// list.reserve(CAPACITY); + long t1 = System.currentTimeMillis(); +// list.fill(object, CAPACITY); + for (int i = 0; i < CAPACITY; i++) { + list.append(object); + } + long t2 = System.currentTimeMillis(); + Tulip.consumeIntList(list); + long t3 = System.currentTimeMillis(); + list.dispose(); + tdiff1 = t2 - t1; + tdiffc1 = t3 - t2; + } + long tdiff2; + long tdiffc2; + { + List jlist = new ArrayList<>(); + long t1 = System.currentTimeMillis(); + for (int i = 0; i < CAPACITY; i++) { + jlist.add(object); + } + long t2 = System.currentTimeMillis(); + Tulip.consumeIntList(jlist); + long t3 = System.currentTimeMillis(); + tdiff2 = t2 - t1; + tdiffc2 = t3 - t2; + } + System.out.println("fill QList performance: "+tdiff1+"ms"); + System.out.println("fill ArrayList performance: "+tdiff2+"ms"); + System.out.println("consume QList performance: "+tdiffc1+"ms"); + System.out.println("consume ArrayList performance: "+tdiffc2+"ms"); +// System.out.println("native QList performance: "+Tulip.fillIntList(CAPACITY)+"ms"); + System.out.println(); + } + + @Test + public void testStringListPerformance() { + long tdiff1; + long tdiffc1; + String object = "TEST"; + { + QList list = new QStringList(); +// list.resize(CAPACITY); + long t1 = System.currentTimeMillis(); +// list.fill(object, CAPACITY); + for (int i = 0; i < CAPACITY; i++) { + list.append(object); + } + long t2 = System.currentTimeMillis(); + Tulip.consumeStringList(list); + long t3 = System.currentTimeMillis(); + list.dispose(); + tdiff1 = t2 - t1; + tdiffc1 = t3 - t2; + } + long tdiff2; + long tdiffc2; + { + List jlist = new ArrayList<>(); + long t1 = System.currentTimeMillis(); + for (int i = 0; i < CAPACITY; i++) { + jlist.add(object); + } +// QList list = new QList<>(jlist); + long t2 = System.currentTimeMillis(); + Tulip.consumeStringList(jlist); + long t3 = System.currentTimeMillis(); +// list.dispose(); + tdiff2 = t2 - t1; + tdiffc2 = t3 - t2; + } + System.out.println("fill QList performance: "+tdiff1+"ms"); + System.out.println("fill ArrayList performance: "+tdiff2+"ms"); + System.out.println("consume QList consume performance: "+tdiffc1+"ms"); + System.out.println("consume ArrayList consume performance: "+tdiffc2+"ms"); + System.out.println(); + } + + @Test + public void testQColorListPerformance() { + long tdiff1; + QColor object = new QColor(); + { + QList list = new QList<>(QColor.class); +// list.resize(CAPACITY); + long t1 = System.currentTimeMillis(); +// list.fill(object, CAPACITY); + for (int i = 0; i < CAPACITY; i++) { + list.append(object); + } + long t2 = System.currentTimeMillis(); + list.dispose(); + tdiff1 = t2 - t1; + } + long tdiff2; + { + List jlist = new ArrayList<>(); + long t1 = System.currentTimeMillis(); + for (int i = 0; i < CAPACITY; i++) { + jlist.add(object); + } + long t2 = System.currentTimeMillis(); + tdiff2 = t2 - t1; + } + System.out.println("fill QList performance: "+tdiff1+"ms"); + System.out.println("fill ArrayList performance: "+tdiff2+"ms"); + System.out.println(); + } + + @Test + public void testQObjectListPerformance() { + long tdiff1; + long tdiffc1; + QObject object = new QObject(); + { + QList list = new QList<>(QObject.class); +// list.resize(CAPACITY); + long t1 = System.currentTimeMillis(); +// list.fill(object, CAPACITY); + for (int i = 0; i < CAPACITY; i++) { + list.append(object); + } + long t2 = System.currentTimeMillis(); + Tulip.consumeQObjectList(list); + long t3 = System.currentTimeMillis(); + list.dispose(); + tdiff1 = t2 - t1; + tdiffc1 = t3 - t2; + } + long tdiff2; + long tdiffc2; + { + List jlist = new ArrayList<>(); + long t1 = System.currentTimeMillis(); + for (int i = 0; i < CAPACITY; i++) { + jlist.add(object); + } +// QList list = new QList<>(jlist); + long t2 = System.currentTimeMillis(); + Tulip.consumeQObjectList(jlist); + long t3 = System.currentTimeMillis(); +// list.dispose(); + tdiff2 = t2 - t1; + tdiffc2 = t3 - t2; + } + System.out.println("fill QList performance: "+tdiff1+"ms"); + System.out.println("fill ArrayList performance: "+tdiff2+"ms"); + System.out.println("consume QList performance: "+tdiffc1+"ms"); + System.out.println("consume ArrayList performance: "+tdiffc2+"ms"); + System.out.println(); + } +} diff --git a/src/java/autotests/io/qt/autotests/TestGraphs.java b/src/java/autotests/io/qt/autotests/TestGraphs.java new file mode 100644 index 00000000..cab1f759 --- /dev/null +++ b/src/java/autotests/io/qt/autotests/TestGraphs.java @@ -0,0 +1,258 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.autotests; + +import static org.junit.Assert.*; + +import java.util.*; + +import org.junit.Assume; +import org.junit.BeforeClass; +import org.junit.Test; + +import io.qt.*; +import io.qt.autotests.generated.General; +import io.qt.core.*; +import io.qt.graphs.*; +import io.qt.gui.*; + +public class TestGraphs extends ApplicationInitializer { + + @BeforeClass + public static void testInitialize() throws Exception { + ApplicationInitializer.testInitializeWithWidgets(); + } + + @Test + public void testQ3DBars() { + Q3DBars bars = new Q3DBars(); + //Assume.assumeTrue(bars.hasContext()); + QCategory3DAxis axis1 = new QCategory3DAxis(); + bars.setRowAxis(axis1); + QValue3DAxis axis2 = new QValue3DAxis(); + bars.setValueAxis(axis2); + QObject parent = new QObject(); + QCategory3DAxis axis3 = new QCategory3DAxis(parent); + bars.setColumnAxis(axis3); + assertTrue(axis1.parent()!=null); + assertTrue(axis2.parent()!=null); + assertTrue(axis3.parent()!=null); + assertEquals(axis2.parent(), axis3.parent()); + } + + @Test + public void testQAbstract3DGraph(){ + QObject parent = new QObject(); + QAbstract3DGraph abstract3DGraph = new Q3DBars(); + //Assume.assumeTrue(abstract3DGraph.hasContext()); + QCustom3DItem customItem = new QCustom3DItem(); + abstract3DGraph.addCustomItem(customItem); + assertTrue(customItem.parent()!=null); + QAbstract3DInputHandler handler = new Q3DInputHandler(); + abstract3DGraph.addInputHandler(handler); + assertTrue(handler.parent()!=null); + Q3DTheme theme = new Q3DTheme(); + abstract3DGraph.addTheme(theme); + assertTrue(theme.parent()!=null); + Q3DTheme theme2 = new Q3DTheme(parent); + abstract3DGraph.setActiveTheme(theme2); + assertTrue(theme2.parent()!=null); + assertEquals(theme.parent(), theme2.parent()); + abstract3DGraph.releaseTheme(theme2); + assertFalse(theme2.isDisposed()); + assertEquals(null, theme2.parent()); + QAbstract3DInputHandler handler2 = new Q3DInputHandler(parent); + abstract3DGraph.setActiveInputHandler(handler2); + assertTrue(handler2.parent()!=null); + assertEquals(handler.parent(), handler2.parent()); + abstract3DGraph.releaseInputHandler(handler2); + assertFalse(handler2.isDisposed()); + assertEquals(null, handler2.parent()); + QCustom3DItem customItem2 = new QCustom3DItem(); + abstract3DGraph.addCustomItem(customItem2); + assertTrue(customItem2.parent()!=null); + assertEquals(customItem.parent(), customItem2.parent()); + abstract3DGraph.releaseCustomItem(customItem2); + assertFalse(customItem2.isDisposed()); + assertEquals(null, customItem2.parent()); + abstract3DGraph.removeCustomItem(customItem); + assertTrue(customItem.isDisposed()); + abstract3DGraph.removeCustomItem(customItem2); + assertTrue(customItem2.isDisposed()); + } + + @Test + public void testQ3DScatter() { + Q3DScatter scatter = new Q3DScatter(); + //Assume.assumeTrue(scatter.hasContext()); + QValue3DAxis axis1 = new QValue3DAxis(); + scatter.setAxisX(axis1); + QValue3DAxis axis2 = new QValue3DAxis(); + scatter.setAxisY(axis2); + QObject parent = new QObject(); + QValue3DAxis axis3 = new QValue3DAxis(parent); + scatter.setAxisZ(axis3); + assertTrue(axis1.parent()!=null); + assertTrue(axis2.parent()!=null); + assertTrue(axis3.parent()!=null); + assertEquals(axis2.parent(), axis3.parent()); + QValue3DAxis axis = new QValue3DAxis(parent); + QScatter3DSeries series = new QScatter3DSeries(parent); + scatter.addSeries(series); + scatter.addAxis(axis); + assertTrue(axis.parent()!=null); + assertTrue(series.parent()!=null); + assertEquals(axis2.parent(), axis.parent()); + assertEquals(axis2.parent(), series.parent()); + scatter.releaseAxis(axis); + assertFalse(axis.isDisposed()); + assertEquals(null, axis.parent()); + scatter.removeSeries(series); + assertFalse(series.isDisposed()); + assertEquals(null, series.parent()); + } + + @Test + public void testQ3DSurface() { + Q3DSurface surface = new Q3DSurface(); + //Assume.assumeTrue(surface.hasContext()); + QValue3DAxis axis1 = new QValue3DAxis(); + surface.setAxisX(axis1); + QValue3DAxis axis2 = new QValue3DAxis(); + surface.setAxisY(axis2); + QObject parent = new QObject(); + QValue3DAxis axis3 = new QValue3DAxis(parent); + surface.setAxisZ(axis3); + assertTrue(axis1.parent()!=null); + assertTrue(axis2.parent()!=null); + assertTrue(axis3.parent()!=null); + assertEquals(axis2.parent(), axis3.parent()); + QValue3DAxis axis = new QValue3DAxis(parent); + QSurface3DSeries series = new QSurface3DSeries(parent); + surface.addSeries(series); + surface.addAxis(axis); + assertTrue(axis.parent()!=null); + assertTrue(series.parent()!=null); + assertEquals(axis2.parent(), axis.parent()); + assertEquals(axis2.parent(), series.parent()); + surface.releaseAxis(axis); + assertFalse(axis.isDisposed()); + assertEquals(null, axis.parent()); + surface.removeSeries(series); + assertFalse(series.isDisposed()); + assertEquals(null, series.parent()); + } + + @Test + public void testQ3DScene() { + QObject parent = new QObject(); + Q3DScene scene = new Q3DScene(); + Q3DCamera camera = new Q3DCamera(); + Q3DLight light = new Q3DLight(parent); + scene.setActiveCamera(camera); + scene.setActiveLight(light); + assertTrue(camera.parent()!=null); + assertTrue(light.parent()!=null); + assertEquals(scene, light.parent()); + assertEquals(camera.parent(), light.parent()); + Q3DCamera camera2 = new Q3DCamera(); + scene.setActiveCamera(camera2); + assertEquals(camera2.parent(), light.parent()); + assertEquals(camera.parent(), light.parent()); + } + + @Test + public void testQSurface3DSeries() { + QSurface3DSeries series = new QSurface3DSeries(); + QSurfaceDataProxy proxy = new QSurfaceDataProxy(); + series.setDataProxy(proxy); + assertTrue(proxy.parent()!=null); + QSurfaceDataProxy proxy2 = new QSurfaceDataProxy(); + series.setDataProxy(proxy2); + assertTrue(proxy.isDisposed()); + } + + @Test + public void testQCustom3DVolume() { + QCustom3DVolume volume = new QCustom3DVolume(); + QImage image1 = new QImage(24, 24, QImage.Format.Format_ARGB32); + QImage image2 = new QImage(24, 24, QImage.Format.Format_ARGB32); + QtObject textureData = volume.createTextureData(Arrays.asList(image1, image2)); + assertTrue("not split ownership", General.internalAccess.isSplitOwnership(textureData)); + assertFalse(textureData.isDisposed()); + volume.dispose(); + assertTrue(textureData.isDisposed()); + } + + + @Test + public void testQBarDataProxy(){ + QBarDataProxy proxy = new QBarDataProxy(); + QBarDataArray array = new QBarDataArray(); + proxy.resetArray(array); + assertTrue("not cpp ownership", General.internalAccess.isCppOwnership(array)); + assertFalse(array.isDisposed()); + proxy.dispose(); + try{ + array.clear(); + fail("QNoNativeResourcesException expected to be thrown."); + }catch(QNoNativeResourcesException e) {} + assertTrue(array.isDisposed()); + } + + @Test + public void testQSurfaceDataProxy(){ + QSurfaceDataProxy proxy = new QSurfaceDataProxy(); + QSurfaceDataArray array = new QSurfaceDataArray(); + proxy.resetArray(array); + assertTrue("not cpp ownership", General.internalAccess.isCppOwnership(array)); + assertFalse(array.isDisposed()); + proxy.dispose(); + try{ + array.clear(); + fail("QNoNativeResourcesException expected to be thrown."); + }catch(QNoNativeResourcesException e) {} + assertTrue(array.isDisposed()); + } + + @Test + public void testQScatterDataProxy(){ + QScatterDataProxy proxy = new QScatterDataProxy(); + QScatterDataArray array = new QScatterDataArray(); + proxy.resetArray(array); + assertTrue("not cpp ownership", General.internalAccess.isCppOwnership(array)); + assertFalse(array.isDisposed()); + proxy.dispose(); + try{ + array.clear(); + fail("QNoNativeResourcesException expected to be thrown."); + }catch(QNoNativeResourcesException e) {} + assertTrue(array.isDisposed()); + } +} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialIterator.java b/src/java/autotests/io/qt/autotests/TestInitializationGraphs.java similarity index 81% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialIterator.java rename to src/java/autotests/io/qt/autotests/TestInitializationGraphs.java index 4a0e72fa..a6bbe80c 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialIterator.java +++ b/src/java/autotests/io/qt/autotests/TestInitializationGraphs.java @@ -1,42 +1,40 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -package io.qt.internal; - -import java.util.Iterator; -import java.util.Optional; - -import io.qt.QtObjectInterface; - -public interface AbstractSequentialIterator extends QtObjectInterface{ - boolean setValue(T newValue); - Iterator iterator(); - Optional value(); -} +/**************************************************************************** +** +** Copyright (C) 1992-2009 Nokia. All rights reserved. +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.autotests; + +import org.junit.Assert; +import org.junit.Test; + +public class TestInitializationGraphs extends UnitTestInitializer { + @Test + public void initialize() { + Assert.assertTrue(io.qt.QtUtilities.initializePackage("io.qt.graphs")); + } +} diff --git a/src/java/autotests/io/qt/autotests/TestItemEditorCreator.java b/src/java/autotests/io/qt/autotests/TestItemEditorCreator.java index 70f869e2..792473a7 100644 --- a/src/java/autotests/io/qt/autotests/TestItemEditorCreator.java +++ b/src/java/autotests/io/qt/autotests/TestItemEditorCreator.java @@ -163,11 +163,11 @@ public void testStandardItemEditorCreator_AbstractEditor() { @Test public void testStandardItemEditorCreator_with_NonLambda_handle() { - class Fun implements QStandardItemEditorCreator.ConstructorHandle{ + class Fun implements QStandardItemEditorCreator.Factory{ private static final long serialVersionUID = 5891633777036928275L; @Override - public QPushButton create(QWidget t) { + public QPushButton apply(QWidget t) { return new QPushButton(t); } diff --git a/src/java/autotests/io/qt/autotests/TestMetaType.java b/src/java/autotests/io/qt/autotests/TestMetaType.java index d9e6e183..ae2ed1b0 100644 --- a/src/java/autotests/io/qt/autotests/TestMetaType.java +++ b/src/java/autotests/io/qt/autotests/TestMetaType.java @@ -49,6 +49,7 @@ import io.qt.core.QDebug; import io.qt.core.QIODevice; import io.qt.core.QLibraryInfo; +import io.qt.core.QMetaMethod; import io.qt.core.QMetaObject; import io.qt.core.QMetaProperty; import io.qt.core.QMetaType; @@ -289,42 +290,57 @@ public void accept(QDebug d, MetaValue2 value) { } catch (IllegalArgumentException e) { } } + + @Test + public void testMetaTypeMetaObject() { + Assume.assumeTrue("Qt version >= 6.0", QLibraryInfo.version().compareTo(new QVersionNumber(6,0))>=0); + QMetaObject mo = QMetaObject.forType(MyObject.class); + QMetaMethod mtd = mo.method("subObject"); + QMetaType returnMetaType = new QMetaType(mtd.returnType()); + assertEquals(SubObject.class, returnMetaType.javaType()); + QMetaObject rmo = returnMetaType.metaObject(); + assertEquals(QMetaObject.forType(SubObject.class), rmo); + } public static void main(String args[]) { org.junit.runner.JUnitCore.main(TestMetaType.class.getName()); } -} - -class MyObject extends QObject{ -} - -class MetaValue{ - int i; - double d; - String s; -} - -class MetaValue2{ - int i; - double d; - String s; - float f; -} - -class SerializableMetaValue implements Serializable{ - private static final long serialVersionUID = -4765490824878229108L; - int i; - double d; - String s; - @Override - public String toString() { - return "SerializableMetaValue [i=" + i + ", d=" + d + ", s=" + s + "]"; + static class SubObject extends QObject{ + } + + static class MyObject extends QObject{ + public SubObject subObject(){return null;} + } + + static class MetaValue{ + int i; + double d; + String s; + } + + static class MetaValue2{ + int i; + double d; + String s; + float f; + } + + static class SerializableMetaValue implements Serializable{ + private static final long serialVersionUID = -4765490824878229108L; + int i; + double d; + String s; + + @Override + public String toString() { + return "SerializableMetaValue [i=" + i + ", d=" + d + ", s=" + s + "]"; + } + } + + static class T1{ + } + + static class T2{ } -} - -class T1{ -} - -class T2{ } \ No newline at end of file diff --git a/src/java/autotests/io/qt/autotests/TestMultimediaServicesQt5.java b/src/java/autotests/io/qt/autotests/TestMultimediaServicesQt5.java index 9755213c..d076a680 100644 --- a/src/java/autotests/io/qt/autotests/TestMultimediaServicesQt5.java +++ b/src/java/autotests/io/qt/autotests/TestMultimediaServicesQt5.java @@ -348,7 +348,7 @@ public void testMediaPlayerPlugin() { Map map = new HashMap<>(); map.put("Keys", new QJsonArray(key)); map.put("Services", new QJsonArray(value)); - QPluginLoader.registerStaticPluginFunction(plugin, map); + QPluginLoader.qRegisterStaticPluginFunction(plugin, map); QMediaPlayer player = new QMediaPlayer(null, QMediaPlayer.Flag.VideoSurface, QMediaPlayer.Flag.StreamPlayback); QMediaContent content = new QMediaContent(QUrl.fromLocalFile("Test.mp4")); player.setMedia(content); diff --git a/src/java/autotests/io/qt/autotests/TestQPaintEngine.java b/src/java/autotests/io/qt/autotests/TestPaintEngine.java similarity index 57% rename from src/java/autotests/io/qt/autotests/TestQPaintEngine.java rename to src/java/autotests/io/qt/autotests/TestPaintEngine.java index faefb479..f6937f4b 100644 --- a/src/java/autotests/io/qt/autotests/TestQPaintEngine.java +++ b/src/java/autotests/io/qt/autotests/TestPaintEngine.java @@ -1,6 +1,5 @@ /**************************************************************************** ** -** Copyright (C) 1992-2009 Nokia. All rights reserved. ** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. ** ** This file is part of Qt Jambi. @@ -31,11 +30,14 @@ import static org.junit.Assert.assertEquals; -import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Assume; import org.junit.BeforeClass; import org.junit.Test; -import io.qt.autotests.generated.CustomPaintEngine; +import io.qt.NonNull; +import io.qt.Nullable; +import io.qt.StrictNonNull; import io.qt.autotests.generated.OtherCustomPaintEngine; import io.qt.core.QLine; import io.qt.core.QLineF; @@ -43,81 +45,202 @@ import io.qt.core.QPointF; import io.qt.core.QRect; import io.qt.core.QRectF; +import io.qt.gui.QFont; +import io.qt.gui.QGuiApplication; import io.qt.gui.QPaintDevice; import io.qt.gui.QPaintEngine; import io.qt.gui.QPaintEngineState; +import io.qt.gui.QPainter; import io.qt.gui.QPixmap; -public class TestQPaintEngine extends CustomPaintEngine { - // For ARM float/double conversion values must be within precision of a float - private static final double DELTA = 0.000001; - - // TODO explain why we don't just use QApplicaitonTest subclass or #testDispose() method ? - // I can not see a good reason other than we already subclass CustomPaintEngine so we can - // just invoke the static methods directly. +public class TestPaintEngine extends ApplicationInitializer { + @BeforeClass public static void testInitialize() throws Exception { - ApplicationInitializer.testInitializeWithGui(); - } + ApplicationInitializer.testInitializeWithWidgets(); + Assume.assumeTrue("A screen is required to create a window.", QGuiApplication.primaryScreen()!=null); + } + + public static class UpdatingPaintEngine extends QPaintEngine{ + + private final QFont[] fontResult; + + public UpdatingPaintEngine(QFont[] fontResult) { + super(); + this.fontResult = fontResult; + } + + @Override + public boolean begin(@Nullable QPaintDevice pdev) { + return true; + } + + @Override + public void drawPixmap(@NonNull QRectF r, @NonNull QPixmap pm, @NonNull QRectF sr) { + } + + @Override + public boolean end() { + return true; + } + + @Override + public @NonNull Type type() { + return Type.Raster; + } + + @Override + public void updateState(@StrictNonNull QPaintEngineState state) { + if(state.state().testFlag(QPaintEngine.DirtyFlag.DirtyFont)) { + fontResult[0] = state.font(); + } + } + + @Override + public void drawPolygon(@NonNull QPointF[] points, @NonNull PolygonDrawMode mode) { + } + } + + @Test + public void testPaintEngineState() { + QFont f = new QFont("Arial", 56); + QFont[] fontResult = {null}; + QPaintDevice device = new QPaintDevice() { + final UpdatingPaintEngine engine = new UpdatingPaintEngine(fontResult); + @Override + public @Nullable QPaintEngine paintEngine() { + return engine; + } + }; + QPainter painter = new QPainter(device); + painter.setFont(f); + painter.drawRect(1, 2, 3, 4); + painter.end(); + Assert.assertEquals(f.toString(), ""+fontResult[0]); + } + + // For ARM float/double conversion values must be within precision of a float + private static final double DELTA = 0.000001; - @AfterClass - public static void testDispose() throws Exception { - ApplicationInitializer.testDispose(); - } + public static class OverrideCustomPaintEngine extends io.qt.autotests.generated.CustomPaintEngine { + private int length = 0; + private Object object = null; + + void setArray(Object array[]) { + if (array == null) { + length = -1; + object = null; + } else { + length = array.length; + object = array.length > 0 ? array[0] : null; + } + } + + @Override + public boolean begin(QPaintDevice pdev) { + return true; + } - @Override - public boolean begin(QPaintDevice pdev) { - return true; - } + @Override + public void drawPixmap(QRectF r, QPixmap pm, QRectF sr) { + } - @Override - public void drawPixmap(QRectF r, QPixmap pm, QRectF sr) { - } + @Override + public boolean end() { + return true; + } - @Override - public boolean end() { - return true; - } + @Override + public Type type() { + return QPaintEngine.Type.resolve(QPaintEngine.Type.User.value() + 1, this.getClass().getSimpleName()); + } - @Override - public Type type() { - return QPaintEngine.Type.resolve(QPaintEngine.Type.User.value() + 1, this.getClass().getSimpleName()); - } + @Override + public void updateState(QPaintEngineState state) { - @Override - public void updateState(QPaintEngineState state) { + } - } + /** + * drawLines(const QLine *, int) + */ + + @Override + public void drawLines(QLine... lines) { + setArray(lines); + } - private int length = 0; - private Object object = null; + /** + * drawLines(const QLineF *, int) + **/ - void setArray(Object array[]) { - if (array == null) { - length = -1; - object = null; - } else { - length = array.length; - object = array.length > 0 ? array[0] : null; + @Override + public void drawLines(QLineF... lines) { + setArray(lines); + } + + /** + * drawRects(const QRectF *, int) + **/ + + @Override + public void drawRects(QRectF... lines) { + setArray(lines); + } + + /** + * drawRects(const QRect *, int) + **/ + + @Override + public void drawRects(QRect... lines) { + setArray(lines); + } + + /** + * drawPoints(const QPoint *, int) + **/ + + @Override + public void drawPoints(QPoint... lines) { + setArray(lines); } - } - /** - * drawLines(const QLine *, int) - */ + /** + * drawPoints(const QPointF *, int) + **/ - @Override - public void drawLines(QLine... lines) { - setArray(lines); + @Override + public void drawPoints(QPointF... lines) { + setArray(lines); + } + + /** + * drawPolygon(const QPointF *, int) + **/ + + @Override + public void drawPolygon(QPointF lines[], QPaintEngine.PolygonDrawMode mode) { + setArray(lines); + } + + /** + * drawPolygon(const QPoint *, int) + **/ + + @Override + public void drawPolygon(QPoint lines[], QPaintEngine.PolygonDrawMode mode) { + setArray(lines); + } } @Test public void testVirtualDrawLines() { - callDrawLines(new QLine(1, 2, 3, 4), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawLines(new QLine(1, 2, 3, 4), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QLine line = (QLine) object; + QLine line = (QLine) engine.object; assertEquals(1, line.x1()); assertEquals(2, line.y1()); assertEquals(3, line.x2()); @@ -126,10 +249,11 @@ public void testVirtualDrawLines() { @Test public void testVirtualDrawLinesNull() { - callDrawLines(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawLines(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -161,22 +285,14 @@ public void testDrawLinesNull() { assertEquals(-1, p.length()); } - /** - * drawLines(const QLineF *, int) - **/ - - @Override - public void drawLines(QLineF... lines) { - setArray(lines); - } - @Test public void testVirtualDrawLineFs() { - callDrawLineFs(new QLineF(1.2, 2.3, 3.4, 4.5), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawLineFs(new QLineF(1.2, 2.3, 3.4, 4.5), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QLineF line = (QLineF) object; + QLineF line = (QLineF) engine.object; assertEquals(1.2, line.x1(), DELTA); // ARM expected:<1.2> but was:<1.2000000476837158> assertEquals(2.3, line.y1(), DELTA); // ARM expected:<2.3> but was:<2.299999952316284> assertEquals(3.4, line.x2(), DELTA); // ARM expected:<3.4> but was:<3.4000000953674316> @@ -185,10 +301,11 @@ public void testVirtualDrawLineFs() { @Test public void testVirtualDrawLineFsNull() { - callDrawLineFs(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawLineFs(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -220,22 +337,14 @@ public void testDrawLineFsNull() { assertEquals(-1, p.length()); } - /** - * drawRects(const QRectF *, int) - **/ - - @Override - public void drawRects(QRectF... lines) { - setArray(lines); - } - @Test public void testVirtualDrawRectFs() { - callDrawRectFs(new QRectF(1.2, 2.3, 3.4, 4.5), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawRectFs(new QRectF(1.2, 2.3, 3.4, 4.5), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QRectF rect = (QRectF) object; + QRectF rect = (QRectF) engine.object; assertEquals(1.2, rect.x(), DELTA); // ARM expected:<1.2> but was:<1.2000000476837158> assertEquals(2.3, rect.y(), DELTA); // ARM expected:<2.3> but was:<2.299999952316284> assertEquals(3.4, rect.width(), DELTA); // ARM expected:<3.4> but was:<3.4000000953674316> @@ -244,10 +353,11 @@ public void testVirtualDrawRectFs() { @Test public void testVirtualDrawRectFsNull() { - callDrawRectFs(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawRectFs(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -279,22 +389,14 @@ public void testDrawRectFsNull() { assertEquals(-1, p.length()); } - /** - * drawRects(const QRect *, int) - **/ - - @Override - public void drawRects(QRect... lines) { - setArray(lines); - } - @Test public void testVirtualDrawRects() { - callDrawRects(new QRect(1, 2, 3, 4), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawRects(new QRect(1, 2, 3, 4), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QRect rect = (QRect) object; + QRect rect = (QRect) engine.object; assertEquals(1, rect.x()); assertEquals(2, rect.y()); assertEquals(3, rect.width()); @@ -303,10 +405,11 @@ public void testVirtualDrawRects() { @Test public void testVirtualDrawRectsNull() { - callDrawRects(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawRects(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -338,32 +441,25 @@ public void testDrawRectsNull() { assertEquals(-1, p.length()); } - /** - * drawPoints(const QPoint *, int) - **/ - - @Override - public void drawPoints(QPoint... lines) { - setArray(lines); - } - @Test public void testVirtualDrawPoints() { - callDrawPoints(new QPoint(1, 2), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPoints(new QPoint(1, 2), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QPoint point = (QPoint) object; + QPoint point = (QPoint) engine.object; assertEquals(1, point.x()); assertEquals(2, point.y()); } @Test public void testVirtualDrawPointsNull() { - callDrawPoints(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPoints(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -393,32 +489,25 @@ public void testDrawPointsNull() { assertEquals(-1, p.length()); } - /** - * drawPoints(const QPointF *, int) - **/ - - @Override - public void drawPoints(QPointF... lines) { - setArray(lines); - } - @Test public void testVirtualDrawPointFs() { - callDrawPointFs(new QPointF(1.0, 2.0), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPointFs(new QPointF(1.0, 2.0), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QPointF pointF = (QPointF) object; + QPointF pointF = (QPointF) engine.object; assertEquals(1.0, pointF.x(), 0.0); assertEquals(2.0, pointF.y(), 0.0); } @Test public void testVirtualDrawPointFsNull() { - callDrawPointFs(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPointFs(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -448,32 +537,25 @@ public void testDrawPointFsNull() { assertEquals(-1, p.length()); } - /** - * drawPolygon(const QPointF *, int) - **/ - - @Override - public void drawPolygon(QPointF lines[], QPaintEngine.PolygonDrawMode mode) { - setArray(lines); - } - @Test public void testVirtualDrawPolygonFs() { - callDrawPolygonFs(new QPointF(1.0, 2.0), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPolygonFs(new QPointF(1.0, 2.0), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QPointF pointF = (QPointF) object; + QPointF pointF = (QPointF) engine.object; assertEquals(1.0, pointF.x(), 0.0); assertEquals(2.0, pointF.y(), 0.0); } @Test public void testVirtualDrawPolygonFsNull() { - callDrawPolygonFs(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPolygonFs(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -494,32 +576,25 @@ public void testDrawPolygonFs() { assertEquals(3.0, pointF.y(), 0.0); } - /** - * drawPolygon(const QPoint *, int) - **/ - - @Override - public void drawPolygon(QPoint lines[], QPaintEngine.PolygonDrawMode mode) { - setArray(lines); - } - @Test public void testVirtualDrawPolygons() { - callDrawPolygons(new QPoint(1, 2), 11); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPolygons(new QPoint(1, 2), 11); - assertEquals(11, length); + assertEquals(11, engine.length); - QPoint point = (QPoint) object; + QPoint point = (QPoint) engine.object; assertEquals(1, point.x()); assertEquals(2, point.y()); } @Test public void testVirtualDrawPolygonsNull() { - callDrawPolygons(null, 0); + OverrideCustomPaintEngine engine = new OverrideCustomPaintEngine(); + engine.callDrawPolygons(null, 0); - assertEquals(0, length); - assertEquals(null, object); + assertEquals(0, engine.length); + assertEquals(null, engine.object); } @Test @@ -548,8 +623,8 @@ public void testDrawPolygonsNull() { assertEquals(-1, p.length()); } - + public static void main(String args[]) { - org.junit.runner.JUnitCore.main(TestQPaintEngine.class.getName()); + org.junit.runner.JUnitCore.main(TestPaintEngine.class.getName()); } } diff --git a/src/java/autotests/io/qt/autotests/TestPaintOnWidget.java b/src/java/autotests/io/qt/autotests/TestPaintOnWidget.java index 819ec8b0..bc3853b0 100644 --- a/src/java/autotests/io/qt/autotests/TestPaintOnWidget.java +++ b/src/java/autotests/io/qt/autotests/TestPaintOnWidget.java @@ -31,12 +31,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import org.junit.AfterClass; -import org.junit.Assume; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; -import org.junit.rules.TestRule; +import org.junit.*; import io.qt.QThreadAffinityException; import io.qt.core.QEventLoop; diff --git a/src/java/autotests/io/qt/autotests/TestQPermissionQt65.java b/src/java/autotests/io/qt/autotests/TestQPermissionQt65.java index 9193768e..6ecdb869 100644 --- a/src/java/autotests/io/qt/autotests/TestQPermissionQt65.java +++ b/src/java/autotests/io/qt/autotests/TestQPermissionQt65.java @@ -29,23 +29,19 @@ package io.qt.autotests; import static org.junit.Assert.*; +import static org.junit.Assume.*; import java.lang.reflect.InvocationTargetException; -import org.junit.Assert; -import org.junit.Assume; import org.junit.BeforeClass; import org.junit.Test; -import io.qt.*; -import io.qt.autotests.generated.BindableOwner; import io.qt.core.*; -import io.qt.widgets.*; public class TestQPermissionQt65 extends ApplicationInitializer { @BeforeClass public static void testInitialize() throws Exception { - Assume.assumeTrue("Can only run on macOS, IOS or Android.", QOperatingSystemVersion.current().isAnyOfType(QOperatingSystemVersion.OSType.MacOS, QOperatingSystemVersion.OSType.Android, QOperatingSystemVersion.OSType.IOS)); + assumeTrue("Can only run on macOS, IOS or Android.", QOperatingSystemVersion.current().isAnyOfType(QOperatingSystemVersion.OSType.MacOS, QOperatingSystemVersion.OSType.Android, QOperatingSystemVersion.OSType.IOS)); ApplicationInitializer.testInitializeWithWidgets(); } @@ -57,7 +53,7 @@ public void test() throws InstantiationException, IllegalAccessException, Illega contactsClass = Class.forName("io.qt.core.QContactsPermission"); } catch (ClassNotFoundException e) { } - Assume.assumeTrue("QContactsPermission class required", contactsClass!=null); + assumeTrue("QContactsPermission class required", contactsClass!=null); Object[] results = {null,null}; QCoreApplication.instance().requestPermission(contactsClass, (permission,status)->{ System.out.println(permission+" = "+status); @@ -65,7 +61,7 @@ public void test() throws InstantiationException, IllegalAccessException, Illega results[1] = status; }); QCoreApplication.processEvents(); - Assert.assertTrue("permission type does not match. Expected: "+contactsClass.getName()+", got: "+(results[0]==null ? "null" : results[0].getClass().getName()), contactsClass.isInstance(results[0])); - Assert.assertTrue("permission result = "+results[1], results[1] instanceof Qt.PermissionStatus); + assertTrue("permission type does not match. Expected: "+contactsClass.getName()+", got: "+(results[0]==null ? "null" : results[0].getClass().getName()), contactsClass.isInstance(results[0])); + assertTrue("permission result = "+results[1], results[1] instanceof Qt.PermissionStatus); } } diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractHash.java b/src/java/autotests/io/qt/autotests/TestQThreadPool.java similarity index 57% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractHash.java rename to src/java/autotests/io/qt/autotests/TestQThreadPool.java index cdbeb71e..e519347c 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractHash.java +++ b/src/java/autotests/io/qt/autotests/TestQThreadPool.java @@ -1,5 +1,6 @@ /**************************************************************************** ** +** Copyright (C) 1992-2009 Nokia. All rights reserved. ** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. ** ** This file is part of Qt Jambi. @@ -21,43 +22,46 @@ ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** $END_LICENSE$ - ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.internal; - -import java.util.AbstractMap; -import java.util.HashSet; -import java.util.Set; +package io.qt.autotests; -import io.qt.QtUninvokable; -import io.qt.core.QPair; +import org.junit.BeforeClass; -public abstract class AbstractHash extends AbstractAssociativeContainer { +import io.qt.core.QCoreApplication; +import io.qt.core.QEventLoop; +import io.qt.core.QThread; +import io.qt.core.QThreadPool; +import io.qt.core.QTimer; - protected AbstractHash(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractHash clone(); - - @Override - @QtUninvokable - public final Set keySet() { - return new HashSet<>(keys()); - } +public class TestQThreadPool extends ApplicationInitializer { + @BeforeClass + public static void testInitialize() throws Exception { + ApplicationInitializer.testInitialize(); + } - @Override - @QtUninvokable - public final Set> entrySet() { - Set> entrySet = new HashSet<>(); - for(QPair pair : this) { - entrySet.add(new AbstractMap.SimpleImmutableEntry<>(pair.first, pair.second)); - } - return entrySet; + @org.junit.Test + public void test(){ + QThreadPool pool = new QThreadPool(); + pool.setMaxThreadCount(100); + pool.start(()->{ + QEventLoop loop = new QEventLoop(); + QTimer timer = new QTimer(); + int[] counter = {0}; + timer.timeout.connect(()->{ + System.out.println("timeout "+counter[0]+" "+Thread.currentThread()); + if(++counter[0]==50) + loop.quit(); + }); + timer.setSingleShot(false); + timer.setInterval(200); + timer.start(); + loop.exec(); + QCoreApplication.quit(); + }); + QCoreApplication.exec(); } } diff --git a/src/java/autotests/io/qt/autotests/TestQVariant.java b/src/java/autotests/io/qt/autotests/TestQVariant.java index 2e6a0571..dd547288 100644 --- a/src/java/autotests/io/qt/autotests/TestQVariant.java +++ b/src/java/autotests/io/qt/autotests/TestQVariant.java @@ -727,7 +727,7 @@ public void testQVariant_String8MultiHash() { } } - @Test + @Test public void testQVariant_TestObjectMultiHash() { Object variant = Variants.getTestObjectMultiHash(); assertNotNull(variant); diff --git a/src/java/autotests/io/qt/autotests/TestTableModel.java b/src/java/autotests/io/qt/autotests/TestTableModel.java index 05431083..4260b8a1 100644 --- a/src/java/autotests/io/qt/autotests/TestTableModel.java +++ b/src/java/autotests/io/qt/autotests/TestTableModel.java @@ -36,9 +36,12 @@ import org.junit.BeforeClass; import org.junit.Test; +import io.qt.QNoNativeResourcesException; import io.qt.core.QAbstractTableModel; import io.qt.core.QModelIndex; +import io.qt.core.QTimer; import io.qt.core.Qt.Orientation; +import io.qt.gui.QStandardItemModel; import io.qt.widgets.QApplication; import io.qt.widgets.QTableView; @@ -50,7 +53,7 @@ public static void testInitialize() throws Exception { } @Test - public void test() throws InterruptedException, IOException { + public void testHeaderDataCalledWithRoles() throws InterruptedException, IOException { Set roles = new TreeSet<>(); QAbstractTableModel model = new QAbstractTableModel() { @@ -81,13 +84,33 @@ public Object headerData(int section, Orientation orientation, int role) { QTableView view = new QTableView(); view.setModel(model); view.show(); + QTimer.singleShot(500, QApplication::quit); + QApplication.exec(); // QTimer.singleShot(15000, QApplication::quit); // QApplication.exec(); - QApplication.processEvents(); +// QApplication.processEvents(); view.close(); view.dispose(); Assert.assertTrue("headerData called with role: "+roles, roles.size()>1); } + + @Test + public void testIndexDangledModel() { + class Model extends QStandardItemModel { + public QModelIndex createIndex() { + return super.createIndex(0, 0); + } + } + Model model = new Model(); + QModelIndex idx = model.createIndex(); + Assert.assertEquals(model, idx.model()); + model.dispose(); + try { + idx.model(); + } catch (QNoNativeResourcesException e) { + Assert.assertEquals("Dependent object has been deleted.", e.getMessage()); + } + } public static void main(String args[]) { org.junit.runner.JUnitCore.main(TestTableModel.class.getName()); diff --git a/src/java/autotests/io/qt/autotests/TestWebEngineWidgets.java b/src/java/autotests/io/qt/autotests/TestWebEngineWidgets.java index 5dd9d07e..a70b00c9 100644 --- a/src/java/autotests/io/qt/autotests/TestWebEngineWidgets.java +++ b/src/java/autotests/io/qt/autotests/TestWebEngineWidgets.java @@ -30,13 +30,12 @@ import static org.junit.Assume.assumeTrue; -import java.util.function.Consumer; - import org.junit.BeforeClass; import org.junit.Test; import io.qt.QtUtilities; import io.qt.core.QCoreApplication; +import io.qt.core.QEventLoop; import io.qt.core.QTimer; import io.qt.core.QUrl; import io.qt.core.Qt; @@ -44,7 +43,6 @@ import io.qt.gui.QOpenGLContext; import io.qt.webengine.core.*; import io.qt.webengine.widgets.*; -import io.qt.widgets.QApplication; public class TestWebEngineWidgets extends ApplicationInitializer { @@ -69,32 +67,36 @@ public static void testInitialize() throws Exception { } @Test - public void test() { + public void testLoad() { + QEventLoop loop = new QEventLoop(); QWebEngineView webView = new QWebEngineView(); - webView.load(new QUrl("http://www.qt.io")); - webView.loadProgress.connect(progress -> { if(progress>95) webView.close(); }); + webView.load(new QUrl("http://www.qtjambi.io")); + webView.loadProgress.connect(progress -> { if(progress>95) loop.quit(); }); webView.show(); - QTimer.singleShot(25000, QApplication::quit); - QApplication.exec(); + QTimer.singleShot(25000, loop::quit); + loop.exec(); webView.dispose(); + loop.dispose(); } @Test public void testRunJavaScript() { + QEventLoop loop = new QEventLoop(); QWebEngineView view = new QWebEngineView(); QWebEnginePage page = new QWebEnginePage(view); view.setPage(page); page.load(new QUrl("http://info.cern.ch/")); - page.runJavaScript("window", new Consumer() { - @Override - public void accept(Object o) { - System.out.println("test " + o); // always creates a crash if you interact with this object in any way - view.close(); - } - }); + page.runJavaScript("window", o -> { + // always creates a crash if you interact with this object in any way + if(o!=null) + o.toString(); + loop.quit(); + }); view.show(); - QTimer.singleShot(25000, QApplication::quit); - QApplication.exec(); + QTimer.singleShot(25000, loop::quit); + loop.exec(); + view.dispose(); + loop.dispose(); } public static void main(String args[]) { diff --git a/src/java/modules/modules.xml b/src/java/modules/modules.xml index 22a5d2bb..3ffdaff9 100644 --- a/src/java/modules/modules.xml +++ b/src/java/modules/modules.xml @@ -280,8 +280,9 @@ - - + + + @@ -382,8 +383,9 @@ - - + + + @@ -469,7 +471,7 @@ - + @@ -485,7 +487,7 @@ - + @@ -513,12 +515,12 @@ - + - + @@ -541,8 +543,8 @@ - - + + @@ -550,16 +552,18 @@ + + - + - + @@ -569,18 +573,20 @@ - + - + - + - + + + @@ -591,14 +597,14 @@ - - - + + + - + diff --git a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/BundleGenerator.java b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/BundleGenerator.java index 66aecaa6..62df3924 100644 --- a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/BundleGenerator.java +++ b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/BundleGenerator.java @@ -1464,9 +1464,12 @@ public void close() throws IOException { copyQmlPaths(qmllibs, Collections.singletonList("QtWayland/Compositor"), jarFile, jarUtilFile, osArchName, isDebug, isForceDebugInfo, doc); }else if("virtualkeyboard".equals(libPair.getKey())) { copyQmlPaths(qmllibs, Collections.singletonList("QtQuick/VirtualKeyboard"), jarFile, jarUtilFile, osArchName, isDebug, isForceDebugInfo, doc); + }else if("quickeffects".equals(libPair.getKey())) { + copyQmlPaths(qmllibs, Collections.singletonList("QtQuickEffectMaker"), jarFile, jarUtilFile, osArchName, isDebug, isForceDebugInfo, doc); }else if("qml".equals(libPair.getKey())) { copyQmlPaths(qmllibs, Arrays.asList("QtQuick/LocalStorage", "QtQml", + "QmlTime", "QtQuick/Window", "QtQuick/tooling"), jarFile, jarUtilFile, osArchName, isDebug, isForceDebugInfo, doc); if(version.majorVersion()==5) { diff --git a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/Main.java b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/Main.java index a3d1a244..441eef43 100644 --- a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/Main.java +++ b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/Main.java @@ -31,11 +31,12 @@ import java.io.File; import java.io.IOException; +import java.net.JarURLConnection; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; +import java.net.URLConnection; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Enumeration; import java.util.List; @@ -171,16 +172,27 @@ static Enumeration findSpecs() throws MalformedURLException { Logger.getLogger("io.qt").log(Level.WARNING, "", e); } if(!specsFound.hasMoreElements()) { - String classURL = ""+Main.class.getResource("Main.class"); - int index; - if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { - String jarFileURL = classURL.substring(4, index); + URL url = Main.class.getResource("Main.class"); + if(url!=null) { + String classURL = url.toString(); + int index; File jarFile = null; - try { - jarFile = new File(new URL(jarFileURL).toURI()); - } catch (URISyntaxException e) { - } - if(jarFile!=null && jarFile.exists()) { + if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { + String jarFileURL = classURL.substring(4, index); + try { + jarFile = new File(new URL(jarFileURL).toURI()); + } catch (URISyntaxException e) { + } + }else { + try { + URLConnection connection = url.openConnection(); + if(connection instanceof JarURLConnection) { + jarFile = new File(((JarURLConnection) connection).getJarFile().getName()); + } + } catch (Throwable e1) { + } + } + if(jarFile!=null && jarFile.exists()) { File directory = jarFile.getParentFile(); String fileName = jarFile.getName(); String suffix = String.format("-%1$s.jar", QtUtilities.qtjambiVersion().toString()); @@ -194,10 +206,19 @@ static Enumeration findSpecs() throws MalformedURLException { foundURLs.add(nativeFileURL); } } + if(foundURLs.isEmpty()) { + for(String jar : new File(directory, "native").list()) { + if(jar.startsWith(fileName) && jar.endsWith(suffix)) { + File nativeFile = new File(new File(directory, "native"), jar); + URL nativeFileURL = new URL("jar:"+nativeFile.toURI()+"!/qtjambi-utilities.xml"); + foundURLs.add(nativeFileURL); + } + } + } if(!foundURLs.isEmpty()) specsFound = Collections.enumeration(foundURLs); } - } + } } return specsFound; } diff --git a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/PluginGenerator.java b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/PluginGenerator.java index 17f2c2f3..2c13f542 100644 --- a/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/PluginGenerator.java +++ b/src/java/modules/qtjambi.deployer/io/qt/qtjambi/deployer/PluginGenerator.java @@ -32,8 +32,10 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.net.JarURLConnection; import java.net.URL; import java.net.URLClassLoader; +import java.net.URLConnection; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.AbstractMap.SimpleEntry; @@ -393,11 +395,25 @@ static void generate(QCommandLineParser parser, String[] args, QCommandLineOptio if(url!=null) { String path = url.toString(); int idx = -1; + File jarFile = null; if(path.startsWith("jar:file:") && (idx = path.indexOf("!/")) >= 0) { path = path.substring(4, idx); try { - File jarFile = new File(new URL(path).toURI()); - if(jarFile.getParentFile().isDirectory()) + jarFile = new File(new URL(path).toURI()); + } catch (Exception e1) { + throw new Error("Unable to find class: "+className, e1); + } + }else { + try { + URLConnection connection = url.openConnection(); + if(connection instanceof JarURLConnection) { + jarFile = new File(((JarURLConnection) connection).getJarFile().getName()); + } + } catch (Throwable e1) { + } + } + if(jarFile!=null) { + if(jarFile.getParentFile().isDirectory()) { for(File other : jarFile.getParentFile().listFiles()) { if(other.isFile() && other.getName().startsWith("qtjambi") && !other.getName().endsWith("javadoc.jar") @@ -406,9 +422,11 @@ static void generate(QCommandLineParser parser, String[] args, QCommandLineOptio urls.add(other.toURI().toURL()); } } - pluginClassLoader.close(); - pluginClassLoader = new PluginClassLoader(); - pluginClassLoader.addURLs(urls); + } + pluginClassLoader.close(); + pluginClassLoader = new PluginClassLoader(); + pluginClassLoader.addURLs(urls); + try { cls = pluginClassLoader.loadClass(className); } catch (Exception e1) { throw new Error("Unable to find class: "+className, e1); diff --git a/src/java/modules/qtjambi.graphs/build.xml b/src/java/modules/qtjambi.graphs/build.xml new file mode 100644 index 00000000..ad757d1e --- /dev/null +++ b/src/java/modules/qtjambi.graphs/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/modules/qtjambi.webchannelquick/build.xml b/src/java/modules/qtjambi.webchannelquick/build.xml new file mode 100644 index 00000000..ad757d1e --- /dev/null +++ b/src/java/modules/qtjambi.webchannelquick/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/modules/qtjambi/Qt5/io/qt/core/QLinkedList.java b/src/java/modules/qtjambi/Qt5/io/qt/core/QLinkedList.java index 143874fc..6acbce34 100644 --- a/src/java/modules/qtjambi/Qt5/io/qt/core/QLinkedList.java +++ b/src/java/modules/qtjambi/Qt5/io/qt/core/QLinkedList.java @@ -29,19 +29,14 @@ ****************************************************************************/ package io.qt.core; -import java.util.Collection; -import java.util.Deque; -import java.util.NoSuchElementException; -import java.util.Objects; - -import io.qt.QNoNativeResourcesException; -import io.qt.QtUninvokable; -import io.qt.NativeAccess; +import java.util.*; +import java.util.function.*; +import io.qt.*; /** *

    Java wrapper for Qt class QLinkedList

    */ -public class QLinkedList extends io.qt.internal.AbstractSequentialContainer implements Deque, Cloneable +public class QLinkedList extends AbstractSequentialContainer implements Deque, Cloneable { static { @@ -275,6 +270,22 @@ public final T removeLast() { } @QtUninvokable private static native void removeLast(long __this__nativeId); + + /** + *

    See QLinkedList::removeIf(Predicate)

    + */ + @QtUninvokable + public final boolean removeIf(Predicate predicate) { + Objects.requireNonNull(predicate); + boolean removed = false; + for(T value : clone()) { + if (predicate.test(value)) { + removeOne(value); + removed = true; + } + } + return removed; + } @QtUninvokable public final boolean removeOne(T t) { @@ -328,6 +339,9 @@ public final T takeLast() { @QtUninvokable private static native T takeLast(long __this__nativeId); + /** + *

    See QLinkedList::operator==(QLinkedList<T>)const

    + */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @QtUninvokable @@ -339,6 +353,9 @@ public boolean equals(Object other) { } + /** + * Returns the objects's hash code computed by qHash(QLinkedList<T>). + */ @Override @QtUninvokable public int hashCode() { @@ -404,6 +421,9 @@ public final T pop() { return removeFirst(); } + /** + *

    See operator<<(QDataStream&,QLinkedList<T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -412,6 +432,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QLinkedList<T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -532,7 +555,7 @@ public final boolean removeLastOccurrence(Object o) { @Override @QtUninvokable public final java.util.Iterator descendingIterator() { - return super.descendingIterator(); + return constEnd().toJavaDescendingIterator(); } /** diff --git a/src/java/modules/qtjambi/Qt5/io/qt/core/QList.java b/src/java/modules/qtjambi/Qt5/io/qt/core/QList.java index c385e639..51d4b2bf 100644 --- a/src/java/modules/qtjambi/Qt5/io/qt/core/QList.java +++ b/src/java/modules/qtjambi/Qt5/io/qt/core/QList.java @@ -29,19 +29,14 @@ ****************************************************************************/ package io.qt.core; -import java.util.Collection; -import java.util.NoSuchElementException; -import java.util.Objects; - -import io.qt.QNoNativeResourcesException; -import io.qt.QNoImplementationException; -import io.qt.QtUninvokable; -import io.qt.NativeAccess; +import java.util.*; +import java.util.function.*; +import io.qt.*; /** *

    Java wrapper for Qt class QList

    */ -public class QList extends io.qt.internal.AbstractList implements Cloneable +public class QList extends AbstractList implements java.util.List, Cloneable { static { QtJambi_LibraryUtilities.initialize(); @@ -399,6 +394,22 @@ public final boolean removeOne(T t) { @QtUninvokable private static native boolean removeOne(long __this__nativeId, T t); + /** + *

    See QList::removeIf(Predicate)

    + */ + @QtUninvokable + public final boolean removeIf(Predicate predicate) { + Objects.requireNonNull(predicate); + boolean removed = false; + for(T value : clone()) { + if (predicate.test(value)) { + removeAll(value); + removed = true; + } + } + return removed; + } + @QtUninvokable private static native void remove(long __this__nativeId, int i, int n); @@ -489,6 +500,9 @@ public final T value(int i, T defaultValue) { @QtUninvokable private static native T valueDefault(long __this__nativeId, int i, T defaultValue); + /** + *

    See QList::operator==(QList<T>)const

    + */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @QtUninvokable @@ -499,6 +513,9 @@ public boolean equals(Object other) { return false; } + /** + * Returns the objects's hash code computed by qHash(QList<T>). + */ @Override @QtUninvokable public int hashCode() { @@ -576,12 +593,6 @@ public final void swapItemsAt(int i, int j) { @QtUninvokable private static native void swapItemsAt(long __this__nativeId, int i, int j); - @Override - @QtUninvokable - protected final void removeAtIndex(int cursor) { - removeAt(cursor); - } - @QtUninvokable public final QSet toSet() { QSet set = new QSet<>(elementMetaType()); @@ -589,6 +600,9 @@ public final QSet toSet() { return set; } + /** + *

    See operator<<(QDataStream&,QList<T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -597,6 +611,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QList<T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -615,7 +632,7 @@ QMetaType elementMetaType() { /** * Returns a QList containing given elements. * - * @param the {@code QList}'s element type + * @param the {@code QList}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QList} containing the specified element @@ -642,7 +659,7 @@ public static QList of(T element0, T...elements) { /** * Returns a QStringList containing given elements. * - * @param the {@code QStringList}'s element type + * @param the {@code QStringList}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QStringList} containing the specified element @@ -657,7 +674,7 @@ public static QStringList of(String element0, String...elements) { } return result; } - + static String pairPrefix() { return "QPair"; } diff --git a/src/java/modules/qtjambi/Qt5/io/qt/core/QStack.java b/src/java/modules/qtjambi/Qt5/io/qt/core/QStack.java index 0459bb48..09528514 100644 --- a/src/java/modules/qtjambi/Qt5/io/qt/core/QStack.java +++ b/src/java/modules/qtjambi/Qt5/io/qt/core/QStack.java @@ -29,12 +29,8 @@ ****************************************************************************/ package io.qt.core; -import java.util.Collection; -import java.util.Deque; -import java.util.NoSuchElementException; - -import io.qt.QtUninvokable; -import io.qt.NativeAccess; +import java.util.*; +import io.qt.*; /** *

    Java wrapper for Qt class QStack

    @@ -177,7 +173,7 @@ public boolean removeLastOccurrence(Object o) { @Override @QtUninvokable public java.util.Iterator descendingIterator() { - return super.descendingIterator(); + return constEnd().toJavaDescendingIterator(); } @Override diff --git a/src/java/modules/qtjambi/Qt5/io/qt/core/QVector.java b/src/java/modules/qtjambi/Qt5/io/qt/core/QVector.java index c921e381..66e563a1 100644 --- a/src/java/modules/qtjambi/Qt5/io/qt/core/QVector.java +++ b/src/java/modules/qtjambi/Qt5/io/qt/core/QVector.java @@ -29,18 +29,14 @@ ****************************************************************************/ package io.qt.core; -import java.util.Collection; -import java.util.NoSuchElementException; -import java.util.Objects; - -import io.qt.QNoNativeResourcesException; -import io.qt.QtUninvokable; -import io.qt.NativeAccess; +import java.util.*; +import java.util.function.*; +import io.qt.*; /** *

    Java wrapper for Qt class QVector

    */ -public class QVector extends io.qt.internal.AbstractList implements Cloneable +public class QVector extends AbstractList implements java.util.List, Cloneable { static { @@ -428,6 +424,22 @@ public final boolean removeOne(T t) { @QtUninvokable private static native boolean removeOne(long __this__nativeId, T t); + /** + *

    See QVector::removeIf(Predicate)

    + */ + @QtUninvokable + public final boolean removeIf(Predicate predicate) { + Objects.requireNonNull(predicate); + boolean removed = false; + for(T value : clone()) { + if (predicate.test(value)) { + removeAll(value); + removed = true; + } + } + return removed; + } + @QtUninvokable public final void replace(int i, T t) { try { @@ -536,6 +548,9 @@ public final T value(int i, T defaultValue) { @QtUninvokable private static native T valueDefault(long __this__nativeId, int i, T defaultValue); + /** + *

    See QVector::operator==(QVector<T>)const

    + */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @QtUninvokable @@ -547,6 +562,9 @@ public boolean equals(Object other) { } + /** + * Returns the objects's hash code computed by qHash(QVector<T>). + */ @Override @QtUninvokable public int hashCode() { @@ -622,12 +640,9 @@ public final void swapItemsAt(int i, int j) { @QtUninvokable private static native void swapItemsAt(long __this__nativeId, int i, int j); - @Override - @QtUninvokable - protected final void removeAtIndex(int cursor) { - removeAt(cursor); - } - + /** + *

    See operator<<(QDataStream&,QVector<T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -636,6 +651,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QVector<T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); diff --git a/src/java/modules/qtjambi/Qt5/io/qt/internal/AbstractMetaObjectUtility.java b/src/java/modules/qtjambi/Qt5/io/qt/internal/AbstractMetaObjectUtility.java index 12781957..573b50f3 100644 --- a/src/java/modules/qtjambi/Qt5/io/qt/internal/AbstractMetaObjectUtility.java +++ b/src/java/modules/qtjambi/Qt5/io/qt/internal/AbstractMetaObjectUtility.java @@ -86,4 +86,11 @@ static boolean isListType(Class cls) { || cls==QLinkedList.class || cls==QSet.class; } + + static boolean isSequentialContainer(Class cls) { + return QList.class.isAssignableFrom(cls) + || QSet.class.isAssignableFrom(cls) + || QVector.class.isAssignableFrom(cls) + || QLinkedList.class.isAssignableFrom(cls); + } } diff --git a/src/java/modules/qtjambi/Qt6/io/qt/core/QList.java b/src/java/modules/qtjambi/Qt6/io/qt/core/QList.java index 04830625..da4c2864 100644 --- a/src/java/modules/qtjambi/Qt6/io/qt/core/QList.java +++ b/src/java/modules/qtjambi/Qt6/io/qt/core/QList.java @@ -30,8 +30,10 @@ package io.qt.core; import java.util.Collection; +import java.util.List; import java.util.NoSuchElementException; import java.util.Objects; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QNoImplementationException; @@ -39,9 +41,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QList

    + *

    Java wrapper for Qt class QList

    */ -public class QList extends io.qt.internal.AbstractList implements Cloneable +public class QList extends AbstractList implements Cloneable { static { @@ -51,6 +53,7 @@ public class QList extends io.qt.internal.AbstractList implements Cloneabl /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QList(QPrivateConstructor p) { @@ -59,7 +62,7 @@ protected QList(QPrivateConstructor p) { /** * Creating a container with given element type. - *

    See QList::QList()

    + *

    See QList::QList()

    * @param metaType the type T */ public QList(QMetaType.Type metaType) { @@ -68,7 +71,7 @@ public QList(QMetaType.Type metaType) { /** * Creating a container with given element type. - *

    See QList::QList()

    + *

    See QList::QList()

    * @param elementType the type T */ public QList(Class elementType) { @@ -78,8 +81,8 @@ public QList(Class elementType) { } /** - * Creating a container with given element type. - *

    See QList::QList()

    + * Creating a container with given element type and size. + *

    See QList::QList()

    * @param metaType the type T */ public QList(QMetaType metaType) { @@ -87,9 +90,46 @@ public QList(QMetaType metaType) { initialize(metaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaType), null); } + /** + * Creating a container with given element type and size. + *

    See QList::QList(qsizetype)

    + * @param metaType the type T + */ + public QList(QMetaType.Type metaType, int size) { + this(new QMetaType(metaType), size); + } + + /** + * Creating a container with given element type and size. + *

    See QList::QList(qsizetype)

    + * @param elementType the type T + */ + public QList(Class elementType, int size) { + this(QMetaType.fromType(elementType), size); + } + + /** + * Creating a container with given element type and size. + *

    See QList::QList(qsizetype)

    + * @param metaType the type T + */ + public QList(QMetaType metaType, int size) { + this(metaType); + resize(size); + } + + /** + * Creating a container filled with given value. + *

    See QList::QList(qsizetype,T)

    + */ + public QList(int size, T value) { + this(findElementMetaType(value)); + fill(value, size); + } + /** * Creating a container with given content. - *

    See QList::QList(const QList<T> &)

    + *

    See QList::QList(const QList<T> &)

    * @param other container */ public QList(Collection other) { @@ -110,19 +150,29 @@ public QList(Collection other) { public static QList createVariantList(){ return new QList<>(new QMetaType(QMetaType.Type.QVariant)); } + + /** + * Creating a container of type QVariant and given size. + */ + public static QList createVariantList(int size){ + return new QList<>(new QMetaType(QMetaType.Type.QVariant), size); + } @QtUninvokable private native void initialize(Class elementType, long elementMetaType, Collection other); /** * Creates and returns a copy of this object. - *

    See QList::QList(const QList<T> &)

    + *

    See QList::QList(const QList<T> &)

    */ @Override public QList clone(){ return new QList<>(this); } + /** + *

    See QList::append(const QList<T> &)

    + */ @QtUninvokable public final void append(java.util.Collection t) { appendList(QtJambi_LibraryUtilities.internal.nativeId(this), t); @@ -130,6 +180,9 @@ public final void append(java.util.Collection t) { @QtUninvokable private static native void appendList(long __this__nativeId, java.util.Collection t); + /** + *

    See QList::append(T)

    + */ @QtUninvokable public final void append(T t) { try { @@ -144,6 +197,9 @@ public final void append(T t) { @QtUninvokable private static native void append(long __this__nativeId, T t); + /** + *

    See QList::at(qsizetype)const

    + */ @QtUninvokable public final T at(int i) { return at(QtJambi_LibraryUtilities.internal.nativeId(this), i); @@ -151,6 +207,9 @@ public final T at(int i) { @QtUninvokable private static native T at(long __this__nativeId, int i); + /** + *

    See QList::clear()

    + */ @QtUninvokable public final void clear() { clear(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -158,6 +217,9 @@ public final void clear() { @QtUninvokable private static native void clear(long __this__nativeId); + /** + *

    See QList::contains(T)const

    + */ @QtUninvokable public final boolean contains(Object t) { try { @@ -176,11 +238,17 @@ public final boolean contains(Object t) { @QtUninvokable private static native boolean contains(long __this__nativeId, T t); + /** + *

    See QList::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + *

    See QList::count(T)const

    + */ @QtUninvokable public final int count(T t) { try{ @@ -194,6 +262,11 @@ public final int count(T t) { @QtUninvokable private static native int count(long __this__nativeId, T t); + /** + * Provides a mutable C++ iterator to the containers begin. + *

    See QList::begin()

    + * @return begin + */ @QtUninvokable protected final QSequentialIterator begin() { return begin(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -201,6 +274,11 @@ protected final QSequentialIterator begin() { @QtUninvokable private static native QSequentialIterator begin(long __this__nativeId); + /** + * Provides a mutable C++ iterator to the containers end. + *

    See QList::end()

    + * @return end + */ @QtUninvokable protected final QSequentialIterator end() { return end(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -208,6 +286,11 @@ protected final QSequentialIterator end() { @QtUninvokable private static native QSequentialIterator end(long __this__nativeId); + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QList::constBegin()const

    + * @return begin + */ @QtUninvokable protected final QSequentialConstIterator constBegin() { return constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -215,6 +298,11 @@ protected final QSequentialConstIterator constBegin() { @QtUninvokable private static native QSequentialConstIterator constBegin(long __this__nativeId); + /** + * Provides a constant C++ iterator to the containers end. + *

    See QList::constEnd()const

    + * @return end + */ @QtUninvokable protected final QSequentialConstIterator constEnd() { return constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -222,6 +310,9 @@ protected final QSequentialConstIterator constEnd() { @QtUninvokable private static native QSequentialConstIterator constEnd(long __this__nativeId); + /** + *

    See QList::endsWith(T)const

    + */ @QtUninvokable public final boolean endsWith(T t) { try{ @@ -235,6 +326,9 @@ public final boolean endsWith(T t) { @QtUninvokable private static native boolean endsWith(long __this__nativeId, T t); + /** + *

    See QList::first()const

    + */ @QtUninvokable public final T first() { try { @@ -244,6 +338,9 @@ public final T first() { } } + /** + *

    See QList::indexOf(T,qsizetype)const

    + */ @QtUninvokable public final int indexOf(T t, int from) { try { @@ -262,16 +359,25 @@ public final int indexOf(T t, int from) { @QtUninvokable private static native int indexOf(long __this__nativeId, T t, int from); + /** + *

    See QList::insert(qsizetype,T)

    + */ @QtUninvokable public final void insert(int i, T t) { insert(i, 1, t); } + /** + *

    See QList::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; } + /** + *

    See QList::last()const

    + */ @QtUninvokable public final T last() { try { @@ -283,12 +389,18 @@ public final T last() { @QtUninvokable private static native T last(long __this__nativeId); + /** + *

    See QList::lastIndexOf(T,qsizetype)const

    + */ @SuppressWarnings("unchecked") @QtUninvokable @Override public final int lastIndexOf(Object t) { return lastIndexOf((T)t, (int)-1); } + /** + *

    See QList::lastIndexOf(T,qsizetype)const

    + */ @QtUninvokable public final int lastIndexOf(T t, int from) { try { @@ -307,15 +419,25 @@ public final int lastIndexOf(T t, int from) { @QtUninvokable private static native int lastIndexOf(long __this__nativeId, T t, int from); + /** + *

    See QList::length()const

    + */ @QtUninvokable public final int length() { return size(); } + /** + *

    See QList::mid(qsizetype,qsizetype)const

    + */ @QtUninvokable public final QList mid(int pos) { return mid(pos, (int)-1); } + + /** + *

    See QList::mid(qsizetype,qsizetype)const

    + */ @QtUninvokable public final QList mid(int pos, int length) { return mid(QtJambi_LibraryUtilities.internal.nativeId(this), pos, length); @@ -323,6 +445,9 @@ public final QList mid(int pos, int length) { @QtUninvokable private static native QList mid(long __this__nativeId, int pos, int length); + /** + *

    See QList::move(qsizetype,qsizetype)

    + */ @QtUninvokable public final void move(int from, int to) { move(QtJambi_LibraryUtilities.internal.nativeId(this), from, to); @@ -330,13 +455,9 @@ public final void move(int from, int to) { @QtUninvokable private static native void move(long __this__nativeId, int from, int to); - @QtUninvokable - private final boolean operator_equal(java.util.Collection l) { - return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), l); - } - @QtUninvokable - private static native boolean operator_equal(long __this__nativeId, java.util.Collection l); - + /** + *

    See QList::prepend(T)

    + */ @QtUninvokable public final void prepend(T t) { try { @@ -348,6 +469,9 @@ public final void prepend(T t) { } } + /** + *

    See QList::removeAll(T)

    + */ @QtUninvokable public final int removeAll(T t) { try { @@ -365,22 +489,50 @@ public final int removeAll(T t) { } @QtUninvokable private static native int removeAll(long __this__nativeId, T t); + + /** + *

    See QList::removeIf(Predicate)

    + */ + @QtUninvokable + public final boolean removeIf(Predicate predicate) { + Objects.requireNonNull(predicate); + boolean removed = false; + for(T value : clone()) { + if (predicate.test(value)) { + removeAll(value); + removed = true; + } + } + return removed; + } + /** + *

    See QList::removeAt(qsizetype)

    + */ @QtUninvokable public final void removeAt(int i) { remove(i, 1); } + /** + *

    See QList::removeFirst()

    + */ @QtUninvokable public final T removeFirst() { return takeFirst(); } + /** + *

    See QList::removeLast()

    + */ @QtUninvokable public final T removeLast() { return takeLast(); } + /** + *

    See QList::removeOne(T)

    + */ @QtUninvokable public final boolean removeOne(T t) { try { @@ -398,6 +550,9 @@ public final boolean removeOne(T t) { @QtUninvokable private static native boolean removeOne(long __this__nativeId, T t); + /** + *

    See QList::replace(qsizetype,T)

    + */ @QtUninvokable public final void replace(int i, T t) { try { @@ -411,6 +566,9 @@ public final void replace(int i, T t) { @QtUninvokable private static native void replace(long __this__nativeId, int i, T t); + /** + *

    See QList::reserve(qsizetype)

    + */ @QtUninvokable public final void reserve(int size) { reserve(QtJambi_LibraryUtilities.internal.nativeId(this), size); @@ -418,6 +576,9 @@ public final void reserve(int size) { @QtUninvokable private static native void reserve(long __this__nativeId, int size); + /** + *

    See QList::size()const

    + */ @QtUninvokable public final int size() { return size(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -425,6 +586,9 @@ public final int size() { @QtUninvokable private static native int size(long __this__nativeId); + /** + *

    See QList::startsWith(T)const

    + */ @QtUninvokable public final boolean startsWith(T t) { try{ @@ -438,6 +602,9 @@ public final boolean startsWith(T t) { @QtUninvokable private static native boolean startsWith(long __this__nativeId, T t); + /** + *

    See QList::takeAt(qsizetype)

    + */ @QtUninvokable public final T takeAt(int i) { return takeAt(QtJambi_LibraryUtilities.internal.nativeId(this), i); @@ -445,6 +612,9 @@ public final T takeAt(int i) { @QtUninvokable private static native T takeAt(long __this__nativeId, int i); + /** + *

    See QList::takeFirst()

    + */ @QtUninvokable public final T takeFirst() { try { @@ -454,6 +624,9 @@ public final T takeFirst() { } } + /** + *

    See QList::takeLast()

    + */ @QtUninvokable public final T takeLast() { try{ @@ -465,6 +638,9 @@ public final T takeLast() { @QtUninvokable private static native T takeLast(long __this__nativeId); + /** + *

    See QList::value(qsizetype)

    + */ @QtUninvokable public final T value(int i) { return value(QtJambi_LibraryUtilities.internal.nativeId(this), i); @@ -472,6 +648,9 @@ public final T value(int i) { @QtUninvokable private static native T value(long __this__nativeId, int i); + /** + *

    See QList::value(qsizetype,T)

    + */ @QtUninvokable public final T value(int i, T defaultValue) { try { @@ -485,16 +664,24 @@ public final T value(int i, T defaultValue) { @QtUninvokable private static native T valueDefault(long __this__nativeId, int i, T defaultValue); + /** + *

    See QList::operator==(QList<T>)const

    + */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @QtUninvokable public boolean equals(Object other) { if (other instanceof java.util.Collection && checkContainerType(this.elementMetaType(), (java.util.Collection) other)) { - return operator_equal((java.util.Collection) other); + return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), (java.util.Collection) other); } return false; } + @QtUninvokable + private static native boolean operator_equal(long __this__nativeId, java.util.Collection l); + /** + * Returns the objects's hash code computed by qHash(QList<T>). + */ @Override @QtUninvokable public int hashCode() { @@ -507,6 +694,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -521,6 +711,10 @@ public String toString() { @QtUninvokable private static native String toString(long __this__nativeId); + /** + * Appends the specified element to the end of this list. + * @see List#add(Object) + */ @Override @QtUninvokable public boolean add(T e){ @@ -528,12 +722,21 @@ public boolean add(T e){ return true; } + /** + * Inserts the specified element at the specified position in this list. + * @see List#add(int, Object) + */ @Override @QtUninvokable public final void add(int index, T e){ insert(index, e); } + /** + * Replaces the element at the specified position in this list with the + * specified element. + * @see List#set(int, Object) + */ @Override @QtUninvokable public final T set(int index, T e){ @@ -544,6 +747,11 @@ public final T set(int index, T e){ } else return null; } + /** + * Removes the first occurrence of the specified element from this list, + * if it is present. + * @see List#remove(Object) + */ @SuppressWarnings("unchecked") @Override @QtUninvokable @@ -551,6 +759,9 @@ public final boolean remove(Object e){ return removeOne((T)e); } + /** + *

    See QList::indexOf(T,qsizetype)const

    + */ @SuppressWarnings("unchecked") @Override @QtUninvokable @@ -558,12 +769,19 @@ public final int indexOf(Object e){ return indexOf((T)e, (int)0); } + /** + * Returns the element at the specified position in this list. + * @see List#get(int) + */ @Override @QtUninvokable public final T get(int index) { return at(index); } + /** + *

    See QList::swapItemsAt(qsizetype,qsizetype)

    + */ @QtUninvokable public final void swapItemsAt(int i, int j) { swapItemsAt(QtJambi_LibraryUtilities.internal.nativeId(this), i, j); @@ -572,16 +790,17 @@ public final void swapItemsAt(int i, int j) { @QtUninvokable private static native void swapItemsAt(long __this__nativeId, int i, int j); - @Override - @QtUninvokable - protected final void removeAtIndex(int cursor) { - removeAt(cursor); - } - + /** + *

    See QList::fill(T,qsizetype)

    + */ @QtUninvokable public final void fill(T t) { fill(t, (int)-1); } + + /** + *

    See QList::fill(T,qsizetype)

    + */ @QtUninvokable public final void fill(T t, int size) { try { @@ -595,6 +814,9 @@ public final void fill(T t, int size) { @QtUninvokable private static native void fill(long __this__nativeId, T t, int size); + /** + *

    See QList::insert(qsizetype,qsizetype,T)

    + */ @QtUninvokable public final void insert(int i, int n, T t) { try { @@ -609,6 +831,9 @@ public final void insert(int i, int n, T t) { @QtUninvokable private static native void insert(long __this__nativeId, int i, int n, T t); + /** + *

    See QList::remove(qsizetype,qsizetype)

    + */ @QtUninvokable public final void remove(int i, int n) { remove(QtJambi_LibraryUtilities.internal.nativeId(this), i, n); @@ -616,6 +841,9 @@ public final void remove(int i, int n) { @QtUninvokable private static native void remove(long __this__nativeId, int i, int n); + /** + *

    See QList::capacity()const

    + */ @QtUninvokable public final int capacity() { return capacity(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -623,6 +851,9 @@ public final int capacity() { @QtUninvokable private static native int capacity(long __this__nativeId); + /** + *

    See QList::resize(qsizetype)

    + */ @QtUninvokable public final void resize(int size) { resize(QtJambi_LibraryUtilities.internal.nativeId(this), size); @@ -630,6 +861,9 @@ public final void resize(int size) { @QtUninvokable private static native void resize(long __this__nativeId, int size); + /** + *

    See QList::squeeze()

    + */ @QtUninvokable public final void squeeze() { squeeze(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -637,6 +871,9 @@ public final void squeeze() { @QtUninvokable private static native void squeeze(long __this__nativeId); + /** + *

    See operator<<(QDataStream&,QList<T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -645,6 +882,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QList<T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -663,7 +903,7 @@ final QMetaType elementMetaType() { /** * Returns a QList containing given elements. * - * @param the {@code QList}'s element type + * @param the {@code QList}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QList} containing the specified element @@ -690,7 +930,7 @@ public static QList of(T element0, T...elements) { /** * Returns a QStringList containing given elements. * - * @param the {@code QStringList}'s element type + * @param the {@code QStringList}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QStringList} containing the specified element diff --git a/src/java/modules/qtjambi/Qt6/io/qt/core/QStack.java b/src/java/modules/qtjambi/Qt6/io/qt/core/QStack.java index 8af27a24..4b107ab8 100644 --- a/src/java/modules/qtjambi/Qt6/io/qt/core/QStack.java +++ b/src/java/modules/qtjambi/Qt6/io/qt/core/QStack.java @@ -39,22 +39,42 @@ import io.qt.StrictNonNull; /** - *

    Java wrapper for Qt class QStack

    + *

    Java wrapper for Qt class QStack

    */ public class QStack extends QList implements Deque { + /** + * Creating a container with given element type and size. + *

    See QStack::QStack()

    + * @param metaType the type T + */ public QStack(@StrictNonNull QMetaType metaType) { super(metaType); } + /** + * Creating a container with given element type and size. + *

    See QStack::QStack()

    + * @param metaType the type T + */ public QStack(QMetaType.@StrictNonNull Type metaType) { this(new QMetaType(metaType)); } + /** + * Creating a container with given element type. + *

    See QStack::QStack()

    + * @param elementType the type T + */ public QStack(@StrictNonNull Class elementType) { super(elementType); } + /** + * Creating a container with given content. + *

    See QStack::QStack(const QStack<T> &)

    + * @param other container + */ public QStack(@StrictNonNull Collection other) { super(other); } @@ -64,38 +84,62 @@ private QStack(QMetaType elementMetaType, Collection other) { super(elementMetaType, other); } + /** + * Creating a container of type QVariant. + */ public static @NonNull QStack createVariantStack(){ return new QStack<>(new QMetaType(QMetaType.Type.QVariant)); } + /** + * Creates and returns a copy of this object. + *

    See QStack::QStack(const QStack<T> &)

    + */ @Override public @NonNull QStack clone(){ return new QStack<>(this); } + /** + * Constructor for internal use only. + * @param p expected to be null. + * @hidden + */ @NativeAccess protected QStack(QPrivateConstructor p){ super(p); } + /** + * @see Deque#remove() + */ @Override @QtUninvokable public final T remove() { return takeFirst(); } + /** + * @see Deque#addFirst(Object) + */ @Override @QtUninvokable public final void addFirst(T e) { push(e); } + /** + * @see Deque#addLast(Object) + */ @Override @QtUninvokable public final void addLast(T e) { add(e); } + /** + * @see Deque#offerFirst(Object) + */ @Override @QtUninvokable public final boolean offerFirst(T e) { @@ -103,6 +147,9 @@ public final boolean offerFirst(T e) { return true; } + /** + * @see Deque#offerLast(Object) + */ @Override @QtUninvokable public final boolean offerLast(T e) { @@ -110,6 +157,9 @@ public final boolean offerLast(T e) { return true; } + /** + * @see Deque#pollFirst() + */ @Override @QtUninvokable public final T pollFirst() { @@ -118,6 +168,9 @@ public final T pollFirst() { return pop(); } + /** + * @see Deque#pollLast() + */ @Override @QtUninvokable public final T pollLast() { @@ -127,6 +180,9 @@ public final T pollLast() { return e; } + /** + * @see Deque#getFirst() + */ @Override @QtUninvokable public final T getFirst() { @@ -135,6 +191,9 @@ public final T getFirst() { return peekFirst(); } + /** + * @see Deque#getLast() + */ @Override @QtUninvokable public final T getLast() { @@ -143,30 +202,45 @@ public final T getLast() { return peekLast(); } + /** + * @see Deque#poll() + */ @Override @QtUninvokable public final T poll() { return pollFirst(); } + /** + * @see Deque#element() + */ @Override @QtUninvokable public final T element() { return getFirst(); } + /** + * @see Deque#peek() + */ @Override @QtUninvokable public final T peek() { return peekFirst(); } + /** + * @see Deque#offer(Object) + */ @Override @QtUninvokable public final boolean offer(T e) { return offerLast(e); } + /** + * @see Deque#removeFirstOccurrence(Object) + */ @Override @QtUninvokable public final boolean removeFirstOccurrence(Object o) { @@ -174,6 +248,9 @@ public final boolean removeFirstOccurrence(Object o) { return idx>=0 && idx=0 && idx descendingIterator() { - return super.descendingIterator(); + return constEnd().toJavaDescendingIterator(); } + /** + * @see Deque#peekFirst() + */ @Override @QtUninvokable public final T peekFirst() { return first(); } + /** + * Creates and returns a copy of this object. + *

    See QStack::top()const

    + */ @QtUninvokable public final T top() { return last(); } + /** + * @see Deque#peekLast() + */ @Override @QtUninvokable public final T peekLast() { return last(); } + /** + *

    See QStack::push(T)

    + * @see Deque#push(Object) + */ @Override @QtUninvokable public final void push(T e) { add(e); } + /** + *

    See QStack::pop()

    + * @see Deque#pop() + */ @Override @QtUninvokable public final T pop() { @@ -219,7 +317,7 @@ public final T pop() { /** * Returns a QStack containing given elements. * - * @param the {@code QStack}'s element type + * @param the {@code QStack}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QStack} containing the specified element @@ -228,7 +326,7 @@ public final T pop() { */ @SafeVarargs public static @NonNull QStack of(T element0, T @StrictNonNull...elements) { - QMetaType metaType = QList.findElementMetaType(element0, elements); + QMetaType metaType = findElementMetaType(element0, elements); if(metaType==null || metaType.id()==0) throw new IllegalArgumentException("QMetaType::UnknownType cannot be type of QStack."); if(metaType.id()==QMetaType.Type.Void.value()) diff --git a/src/java/modules/qtjambi/Qt6/io/qt/internal/AbstractMetaObjectUtility.java b/src/java/modules/qtjambi/Qt6/io/qt/internal/AbstractMetaObjectUtility.java index a9f219ce..2eb182ac 100644 --- a/src/java/modules/qtjambi/Qt6/io/qt/internal/AbstractMetaObjectUtility.java +++ b/src/java/modules/qtjambi/Qt6/io/qt/internal/AbstractMetaObjectUtility.java @@ -310,4 +310,9 @@ static boolean isListType(Class cls) { || cls==QStack.class || cls==QSet.class; } + + static boolean isSequentialContainer(Class cls) { + return QList.class.isAssignableFrom(cls) + || QSet.class.isAssignableFrom(cls); + } } diff --git a/src/java/modules/qtjambi/Retro/io/qt/internal/RetroHelper.java b/src/java/modules/qtjambi/Retro/io/qt/internal/RetroHelper.java index ee74d2f9..b1951220 100644 --- a/src/java/modules/qtjambi/Retro/io/qt/internal/RetroHelper.java +++ b/src/java/modules/qtjambi/Retro/io/qt/internal/RetroHelper.java @@ -36,7 +36,10 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.MalformedURLException; +import java.net.URI; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Optional; import java.util.Set; import java.util.function.Function; @@ -327,6 +330,15 @@ static String processName() { return implementor.processName(); } + static List moduleLocations() { + List result = new ArrayList<>(); + try { + ModuleLayer.boot().configuration().modules().forEach(rm->{rm.reference().location().ifPresent(result::add);}); + } catch (Throwable e2) { + } + return result; + } + static Set classLoaders(){ Set result = new HashSet<>(); result.add(Thread.currentThread().getContextClassLoader()); diff --git a/src/java/modules/qtjambi/RetroJDK8/io/qt/internal/RetroHelper.java b/src/java/modules/qtjambi/RetroJDK8/io/qt/internal/RetroHelper.java index fe7e2ca6..6faae062 100644 --- a/src/java/modules/qtjambi/RetroJDK8/io/qt/internal/RetroHelper.java +++ b/src/java/modules/qtjambi/RetroJDK8/io/qt/internal/RetroHelper.java @@ -34,11 +34,10 @@ import java.lang.management.*; import java.util.function.Supplier; import java.util.stream.Stream; -import java.util.Optional; -import java.util.Set; -import java.util.HashSet; +import java.util.*; import java.util.function.Function; import java.util.function.IntFunction; +import java.net.*; import java.io.File; final class RetroHelper { @@ -202,6 +201,10 @@ static String processName() { static void onExit(Runnable runnable) { Runtime.getRuntime().addShutdownHook(new Thread(runnable)); } + + static List moduleLocations() { + return Collections.emptyList(); + } static Set classLoaders(){ Set result = new HashSet<>(); diff --git a/src/java/modules/qtjambi/main/io/qt/InternalAccess.java b/src/java/modules/qtjambi/main/io/qt/InternalAccess.java index 61c914f4..500d301f 100644 --- a/src/java/modules/qtjambi/main/io/qt/InternalAccess.java +++ b/src/java/modules/qtjambi/main/io/qt/InternalAccess.java @@ -45,6 +45,9 @@ import io.qt.core.QMetaObject; import io.qt.core.QObject; +/** + * @hidden + */ public interface InternalAccess { & io.qt.QtEnumerator> E resolveEnum(Class cl, int value, String name); @@ -127,6 +130,9 @@ public interface InternalAccess { void invalidateObject(io.qt.QtObjectInterface object); + /** + * @hidden + */ public interface Cleanable { void clean(); } @@ -165,6 +171,9 @@ public interface Cleanable { int registerMetaType(Class clazz, Type genericType, AnnotatedElement annotatedType, boolean isPointer, boolean isReference); + /** + * @hidden + */ public final class CallerContext{ public CallerContext(Class declaringClass, String methodName, String methodDescriptor, MethodType methodType, int lineNumber) { super(); diff --git a/src/java/modules/qtjambi/main/io/qt/MemberAccess.java b/src/java/modules/qtjambi/main/io/qt/MemberAccess.java index cc4fd929..4a090ecd 100644 --- a/src/java/modules/qtjambi/main/io/qt/MemberAccess.java +++ b/src/java/modules/qtjambi/main/io/qt/MemberAccess.java @@ -32,6 +32,7 @@ /** * This class manages member access for interface default functions. * @param interface type + * @hidden */ public class MemberAccess { diff --git a/src/java/modules/qtjambi/main/io/qt/NativeAccess.java b/src/java/modules/qtjambi/main/io/qt/NativeAccess.java index b54f05e4..14e9113e 100644 --- a/src/java/modules/qtjambi/main/io/qt/NativeAccess.java +++ b/src/java/modules/qtjambi/main/io/qt/NativeAccess.java @@ -31,6 +31,9 @@ import java.lang.annotation.*; +/** + * Annotates class members to be accessed from inside QtJambi native libraries. + */ @Target({ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.TYPE}) @Retention(RetentionPolicy.SOURCE) public @interface NativeAccess { diff --git a/src/java/modules/qtjambi/main/io/qt/QClassCannotBeSubclassedException.java b/src/java/modules/qtjambi/main/io/qt/QClassCannotBeSubclassedException.java index fbb198b0..262fefda 100644 --- a/src/java/modules/qtjambi/main/io/qt/QClassCannotBeSubclassedException.java +++ b/src/java/modules/qtjambi/main/io/qt/QClassCannotBeSubclassedException.java @@ -31,6 +31,9 @@ package io.qt; +/** + * Exception thrown when a class is not intended to be subclassed, and attempts to do so will lead to run time errors. + */ public class QClassCannotBeSubclassedException extends Exception { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QFlags.java b/src/java/modules/qtjambi/main/io/qt/QFlags.java index a27001d5..5fc0016a 100644 --- a/src/java/modules/qtjambi/main/io/qt/QFlags.java +++ b/src/java/modules/qtjambi/main/io/qt/QFlags.java @@ -78,18 +78,25 @@ protected QFlags(int value) { * See QFlags::operator|(Enum) const */ public @StrictNonNull QFlags combined(@Nullable T flag) { - QFlags result = clone(); - result.set(flag); - return result; + return clone().setFlag(flag, true); + } + + /** + * See QFlags::operator&=(Enum) + * and QFlags::operator~() + */ + public @StrictNonNull QFlags cleared(@Nullable T flag) { + return clone().setFlag(flag, false); } /** * See QFlags::operator|=(QFlags<T>) */ public final void set(@StrictNonNull QFlags flag) { - value |= flag.value(); + if(flag.getClass()==getClass()) + value |= flag.value(); } - + /** *

    * Overloaded constructor for @@ -135,15 +142,18 @@ public final void set(@StrictNonNull QFlags flag) { @SafeVarargs public final void set(@Nullable T @NonNull... ts) { for (T flag : ts) { - if (flag instanceof QtFlagEnumerator) { - value |= ((QtFlagEnumerator) flag).value(); - } else if (flag instanceof QtByteFlagEnumerator) { - value |= ((QtByteFlagEnumerator) flag).value(); - } else if (flag instanceof QtShortFlagEnumerator) { - value |= ((QtShortFlagEnumerator) flag).value(); - } else if (flag instanceof QtLongFlagEnumerator) { - value |= ((QtLongFlagEnumerator) flag).value(); - } + setFlag(flag, true); + } + } + + /** + * See QFlags::operator&=(Enum) + * and QFlags::operator~() + */ + @SafeVarargs + public final void exclude(@Nullable T @NonNull... ts) { + for (T flag : ts) { + setFlag(flag, false); } } @@ -200,14 +210,18 @@ public final boolean testFlags(@Nullable T @NonNull... flags) { * See QFlags::testFlags(QFlags<T>)const */ public final boolean testFlags(@StrictNonNull QFlags flags) { - return (value & flags.value()) == flags.value(); + if(flags.getClass()==getClass()) + return (value & flags.value()) == flags.value(); + return false; } /** * See QFlags::testAnyFlags(QFlags<T>)const */ public final boolean testAnyFlags(@StrictNonNull QFlags flags) { - return (value & flags.value()) != 0; + if(flags.getClass()==getClass()) + return (value & flags.value()) != 0; + return false; } /** @@ -223,26 +237,23 @@ public final boolean testAnyFlags(@Nullable T @NonNull... flags) { /** * Clears the flag other. + * See QFlags::operator&=(QFlags<T>) + * and QFlags::operator~() */ public final void clear(@StrictNonNull QFlags other) { - value &= ~other.value(); + if(other.getClass()==getClass()) + value &= ~other.value(); } /** * Clears all flags in ts. + * See QFlags::operator&=(Enum) + * and QFlags::operator~() */ @SafeVarargs public final void clear(@Nullable T @NonNull... ts) { for (T flag : ts) { - if (flag instanceof QtFlagEnumerator) { - value &= ~((QtFlagEnumerator) flag).value(); - } else if (flag instanceof QtByteFlagEnumerator) { - value &= ~((QtByteFlagEnumerator) flag).value(); - } else if (flag instanceof QtShortFlagEnumerator) { - value &= ~((QtShortFlagEnumerator) flag).value(); - } else if (flag instanceof QtLongFlagEnumerator) { - value &= ~((QtLongFlagEnumerator) flag).value(); - } + setFlag(flag, false); } } @@ -322,7 +333,7 @@ public final int value() { } /** - * {@inheritDoc} + * Returns true if the given object is instance of the same class and has the same flag value. */ @Override public final boolean equals(Object object) { @@ -330,7 +341,7 @@ public final boolean equals(Object object) { } /** - * {@inheritDoc} + * Returns a hash code computed from the flag's class and its value. */ @Override public final int hashCode() { @@ -341,9 +352,9 @@ public final int hashCode() { return result; } - /** - * {@inheritDoc} - */ + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override public final @NonNull String toString() { QtAbstractFlagEnumerator[] flags = flags(); diff --git a/src/java/modules/qtjambi/main/io/qt/QInterfaceCannotBeSubclassedException.java b/src/java/modules/qtjambi/main/io/qt/QInterfaceCannotBeSubclassedException.java index c90b11dd..bf44d089 100644 --- a/src/java/modules/qtjambi/main/io/qt/QInterfaceCannotBeSubclassedException.java +++ b/src/java/modules/qtjambi/main/io/qt/QInterfaceCannotBeSubclassedException.java @@ -29,6 +29,9 @@ ****************************************************************************/ package io.qt; +/** + * Exception thrown when an interface is not intended to be subclassed by non-Qt classes. + */ public class QInterfaceCannotBeSubclassedException extends Exception { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QLibraryNotFoundError.java b/src/java/modules/qtjambi/main/io/qt/QLibraryNotFoundError.java index 40eb9ef1..aa735685 100644 --- a/src/java/modules/qtjambi/main/io/qt/QLibraryNotFoundError.java +++ b/src/java/modules/qtjambi/main/io/qt/QLibraryNotFoundError.java @@ -29,6 +29,10 @@ package io.qt; +/** + * Error thrown when QtJambi is not able to find library. + * @see QtUtilities#loadQtLibrary(String) + */ public class QLibraryNotFoundError extends LinkageError { private static final long serialVersionUID = -7108832113606951792L; diff --git a/src/java/modules/qtjambi/main/io/qt/QLibraryNotLoadedError.java b/src/java/modules/qtjambi/main/io/qt/QLibraryNotLoadedError.java index 3bef4dc9..0a603ba0 100644 --- a/src/java/modules/qtjambi/main/io/qt/QLibraryNotLoadedError.java +++ b/src/java/modules/qtjambi/main/io/qt/QLibraryNotLoadedError.java @@ -29,6 +29,10 @@ package io.qt; +/** + * Error thrown when QtJambi is not able to unpack bundled library. + * @see QtUtilities#loadQtLibrary(String) + */ public class QLibraryNotLoadedError extends LinkageError { private static final long serialVersionUID = 2845865903138526930L; diff --git a/src/java/modules/qtjambi/main/io/qt/QMisfittingSignatureException.java b/src/java/modules/qtjambi/main/io/qt/QMisfittingSignatureException.java index 7ff0bea1..0de35f62 100644 --- a/src/java/modules/qtjambi/main/io/qt/QMisfittingSignatureException.java +++ b/src/java/modules/qtjambi/main/io/qt/QMisfittingSignatureException.java @@ -29,6 +29,10 @@ ****************************************************************************/ package io.qt; +/** + * Exception thrown when slot does not match to signal. + * @see io.qt.core.QObject#connect(io.qt.core.QObject, String, io.qt.core.QObject, String, io.qt.core.Qt.ConnectionType...) + */ public class QMisfittingSignatureException extends QConnectionException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QMissingVirtualOverridingException.java b/src/java/modules/qtjambi/main/io/qt/QMissingVirtualOverridingException.java index e65b8206..c2d730b2 100644 --- a/src/java/modules/qtjambi/main/io/qt/QMissingVirtualOverridingException.java +++ b/src/java/modules/qtjambi/main/io/qt/QMissingVirtualOverridingException.java @@ -29,6 +29,9 @@ ****************************************************************************/ package io.qt; +/** + * Exception thrown when a class does not define a natively defined pure-virtual method. + */ public class QMissingVirtualOverridingException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QNativePointer.java b/src/java/modules/qtjambi/main/io/qt/QNativePointer.java index 735a543e..672754e3 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNativePointer.java +++ b/src/java/modules/qtjambi/main/io/qt/QNativePointer.java @@ -1511,6 +1511,9 @@ void reset() { } } + /** + * This exception is thrown when trying to write on a read-only native pointer. + */ public static class ReadOnlyNativePointerException extends UnsupportedOperationException{ private static final long serialVersionUID = -8238568644716457250L; } diff --git a/src/java/modules/qtjambi/main/io/qt/QNoDefaultValueException.java b/src/java/modules/qtjambi/main/io/qt/QNoDefaultValueException.java index e4434168..2bc49a3d 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoDefaultValueException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoDefaultValueException.java @@ -29,6 +29,10 @@ ****************************************************************************/ package io.qt; +/** + * This exception is thrown when a default signal is defined without default parameter. + * @see io.qt.core.QObject.Signal1Default1 + */ public class QNoDefaultValueException extends QConnectionException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QNoImplementationException.java b/src/java/modules/qtjambi/main/io/qt/QNoImplementationException.java index b1466f03..ff4cf2bc 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoImplementationException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoImplementationException.java @@ -29,6 +29,9 @@ ****************************************************************************/ package io.qt; +/** + * This exception is thrown when a method has no implementation and only exists for compatibility reason. + */ public class QNoImplementationException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QNoSuchEnumValueException.java b/src/java/modules/qtjambi/main/io/qt/QNoSuchEnumValueException.java index 312ef4b9..f232ebf5 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoSuchEnumValueException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoSuchEnumValueException.java @@ -29,6 +29,9 @@ ****************************************************************************/ package io.qt; +/** + * This exception is thrown when a certain value cannot be resolved as Qt enum. + */ public class QNoSuchEnumValueException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QNoSuchMethodException.java b/src/java/modules/qtjambi/main/io/qt/QNoSuchMethodException.java index ea2c48c1..60feddab 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoSuchMethodException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoSuchMethodException.java @@ -30,10 +30,20 @@ package io.qt; +import io.qt.core.QMetaObject; + +/** + * This exception is thrown when a string-based method representation cannot be resolved in a class. + * @see QMetaObject#invokeMethod(io.qt.core.QObject, String, Object...) + * @see QMetaObject#invokeMethod(io.qt.core.QObject, String, io.qt.core.Qt.ConnectionType, Object...) + */ public class QNoSuchMethodException extends QConnectionException { private static final long serialVersionUID = 1L; + /** + * @hidden + */ public QNoSuchMethodException(String extraMessage) { super(extraMessage.length() > 0 ? "Method not found: " + extraMessage : "Method not found"); diff --git a/src/java/modules/qtjambi/main/io/qt/QNoSuchSignalException.java b/src/java/modules/qtjambi/main/io/qt/QNoSuchSignalException.java index 03be1a40..fdd37291 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoSuchSignalException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoSuchSignalException.java @@ -29,10 +29,20 @@ ****************************************************************************/ package io.qt; +import io.qt.core.QObject; + +/** + * This exception is thrown when a string-based signal representation cannot be resolved in a class. + * @see QObject#connect(QObject, String, QObject, String, io.qt.core.Qt.ConnectionType...) + * @see QObject#disconnect(QObject, String, QObject, String) + */ public class QNoSuchSignalException extends QConnectionException { private static final long serialVersionUID = 1L; + /** + * @hidden + */ public QNoSuchSignalException(String extraMessage) { super(extraMessage.length() > 0 ? "Signal not found: " + extraMessage : "Signal not found"); diff --git a/src/java/modules/qtjambi/main/io/qt/QNoSuchSlotException.java b/src/java/modules/qtjambi/main/io/qt/QNoSuchSlotException.java index ad55fc1a..ac4b49d8 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNoSuchSlotException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNoSuchSlotException.java @@ -33,12 +33,22 @@ import java.util.Iterator; import java.util.Vector; +import io.qt.core.QObject; + +/** + * This exception is thrown when a string-based slot representation cannot be resolved in a class. + * @see QObject#connect(QObject, String, QObject, String, io.qt.core.Qt.ConnectionType...) + * @see QObject#disconnect(QObject, String, QObject, String) + */ public class QNoSuchSlotException extends QConnectionException { private static final long serialVersionUID = 1L; private Object receiver; private String slotSignature; private String message; + /** + * @hidden + */ public QNoSuchSlotException(String message) { if (message != null) this.message = message; @@ -46,6 +56,9 @@ public QNoSuchSlotException(String message) { this.message = ""; } + /** + * @hidden + */ public QNoSuchSlotException(Object receiver, String slotSignature) { this.receiver = receiver; this.slotSignature = slotSignature; diff --git a/src/java/modules/qtjambi/main/io/qt/QNonVirtualOverridingException.java b/src/java/modules/qtjambi/main/io/qt/QNonVirtualOverridingException.java index ed23e1e9..22074fda 100644 --- a/src/java/modules/qtjambi/main/io/qt/QNonVirtualOverridingException.java +++ b/src/java/modules/qtjambi/main/io/qt/QNonVirtualOverridingException.java @@ -29,6 +29,10 @@ ****************************************************************************/ package io.qt; +/** + * This exception is thrown when a method with {@link QtDeclaredFinal} annotation is overridden. + * This is the case whenever a native non-virtual method cannot be represented by a Java method with final modifier. + */ public class QNonVirtualOverridingException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QUninvokableSlotException.java b/src/java/modules/qtjambi/main/io/qt/QUninvokableSlotException.java index 4fa8076e..414919a6 100644 --- a/src/java/modules/qtjambi/main/io/qt/QUninvokableSlotException.java +++ b/src/java/modules/qtjambi/main/io/qt/QUninvokableSlotException.java @@ -37,6 +37,12 @@ package io.qt; +import io.qt.core.QObject; + +/** + * This exception is thrown when a method is annotated with {@link QtUninvokable}. + * @see QObject#connect(QObject, String, QObject, String, io.qt.core.Qt.ConnectionType...) + */ public class QUninvokableSlotException extends QNoSuchSlotException { private static final long serialVersionUID = 1712127589718894829L; diff --git a/src/java/modules/qtjambi/main/io/qt/QUnsuccessfulInvocationException.java b/src/java/modules/qtjambi/main/io/qt/QUnsuccessfulInvocationException.java index e694a34b..6ea08c8f 100644 --- a/src/java/modules/qtjambi/main/io/qt/QUnsuccessfulInvocationException.java +++ b/src/java/modules/qtjambi/main/io/qt/QUnsuccessfulInvocationException.java @@ -29,6 +29,14 @@ ****************************************************************************/ package io.qt; +import io.qt.core.QMetaMethod; + +/** + * This exception is thrown when an invocation did not succeed. + * @see QMetaMethod#invoke(io.qt.core.QObject, Object...) + * @see QMetaMethod#invoke(io.qt.core.QObject, io.qt.core.Qt.ConnectionType, Object...) + * @see QMetaMethod#invokeOnGadget(Object, Object...) + */ public class QUnsuccessfulInvocationException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/java/modules/qtjambi/main/io/qt/QtDeclaredFinal.java b/src/java/modules/qtjambi/main/io/qt/QtDeclaredFinal.java index f20463c5..6d494abb 100644 --- a/src/java/modules/qtjambi/main/io/qt/QtDeclaredFinal.java +++ b/src/java/modules/qtjambi/main/io/qt/QtDeclaredFinal.java @@ -37,6 +37,7 @@ /** * Marks a non-final java method to be declared final in C++. + * This is useful whenever a native non-virtual method cannot be represented by a Java method with final modifier. */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/src/java/modules/qtjambi/main/io/qt/QtUtilities.java b/src/java/modules/qtjambi/main/io/qt/QtUtilities.java index 92494a20..8c8a8bba 100644 --- a/src/java/modules/qtjambi/main/io/qt/QtUtilities.java +++ b/src/java/modules/qtjambi/main/io/qt/QtUtilities.java @@ -54,9 +54,24 @@ public final class QtUtilities { private QtUtilities() {} + /** + * Enum for requirement. + * @see QtUtilities#loadQtLibrary(String, LibraryRequirementMode, String...) + * @see QtUtilities#loadUtilityLibrary(String, LibraryRequirementMode, String...) + */ public enum LibraryRequirementMode{ + /** + * Application cannot run without specified library + */ Mandatory, + /** + * Specified library is optional + */ Optional, + /** + * In case of bundled native libraries specified library + * has to be extracted but not loaded. + */ ProvideOnly }; @@ -250,18 +265,33 @@ public static void initializeNativeObject(QtObjectInterface object, QtArgument.S Utility.initializeNativeObject(callerInfo.declaringClass, object, arguments.arguments()); } + /** + * Equivalent to {@link java.util.function.IntSupplier} with {@code byte} result. + */ @FunctionalInterface public interface ByteSupplier{ byte getAsByte(); } + /** + * Equivalent to {@link java.util.function.IntSupplier} with {@code short} result. + */ @FunctionalInterface public interface ShortSupplier{ short getAsShort(); } + /** + * Equivalent to {@link java.util.function.DoubleSupplier} with {@code float} result. + */ @FunctionalInterface public interface FloatSupplier{ float getAsFloat(); } + /** + * Equivalent to {@link java.util.function.IntSupplier} with {@code char} result. + */ @FunctionalInterface public interface CharSupplier{ char getAsChar(); } + /** + * Equivalent to {@link java.util.function.Supplier}. + */ @FunctionalInterface public interface Supplier extends java.util.function.Supplier, java.io.Serializable { } diff --git a/src/java/modules/qtjambi/main/io/qt/core/AbstractAssociativeContainer.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractAssociativeContainer.java new file mode 100644 index 00000000..47f21072 --- /dev/null +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractAssociativeContainer.java @@ -0,0 +1,355 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ + +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.core; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import io.qt.QtUninvokable; + +/** + * Abstract superclass of associative containers in Qt. + */ +abstract class AbstractAssociativeContainer extends AbstractContainer implements Map, Iterable>, Cloneable { + + /** + *

    Creates and returns a copy of this associative container.

    + */ + @Override + public abstract AbstractAssociativeContainer clone(); + + /** + * Returns a {@link List} of the keys contained in this associative container. + * @return list of keys + */ + @QtUninvokable + public abstract QList keys(); + + /** + * Provides a mutable C++ iterator to the containers begin. + * @return begin + */ + @QtUninvokable + protected abstract QAssociativeIterator begin(); + + /** + * Provides a mutable C++ iterator to the containers end. + * @return end + */ + @QtUninvokable + protected abstract QAssociativeIterator end(); + + /** + * Provides a constant C++ iterator to the containers begin. + * @return begin + */ + @QtUninvokable + protected abstract QAssociativeConstIterator constBegin(); + + /** + * Provides a constant C++ iterator to the containers end. + * @return end + */ + @QtUninvokable + protected abstract QAssociativeConstIterator constEnd(); + + /** + * Copies all of the mappings from the specified map to this map. + */ + @Override + @QtUninvokable + public final void putAll(Map m) { + for(Map.Entry entry : m.entrySet()) { + put(entry.getKey(), entry.getValue()); + } + } + + /** + * Returns an iterator over elements of type {@code QPair}. + * @return an Iterator + */ + @Override + @QtUninvokable + public final Iterator> iterator() { + return constBegin().iterator(); + } + + /** + * {@inheritDoc} + */ + AbstractAssociativeContainer(QPrivateConstructor p) { + super(p); + } + + /** + * Returns a {@link Set} view of the mappings contained in this map. + */ + @Override + @QtUninvokable + public final Set> entrySet() { + return new Set>(){ + @Override + @QtUninvokable + public int size() { + return AbstractAssociativeContainer.this.size(); + } + + @Override + @QtUninvokable + public boolean isEmpty() { + return AbstractAssociativeContainer.this.isEmpty(); + } + + @Override + @QtUninvokable + public boolean contains(Object o) { + if(o instanceof QPair) { + @SuppressWarnings("unchecked") + QPair pair = (QPair)o; + if(AbstractAssociativeContainer.this.containsKey(pair.first)) { + return Objects.equals(AbstractAssociativeContainer.this.get(pair.first), pair.second); + } + } + return false; + } + + @Override + @QtUninvokable + public Iterator> iterator() { + return new Iterator>(){ + private final Iterator> iter = AbstractAssociativeContainer.this.iterator(); + @Override + public boolean hasNext() { + return iter.hasNext(); + } + + @Override + public Entry next() { + QPair pair = iter.next(); + return QPair.toEntry(pair); + } + }; + } + + @Override + @QtUninvokable + public Object[] toArray() { + Object[] result = new Object[size()]; + int i = 0; + for(Entry e : this) { + result[i++] = e; + } + return result; + } + + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public A[] toArray(A[] a) { + if (a.length < size()) + a = (A[])Arrays.copyOf(a, size(), a.getClass()); + int i = 0; + for(Entry e : this) { + a[i++] = (A)e; + } + return a; + } + + @Override + @QtUninvokable + public boolean add(Entry e) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean remove(Object o) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean containsAll(Collection c) { + for(Object o : c) { + if(!contains(o)) + return false; + } + return true; + } + + @Override + @QtUninvokable + public boolean addAll(Collection> c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean retainAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean removeAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public void clear() { + throw new UnsupportedOperationException(); + } + }; + } + + static Set keySet(QList keys) { + return new Set(){ + @Override + @QtUninvokable + public int size() { + return keys.size(); + } + + @Override + @QtUninvokable + public boolean isEmpty() { + return keys.isEmpty(); + } + + @Override + @QtUninvokable + public boolean contains(Object o) { + return keys.contains(o); + } + + @Override + @QtUninvokable + public Iterator iterator() { + return keys.iterator(); + } + + @Override + @QtUninvokable + public Object[] toArray() { + return keys.toArray(); + } + + @Override + @QtUninvokable + public T[] toArray(T[] a) { + return keys.toArray(a); + } + + @Override + @QtUninvokable + public boolean add(K e) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean remove(Object o) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean containsAll(Collection c) { + for(Object o : c) { + if(!contains(o)) + return false; + } + return true; + } + + @Override + @QtUninvokable + public boolean addAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean retainAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean removeAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public void clear() { + throw new UnsupportedOperationException(); + } + }; + } + + /** + * Returns a {@link Set} view of the keys contained in this map. + */ + @Override + @QtUninvokable + public final Set keySet() { + return keySet(keys()); + } + + /** + * Returns a string representation of this associative container. + * @return String + */ + @QtUninvokable + public String toString() { + Iterator> it = iterator(); + if (! it.hasNext()) + return "{}"; + + StringBuilder sb = new StringBuilder(); + sb.append('{'); + for (;;) { + QPair e = it.next(); + sb.append(e.first == this ? "(this Map)" : e.first); + sb.append('='); + sb.append(e.second == this ? "(this Map)" : e.second); + if (! it.hasNext()) + return sb.append('}').toString(); + sb.append(';').append(' '); + } + } +} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiHash.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractContainer.java similarity index 51% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiHash.java rename to src/java/modules/qtjambi/main/io/qt/core/AbstractContainer.java index 5bfaa157..ec4b0f4b 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiHash.java +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractContainer.java @@ -27,58 +27,60 @@ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.internal; - -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; +package io.qt.core; +import io.qt.QtObject; import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractMultiHash extends AbstractMultiAssociativeContainer { - protected AbstractMultiHash(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractMultiHash clone(); +/** + * Abstract superclass of containers in Qt. + */ +abstract class AbstractContainer extends QtObject implements Cloneable{ - @Override + /** + * Returns the number of elements in this container. If this container + * contains more than {@code Integer.MAX_VALUE} elements, returns + * {@code Integer.MAX_VALUE}. + * + * @return the number of elements in this container + */ @QtUninvokable - public final Set keySet() { - return new HashSet<>(keys()); - } + public abstract int size(); + + /** + * Returns {@code true} if this container contains no elements. + * + * @return {@code true} if this container contains no elements + */ + @QtUninvokable + public boolean isEmpty() { + return size()>0; + } - @Override + /** + * Provides a constant C++ iterator to the containers begin. + * @return begin + */ + @QtUninvokable + protected abstract AbstractIterator constBegin(); + + /** + * Provides a constant C++ iterator to the containers end. + * @return end + */ @QtUninvokable - public final Set>> entrySet() { - Set>> entrySet = new HashSet<>(); - if(!this.isEmpty()) { - K currentKey = null; - List currentValues = null; - for(QPair pair : this) { - if(currentValues==null) { - currentValues = new ArrayList<>(); - currentValues.add(pair.second); - currentKey = pair.first; - }else{ - if(Objects.equals(currentKey, pair.first)) { - currentValues.add(pair.second); - }else { - entrySet.add(new AbstractMap.SimpleImmutableEntry<>(currentKey, currentValues)); - currentValues = new ArrayList<>(); - currentValues.add(pair.second); - currentKey = pair.first; - } - } - } - entrySet.add(new AbstractMap.SimpleImmutableEntry<>(currentKey, currentValues)); - } - return entrySet; + protected abstract AbstractIterator constEnd(); + + /** + * {@inheritDoc} + */ + AbstractContainer(QPrivateConstructor p) { + super(p); } + + /** + *

    Creates and returns a copy of this container.

    + */ + @Override + public abstract AbstractContainer clone(); } diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialConstIterator.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractIterator.java similarity index 51% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialConstIterator.java rename to src/java/modules/qtjambi/main/io/qt/core/AbstractIterator.java index bcb6ade3..879294ed 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialConstIterator.java +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractIterator.java @@ -27,7 +27,7 @@ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.internal; +package io.qt.core; import java.lang.reflect.Method; import java.util.Collections; @@ -35,68 +35,73 @@ import java.util.HashMap; import java.util.Map; import java.util.NoSuchElementException; +import java.util.Optional; import java.util.function.Function; import io.qt.QtObject; import io.qt.QtUninvokable; +import io.qt.internal.ClassAnalyzerUtility; -public abstract class AbstractSequentialConstIterator extends QtObject{ +abstract class AbstractIterator extends QtObject{ - private final static Function, java.util.Iterator> iteratorFactory; - private final static Function, java.util.Iterator> diteratorFactory; + private final static Function, java.util.Iterator> iteratorFactory; + private final static Function, java.util.Iterator> diteratorFactory; static { if(Boolean.getBoolean("io.qt.enable-concurrent-container-modification-check")) { @SuppressWarnings("unchecked") - Function, java.util.Iterator> _iteratorFactory = CheckingIncrementalIterator::new; + Function, java.util.Iterator> _iteratorFactory = CheckingIncrementalIterator::new; @SuppressWarnings("unchecked") - Function, java.util.Iterator> _diteratorFactory = CheckingDecrementalIterator::new; + Function, java.util.Iterator> _diteratorFactory = CheckingDecrementalIterator::new; iteratorFactory = _iteratorFactory; diteratorFactory = _diteratorFactory; }else { @SuppressWarnings("unchecked") - Function, java.util.Iterator> _iteratorFactory = IncrementalIterator::new; + Function, java.util.Iterator> _iteratorFactory = IncrementalIterator::new; @SuppressWarnings("unchecked") - Function, java.util.Iterator> _diteratorFactory = DecrementalIterator::new; + Function, java.util.Iterator> _diteratorFactory = DecrementalIterator::new; iteratorFactory = _iteratorFactory; diteratorFactory = _diteratorFactory; } } private final QtObject owner; - private final Function> beginSupplier; - private final Function> endSupplier; + private final Function> beginSupplier; + private final Function> endSupplier; + /** + * {@inheritDoc} + */ @SuppressWarnings({ "unchecked", "rawtypes" }) - protected AbstractSequentialConstIterator(QtObject owner) { + AbstractIterator(QtObject owner) { super((QPrivateConstructor)null); this.owner = owner; if(owner instanceof AbstractSequentialContainer) { if(isConstant()) { - endSupplier = (Function)(Function>)AbstractSequentialContainer::constEnd; - beginSupplier = (Function)(Function>)AbstractSequentialContainer::constBegin; + endSupplier = (Function)(Function>)AbstractSequentialContainer::constEnd; + beginSupplier = (Function)(Function>)AbstractSequentialContainer::constBegin; }else if(owner instanceof AbstractList) { - endSupplier = (Function)(Function>)AbstractList::end; - beginSupplier = (Function)(Function>)AbstractList::begin; - }else { + endSupplier = (Function)(Function>)AbstractList::end; + beginSupplier = (Function)(Function>)AbstractList::begin; + }else {// there are no mutable iterators in QSet endSupplier = null; beginSupplier = null; } }else if(owner instanceof AbstractAssociativeContainer) { if(isConstant()) { - endSupplier = (Function)(Function>)AbstractAssociativeContainer::constEnd; - beginSupplier = (Function)(Function>)AbstractAssociativeContainer::constBegin; + endSupplier = (Function)(Function>)AbstractAssociativeContainer::constEnd; + beginSupplier = (Function)(Function>)AbstractAssociativeContainer::constBegin; }else { - endSupplier = (Function)(Function>)AbstractAssociativeContainer::end; - beginSupplier = (Function)(Function>)AbstractAssociativeContainer::begin; + endSupplier = (Function)(Function>)AbstractAssociativeContainer::end; + beginSupplier = (Function)(Function>)AbstractAssociativeContainer::begin; } }else if(owner instanceof AbstractMultiAssociativeContainer) { if(isConstant()) { - endSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::constEnd; - beginSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::constBegin; + endSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::constEnd; + beginSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::constBegin; }else { - endSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::end; - beginSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::begin; + endSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::end; + beginSupplier = (Function)(Function>)AbstractMultiAssociativeContainer::begin; } }else { BeginEndFunctions functions = findBeginEndSuppliers(owner); @@ -105,45 +110,52 @@ protected AbstractSequentialConstIterator(QtObject owner) { } } - protected boolean isConstant() { + /** + * Specifies if this type is constant iterator. + */ + boolean isConstant() { return true; } + /** + * Returns the container's end iterator. + */ @QtUninvokable - protected final AbstractSequentialConstIterator end(){ + final AbstractIterator end(){ return endSupplier==null ? null : endSupplier.apply(owner); } + /** + * Returns the container's begin iterator. + */ @QtUninvokable - protected final AbstractSequentialConstIterator begin(){ + final AbstractIterator begin(){ return beginSupplier==null ? null : beginSupplier.apply(owner); } @QtUninvokable - protected final boolean compareOwners(AbstractSequentialConstIterator iter) { - return owner==iter.owner; - } - - @QtUninvokable - protected abstract boolean equals(AbstractSequentialConstIterator o); + private static native boolean operator_equal(long __this__nativeId, long o); + /** + * Compares this iterator with other object. + */ @Override @QtUninvokable public boolean equals(Object other) { - if (other instanceof AbstractSequentialConstIterator) { - AbstractSequentialConstIterator iter = (AbstractSequentialConstIterator) other; - if(compareOwners(iter)) - return equals(iter); + if (other instanceof AbstractIterator) { + AbstractIterator iter = (AbstractIterator) other; + if(owner==iter.owner) + return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(iter)); } return false; } private static class IncrementalIterator implements java.util.Iterator{ - final AbstractSequentialConstIterator nativeIterator; - final AbstractSequentialConstIterator end; + final AbstractIterator nativeIterator; + final AbstractIterator end; private boolean hasNext; - IncrementalIterator(AbstractSequentialConstIterator nativeIterator) { + IncrementalIterator(AbstractIterator nativeIterator) { super(); this.nativeIterator = nativeIterator; end = nativeIterator.end(); @@ -158,7 +170,7 @@ public boolean hasNext() { @Override public E next() { checkNext(); - E e = nativeIterator.val(); + E e = nativeIterator._value(); nativeIterator.increment(); hasNext = end!=null && !nativeIterator.equals(end); return e; @@ -171,7 +183,7 @@ void checkNext() { } private static class CheckingIncrementalIterator extends IncrementalIterator{ - CheckingIncrementalIterator(AbstractSequentialConstIterator nativeIterator) { + CheckingIncrementalIterator(AbstractIterator nativeIterator) { super(nativeIterator); } @@ -183,11 +195,11 @@ void checkNext() { } private static class DecrementalIterator implements java.util.Iterator{ - final AbstractSequentialConstIterator nativeIterator; - final AbstractSequentialConstIterator begin; + final AbstractIterator nativeIterator; + final AbstractIterator begin; private boolean hasNext; - public DecrementalIterator(AbstractSequentialConstIterator nativeIterator) { + public DecrementalIterator(AbstractIterator nativeIterator) { super(); this.nativeIterator = nativeIterator; begin = nativeIterator.begin(); @@ -204,7 +216,7 @@ public E next() { checkNext(); nativeIterator.decrement(); hasNext = begin!=null && !nativeIterator.equals(begin); - E e = nativeIterator.val(); + E e = nativeIterator._value(); return e; } @@ -215,7 +227,7 @@ void checkNext() { } private static class CheckingDecrementalIterator extends DecrementalIterator{ - public CheckingDecrementalIterator(AbstractSequentialConstIterator nativeIterator) { + public CheckingDecrementalIterator(AbstractIterator nativeIterator) { super(nativeIterator); } @@ -226,36 +238,104 @@ void checkNext() { } } + /** + * Returns a java iterator over the containers entries between this and end. + */ @SuppressWarnings("unchecked") @QtUninvokable - protected final java.util.Iterator toJavaIterator(){ - return (java.util.Iterator)iteratorFactory.apply(this); + final java.util.Iterator toJavaIterator(){ + return (java.util.Iterator)iteratorFactory.apply(this); } + /** + * Returns a descending java iterator over the containers entries between this and end. + */ @SuppressWarnings("unchecked") @QtUninvokable - protected final java.util.Iterator toJavaDescendingIterator(){ - return (java.util.Iterator)diteratorFactory.apply(this); + final java.util.Iterator toJavaDescendingIterator(){ + return (java.util.Iterator)diteratorFactory.apply(this); + } + + /** + * Advances the iterator to the next item in the container. + */ + @QtUninvokable + final void increment() { + increment(QtJambi_LibraryUtilities.internal.nativeId(this)); + } + @QtUninvokable + static native void increment(long __this__nativeId); + + /** + * Advances the iterator to the previous item in the container. + */ + @QtUninvokable + final void decrement() { + decrement(QtJambi_LibraryUtilities.internal.nativeId(this)); } + @QtUninvokable + static native void decrement(long __this__nativeId); + /** + * Returns the current item's value. + */ @QtUninvokable - protected abstract void decrement(); + final T _value() { + return value(QtJambi_LibraryUtilities.internal.nativeId(this)); + } + @QtUninvokable + static native T value(long __this__nativeId); + + /** + * Returns the value at iterator's position in the container or emptiness in case of end. + */ + @QtUninvokable + public final Optional value() { + return !isValid() ? Optional.empty() : Optional.ofNullable(_value()); + } + /** + * Returns the current item's value if item is valid + * or throws NoSuchElementException otherwise. + */ @QtUninvokable - protected abstract void increment(); + final T checkedValue() throws NoSuchElementException { + if(isValid()) { + return _value(); + }else { + throw new NoSuchElementException(); + } + } @QtUninvokable - protected abstract E checkedValue(); + private static native boolean canLess(long __this__nativeId); + @QtUninvokable + private static native boolean lessThan(long __this__nativeId, long other); + /** + * Returns {@code true} if iterator is valid, i.e. it is less end. + */ @QtUninvokable - protected abstract E val(); + final boolean isValid() { + long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + if(nativeId==0) + return false; + AbstractIterator end = end(); + if(canLess(nativeId)) { + try { + return lessThan(nativeId, QtJambi_LibraryUtilities.internal.nativeId(end)); + } catch (Exception e) { + } + } + return owner!=end.owner || !operator_equal(nativeId, QtJambi_LibraryUtilities.internal.nativeId(end)); + } private static class BeginEndFunctions{ BeginEndFunctions( - Function> constBegin, - Function> constEnd, - Function> begin, - Function> end) { + Function> constBegin, + Function> constEnd, + Function> begin, + Function> end) { super(); this.begin = begin; this.end = end; @@ -263,10 +343,10 @@ private static class BeginEndFunctions{ this.constEnd = constEnd; } - final Function> begin; - final Function> end; - final Function> constBegin; - final Function> constEnd; + final Function> begin; + final Function> end; + final Function> constBegin; + final Function> constEnd; } private static final Map, BeginEndFunctions> endMethodHandles = Collections.synchronizedMap(new HashMap<>()); @@ -279,11 +359,11 @@ private static BeginEndFunctions findBeginEndSuppliers(QtObject beginOwner) { Method constEndMethod = null; while ((endMethod == null && constEndMethod == null && beginMethod == null && constBeginMethod == null) - && cls!=null && cls != NativeUtility.Object.class) { + && cls!=null && cls != QtObject.class) { Method methods[] = cls.getDeclaredMethods(); for (Method method : methods) { if (method.getParameterCount() == 0 - && AbstractSequentialConstIterator.class.isAssignableFrom(method.getReturnType())) { + && AbstractIterator.class.isAssignableFrom(method.getReturnType())) { if(method.getName().equals("begin")) { beginMethod = method; }else if(method.getName().equals("end")) { @@ -302,25 +382,31 @@ private static BeginEndFunctions findBeginEndSuppliers(QtObject beginOwner) { cls = cls.getSuperclass(); } if(constBeginMethod==null && beginMethod!=null) { - if(!beginMethod.getReturnType().isAssignableFrom(AbstractSequentialIterator.class) - && !beginMethod.getReturnType().isAssignableFrom(AbstractAssociativeIterator.class)) { + if(beginMethod.getReturnType()!=QSequentialIterator.class + && beginMethod.getReturnType()!=QAssociativeIterator.class) { constBeginMethod = beginMethod; beginMethod = null; } } if(constEndMethod==null && endMethod!=null) { - if(!endMethod.getReturnType().isAssignableFrom(AbstractSequentialIterator.class) - && !endMethod.getReturnType().isAssignableFrom(AbstractAssociativeIterator.class)) { + if(endMethod.getReturnType()!=QSequentialIterator.class + && endMethod.getReturnType()!=QAssociativeIterator.class) { constEndMethod = endMethod; endMethod = null; } } if (endMethod != null || constEndMethod != null) - return new BeginEndFunctions(ReflectionUtility.functionFromMethod(constBeginMethod), - ReflectionUtility.functionFromMethod(constEndMethod), - ReflectionUtility.functionFromMethod(beginMethod), - ReflectionUtility.functionFromMethod(endMethod)); + return new BeginEndFunctions(CoreUtility.functionFromMethod(constBeginMethod), + CoreUtility.functionFromMethod(constEndMethod), + CoreUtility.functionFromMethod(beginMethod), + CoreUtility.functionFromMethod(endMethod)); else return new BeginEndFunctions(null,null,null,null); }); } + + private static class CoreUtility extends io.qt.internal.CoreUtility{ + protected static Function functionFromMethod(Method method){ + return io.qt.internal.CoreUtility.functionFromMethod(method); + } + } } diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractList.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractList.java similarity index 60% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractList.java rename to src/java/modules/qtjambi/main/io/qt/core/AbstractList.java index fd7edefa..13f83d59 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractList.java +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractList.java @@ -27,7 +27,7 @@ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.internal; +package io.qt.core; import java.util.ArrayList; import java.util.Collection; @@ -36,68 +36,84 @@ import io.qt.QtUninvokable; -public abstract class AbstractList extends AbstractSequentialContainer implements List { +abstract class AbstractList extends AbstractSequentialContainer implements java.util.List { - protected AbstractList(QPrivateConstructor p) { + AbstractList(QPrivateConstructor p) { super(p); } + /** + *

    Creates and returns a copy of this sequential container.

    + */ @Override - public abstract AbstractList clone(); + public abstract AbstractList clone(); @QtUninvokable - protected abstract AbstractSequentialConstIterator begin(); + protected abstract QSequentialIterator begin(); @QtUninvokable - protected abstract AbstractSequentialConstIterator end(); - - @QtUninvokable - protected abstract void removeAtIndex(int cursor); - - @QtUninvokable - public abstract void append(Collection c); - + protected abstract QSequentialIterator end(); + + public abstract void removeAt(int i); + + public abstract void append(java.util.Collection t); + + /** + * Appends all of the elements in the specified collection to the end of + * this list. + */ @Override @SuppressWarnings("unchecked") @QtUninvokable - public final boolean addAll(Collection c) { - append((Collection)c); + public final boolean addAll(Collection c) { + append((Collection)c); return true; } + /** + * Inserts all of the elements in the specified collection into this + * list at the specified position. + */ @Override @QtUninvokable - public final boolean addAll(int index, Collection c) { - for (E o : c) { + public final boolean addAll(int index, Collection c) { + for (T o : c) { add(index++, o); } return true; } + /** + * Removes the element at the specified position in this list. + */ @Override @QtUninvokable - public final E remove(int index) { - E result = get(index); - this.removeAtIndex(index); + public final T remove(int index) { + T result = get(index); + this.removeAt(index); return result; } + /** + * Returns a list iterator over the elements in this list (in proper + * sequence). + */ @Override @QtUninvokable - public final java.util.ListIterator listIterator() { + public final java.util.ListIterator listIterator() { return listIterator(0); } - private static class ListIterator implements java.util.ListIterator{ - private final AbstractList list; - private AbstractSequentialConstIterator current; - private AbstractSequentialConstIterator begin; - private AbstractSequentialConstIterator end; + private static class ListIterator implements java.util.ListIterator{ + private final AbstractList list; + private QSequentialConstIterator current; + private QSequentialConstIterator begin; + private QSequentialConstIterator end; private int icursor; private boolean hasNext; private boolean hasPrevious; - ListIterator(AbstractList list, int index){ + ListIterator(AbstractList list, int index){ this.list = list; initialize(index); } @@ -121,11 +137,11 @@ public boolean hasNext() { } @Override - public E next() { + public T next() { if(!hasNext()) throw new NoSuchElementException(); checkModification(); - E e = current.val(); + T e = current._value(); current.increment(); hasNext = end!=null && !current.equals(end); hasPrevious = begin!=null && !current.equals(begin); @@ -134,14 +150,14 @@ public E next() { } @Override - public E previous() { + public T previous() { if(!hasPrevious()) throw new NoSuchElementException(); checkModification(); current.decrement(); hasNext = end!=null && !current.equals(end); hasPrevious = begin!=null && !current.equals(begin); - E e = current.val(); + T e = current._value(); icursor--; return e; } @@ -155,14 +171,13 @@ public void remove() { initialize(icursor-1); } - @SuppressWarnings("unchecked") @Override - public void set(E e) { + public void set(T e) { checkModification(); if(icursor==0) throw new IndexOutOfBoundsException(-1); current.decrement(); - ((AbstractSequentialIterator)current).setValue(e); + ((QSequentialIterator)current).setValue(e); current.increment(); } @@ -182,7 +197,7 @@ public boolean hasPrevious() { } @Override - public void add(E e) { + public void add(T e) { checkModification(); list.add(icursor, e); initialize(icursor+1); @@ -194,16 +209,29 @@ void checkModification() { } } + /** + * Returns a list iterator over the elements in this list (in proper + * sequence), starting at the specified position in the list. + */ @Override @QtUninvokable - public final java.util.ListIterator listIterator(int index) { + public final java.util.ListIterator listIterator(int index) { return new ListIterator<>(this, index); } + /** + * Returns a view of the portion of this list between the specified + * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. (If + * {@code fromIndex} and {@code toIndex} are equal, the returned list is + * empty.) The returned list is backed by this list, so non-structural + * changes in the returned list are reflected in this list, and vice-versa. + * The returned list supports all of the optional list operations supported + * by this list. + */ @SuppressWarnings("unchecked") @Override @QtUninvokable - public final List subList(int fromIndex, int toIndex) { + public final List subList(int fromIndex, int toIndex) { if (fromIndex < 0) throw new IndexOutOfBoundsException("fromIndex = " + fromIndex); if (toIndex > size()) @@ -211,11 +239,14 @@ public final List subList(int fromIndex, int toIndex) { if (fromIndex > toIndex) throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex + ")"); - List sublist; - try { - sublist = this.getClass().getConstructor().newInstance(); - }catch(Throwable e) { - sublist = new ArrayList<>(); + List sublist = clone(); + sublist.clear(); + if(!sublist.isEmpty()) { + try { + sublist = this.getClass().getConstructor().newInstance(); + }catch(Throwable e) { + sublist = new ArrayList<>(); + } } for (int i = 0; i < toIndex - fromIndex; i++) { sublist.add(get(fromIndex+i)); @@ -223,6 +254,12 @@ public final List subList(int fromIndex, int toIndex) { return sublist; } + /** + * Retains only the elements in this list that are contained in the + * specified collection (optional operation). In other words, removes + * from this list all of its elements that are not contained in the + * specified collection. + */ @Override @QtUninvokable public final boolean retainAll(Collection c) { diff --git a/src/java/modules/qtjambi/main/io/qt/core/AbstractMultiAssociativeContainer.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractMultiAssociativeContainer.java new file mode 100644 index 00000000..092f1b50 --- /dev/null +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractMultiAssociativeContainer.java @@ -0,0 +1,288 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ + +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.core; + +import java.util.AbstractMap.SimpleEntry; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import io.qt.NativeAccess; +import io.qt.QtUninvokable; + +/** + * Abstract superclass of multi-associative containers in Qt. + */ +abstract class AbstractMultiAssociativeContainer extends AbstractContainer implements Map>, Iterable>, Cloneable { + + @NativeAccess + private static boolean putMultiMap(Map> map, Object key, Object value) { + map.computeIfAbsent(key, k -> new ArrayList<>()).add(value); + return true; + } + + /** + * Returns a {@link List} of the keys contained in this associative container. + * @return list of keys + */ + @QtUninvokable + public abstract QList uniqueKeys(); + + /** + * Returns a {@link Set} view of the keys contained in this map. + */ + @Override + @QtUninvokable + public final Set keySet() { + return AbstractAssociativeContainer.keySet(uniqueKeys()); + } + + /** + * Returns all values for this key. + */ + public abstract QList values(Key key); + + /** + * Returns a {@link Set} view of the mappings contained in this map. + */ + @Override + @QtUninvokable + public final Set>> entrySet() { + QList keys = uniqueKeys(); + return new Set>>(){ + @Override + @QtUninvokable + public int size() { + return keys.size(); + } + + @Override + @QtUninvokable + public boolean isEmpty() { + return keys.isEmpty(); + } + + @Override + @QtUninvokable + public boolean contains(Object o) { + if(o instanceof QPair) { + @SuppressWarnings("unchecked") + QPair pair = (QPair)o; + if(containsKey(pair.first)) { + return Objects.equals(values(pair.first), pair.second); + } + } + return false; + } + + @Override + @QtUninvokable + public Iterator>> iterator() { + if(isEmpty()) { + return Collections.>>emptyList().iterator(); + } + return new Iterator>>(){ + private final Iterator iter = keys.iterator(); + @Override + public boolean hasNext() { + return iter.hasNext(); + } + + @Override + public Entry> next() { + Key key = iter.next(); + return new SimpleEntry<>(key, values(key)); + } + }; + } + + @Override + @QtUninvokable + public Object[] toArray() { + Object[] result = new Object[size()]; + int i = 0; + for(Entry> e : this) { + result[i++] = e; + } + return result; + } + + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public
    A[] toArray(A[] a) { + if (a.length < size()) + a = (A[])Arrays.copyOf(a, size(), a.getClass()); + int i = 0; + for(Entry> e : this) { + a[i++] = (A)e; + } + return a; + } + + @Override + @QtUninvokable + public boolean add(Entry> e) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean remove(Object o) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean containsAll(Collection c) { + for(Object o : c) { + if(!contains(o)) + return false; + } + return true; + } + + @Override + @QtUninvokable + public boolean addAll(Collection>> c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean retainAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public boolean removeAll(Collection c) { + throw new UnsupportedOperationException(); + } + + @Override + @QtUninvokable + public void clear() { + throw new UnsupportedOperationException(); + } + }; + } + + /** + * Provides a mutable C++ iterator to the containers begin. + * @return begin + */ + @QtUninvokable + protected abstract QAssociativeIterator begin(); + + /** + * Provides a mutable C++ iterator to the containers end. + * @return end + */ + @QtUninvokable + protected abstract QAssociativeIterator end(); + + /** + * Provides a constant C++ iterator to the containers begin. + * @return begin + */ + @QtUninvokable + protected abstract QAssociativeConstIterator constBegin(); + + /** + * Provides a constant C++ iterator to the containers end. + * @return end + */ + @QtUninvokable + protected abstract QAssociativeConstIterator constEnd(); + + /** + * Copies all of the mappings from the specified map to this map. + */ + @Override + @QtUninvokable + public final void putAll(Map> m) { + for(Map.Entry> entry : m.entrySet()) { + put(entry.getKey(), entry.getValue()); + } + } + + /** + * Returns an iterator over elements of type {@code QPair}. + * @return an Iterator + */ + @Override + @QtUninvokable + public final Iterator> iterator() { + return constBegin().iterator(); + } + + /** + * {@inheritDoc} + */ + AbstractMultiAssociativeContainer(QPrivateConstructor p) { + super(p); + } + + /** + *

    Creates and returns a copy of this multi-associative container.

    + */ + @Override + public abstract AbstractMultiAssociativeContainer clone(); + + /** + * Returns a string representation of this associative container. + * @return String + */ + @QtUninvokable + public String toString() { + Iterator> it = iterator(); + if (! it.hasNext()) + return "{}"; + + StringBuilder sb = new StringBuilder(); + sb.append('{'); + for (;;) { + QPair e = it.next(); + sb.append(e.first == this ? "(this Map)" : e.first); + sb.append(',').append(' '); + sb.append(e.second == this ? "(this Map)" : e.second); + if (! it.hasNext()) + return sb.append('}').toString(); + sb.append(';').append(' '); + } + } +} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialContainer.java b/src/java/modules/qtjambi/main/io/qt/core/AbstractSequentialContainer.java similarity index 60% rename from src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialContainer.java rename to src/java/modules/qtjambi/main/io/qt/core/AbstractSequentialContainer.java index f871e2dc..536df381 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractSequentialContainer.java +++ b/src/java/modules/qtjambi/main/io/qt/core/AbstractSequentialContainer.java @@ -27,7 +27,7 @@ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ -package io.qt.internal; +package io.qt.core; import java.util.ArrayList; import java.util.Arrays; @@ -37,42 +37,61 @@ import io.qt.QtUninvokable; -public abstract class AbstractSequentialContainer extends AbstractContainer implements Collection, Cloneable { +/** + * Abstract superclass of sequential containers in Qt. + */ +abstract class AbstractSequentialContainer extends AbstractContainer implements Collection, Cloneable { - protected AbstractSequentialContainer(QPrivateConstructor p) { + /** + * {@inheritDoc} + */ + AbstractSequentialContainer(QPrivateConstructor p) { super(p); } + /** + *

    Creates and returns a copy of this sequential container.

    + */ @Override - public abstract AbstractSequentialContainer clone(); + public abstract AbstractSequentialContainer clone(); + /** + * Returns an array containing all of the elements in this container. + */ @Override @QtUninvokable - public Object[] toArray() { + public final Object[] toArray() { Object[] result = new Object[size()]; int i = 0; - for (E e : this) { + for (T e : this) { result[i++] = e; } return result; } + /** + * Returns an array containing all of the elements in this container. + */ @SuppressWarnings("unchecked") @Override @QtUninvokable - public T[] toArray(T[] a) { + public final
    A[] toArray(A[] a) { if (a.length < size()) - a = (T[])Arrays.copyOf(a, size(), a.getClass()); + a = (A[])Arrays.copyOf(a, size(), a.getClass()); int i = 0; - for (E e : this) { - a[i++] = (T)e; + for (T e : this) { + a[i++] = (A)e; } return a; } + /** + * Returns {@code true} if this container contains all of the elements + * in the specified collection. + */ @Override @QtUninvokable - public boolean containsAll(Collection c) { + public final boolean containsAll(Collection c) { boolean result = true; for (Object object : c) { result &= contains(object); @@ -80,19 +99,26 @@ public boolean containsAll(Collection c) { return result; } + /** + * Adds all of the elements in the specified collection to this container. + */ @Override @QtUninvokable - public boolean addAll(Collection c) { + public boolean addAll(Collection c) { boolean result = true; - for (E o : c) { + for (T o : c) { result &= this.add(o); } return result; } + /** + * Removes all of this container elements that are also contained in the + * specified collection. + */ @Override @QtUninvokable - public boolean removeAll(Collection c) { + public final boolean removeAll(Collection c) { boolean result = true; for (Object o : c) { result &= this.remove(o); @@ -100,11 +126,15 @@ public boolean removeAll(Collection c) { return result; } + /** + * Retains only the elements in this container that are contained in the + * specified collection. + */ @Override @QtUninvokable public boolean retainAll(Collection c) { - List toBeRemoved = new ArrayList<>(); - for(E e : this) { + List toBeRemoved = new ArrayList<>(); + for(T e : this) { if(!c.contains(e)) toBeRemoved.add(e); } @@ -114,31 +144,34 @@ public boolean retainAll(Collection c) { return !toBeRemoved.isEmpty(); } + /** + * Returns an iterator over elements of type {@code T}. + * @return an Iterator + */ @Override @QtUninvokable - public final Iterator iterator() { + public final Iterator iterator() { return constBegin().toJavaIterator(); } + /** + * Returns a string representation of this sequential container. + * @return String + */ @QtUninvokable public String toString() { - Iterator it = iterator(); + Iterator it = iterator(); if (! it.hasNext()) return "[]"; StringBuilder sb = new StringBuilder(); sb.append('['); for (;;) { - E e = it.next(); + T e = it.next(); sb.append(e == this ? "(this Collection)" : e); if (! it.hasNext()) return sb.append(']').toString(); sb.append(',').append(' '); } } - - @QtUninvokable - protected java.util.Iterator descendingIterator() { - return constEnd().toJavaDescendingIterator(); - } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QAssociativeConstIterator.java b/src/java/modules/qtjambi/main/io/qt/core/QAssociativeConstIterator.java index 58b3f2d7..4a3f5adf 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QAssociativeConstIterator.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QAssociativeConstIterator.java @@ -29,26 +29,26 @@ ****************************************************************************/ package io.qt.core; +import java.util.ConcurrentModificationException; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Optional; +import java.util.function.Function; import io.qt.NativeAccess; import io.qt.QtObject; import io.qt.QtUninvokable; -import io.qt.internal.AbstractSequentialConstIterator; /** - *

    Java-iterable wrapper for Qt's constant iterator types: + *

    Java-iterable wrapper for Qt's constant iterator types:

    *
    - *

    - * @param key type - * @param value type + * @param key type + * @param value type * @see QMap#constBegin() * @see QMap#constEnd() * @see QMap#find(Object) @@ -68,8 +68,7 @@ * @see QMultiHash#find(Object) * @see #iterator() */ -@SuppressWarnings("deprecation") -public class QAssociativeConstIterator extends io.qt.internal.AbstractAssociativeConstIterator implements java.lang.Iterable>, QMapIterator { +public class QAssociativeConstIterator extends AbstractIterator implements java.lang.Iterable> { static { QtJambi_LibraryUtilities.initialize(); @@ -84,51 +83,12 @@ public class QAssociativeConstIterator extends io.qt.internal.AbstractAssoc * Returns the current item's key. */ @QtUninvokable - protected final K key() { + final Key _key() { return key(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable private static native K key(long __this__nativeId); - /** - * Returns the current item's value. - */ - @QtUninvokable - protected final V val() { - return QSequentialConstIterator.value(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - - /** - * Advances the iterator to the next item in the container. - */ - @QtUninvokable - protected final void increment() { - QSequentialConstIterator.increment(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - - /** - * Advances the iterator to the previous item in the container. - */ - @QtUninvokable - protected final void decrement() { - QSequentialConstIterator.decrement(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - - @QtUninvokable - private final boolean lessThan(AbstractSequentialConstIterator other) { - if(compareOwners(other)) - throw new IllegalArgumentException("Incomparable objects."); - return QSequentialConstIterator.lessThan(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(other)); - } - - /** - * Returns true if other points to the same item as this iterator; otherwise returns false. - */ - @QtUninvokable - protected final boolean equals(AbstractSequentialConstIterator o) { - return QSequentialConstIterator.operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(o)); - } - /** * {@inheritDoc} */ @@ -140,49 +100,90 @@ public boolean equals(Object other) { } return false; } + - @QtUninvokable - final boolean isValid() { - long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); - if(nativeId==0) - return false; - AbstractSequentialConstIterator end = end(); - if(QSequentialConstIterator.canLess(nativeId)) { - try { - return lessThan(end); - } catch (Exception e) { - } - } - return !equals(end); + + private final static Function, java.util.Iterator> iteratorFactory; + + static { + if(Boolean.getBoolean("io.qt.enable-concurrent-container-modification-check")) { + @SuppressWarnings("unchecked") + Function, java.util.Iterator> _iteratorFactory = CheckingIncrementalIterator::new; + iteratorFactory = _iteratorFactory; + }else { + @SuppressWarnings("unchecked") + Function, java.util.Iterator> _iteratorFactory = IncrementalIterator::new; + iteratorFactory = _iteratorFactory; + } + } + + private static class IncrementalIterator implements java.util.Iterator>{ + final QAssociativeConstIterator nativeIterator; + final AbstractIterator end; + private boolean hasNext; + + IncrementalIterator(QAssociativeConstIterator nativeIterator) { + super(); + this.nativeIterator = nativeIterator; + end = nativeIterator.end(); + hasNext = end!=null && !nativeIterator.equals(end); + } + + @Override + public boolean hasNext() { + return hasNext; + } + + @Override + public QPair next() { + checkNext(); + QPair e = new QPair<>(nativeIterator._key(), nativeIterator._value()); + nativeIterator.increment(); + hasNext = end!=null && !nativeIterator.equals(end); + return e; + } + + void checkNext() { + if(!hasNext) + throw new NoSuchElementException(); + } } - + + private static class CheckingIncrementalIterator extends IncrementalIterator{ + CheckingIncrementalIterator(QAssociativeConstIterator nativeIterator) { + super(nativeIterator); + } + + void checkNext() { + super.checkNext(); + if(end!=null && !end.equals(nativeIterator.end())) + throw new ConcurrentModificationException(); + } + } + /** - * {@inheritDoc} + * Returns a Java iterator between this and the container's end. */ + @SuppressWarnings("unchecked") @QtUninvokable - public final Iterator> iterator(){ - return toJavaMapIterator(); + public final Iterator> iterator(){ + return (java.util.Iterator>)iteratorFactory.apply(this); } /** * Returns the key value pair at iterator's position in the container or emptiness in case of end. */ @QtUninvokable - public final Optional> keyValuePair() { - return !isValid() ? Optional.empty() : Optional.ofNullable(new QPair<>(key(), val())); + public final Optional> keyValuePair() { + return !isValid() ? Optional.empty() : Optional.ofNullable(new QPair<>(_key(), _value())); } /** - * Returns the current item's value if item is valid - * or throws NoSuchElementException otherwise. - */ + * Returns the key at iterator's position in the container or emptiness in case of end. + */ @QtUninvokable - protected final V checkedValue() throws NoSuchElementException { - if(isValid()) { - return val(); - }else { - throw new NoSuchElementException(); - } + public final Optional key() { + return !isValid() ? Optional.empty() : Optional.ofNullable(_key()); } /** @@ -190,9 +191,9 @@ protected final V checkedValue() throws NoSuchElementException { * or throws NoSuchElementException otherwise. */ @QtUninvokable - protected final K checkedKey() throws NoSuchElementException { + final Key checkedKey() throws NoSuchElementException { if(isValid()) { - return key(); + return _key(); }else { throw new NoSuchElementException(); } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QAssociativeIterator.java b/src/java/modules/qtjambi/main/io/qt/core/QAssociativeIterator.java index cca6548b..cc09d830 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QAssociativeIterator.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QAssociativeIterator.java @@ -32,19 +32,17 @@ import io.qt.NativeAccess; import io.qt.QtObject; import io.qt.QtUninvokable; -import io.qt.internal.AbstractAssociativeIterator; /** - *

    Java-iterable wrapper for Qt's iterator types: + *

    Java-iterable wrapper for Qt's iterator types:

    * - *

    - * @param key type - * @param value type + * @param key type + * @param value type * @see QMap#begin() * @see QMap#end() * @see QHash#begin() @@ -54,7 +52,7 @@ * @see QMultiHash#begin() * @see QMultiHash#end() */ -public final class QAssociativeIterator extends QAssociativeConstIterator implements AbstractAssociativeIterator{ +public final class QAssociativeIterator extends QAssociativeConstIterator{ @NativeAccess private QAssociativeIterator(QtObject owner) { @@ -66,17 +64,20 @@ private QAssociativeIterator(QtObject owner) { * @param newValue the new value */ @QtUninvokable - public final boolean setValue(V newValue) { + public final boolean setValue(T newValue) { if(!isValid()) return false; - return true; + return setValue(QtJambi_LibraryUtilities.internal.nativeId(this), newValue); } @QtUninvokable - static native void setValue(long __this__nativeId, T newValue); + static native boolean setValue(long __this__nativeId, T newValue); + /** + * Specifies if this type is constant iterator. + */ @Override - protected boolean isConstant() { + boolean isConstant() { return false; } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QDeclarableSignals.java b/src/java/modules/qtjambi/main/io/qt/core/QDeclarableSignals.java index 9e0680ec..da01629e 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QDeclarableSignals.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QDeclarableSignals.java @@ -33,8 +33,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; -import io.qt.QNoDefaultValueException; -import io.qt.QtUninvokable; +import io.qt.*; import io.qt.core.QMetaObject.*; /** @@ -65,11 +64,11 @@ public Signal0(String signalName) { */ public static final class Signal1 extends QMetaObject.AbstractPublicSignal1 { - public Signal1(Class typeA) { + public Signal1(@StrictNonNull Class typeA) { super(new Class[]{typeA}); } - public Signal1(String signalName, Class typeA) { + public Signal1(@StrictNonNull String signalName, @StrictNonNull Class typeA) { super(signalName, typeA); } } @@ -82,11 +81,11 @@ public Signal1(String signalName, Class typeA) { */ public static final class Signal2 extends QMetaObject.AbstractPublicSignal2 { - public Signal2(Class typeA, Class typeB) { + public Signal2(@StrictNonNull Class typeA, @StrictNonNull Class typeB) { super(typeA, typeB); } - public Signal2(String signalName, Class typeA, Class typeB) { + public Signal2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB) { super(signalName, typeA, typeB); } } @@ -100,11 +99,11 @@ public Signal2(String signalName, Class typeA, Class typeB) { */ public static final class Signal3 extends QMetaObject.AbstractPublicSignal3 { - public Signal3(Class typeA, Class typeB, Class typeC) { + public Signal3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC) { super(typeA, typeB, typeC); } - public Signal3(String signalName, Class typeA, Class typeB, Class typeC) { + public Signal3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC) { super(signalName, typeA, typeB, typeC); } } @@ -119,11 +118,11 @@ public Signal3(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal4 extends QMetaObject.AbstractPublicSignal4 { - public Signal4(Class typeA, Class typeB, Class typeC, Class typeD) { + public Signal4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD) { super(typeA, typeB, typeC, typeD); } - public Signal4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD) { + public Signal4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD) { super(signalName, typeA, typeB, typeC, typeD); } } @@ -139,11 +138,11 @@ public Signal4(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal5 extends QMetaObject.AbstractPublicSignal5 { - public Signal5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE) { + public Signal5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE) { super(typeA, typeB, typeC, typeD, typeE); } - public Signal5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE) { + public Signal5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE) { super(signalName, typeA, typeB, typeC, typeD, typeE); } } @@ -160,11 +159,11 @@ public Signal5(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal6 extends QMetaObject.AbstractPublicSignal6 { - public Signal6(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF) { + public Signal6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF) { super(typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF) { + public Signal6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF) { super(signalName, typeA, typeB, typeC, typeD, typeE, typeF); } } @@ -182,11 +181,11 @@ public Signal6(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal7 extends QMetaObject.AbstractPublicSignal7 { - public Signal7(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG) { + public Signal7(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG) { super(typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG) { + public Signal7(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG) { super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } @@ -205,11 +204,11 @@ public Signal7(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal8 extends QMetaObject.AbstractPublicSignal8 { - public Signal8(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH) { + public Signal8(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH) { super(typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH) { + public Signal8(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH) { super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } @@ -229,583 +228,907 @@ public Signal8(String signalName, Class typeA, Class typeB, Class typeC */ public static final class Signal9 extends QMetaObject.AbstractPublicSignal9 { - public Signal9(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI) { + public Signal9(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI) { super(typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI) { + public Signal9(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI) { super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } - public static final class Signal1Default1 extends QMetaObject.AbstractPublicSignal1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal1} with default value for the parameter. + * + * @param The type of the first parameter of the signal. + */ + public static final class Signal1Default1 extends QMetaObject.AbstractSignal1Default1{ - public Signal1Default1(Class typeA, Supplier arg1Default){ - super(new Class[]{typeA}); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal1Default1(@StrictNonNull Class typeA, @StrictNonNull Supplier arg1Default){ + super(arg1Default, new Class[]{typeA}); } - public Signal1Default1(String signalName, Class typeA, Supplier arg1Default){ - super(signalName, typeA); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal1Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Supplier arg1Default){ + super(signalName, arg1Default, typeA); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal2} with default value for parameter no. 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ public static final class Signal2Default1 extends QMetaObject.AbstractSignal2Default1{ - public Signal2Default1(Class typeA, Class typeB, Supplier arg2Default) { + public Signal2Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg2Default) { super(arg2Default, typeA, typeB); } - public Signal2Default1(String signalName, Class typeA, Class typeB, Supplier arg2Default) { + public Signal2Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg2Default) { super(signalName, arg2Default, typeA, typeB); } } - public static final class Signal2Default2 extends QMetaObject.AbstractSignal2Default1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal2} with default values for parameters 1 and 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ + public static final class Signal2Default2 extends QMetaObject.AbstractSignal2Default2{ - public Signal2Default2(Class typeA, Class typeB, Supplier arg1Default, Supplier arg2Default){ - super(arg2Default, typeA, typeB); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal2Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ + super(arg1Default, arg2Default, typeA, typeB); } - public Signal2Default2(String signalName, Class typeA, Class typeB, Supplier arg1Default, Supplier arg2Default){ - super(signalName, arg2Default, typeA, typeB); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal2Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ + super(signalName, arg1Default, arg2Default, typeA, typeB); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal3} with default value for parameter no. 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default1 extends QMetaObject.AbstractSignal3Default1 { - public Signal3Default1(String signalName, Class typeA, Class typeB, Class typeC, Supplier arg3Default) { + public Signal3Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg3Default) { super(signalName, arg3Default, typeA, typeB, typeC); } - public Signal3Default1(Class typeA, Class typeB, Class typeC, Supplier arg3Default) { + public Signal3Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg3Default) { super(arg3Default, typeA, typeB, typeC); } } + /** + * Equivalent to {@link Signal3} with default values for parameters 2 and 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default2 extends QMetaObject.AbstractSignal3Default2 { - public Signal3Default2(String signalName, Class typeA, Class typeB, Class typeC, Supplier arg2Default, Supplier arg3Default){ + public Signal3Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ super(signalName, arg2Default, arg3Default, typeA, typeB, typeC); } - public Signal3Default2(Class typeA, Class typeB, Class typeC, Supplier arg2Default, Supplier arg3Default){ + public Signal3Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ super(arg2Default, arg3Default, typeA, typeB, typeC); } } - public static final class Signal3Default3 extends QMetaObject.AbstractSignal3Default2 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal3} with default values for parameters 1 to 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ + public static final class Signal3Default3 extends QMetaObject.AbstractSignal3Default3{ - public Signal3Default3(String signalName, Class typeA, Class typeB, Class typeC, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default){ - super(signalName, arg2Default, arg3Default, typeA, typeB, typeC); - if(arg2Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal3Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ + super(signalName, arg1Default, arg2Default, arg3Default, typeA, typeB, typeC); } - public Signal3Default3(Class typeA, Class typeB, Class typeC, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default){ - super(arg2Default, arg3Default, typeA, typeB, typeC); - if(arg2Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal3Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ + super(arg1Default, arg2Default, arg3Default, typeA, typeB, typeC); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal4} with default value for parameter no. 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default1 extends QMetaObject.AbstractSignal4Default1{ - public Signal4Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg4Default){ + public Signal4Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg4Default){ super(signalName, arg4Default, typeA, typeB, typeC, typeD); } - public Signal4Default1(Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg4Default){ + public Signal4Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg4Default){ super(arg4Default, typeA, typeB, typeC, typeD); } } + /** + * Equivalent to {@link Signal4} with default values for parameters 3 and 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default2 extends QMetaObject.AbstractSignal4Default2{ - public Signal4Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(signalName, arg3Default, arg4Default, typeA, typeB, typeC, typeD); } - public Signal4Default2(Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg3Default, arg4Default, typeA, typeB, typeC, typeD); } } + /** + * Equivalent to {@link Signal4} with default values for parameters 2 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default3 extends QMetaObject.AbstractSignal4Default3{ - public Signal4Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(signalName, arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); } - public Signal4Default3(Class typeA, Class typeB, Class typeC, Class typeD, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); } } - public static final class Signal4Default4 extends QMetaObject.AbstractSignal4Default3 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal4} with default values for parameters 1 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ + public static final class Signal4Default4 extends QMetaObject.AbstractSignal4Default4{ - public Signal4Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, - Supplier arg1Default, Supplier arg2Default, - Supplier arg3Default, Supplier arg4Default){ - super(signalName, arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal4Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, + @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, + @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ + super(signalName, arg1Default, arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); } - public Signal4Default4(Class typeA, Class typeB, Class typeC, Class typeD, - Supplier arg1Default, Supplier arg2Default, - Supplier arg3Default, Supplier arg4Default){ - super(arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal4Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, + @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, + @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, typeA, typeB, typeC, typeD); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal5} with default value for parameter no. 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default1 extends QMetaObject.AbstractSignal5Default1{ - public Signal5Default1(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg5Default){ + public Signal5Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg5Default){ super(arg5Default, typeA, typeB, typeC, typeD, typeE); } - public Signal5Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg5Default){ + public Signal5Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg5Default){ super(signalName, arg5Default, typeA, typeB, typeC, typeD, typeE); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 4 and 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default2 extends QMetaObject.AbstractSignal5Default2{ - public Signal5Default2(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } - public Signal5Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(signalName, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 3 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default3 extends QMetaObject.AbstractSignal5Default3{ - public Signal5Default3(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } - public Signal5Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(signalName, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 2 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default4 extends QMetaObject.AbstractSignal5Default4{ - public Signal5Default4(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } - public Signal5Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } } - public static final class Signal5Default5 extends QMetaObject.AbstractSignal5Default4 implements QMetaObject.Emitable0{ - - public Signal5Default5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal5} with default values for parameters 1 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ + public static final class Signal5Default5 extends QMetaObject.AbstractSignal5Default5{ + public Signal5Default5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } - public Signal5Default5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal5Default5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, typeA, typeB, typeC, typeD, typeE); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal6} with default value for parameter no. 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default1 extends QMetaObject.AbstractSignal6Default1{ - public Signal6Default1(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg6Default){ + public Signal6Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg6Default){ super(arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg6Default){ + public Signal6Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg6Default){ super(signalName, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 5 and 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default2 extends QMetaObject.AbstractSignal6Default2{ - public Signal6Default2(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(signalName, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 4 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default3 extends AbstractSignal6Default3{ - public Signal6Default3(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(signalName, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 3 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default4 extends AbstractSignal6Default4{ - public Signal6Default4(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 2 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default5 extends AbstractSignal6Default5{ - public Signal6Default5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } } - public static final class Signal6Default6 extends AbstractSignal6Default5 implements QMetaObject.Emitable0{ - - public Signal6Default6(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal6} with default values for parameters 1 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ + public static final class Signal6Default6 extends AbstractSignal6Default6{ + public Signal6Default6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - public Signal6Default6(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ - super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal6Default6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ + super(signalName, arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, typeA, typeB, typeC, typeD, typeE, typeF); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal7} with default value for parameter no. 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default1 extends AbstractSignal7Default1{ - public Signal7Default1(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg7Default){ + public Signal7Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg7Default){ super(arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg7Default){ + public Signal7Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg7Default){ super(signalName, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 6 and 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default2 extends AbstractSignal7Default2 { - public Signal7Default2(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(signalName, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 5 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default3 extends AbstractSignal7Default3 { - public Signal7Default3(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(signalName, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 4 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default4 extends AbstractSignal7Default4 { - public Signal7Default4(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 3 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default5 extends AbstractSignal7Default5 { - public Signal7Default5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 2 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default6 extends AbstractSignal7Default6 { - public Signal7Default6(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default6(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } } - public static final class Signal7Default7 extends AbstractSignal7Default6 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal7Default7(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(2); - } + /** + * Equivalent to {@link Signal7} with default values for parameters 1 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ + public static final class Signal7Default7 extends AbstractSignal7Default7{ + public Signal7Default7(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - public Signal7Default7(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ - super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(2); - } + public Signal7Default7(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ + super(signalName, arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal8} with default value for parameter no. 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default1 extends AbstractSignal8Default1{ - public Signal8Default1(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg8Default){ + public Signal8Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg8Default){ super(arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg8Default){ + public Signal8Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg8Default){ super(signalName, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 7 and 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default2 extends AbstractSignal8Default2 { - public Signal8Default2(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 6 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default3 extends AbstractSignal8Default3 { - public Signal8Default3(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 5 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default4 extends AbstractSignal8Default4 { - public Signal8Default4(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 4 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default5 extends AbstractSignal8Default5 { - public Signal8Default5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 3 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default6 extends AbstractSignal8Default6 { - public Signal8Default6(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default6(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 2 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default7 extends AbstractSignal8Default7 { - public Signal8Default7(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default7(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default7(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default7(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } } - public static final class Signal8Default8 extends AbstractSignal8Default7 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal8Default8(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal8} with default values for parameters 1 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ + public static final class Signal8Default8 extends AbstractSignal8Default8{ + public Signal8Default8(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - public Signal8Default8(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ - super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal8Default8(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ + super(signalName, arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal9} with default value for parameter no. 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default1 extends AbstractSignal9Default1{ - public Signal9Default1(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg9Default){ + public Signal9Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg9Default){ super(arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default1(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg9Default){ + public Signal9Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg9Default){ super(signalName, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 8 and 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default2 extends AbstractSignal9Default2 { - public Signal9Default2(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default2(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 7 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default3 extends AbstractSignal9Default3 { - public Signal9Default3(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default3(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 6 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default4 extends AbstractSignal9Default4 { - public Signal9Default4(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default4(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 5 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default5 extends AbstractSignal9Default5 { - public Signal9Default5(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default5(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 4 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default6 extends AbstractSignal9Default6 { - public Signal9Default6(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default6(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 3 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default7 extends AbstractSignal9Default7 { - public Signal9Default7(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default7(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default7(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default7(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 2 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default8 extends AbstractSignal9Default8 { - public Signal9Default8(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default8(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default8(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default8(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } } - public static final class Signal9Default9 extends AbstractSignal9Default8 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal9Default9(Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal9} with default values for parameters 1 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ + public static final class Signal9Default9 extends AbstractSignal9Default9{ + public Signal9Default9(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - public Signal9Default9(String signalName, Class typeA, Class typeB, Class typeC, Class typeD, Class typeE, Class typeF, Class typeG, Class typeH, Class typeI, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ - super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal9Default9(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ + super(signalName, arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } } /** @@ -813,7 +1136,7 @@ public Signal9Default9(String signalName, Class typeA, Class typeB, Class< */ public static final class GenericSignal extends AbstractPrivateGenericSignal implements QMetaObject.GenericConnectable { - public GenericSignal(Class...types) { + public GenericSignal(@StrictNonNull Class @StrictNonNull... types) { super(types); } @@ -826,19 +1149,19 @@ public final void emit(Object...args) { * Use this signal class to declare a local signal. */ public static final class PrivateGenericSignal extends AbstractPrivateGenericSignal { - public PrivateGenericSignal(Class...types) { + public PrivateGenericSignal(@StrictNonNull Class @StrictNonNull... types) { super(types); } - public PrivateGenericSignal(Consumer emitConsumer, Class...types) { + public PrivateGenericSignal(@StrictNonNull Consumer<@StrictNonNull GenericSlot> emitConsumer, @StrictNonNull Class @StrictNonNull... types) { super(emitConsumer, types); } - public PrivateGenericSignal(String signalName, Class...types) { + public PrivateGenericSignal(@StrictNonNull String signalName, @StrictNonNull Class @StrictNonNull... types) { super(signalName, types); } - public PrivateGenericSignal(Consumer emitConsumer, String signalName, Class...types) { + public PrivateGenericSignal(@StrictNonNull Consumer<@StrictNonNull GenericSlot> emitConsumer, String signalName, @StrictNonNull Class @StrictNonNull... types) { super(emitConsumer, signalName, types); } } @@ -850,21 +1173,21 @@ public static abstract class AbstractPrivateGenericSignal extends QMetaObject.Ab private final Class[] types; - AbstractPrivateGenericSignal(Class...types) { + AbstractPrivateGenericSignal(@StrictNonNull Class @StrictNonNull... types) { this("anonymous_signal", types); } - AbstractPrivateGenericSignal(Consumer emitConsumer, Class...types) { + AbstractPrivateGenericSignal(@StrictNonNull Consumer<@StrictNonNull GenericSlot> emitConsumer, @StrictNonNull Class @StrictNonNull... types) { this(emitConsumer, "anonymous_signal", types); emitConsumer.accept(this::emit); } - AbstractPrivateGenericSignal(Consumer emitConsumer, String signalName, Class... types) { + AbstractPrivateGenericSignal(@StrictNonNull Consumer<@StrictNonNull GenericSlot> emitConsumer, String signalName, @StrictNonNull Class @StrictNonNull... types) { this(signalName, types); emitConsumer.accept(this::emit); } - private AbstractPrivateGenericSignal(String signalName, Class... types) { + private AbstractPrivateGenericSignal(@StrictNonNull String signalName, @StrictNonNull Class... types) { super(signalName, types); for (int i = 0; i < types.length; i++) { if(types[i] == void.class) { @@ -916,9 +1239,8 @@ private void emit(Object...args) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public final QMetaObject.Connection connect(GenericSlot slot, Qt.ConnectionType... type) { + public final QMetaObject.@NonNull Connection connect(@StrictNonNull GenericSlot slot, Qt.@StrictNonNull ConnectionType @StrictNonNull... type) { return addConnectionToSlotObject(slot, type); } @@ -928,7 +1250,7 @@ public final QMetaObject.Connection connect(GenericSlot slot, Qt.ConnectionType. * @param slot the slot to be disconnected * @return true if successfully disconnected, or false otherwise. */ - public final boolean disconnect(GenericSlot slot) { + public final boolean disconnect(@StrictNonNull GenericSlot slot) { return removeConnectionToSlotObject(slot); } @@ -940,7 +1262,7 @@ public final boolean disconnect(GenericSlot slot) { * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. */ - public final QMetaObject.Connection connect(GenericConnectable signal, Qt.ConnectionType... type) { + public final QMetaObject.@NonNull Connection connect(@StrictNonNull GenericConnectable signal, Qt.@StrictNonNull ConnectionType @StrictNonNull... type) { return addConnectionToSignalObject((AbstractSignal)signal, type); } @@ -950,7 +1272,7 @@ public final QMetaObject.Connection connect(GenericConnectable signal, Qt.Connec * @param signal the signal to be disconnected * @return true if successfully disconnected, or false otherwise. */ - public final boolean disconnect(GenericConnectable signal) { + public final boolean disconnect(@StrictNonNull GenericConnectable signal) { return removeConnectionToSignalObject((AbstractSignal)signal); } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QFutureSynchronizer.java b/src/java/modules/qtjambi/main/io/qt/core/QFutureSynchronizer.java index 5e5c35d4..4d54e60a 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QFutureSynchronizer.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QFutureSynchronizer.java @@ -6,39 +6,39 @@ /** *

    Convenience class that simplifies QFuture synchronization

    - *
    + *

    Java wrapper for Qt class QFutureSynchronizer

    */ -public final class QFutureSynchronizer +public final class QFutureSynchronizer { static { QtJambi_LibraryUtilities.initialize(); } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::QFutureSynchronizer()

    */ public QFutureSynchronizer(){ super(); } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::QFutureSynchronizer(QFuture<T>)

    */ - public QFutureSynchronizer(QFuture future){ + public QFutureSynchronizer(QFuture future){ super(); addFuture(future); } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::addFuture(QFuture<T>)

    */ @io.qt.QtUninvokable - public final void addFuture(QFuture future){ + public final void addFuture(QFuture future){ m_futures.add(future); } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::cancelOnWait()const

    */ @io.qt.QtUninvokable public final boolean cancelOnWait(){ @@ -46,7 +46,7 @@ public final boolean cancelOnWait(){ } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::clearFutures()

    */ @io.qt.QtUninvokable public final void clearFutures(){ @@ -54,7 +54,7 @@ public final void clearFutures(){ } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::setCancelOnWait(bool)

    */ @io.qt.QtUninvokable public final void setCancelOnWait(boolean enabled){ @@ -62,17 +62,17 @@ public final void setCancelOnWait(boolean enabled){ } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::setFuture(QFuture<T>)

    */ @io.qt.QtUninvokable - public final void setFuture(QFuture future){ + public final void setFuture(QFuture future){ waitForFinished(); m_futures.clear(); addFuture(future); } /** - *

    See QFutureSynchronizer::

    + *

    See QFutureSynchronizer::waitForFinished()const

    */ @io.qt.QtUninvokable public final void waitForFinished(){ @@ -88,13 +88,13 @@ public final void waitForFinished(){ } /** - *

    See QFutureSynchronizer::futures() const

    + *

    See QFutureSynchronizer::futures()const

    */ @io.qt.QtUninvokable - public final List> futures() { + public final List> futures() { return Collections.unmodifiableList(m_futures); } - private final List> m_futures = new ArrayList<>(); + private final List> m_futures = new ArrayList<>(); private boolean m_cancelOnWait; } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QFutureWatcher.java b/src/java/modules/qtjambi/main/io/qt/core/QFutureWatcher.java index f16d488d..35980b86 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QFutureWatcher.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QFutureWatcher.java @@ -4,7 +4,7 @@ /** *

    Allows monitoring a QFuture using signals and slots

    - *

    Java wrapper for Qt class QFutureWatcher

    + *

    Java wrapper for Qt class QFutureWatcher

    */ public final class QFutureWatcher extends io.qt.core.QFutureWatcherBase { @@ -22,7 +22,7 @@ public QFutureWatcher() { } /** - *

    See QFutureWatcher::QFutureWatcher(QObject*)

    + *

    See QFutureWatcher::QFutureWatcher(QObject*)

    */ public QFutureWatcher(io.qt.core.QObject parent){ super((QPrivateConstructor)null); @@ -36,7 +36,7 @@ public QFutureWatcher(io.qt.core.QObject parent){ private native static void initialize_native(QFutureWatcher instance, io.qt.core.QObject parent, long[] functions); /** - *

    See QFutureWatcher::future()const

    + *

    See QFutureWatcher::future()const

    */ @io.qt.QtUninvokable public final io.qt.core.QFuture future(){ @@ -47,7 +47,7 @@ public final io.qt.core.QFuture future(){ private static native io.qt.core.QFuture future(long nativeId, long futureGetter); /** - *

    See QFutureWatcher::result()const

    + *

    See QFutureWatcher::result()const

    */ @io.qt.QtUninvokable public final T result(){ @@ -55,7 +55,7 @@ public final T result(){ } /** - *

    See QFutureWatcher::resultAt(int)const

    + *

    See QFutureWatcher::resultAt(int)const

    */ @io.qt.QtUninvokable public final T resultAt(int index){ @@ -68,7 +68,7 @@ public final T resultAt(int index){ private static native T resultAt(long nativeId, long futureResult, int index); /** - *

    See QFutureWatcher::setFuture(QFuture<T>)

    + *

    See QFutureWatcher::setFuture(QFuture<T>)

    */ @io.qt.QtUninvokable public final void setFuture(io.qt.core.QFuture future){ diff --git a/src/java/modules/qtjambi/main/io/qt/core/QHash.java b/src/java/modules/qtjambi/main/io/qt/core/QHash.java index 5e6b3d4d..2b633b33 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QHash.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QHash.java @@ -31,8 +31,12 @@ import static io.qt.core.QMap.findMapMetaType; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.function.BiPredicate; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QNoImplementationException; @@ -40,9 +44,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QHash

    + *

    Java wrapper for Qt class QHash

    */ -public class QHash extends io.qt.internal.AbstractHash implements Cloneable +public class QHash extends AbstractAssociativeContainer implements Map, Cloneable { static { QtJambi_LibraryUtilities.initialize(); @@ -51,6 +55,7 @@ public class QHash extends io.qt.internal.AbstractHash implements Clon /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QHash(QPrivateConstructor p) { @@ -59,11 +64,11 @@ protected QHash(QPrivateConstructor p) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyType the type K * @param valueType the type V */ - public QHash(Class keyType, Class valueType) { + public QHash(Class keyType, Class valueType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); QMetaType valueMetaType = QMetaType.fromType(valueType); @@ -72,10 +77,10 @@ public QHash(Class keyType, Class valueType) { /** * Creating a container with given content. - *

    See QHash::QHash(const QHash<Key, T> &)

    + *

    See QHash::QHash(const QHash<Key, T> &)

    * @param other map */ - public QHash(Map other) { + public QHash(Map other) { super(null); QPair metaTypes = QMap.findMapMetaType(Objects.requireNonNull(other)); initialize(metaTypes.first.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.first), metaTypes.second.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.second), other); @@ -83,11 +88,11 @@ public QHash(Map other) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyType the type K * @param valueMetaType the type V */ - public QHash(Class keyType, QMetaType valueMetaType) { + public QHash(Class keyType, QMetaType valueMetaType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); initialize(keyType, QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -95,11 +100,11 @@ public QHash(Class keyType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueType the type V */ - public QHash(QMetaType keyMetaType, Class valueType) { + public QHash(QMetaType keyMetaType, Class valueType) { super(null); QMetaType valueMetaType = QMetaType.fromType(valueType); initialize(keyMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueType, QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -107,27 +112,27 @@ public QHash(QMetaType keyMetaType, Class valueType) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyType the type K * @param valueMetaType the type V */ - public QHash(Class keyType, QMetaType.Type valueMetaType) { + public QHash(Class keyType, QMetaType.Type valueMetaType) { this(keyType, new QMetaType(valueMetaType)); } /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueType the type V */ - public QHash(QMetaType.Type keyMetaType, Class valueType) { + public QHash(QMetaType.Type keyMetaType, Class valueType) { this(new QMetaType(keyMetaType), valueType); } /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -137,7 +142,7 @@ public QHash(QMetaType.Type keyMetaType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -147,7 +152,7 @@ public QHash(QMetaType keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -157,7 +162,7 @@ public QHash(QMetaType.Type keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QHash::QHash()

    + *

    See QHash::QHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -167,28 +172,38 @@ public QHash(QMetaType keyMetaType, QMetaType valueMetaType) { } @QtUninvokable - private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map other); + private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map other); + /** + * Creating a QHash with QVariant type ({@code QHash}). + *

    See QHash::QHash()

    + */ public static QHash createVariantHash() { return new QHash<>(new QMetaType(QMetaType.Type.QString), new QMetaType(QMetaType.Type.QVariant)); } /** * Creates and returns a copy of this object. - *

    See QHash::QHash(const QHash<Key, T> &)

    + *

    See QHash::QHash(const QHash<Key, T> &)

    */ @Override - public QHash clone(){ + public QHash clone(){ return new QHash<>(this); } + /** + *

    See QHash::capacity()const

    + */ @QtUninvokable public final int capacity() { return capacity(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native int capacity(long __this__nativeId); + static native int capacity(long __this__nativeId); + /** + *

    See QHash::clear()

    + */ @QtUninvokable public final void clear() { clear(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -196,8 +211,11 @@ public final void clear() { @QtUninvokable static native void clear(long __this__nativeId); + /** + *

    See QHash::contains(Key)const

    + */ @QtUninvokable - public final boolean contains(K key) { + public final boolean contains(Key key) { try{ return contains(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -207,15 +225,21 @@ public final boolean contains(K key) { } } @QtUninvokable - static native boolean contains(long __this__nativeId, K key); + static native boolean contains(long __this__nativeId, Key key); + /** + *

    See QHash::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + *

    See QHash::count(Key)const

    + */ @QtUninvokable - public final int count(K key) { + public final int count(Key key) { try{ return count(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -225,38 +249,62 @@ public final int count(K key) { } } @QtUninvokable - static native int count(long __this__nativeId, K key); + static native int count(long __this__nativeId, Key key); + /** + * Provides a constant C++ iterator to the containers end. + *

    See QHash::constEnd()const

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constEnd() { + protected final io.qt.core.QAssociativeConstIterator constEnd() { return constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator constEnd(long __this__nativeId); + static native io.qt.core.QAssociativeConstIterator constEnd(long __this__nativeId); + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QHash::constBegin()const

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constBegin() { + protected final io.qt.core.QAssociativeConstIterator constBegin() { return constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator constBegin(long __this__nativeId); + static native io.qt.core.QAssociativeConstIterator constBegin(long __this__nativeId); + /** + * Provides a mutable C++ iterator to the containers end. + *

    See QHash::end()

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator end() { + protected final io.qt.core.QAssociativeIterator end() { return end(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeIterator end(long __this__nativeId); + static native io.qt.core.QAssociativeIterator end(long __this__nativeId); + /** + * Provides a mutable C++ iterator to the containers begin. + *

    See QHash::begin()

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator begin() { + protected final io.qt.core.QAssociativeIterator begin() { return begin(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeIterator begin(long __this__nativeId); + static native io.qt.core.QAssociativeIterator begin(long __this__nativeId); + /** + *

    See QHash::find(Key)const

    + * @return iterator + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key) { + public final io.qt.core.QAssociativeConstIterator find(Key key) { try{ return find(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -266,10 +314,13 @@ public final io.qt.core.QAssociativeConstIterator find(K key) { } } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, K key); + static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, Key key); + /** + *

    See QHash::insert(Key,T)

    + */ @QtUninvokable - public final void insert(K key, V value) { + public final void insert(Key key, T value) { try { insert(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -279,19 +330,29 @@ public final void insert(K key, V value) { } } @QtUninvokable - static native void insert(long __this__nativeId, K key, V value); + static native void insert(long __this__nativeId, Key key, T value); + /** + *

    See QHash::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; } + /** + *

    See QHash::key(T)const

    + */ @QtUninvokable - public final K key(V value) { + public final Key key(T value) { return key(value, null); } + + /** + *

    See QHash::key(T,Key)const

    + */ @QtUninvokable - public final K key(V value, K defaultKey) { + public final Key key(T value, Key defaultKey) { try{ return key(QtJambi_LibraryUtilities.internal.nativeId(this), value, defaultKey); }catch(QNoNativeResourcesException e) { @@ -301,17 +362,25 @@ public final K key(V value, K defaultKey) { } } @QtUninvokable - static native K key(long __this__nativeId, V value, K defaultKey); + static native Key key(long __this__nativeId, T value, Key defaultKey); + /** + * Returns a {@link List} of the keys contained in this associative container. + *

    See QHash::keys()const

    + * @return list of keys + */ @QtUninvokable - public final java.util.List keys() { + public final QList keys() { return keys(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native java.util.List keys(long __this__nativeId); + static native QList keys(long __this__nativeId); + /** + *

    See QHash::keys(T)const

    + */ @QtUninvokable - public final java.util.List keys(V value) { + public final QList keys(T value) { try { return keysForValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); }catch(QNoNativeResourcesException e) { @@ -321,15 +390,47 @@ public final java.util.List keys(V value) { } } @QtUninvokable - static native java.util.List keysForValue(long __this__nativeId, V value); + static native QList keysForValue(long __this__nativeId, T value); + /** + *

    See QHash::removeIf(Predicate)

    + */ @QtUninvokable - private final boolean operator_equal(java.util.Map other) { - return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), other); + public final int removeIf(Predicate predicate) { + List keys = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(Key key : QHash.keys(nativeId)) { + if(predicate.test(key)) + keys.add(key); + } + int count = 0; + for (Key key : keys) { + count += remove(nativeId, key); + } + return count; } - @QtUninvokable - static native boolean operator_equal(long __this__nativeId, java.util.Map other); + /** + *

    See QHash::removeIf(Predicate)

    + */ + @QtUninvokable + public final int removeIf(BiPredicate predicate) { + List> pairs = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(QPair pair : QHash.constBegin(nativeId)) { + if(predicate.test(pair.first, pair.second)) + pairs.add(pair); + } + int count = 0; + for (QPair pair : pairs) { + count += remove(nativeId, pair.first); + } + return count; + } + + /** + *

    See QHash::remove(Key)

    + */ @QtUninvokable public final int removeAll(Object key) { try{ @@ -346,8 +447,11 @@ public final int removeAll(Object key) { } } @QtUninvokable - static native int remove(long __this__nativeId, K key); + static native int remove(long __this__nativeId, Key key); + /** + *

    See QHash::reserve(int)

    + */ @QtUninvokable public final void reserve(int size) { reserve(QtJambi_LibraryUtilities.internal.nativeId(this), size); @@ -355,6 +459,9 @@ public final void reserve(int size) { @QtUninvokable static native void reserve(long __this__nativeId, int size); + /** + *

    See QHash::size()const

    + */ @QtUninvokable public final int size() { return size(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -362,11 +469,20 @@ public final int size() { @QtUninvokable static native int size(long __this__nativeId); + /** + *

    See QHash::squeeze()

    + */ @QtUninvokable - public final void squeeze() { reserve(1); } + public final void squeeze() { + if(capacity()>0) + reserve(0); + } + /** + *

    See QHash::take(Key)

    + */ @QtUninvokable - public final V take(K key) { + public final T take(Key key) { try { return take(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -376,14 +492,21 @@ public final V take(K key) { } } @QtUninvokable - static native V take(long __this__nativeId, K key); + static native T take(long __this__nativeId, Key key); + /** + *

    See QHash::value(Key)

    + */ @QtUninvokable - public final V value(K key) { + public final T value(Key key) { return value(key, null); } + + /** + *

    See QHash::value(Key,T)

    + */ @QtUninvokable - public final V value(K key, V defaultValue) { + public final T value(Key key, T defaultValue) { try { return value(QtJambi_LibraryUtilities.internal.nativeId(this), key, defaultValue); }catch(QNoNativeResourcesException e) { @@ -393,25 +516,36 @@ public final V value(K key, V defaultValue) { } } @QtUninvokable - static native V value(long __this__nativeId, K key, V defaultValue); + static native T value(long __this__nativeId, Key key, T defaultValue); + /** + *

    See QHash::values()const

    + */ @QtUninvokable - public final java.util.List values() { + public final QList values() { return values(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native java.util.List values(long __this__nativeId); + static native QList values(long __this__nativeId); + /** + *

    See operator==(QHash<Key,T>,QHash<Key,T>)

    + */ @SuppressWarnings("unchecked") @Override @QtUninvokable public boolean equals(Object other) { if (other instanceof java.util.Map && QMap.checkContainerType(this.keyMetaType(), this.valueMetaType(), (java.util.Map) other)) { - return operator_equal((java.util.Map) other); + return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), (java.util.Map) other); } return false; } + @QtUninvokable + static native boolean operator_equal(long __this__nativeId, java.util.Map other); + /** + * Returns the objects's hash code computed by qHash(QHash<Key,T>). + */ @Override @QtUninvokable public int hashCode() { @@ -424,6 +558,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -439,8 +576,13 @@ public String toString() { private static native String toString(long __this__nativeId); @QtUninvokable - static native boolean lessThan(K key1, K key2); + static native boolean lessThan(Key key1, Key key2); + /** + * Returns {@code true} if this map contains a mapping for the specified key. + * @see Map#containsKey(Object) + * @see #contains(Object) + */ @Override @QtUninvokable public final boolean containsKey(Object key){ @@ -458,9 +600,15 @@ public final boolean containsKey(Object key){ } } + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * @see Map#get(Object) + * @see #value(Object) + */ @Override @QtUninvokable - public final V get(Object key){ + public final T get(Object key){ try{ return value(QtJambi_LibraryUtilities.internal.nativeId(this), key, null); }catch(QNoNativeResourcesException e) { @@ -475,20 +623,30 @@ public final V get(Object key){ } } + /** + * Associates the specified value with the specified key in this map. + * @see Map#put(Object, Object) + * @see #insert(Object, Object) + */ @Override @QtUninvokable - public final V put(K key, V value){ - V old = value(key); + public final T put(Key key, T value){ + T old = value(key); insert(key, value); return old; } + /** + * Removes the mapping for a key from this map if it is present. + * @see Map#remove(Object) + * @see #take(Object) + */ @SuppressWarnings("unchecked") @Override @QtUninvokable - public final V remove(Object key){ + public final T remove(Object key){ try{ - return take(QtJambi_LibraryUtilities.internal.nativeId(this), (K)key); + return take(QtJambi_LibraryUtilities.internal.nativeId(this), (Key)key); }catch(QNoNativeResourcesException e) { throw e; }catch(IllegalArgumentException e) { @@ -501,6 +659,12 @@ public final V remove(Object key){ } } + /** + * Returns {@code true} if this map maps one or more keys to the + * specified value. + * @see Map#containsValue(Object) + * @see #key(Object, Object) + */ @Override @QtUninvokable public final boolean containsValue(Object value){ @@ -517,9 +681,10 @@ public final boolean containsValue(Object value){ return false; } } - - - + + /** + *

    See operator<<(QDataStream&,QHash<Key,T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -528,6 +693,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QHash<Key,T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -553,320 +721,320 @@ final QMetaType valueMetaType() { /** * Returns a QHash containing a single mapping. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the mapping's key - * @param v1 the mapping's value + * @param t1 the mapping's value * @return a {@code QHash} containing the specified mapping * @throws NullPointerException if the key or the value is {@code null} */ - public static QHash of(K k1, V v1) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1) { + QHash result = new QHash<>( QList.findElementMetaType(k1), - QList.findElementMetaType(v1)); - result.insert(k1, v1); + QList.findElementMetaType(t1)); + result.insert(k1, t1); return result; } /** * Returns a QHash containing two mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2), - QList.findElementMetaType(v1, v2)); - result.insert(k1, v1); - result.insert(k2, v2); + QList.findElementMetaType(t1, t2)); + result.insert(k1, t1); + result.insert(k2, t2); return result; } /** * Returns a QHash containing three mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3), - QList.findElementMetaType(v1, v2, v3)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); + QList.findElementMetaType(t1, t2, t3)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); return result; } /** * Returns a QHash containing four mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4), - QList.findElementMetaType(v1, v2, v3, v4)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); + QList.findElementMetaType(t1, t2, t3, t4)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); return result; } /** * Returns a QHash containing five mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5), - QList.findElementMetaType(v1, v2, v3, v4, v5)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); + QList.findElementMetaType(t1, t2, t3, t4, t5)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); return result; } /** * Returns a QHash containing six mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); return result; } /** * Returns a QHash containing seven mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); return result; } /** * Returns a QHash containing eight mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); return result; } /** * Returns a QHash containing nine mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); return result; } /** * Returns a QHash containing ten mappings. * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @param k10 the tenth mapping's key - * @param v10 the tenth mapping's value + * @param t10 the tenth mapping's value * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) { - QHash result = new QHash<>( + public static QHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9, Key k10, T t10) { + QHash result = new QHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); - result.insert(k10, v10); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); + result.insert(k10, t10); return result; } @@ -888,21 +1056,57 @@ public static QHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V * entry(26, "z")); * } * - * @param the {@code QHash}'s key type - * @param the {@code QHash}'s value type + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type * @param entries {@code java.util.Map.Entry}s containing the keys and values from which the map is populated * @return a {@code QHash} containing the specified mappings * @throws NullPointerException if any entry, key, or value is {@code null}, or if * the {@code entries} array is {@code null} */ @SafeVarargs - public static QHash ofEntries(Map.Entry entry0, Map.Entry... entries) { + public static QHash ofEntries(Map.Entry entry0, Map.Entry... entries) { QPair metaTypes = findMapMetaType(entry0, entries); - QHash result = new QHash<>(metaTypes.first, metaTypes.second); + QHash result = new QHash<>(metaTypes.first, metaTypes.second); result.insert(entry0.getKey(), entry0.getValue()); - for (Map.Entry entry : entries) { + for (Map.Entry entry : entries) { result.insert(entry.getKey(), entry.getValue()); } return result; } + + /** + * Returns a QHash containing keys and values extracted from the given pairs. + * + * @apiNote + * It is convenient to create the pair using the {@link QPair#pair(Object, Object)} method. + * For example, + * + *
    {@code
    +     *     import static java.util.QPair.pair;
    +     *
    +     *     QHash map = QHash.ofPairs(
    +     *         pair(1, "a"),
    +     *         pair(2, "b"),
    +     *         pair(3, "c"),
    +     *         ...
    +     *         pair(26, "z"));
    +     * }
    + * + * @param the {@code QHash}'s key type + * @param the {@code QHash}'s value type + * @param pairs {@code QPair}s containing the keys and values from which the map is populated + * @return a {@code QHash} containing the specified mappings + * @throws NullPointerException if any entry, key, or value is {@code null}, or if + * the {@code entries} array is {@code null} + */ + @SafeVarargs + public static QHash ofPairs(QPair pair0, QPair... pairs) { + QPair metaTypes = findMapMetaType(pair0, pairs); + QHash result = new QHash<>(metaTypes.first, metaTypes.second); + result.insert(pair0.first, pair0.second); + for (QPair entry : pairs) { + result.insert(entry.first, entry.second); + } + return result; + } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QInstanceMemberSignals.java b/src/java/modules/qtjambi/main/io/qt/core/QInstanceMemberSignals.java index c8915790..ee8edccc 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QInstanceMemberSignals.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QInstanceMemberSignals.java @@ -33,66 +33,8 @@ import java.util.Objects; import java.util.function.Supplier; -import io.qt.QNoDefaultValueException; -import io.qt.QNoSuchSlotException; -import io.qt.QtSignalEmitterInterface; -import io.qt.QtUninvokable; -import io.qt.core.QMetaObject.AbstractPrivateSignal0; -import io.qt.core.QMetaObject.AbstractPrivateSignal1; -import io.qt.core.QMetaObject.AbstractPrivateSignal2; -import io.qt.core.QMetaObject.AbstractPrivateSignal3; -import io.qt.core.QMetaObject.AbstractPrivateSignal4; -import io.qt.core.QMetaObject.AbstractPrivateSignal5; -import io.qt.core.QMetaObject.AbstractPrivateSignal6; -import io.qt.core.QMetaObject.AbstractPrivateSignal7; -import io.qt.core.QMetaObject.AbstractPrivateSignal8; -import io.qt.core.QMetaObject.AbstractPrivateSignal9; -import io.qt.core.QMetaObject.AbstractPublicSignal0; -import io.qt.core.QMetaObject.AbstractPublicSignal1; -import io.qt.core.QMetaObject.AbstractPublicSignal2; -import io.qt.core.QMetaObject.AbstractPublicSignal3; -import io.qt.core.QMetaObject.AbstractPublicSignal4; -import io.qt.core.QMetaObject.AbstractPublicSignal5; -import io.qt.core.QMetaObject.AbstractPublicSignal6; -import io.qt.core.QMetaObject.AbstractPublicSignal7; -import io.qt.core.QMetaObject.AbstractPublicSignal8; -import io.qt.core.QMetaObject.AbstractPublicSignal9; -import io.qt.core.QMetaObject.AbstractSignal2Default1; -import io.qt.core.QMetaObject.AbstractSignal3Default1; -import io.qt.core.QMetaObject.AbstractSignal3Default2; -import io.qt.core.QMetaObject.AbstractSignal4Default1; -import io.qt.core.QMetaObject.AbstractSignal4Default2; -import io.qt.core.QMetaObject.AbstractSignal4Default3; -import io.qt.core.QMetaObject.AbstractSignal5Default1; -import io.qt.core.QMetaObject.AbstractSignal5Default2; -import io.qt.core.QMetaObject.AbstractSignal5Default3; -import io.qt.core.QMetaObject.AbstractSignal5Default4; -import io.qt.core.QMetaObject.AbstractSignal6Default1; -import io.qt.core.QMetaObject.AbstractSignal6Default2; -import io.qt.core.QMetaObject.AbstractSignal6Default3; -import io.qt.core.QMetaObject.AbstractSignal6Default4; -import io.qt.core.QMetaObject.AbstractSignal6Default5; -import io.qt.core.QMetaObject.AbstractSignal7Default1; -import io.qt.core.QMetaObject.AbstractSignal7Default2; -import io.qt.core.QMetaObject.AbstractSignal7Default3; -import io.qt.core.QMetaObject.AbstractSignal7Default4; -import io.qt.core.QMetaObject.AbstractSignal7Default5; -import io.qt.core.QMetaObject.AbstractSignal7Default6; -import io.qt.core.QMetaObject.AbstractSignal8Default1; -import io.qt.core.QMetaObject.AbstractSignal8Default2; -import io.qt.core.QMetaObject.AbstractSignal8Default3; -import io.qt.core.QMetaObject.AbstractSignal8Default4; -import io.qt.core.QMetaObject.AbstractSignal8Default5; -import io.qt.core.QMetaObject.AbstractSignal8Default6; -import io.qt.core.QMetaObject.AbstractSignal8Default7; -import io.qt.core.QMetaObject.AbstractSignal9Default1; -import io.qt.core.QMetaObject.AbstractSignal9Default2; -import io.qt.core.QMetaObject.AbstractSignal9Default3; -import io.qt.core.QMetaObject.AbstractSignal9Default4; -import io.qt.core.QMetaObject.AbstractSignal9Default5; -import io.qt.core.QMetaObject.AbstractSignal9Default6; -import io.qt.core.QMetaObject.AbstractSignal9Default7; -import io.qt.core.QMetaObject.AbstractSignal9Default8; +import io.qt.*; +import io.qt.core.QMetaObject.*; /** * Interface giving access to non-QObject lightweight signals. @@ -110,7 +52,7 @@ public static final class Signal0 extends AbstractPublicSignal0 { * @param type of the containing object. * @param containingObject the containing object */ - public Signal0(Q containingObject) { + public Signal0(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -120,7 +62,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -139,7 +81,7 @@ public static final class Signal1 extends AbstractPublicSignal1 { * @param type of the containing object. * @param containingObject the containing object */ - public Signal1(Q containingObject) { + public Signal1(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -149,7 +91,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -169,7 +111,7 @@ public static final class Signal2 extends AbstractPublicSignal2 { * @param type of the containing object. * @param containingObject the containing object */ - public Signal2(Q containingObject) { + public Signal2(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -179,7 +121,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -200,7 +142,7 @@ public static final class Signal3 extends AbstractPublicSignal3 { * @param type of the containing object. * @param containingObject the containing object */ - public Signal3(Q containingObject) { + public Signal3(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -210,7 +152,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -232,7 +174,7 @@ public static final class Signal4 extends AbstractPublicSignal4 type of the containing object. * @param containingObject the containing object */ - public Signal4(Q containingObject) { + public Signal4(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -242,7 +184,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -265,7 +207,7 @@ public static final class Signal5 extends AbstractPublicSignal5 type of the containing object. * @param containingObject the containing object */ - public Signal5(Q containingObject) { + public Signal5(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -275,7 +217,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -294,7 +236,7 @@ public QtSignalEmitterInterface containingObject() { */ public static final class Signal6 extends AbstractPublicSignal6 { - public Signal6(Q containingObject) { + public Signal6(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -304,7 +246,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -329,7 +271,7 @@ public static final class Signal7 extends AbstractPublicSignal7 type of the containing object. * @param containingObject the containing object */ - public Signal7(Q containingObject) { + public Signal7(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -339,7 +281,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -360,7 +302,7 @@ public QtSignalEmitterInterface containingObject() { */ public static final class Signal8 extends AbstractPublicSignal8 { - public Signal8(Q containingObject) { + public Signal8(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -370,7 +312,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -397,7 +339,7 @@ public static final class Signal9 extends AbstractPublicSigna * @param type of the containing object. * @param containingObject the containing object */ - public Signal9(Q containingObject) { + public Signal9(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -407,7 +349,7 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -428,7 +370,7 @@ public static final class PrivateSignal0 extends AbstractPrivateSignal0 { * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal0(Q containingObject) { + public PrivateSignal0(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -443,7 +385,7 @@ private void emit() { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -466,7 +408,7 @@ public static final class PrivateSignal1 extends AbstractPrivateSignal1 { * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal1(Q containingObject) { + public PrivateSignal1(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -481,7 +423,7 @@ private void emit(A arg1) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -505,7 +447,7 @@ public static final class PrivateSignal2 extends AbstractPrivateSignal2 type of the containing object. * @param containingObject the containing object */ - public PrivateSignal2(Q containingObject) { + public PrivateSignal2(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -520,7 +462,7 @@ private void emit(A arg1, B arg2) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -545,7 +487,7 @@ public static final class PrivateSignal3 extends AbstractPrivateSignal3 type of the containing object. * @param containingObject the containing object */ - public PrivateSignal3(Q containingObject) { + public PrivateSignal3(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -560,7 +502,7 @@ private void emit(A arg1, B arg2, C arg3) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -586,7 +528,7 @@ public static final class PrivateSignal4 extends AbstractPrivateSignal4 * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal4(Q containingObject) { + public PrivateSignal4(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -601,7 +543,7 @@ private void emit(A arg1, B arg2, C arg3, D arg4) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -628,7 +570,7 @@ public static final class PrivateSignal5 extends AbstractPrivateSigna * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal5(Q containingObject) { + public PrivateSignal5(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -643,7 +585,7 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -671,7 +613,7 @@ public static final class PrivateSignal6 extends AbstractPrivateSig * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal6(Q containingObject) { + public PrivateSignal6(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -686,7 +628,7 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -715,7 +657,7 @@ public static final class PrivateSignal7 extends AbstractPrivateS * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal7(Q containingObject) { + public PrivateSignal7(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -730,7 +672,7 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) { * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -760,7 +702,7 @@ public static final class PrivateSignal8 extends AbstractPrivat * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal8(Q containingObject) { + public PrivateSignal8(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -775,7 +717,7 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8 * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -806,7 +748,7 @@ public static final class PrivateSignal9 extends AbstractPriv * @param type of the containing object. * @param containingObject the containing object */ - public PrivateSignal9(Q containingObject) { + public PrivateSignal9(@StrictNonNull Q containingObject) { super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -821,18 +763,17 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8 * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal1Default1 extends AbstractPublicSignal1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + public static final class Signal1Default1 extends AbstractSignal1Default1{ @SuppressWarnings("unused") - private Signal1Default1(Q containingObject) { - this.arg1Default = null; + private Signal1Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -841,38 +782,33 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal1Default1(Q containingObject, Supplier arg1Default){ - super(); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal1Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default){ + super(arg1Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal2} with default value for parameter no. 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ public static final class Signal2Default1 extends AbstractSignal2Default1{ @SuppressWarnings("unused") - private Signal2Default1(Q containingObject) { + private Signal2Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -881,7 +817,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal2Default1(Q containingObject, Supplier arg2Default) { + public Signal2Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default) { super(arg2Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -891,18 +827,23 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal2Default2 extends AbstractSignal2Default1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal2} with default values for parameters 1 and 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ + public static final class Signal2Default2 extends AbstractSignal2Default2{ @SuppressWarnings("unused") - private Signal2Default2(Q containingObject) { - this.arg1Default = null; + private Signal2Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -911,38 +852,34 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal2Default2(Q containingObject, Supplier arg1Default, Supplier arg2Default){ - super(arg2Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal2Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ + super(arg1Default, arg2Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal3} with default value for parameter no. 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default1 extends AbstractSignal3Default1 { @SuppressWarnings("unused") - private Signal3Default1(Q containingObject) { + private Signal3Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -951,7 +888,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal3Default1(Q containingObject, Supplier arg3Default) { + public Signal3Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default) { super(arg3Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -961,21 +898,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal3} with default values for parameters 2 and 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default2 extends AbstractSignal3Default2 { @SuppressWarnings("unused") - private Signal3Default2(Q containingObject) { + private Signal3Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - public Signal3Default2(Q containingObject, Supplier arg2Default, Supplier arg3Default){ + public Signal3Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ super(arg2Default, arg3Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -985,18 +929,24 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal3Default3 extends AbstractSignal3Default2 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal3} with default values for parameters 1 to 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ + public static final class Signal3Default3 extends AbstractSignal3Default3{ @SuppressWarnings("unused") - private Signal3Default3(Q containingObject) { - this.arg1Default = null; + private Signal3Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1005,42 +955,38 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal3Default3(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default){ - super(arg2Default, arg3Default); - if(arg2Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal3Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ + super(arg1Default, arg2Default, arg3Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal4} with default value for parameter no. 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default1 extends AbstractSignal4Default1{ @SuppressWarnings("unused") - private Signal4Default1(Q containingObject) { + private Signal4Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - public Signal4Default1(Q containingObject, Supplier arg4Default){ + public Signal4Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default){ super(arg4Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1050,17 +996,25 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal4} with default values for parameters 3 and 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default2 extends AbstractSignal4Default2{ @SuppressWarnings("unused") - private Signal4Default2(Q containingObject) { + private Signal4Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1069,7 +1023,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal4Default2(Q containingObject, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg3Default, arg4Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1079,17 +1033,25 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal4} with default values for parameters 2 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default3 extends AbstractSignal4Default3{ @SuppressWarnings("unused") - private Signal4Default3(Q containingObject) { + private Signal4Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1098,7 +1060,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal4Default3(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg2Default, arg3Default, arg4Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1108,18 +1070,25 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal4Default4 extends AbstractSignal4Default3 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal4} with default values for parameters 1 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ + public static final class Signal4Default4 extends AbstractSignal4Default4{ @SuppressWarnings("unused") - private Signal4Default4(Q containingObject) { - this.arg1Default = null; + private Signal4Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1129,40 +1098,38 @@ private S * @param containingObject the containing object */ public Signal4Default4( - Q containingObject, - Supplier arg1Default, Supplier arg2Default, - Supplier arg3Default, Supplier arg4Default){ - super(arg2Default, arg3Default, arg4Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + @StrictNonNull Q containingObject, + @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, + @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal5} with default value for parameter no. 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default1 extends AbstractSignal5Default1{ @SuppressWarnings("unused") - private Signal5Default1(Q containingObject) { + private Signal5Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1171,7 +1138,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal5Default1(Q containingObject, Supplier arg5Default){ + public Signal5Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg5Default){ super(arg5Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1181,17 +1148,26 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal5} with default values for parameters 4 and 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default2 extends AbstractSignal5Default2{ @SuppressWarnings("unused") - private Signal5Default2(Q containingObject) { + private Signal5Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1200,7 +1176,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal5Default2(Q containingObject, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg4Default, arg5Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1210,17 +1186,26 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal5} with default values for parameters 3 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default3 extends AbstractSignal5Default3{ @SuppressWarnings("unused") - private Signal5Default3(Q containingObject) { + private Signal5Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1229,7 +1214,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal5Default3(Q containingObject, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg3Default, arg4Default, arg5Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1239,17 +1224,26 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal5} with default values for parameters 2 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default4 extends AbstractSignal5Default4{ @SuppressWarnings("unused") - private Signal5Default4(Q containingObject) { + private Signal5Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1258,7 +1252,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal5Default4(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default4(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg2Default, arg3Default, arg4Default, arg5Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1268,18 +1262,26 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal5Default5 extends AbstractSignal5Default4 implements QMetaObject.Emitable0{ + /** + * Equivalent to {@link Signal5} with default values for parameters 1 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ + public static final class Signal5Default5 extends AbstractSignal5Default5{ @SuppressWarnings("unused") - private Signal5Default5(Q containingObject) { - this.arg1Default = null; + private Signal5Default5(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1288,38 +1290,37 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal5Default5(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal5Default5(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal6} with default value for parameter no. 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default1 extends AbstractSignal6Default1{ @SuppressWarnings("unused") - private Signal6Default1(Q containingObject) { + private Signal6Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1328,7 +1329,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default1(Q containingObject, Supplier arg6Default){ + public Signal6Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg6Default){ super(arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1338,17 +1339,27 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal6} with default values for parameters 5 and 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default2 extends AbstractSignal6Default2{ @SuppressWarnings("unused") - private Signal6Default2(Q containingObject) { + private Signal6Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1357,7 +1368,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default2(Q containingObject, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg5Default, arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1367,17 +1378,27 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal6} with default values for parameters 4 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default3 extends AbstractSignal6Default3{ @SuppressWarnings("unused") - private Signal6Default3(Q containingObject) { + private Signal6Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1386,7 +1407,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default3(Q containingObject, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg4Default, arg5Default, arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1396,17 +1417,27 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal6} with default values for parameters 3 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default4 extends AbstractSignal6Default4{ @SuppressWarnings("unused") - private Signal6Default4(Q containingObject) { + private Signal6Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1415,7 +1446,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default4(Q containingObject, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default4(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg3Default, arg4Default, arg5Default, arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1425,17 +1456,27 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal6} with default values for parameters 2 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default5 extends AbstractSignal6Default5{ @SuppressWarnings("unused") - private Signal6Default5(Q containingObject) { + private Signal6Default5(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1444,7 +1485,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default5(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default5(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1454,18 +1495,27 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal6Default6 extends AbstractSignal6Default5 implements QMetaObject.Emitable0{ + /** + * Equivalent to {@link Signal6} with default values for parameters 1 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ + public static final class Signal6Default6 extends AbstractSignal6Default6{ @SuppressWarnings("unused") - private Signal6Default6(Q containingObject) { - this.arg1Default = null; + private Signal6Default6(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1474,37 +1524,38 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal6Default6(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal6Default6(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default value for parameter no. 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default1 extends AbstractSignal7Default1{ @SuppressWarnings("unused") - private Signal7Default1(Q containingObject) { + private Signal7Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1513,7 +1564,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default1(Q containingObject, Supplier arg7Default){ + public Signal7Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg7Default){ super(arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1523,17 +1574,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default values for parameters 6 and 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default2 extends AbstractSignal7Default2 { @SuppressWarnings("unused") - private Signal7Default2(Q containingObject) { + private Signal7Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1542,7 +1604,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default2(Q containingObject, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1552,17 +1614,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default values for parameters 5 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default3 extends AbstractSignal7Default3 { @SuppressWarnings("unused") - private Signal7Default3(Q containingObject) { + private Signal7Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1571,7 +1644,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default3(Q containingObject, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg5Default, arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1581,17 +1654,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default values for parameters 4 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default4 extends AbstractSignal7Default4 { @SuppressWarnings("unused") - private Signal7Default4(Q containingObject) { + private Signal7Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1600,7 +1684,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default4(Q containingObject, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default4(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg4Default, arg5Default, arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1610,17 +1694,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default values for parameters 3 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default5 extends AbstractSignal7Default5 { @SuppressWarnings("unused") - private Signal7Default5(Q containingObject) { + private Signal7Default5(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1629,7 +1724,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default5(Q containingObject, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default5(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1639,17 +1734,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal7} with default values for parameters 2 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default6 extends AbstractSignal7Default6 { @SuppressWarnings("unused") - private Signal7Default6(Q containingObject) { + private Signal7Default6(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1658,7 +1764,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default6(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default6(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1668,18 +1774,28 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal7Default7 extends AbstractSignal7Default6 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal7} with default values for parameters 1 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ + public static final class Signal7Default7 extends AbstractSignal7Default7{ @SuppressWarnings("unused") - private Signal7Default7(Q containingObject) { - this.arg1Default = null; + private Signal7Default7(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1688,37 +1804,39 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal7Default7(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(2); - } + public Signal7Default7(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default value for parameter no. 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default1 extends AbstractSignal8Default1{ @SuppressWarnings("unused") - private Signal8Default1(Q containingObject) { + private Signal8Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1727,7 +1845,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default1(Q containingObject, Supplier arg8Default){ + public Signal8Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg8Default){ super(arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1737,17 +1855,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 7 and 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default2 extends AbstractSignal8Default2 { @SuppressWarnings("unused") - private Signal8Default2(Q containingObject) { + private Signal8Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1756,7 +1886,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default2(Q containingObject, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1766,17 +1896,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 6 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default3 extends AbstractSignal8Default3 { @SuppressWarnings("unused") - private Signal8Default3(Q containingObject) { + private Signal8Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1785,7 +1927,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default3(Q containingObject, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1795,17 +1937,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 5 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default4 extends AbstractSignal8Default4 { @SuppressWarnings("unused") - private Signal8Default4(Q containingObject) { + private Signal8Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1814,7 +1968,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default4(Q containingObject, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default4(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg5Default, arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1824,17 +1978,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 4 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default5 extends AbstractSignal8Default5 { @SuppressWarnings("unused") - private Signal8Default5(Q containingObject) { + private Signal8Default5(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1843,7 +2009,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default5(Q containingObject, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default5(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1853,17 +2019,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 3 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default6 extends AbstractSignal8Default6 { @SuppressWarnings("unused") - private Signal8Default6(Q containingObject) { + private Signal8Default6(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1872,7 +2050,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default6(Q containingObject, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default6(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1882,17 +2060,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal8} with default values for parameters 2 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default7 extends AbstractSignal8Default7 { @SuppressWarnings("unused") - private Signal8Default7(Q containingObject) { + private Signal8Default7(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1901,7 +2091,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default7(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default7(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1911,18 +2101,29 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal8Default8 extends AbstractSignal8Default7 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal8} with default values for parameters 1 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ + public static final class Signal8Default8 extends AbstractSignal8Default8{ @SuppressWarnings("unused") - private Signal8Default8(Q containingObject) { - this.arg1Default = null; + private Signal8Default8(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1931,37 +2132,40 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal8Default8(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal8Default8(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default value for parameter no. 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default1 extends AbstractSignal9Default1{ @SuppressWarnings("unused") - private Signal9Default1(Q containingObject) { + private Signal9Default1(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1970,7 +2174,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default1(Q containingObject, Supplier arg9Default){ + public Signal9Default1(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg9Default){ super(arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1980,17 +2184,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 8 and 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default2 extends AbstractSignal9Default2 { @SuppressWarnings("unused") - private Signal9Default2(Q containingObject) { + private Signal9Default2(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -1999,7 +2216,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default2(Q containingObject, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default2(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2009,17 +2226,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 7 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default3 extends AbstractSignal9Default3 { @SuppressWarnings("unused") - private Signal9Default3(Q containingObject) { + private Signal9Default3(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2028,7 +2258,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default3(Q containingObject, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default3(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2038,17 +2268,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 6 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default4 extends AbstractSignal9Default4 { @SuppressWarnings("unused") - private Signal9Default4(Q containingObject) { + private Signal9Default4(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2057,7 +2300,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default4(Q containingObject, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default4(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2067,17 +2310,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 5 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default5 extends AbstractSignal9Default5 { @SuppressWarnings("unused") - private Signal9Default5(Q containingObject) { + private Signal9Default5(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2086,7 +2342,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default5(Q containingObject, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default5(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2096,17 +2352,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 4 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default6 extends AbstractSignal9Default6 { @SuppressWarnings("unused") - private Signal9Default6(Q containingObject) { + private Signal9Default6(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2115,7 +2384,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default6(Q containingObject, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default6(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2125,17 +2394,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 3 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default7 extends AbstractSignal9Default7 { @SuppressWarnings("unused") - private Signal9Default7(Q containingObject) { + private Signal9Default7(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2144,7 +2426,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default7(Q containingObject, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default7(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2154,17 +2436,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } + /** + * Equivalent to {@link Signal9} with default values for parameters 2 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default8 extends AbstractSignal9Default8 { @SuppressWarnings("unused") - private Signal9Default8(Q containingObject) { + private Signal9Default8(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2173,7 +2468,7 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default8(Q containingObject, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default8(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2183,18 +2478,30 @@ public Si * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } private final WeakReference containingObject; } - public static final class Signal9Default9 extends AbstractSignal9Default8 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal9} with default values for parameters 1 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ + public static final class Signal9Default9 extends AbstractSignal9Default9{ @SuppressWarnings("unused") - private Signal9Default9(Q containingObject) { - this.arg1Default = null; + private Signal9Default9(@StrictNonNull Q containingObject) { this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2203,27 +2510,17 @@ private S * @param type of the containing object. * @param containingObject the containing object */ - public Signal9Default9(Q containingObject, Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + public Signal9Default9(@StrictNonNull Q containingObject, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } - private final Supplier arg1Default; - - @Override public final void emit() { - emitDefaultSignal(arg1Default); - } - /** * Returns the object containing this signal. * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -2236,7 +2533,7 @@ public QtSignalEmitterInterface containingObject() { public abstract class MultiSignal extends QMetaObject.AbstractMultiSignal { private final WeakReference containingObject; - protected MultiSignal(Q containingObject){ + protected MultiSignal(@StrictNonNull Q containingObject){ super(); this.containingObject = new WeakReference<>(Objects.requireNonNull(containingObject)); } @@ -2246,7 +2543,7 @@ protected * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @NonNull QtSignalEmitterInterface containingObject() { return containingObject.get(); } @@ -2256,7 +2553,7 @@ public QtSignalEmitterInterface containingObject() { * @param connection the connection to be removed * @return true if the disconnection was successful. */ - public final boolean disconnect(QMetaObject.Connection connection) { + public final boolean disconnect(QMetaObject.@NonNull Connection connection) { return super.disconnect(connection); } @@ -2280,7 +2577,7 @@ public final boolean disconnectAll() { * @throws java.lang.RuntimeException Raised if the signal object could not be successfully introspected or if the * signatures of the signal and slot are incompatible. */ - public final QMetaObject.Connection connect(Object receiver, String method, Qt.ConnectionType... type) { + public final QMetaObject.@NonNull Connection connect(Object receiver, String method, Qt.ConnectionType... type) { if (receiver == null) throw new NullPointerException("Receiver must be non-null"); if (method == null) @@ -2297,7 +2594,7 @@ public final QMetaObject.Connection connect(Object receiver, String method, Qt.C * connection has not been previously established by a call to connect. * @throws QNoSuchSlotException Raised if the method passed in the slot object was not found */ - public final boolean disconnect(Object receiver, String method) { + public final boolean disconnect(@Nullable Object receiver, @Nullable String method) { if (method != null && receiver == null) throw new IllegalArgumentException("Receiver cannot be null if you specify a method"); return super.disconnect(receiver, method); @@ -2310,9 +2607,8 @@ public final boolean disconnect(Object receiver, String method) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public final io.qt.core.QMetaObject.Connection connect(io.qt.core.QMetaObject.Slot0 slot, io.qt.core.Qt.ConnectionType... connectionType) throws io.qt.QNoSuchSignalException{ + public final io.qt.core.QMetaObject.@NonNull Connection connect(io.qt.core.QMetaObject.@StrictNonNull Slot0 slot, io.qt.core.Qt.@StrictNonNull ConnectionType @StrictNonNull... connectionType) throws io.qt.QNoSuchSignalException{ return super.connect(slot, connectionType); } @@ -2322,32 +2618,32 @@ public final io.qt.core.QMetaObject.Connection connect(io.qt.core.QMetaObject.Sl * @param slot the slot to be disconnected * @return true if successfully disconnected, or false otherwise. */ - public final boolean disconnect(io.qt.core.QMetaObject.Slot0 slot) { + public final boolean disconnect(io.qt.core.QMetaObject.@StrictNonNull Slot0 slot) { return super.disconnect(slot); } @io.qt.QtUninvokable - private QMetaObject.Connection connectSlot(QMetaObject.AbstractSlot slotObject, Qt.ConnectionType[] connectionType) { + private QMetaObject.@NonNull Connection connectSlot(QMetaObject.@StrictNonNull AbstractSlot slotObject, Qt.ConnectionType[] connectionType) { return super.connect(slotObject, connectionType); } @io.qt.QtUninvokable - private boolean disconnectSlot(QMetaObject.AbstractSlot slotObject) { + private boolean disconnectSlot(QMetaObject.@StrictNonNull AbstractSlot slotObject) { return super.disconnect(slotObject); } @io.qt.QtUninvokable - private QMetaObject.Connection connectSignal(QMetaObject.AbstractSignal slotObject, Qt.ConnectionType[] connectionType) { + private QMetaObject.@NonNull Connection connectSignal(QMetaObject.@StrictNonNull AbstractSignal slotObject, Qt.ConnectionType[] connectionType) { return super.connect(slotObject, connectionType); } @io.qt.QtUninvokable - private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { + private boolean disconnectSignal(QMetaObject.@StrictNonNull AbstractSignal slotObject) { return super.disconnect(slotObject); } } - public static void emit(PrivateSignal0 signal) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal0 signal) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2357,7 +2653,7 @@ public static void emit(PrivateSignal0 signal) throws io.qt.QSignalAccessExcepti } } - public static void emit(PrivateSignal1 signal, A arg1) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal1 signal, A arg1) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2367,7 +2663,7 @@ public static void emit(PrivateSignal1 signal, A arg1) throws io.qt.QSign } } - public static void emit(PrivateSignal2 signal, A arg1, B arg2) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal2 signal, A arg1, B arg2) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2377,7 +2673,7 @@ public static void emit(PrivateSignal2 signal, A arg1, B arg2) throws } } - public static void emit(PrivateSignal3 signal, A arg1, B arg2, C arg3) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal3 signal, A arg1, B arg2, C arg3) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2387,7 +2683,7 @@ public static void emit(PrivateSignal3 signal, A arg1, B arg2, C } } - public static void emit(PrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2397,7 +2693,7 @@ public static void emit(PrivateSignal4 signal, A arg1, B arg2 } } - public static void emit(PrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2407,7 +2703,7 @@ public static void emit(PrivateSignal5 signal, A arg1, B } } - public static void emit(PrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2417,7 +2713,7 @@ public static void emit(PrivateSignal6 signal, A arg1 } } - public static void emit(PrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2427,7 +2723,7 @@ public static void emit(PrivateSignal7 signal, A } } - public static void emit(PrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -2437,7 +2733,7 @@ public static void emit(PrivateSignal8 signal } } - public static void emit(PrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMap.java b/src/java/modules/qtjambi/main/io/qt/core/QMap.java index bb2dd53a..b218b620 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QMap.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QMap.java @@ -29,9 +29,19 @@ ****************************************************************************/ package io.qt.core; +import java.util.AbstractMap.SimpleImmutableEntry; +import java.util.ArrayList; import java.util.Collection; +import java.util.Comparator; +import java.util.List; import java.util.Map; +import java.util.NavigableMap; +import java.util.NavigableSet; import java.util.Objects; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.function.BiPredicate; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QFlags; @@ -44,9 +54,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QMap

    + *

    Java wrapper for Qt class QMap

    */ -public class QMap extends io.qt.internal.AbstractMap implements Cloneable +public class QMap extends AbstractAssociativeContainer implements NavigableMap, Cloneable { static { QtJambi_LibraryUtilities.initialize(); @@ -55,6 +65,7 @@ public class QMap extends io.qt.internal.AbstractMap implements Clonea /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QMap(QPrivateConstructor p) { @@ -63,27 +74,27 @@ protected QMap(QPrivateConstructor p) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMap(Class keyType, QMetaType.Type valueMetaType) { + public QMap(Class keyType, QMetaType.Type valueMetaType) { this(keyType, new QMetaType(valueMetaType)); } /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMap(QMetaType.Type keyMetaType, Class valueType) { + public QMap(QMetaType.Type keyMetaType, Class valueType) { this(new QMetaType(keyMetaType), valueType); } /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -93,7 +104,7 @@ public QMap(QMetaType.Type keyMetaType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -103,7 +114,7 @@ public QMap(QMetaType keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -113,11 +124,11 @@ public QMap(QMetaType.Type keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyType the type K * @param valueType the type V */ - public QMap(Class keyType, Class valueType) { + public QMap(Class keyType, Class valueType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); QMetaType valueMetaType = QMetaType.fromType(valueType); @@ -126,10 +137,10 @@ public QMap(Class keyType, Class valueType) { /** * Creating a container with given content. - *

    See QMap::QMap(const QMap<Key, T> &)

    + *

    See QMap::QMap(const QMap<Key, T> &)

    * @param other map */ - public QMap(Map other) { + public QMap(Map other) { super(null); QPair metaTypes = QMap.findMapMetaType(Objects.requireNonNull(other)); initialize(metaTypes.first.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.first), metaTypes.second.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.second), other); @@ -137,11 +148,11 @@ public QMap(Map other) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMap(Class keyType, QMetaType valueMetaType) { + public QMap(Class keyType, QMetaType valueMetaType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); initialize(keyType, QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -149,11 +160,11 @@ public QMap(Class keyType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMap(QMetaType keyMetaType, Class valueType) { + public QMap(QMetaType keyMetaType, Class valueType) { super(null); QMetaType valueMetaType = QMetaType.fromType(valueType); initialize(keyMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueType, QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -161,7 +172,7 @@ public QMap(QMetaType keyMetaType, Class valueType) { /** * Creating a container with given key and value type. - *

    See QMap::QMap()

    + *

    See QMap::QMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -236,22 +247,29 @@ static boolean checkContainerType(QMetaType keyMetaType, QMetaType valueMetaType return true; } + /** + * Creating a QMap with QVariant type ({@code QMap}). + *

    See QMap::QMap()

    + */ public static QMap createVariantMap() { return new QMap<>(new QMetaType(QMetaType.Type.QString), new QMetaType(QMetaType.Type.QVariant)); } @QtUninvokable - private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map other); + private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map other); /** * Creates and returns a copy of this object. - *

    See QMap::QMap(const QMap<Key, T> &)

    + *

    See QMap::QMap(const QMap<Key, T> &)

    */ @Override - public QMap clone(){ + public QMap clone(){ return new QMap<>(this); } + /** + *

    See QMap::clear()

    + */ @QtUninvokable public final void clear() { clear(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -259,8 +277,11 @@ public final void clear() { @QtUninvokable static native void clear(long __this__nativeId); + /** + *

    See QMap::contains(Key)const

    + */ @QtUninvokable - public final boolean contains(K key) { + public final boolean contains(Key key) { try{ return contains(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -270,15 +291,21 @@ public final boolean contains(K key) { } } @QtUninvokable - static native boolean contains(long __this__nativeId, K key); + static native boolean contains(long __this__nativeId, Key key); + /** + *

    See QMap::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + *

    See QMap::count(Key)const

    + */ @QtUninvokable - public final int count(K key) { + public final int count(Key key) { try{ return count(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -288,38 +315,62 @@ public final int count(K key) { } } @QtUninvokable - static native int count(long __this__nativeId, K key); + static native int count(long __this__nativeId, Key key); + /** + * Provides a mutable C++ iterator to the containers begin. + *

    See QMap::begin()

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator begin() { + protected final io.qt.core.QAssociativeIterator begin() { return begin(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeIterator begin(long __this__nativeId); + static native io.qt.core.QAssociativeIterator begin(long __this__nativeId); + /** + * Provides a mutable C++ iterator to the containers end. + *

    See QMap::end()

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator end() { + protected final io.qt.core.QAssociativeIterator end() { return end(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeIterator end(long __this__nativeId); + static native io.qt.core.QAssociativeIterator end(long __this__nativeId); + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QMap::constBegin()const

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constBegin() { + protected final io.qt.core.QAssociativeConstIterator constBegin() { return constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator constBegin(long __this__nativeId); + static native io.qt.core.QAssociativeConstIterator constBegin(long __this__nativeId); + /** + * Provides a constant C++ iterator to the containers end. + *

    See QMap::constEnd()const

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constEnd() { + protected final io.qt.core.QAssociativeConstIterator constEnd() { return constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator constEnd(long __this__nativeId); + static native io.qt.core.QAssociativeConstIterator constEnd(long __this__nativeId); + /** + *

    See QMap::find(Key)const

    + * @return iterator + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key) { + public final io.qt.core.QAssociativeConstIterator find(Key key) { try{ return find(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -329,24 +380,33 @@ public final io.qt.core.QAssociativeConstIterator find(K key) { } } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, K key); + static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, Key key); + /** + *

    See QMap::first()const

    + */ @QtUninvokable - public final V first() { + public final T first() { return first(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native V first(long __this__nativeId); + static native T first(long __this__nativeId); + /** + *

    See QMap::firstKey()const

    + */ @QtUninvokable - public final K firstKey() { + public final Key firstKey() { return firstKey(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native K firstKey(long __this__nativeId); + static native Key firstKey(long __this__nativeId); + /** + *

    See QMap::insert(Key,T)

    + */ @QtUninvokable - public final void insert(K key, V value) { + public final void insert(Key key, T value) { try{ insert(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -356,19 +416,29 @@ public final void insert(K key, V value) { } } @QtUninvokable - static native void insert(long __this__nativeId, K key, V value); + static native void insert(long __this__nativeId, Key key, T value); + /** + *

    See QMap::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; } + /** + *

    See QMap::key(T)const

    + */ @QtUninvokable - public final K key(V value) { + public final Key key(T value) { return key(value, null); } + + /** + *

    See QMap::key(T,Key)const

    + */ @QtUninvokable - public final K key(V value, K defaultKey) { + public final Key key(T value, Key defaultKey) { try{ return key(QtJambi_LibraryUtilities.internal.nativeId(this), value, defaultKey); }catch(QNoNativeResourcesException e) { @@ -378,17 +448,25 @@ public final K key(V value, K defaultKey) { } } @QtUninvokable - static native K key(long __this__nativeId, V value, K defaultKey); + static native Key key(long __this__nativeId, T value, Key defaultKey); + /** + * Returns a {@link List} of the keys contained in this associative container. + *

    See QMap::keys()const

    + * @return list of keys + */ @QtUninvokable - public final java.util.List keys() { + public final QList keys() { return keys(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native java.util.List keys(long __this__nativeId); + static native QList keys(long __this__nativeId); + /** + *

    See QMap::keys(T)const

    + */ @QtUninvokable - public final java.util.List keys(V value) { + public final QList keys(T value) { try{ return keysForValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); }catch(QNoNativeResourcesException e) { @@ -398,24 +476,33 @@ public final java.util.List keys(V value) { } } @QtUninvokable - static native java.util.List keysForValue(long __this__nativeId, V value); + static native QList keysForValue(long __this__nativeId, T value); + /** + *

    See QMap::last()const

    + */ @QtUninvokable - public final V last() { + public final T last() { return last(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native V last(long __this__nativeId); + static native T last(long __this__nativeId); + /** + *

    See QMap::lastKey()const

    + */ @QtUninvokable - public final K lastKey() { + public final Key lastKey() { return lastKey(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native K lastKey(long __this__nativeId); + static native Key lastKey(long __this__nativeId); + /** + *

    See QMap::lowerBound(Key)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator lowerBound(K key) { + public final io.qt.core.QAssociativeConstIterator lowerBound(Key key) { try{ return lowerBound(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -425,15 +512,47 @@ public final io.qt.core.QAssociativeConstIterator lowerBound(K key) { } } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator lowerBound(long __this__nativeId, K key); + static native io.qt.core.QAssociativeConstIterator lowerBound(long __this__nativeId, Key key); - @QtUninvokable - private final boolean operator_equal(java.util.Map other) { - return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), other); + /** + *

    See QMap::removeIf(Predicate)

    + */ + @QtUninvokable + public final int removeIf(Predicate predicate) { + List keys = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(Key key : QHash.keys(nativeId)) { + if(predicate.test(key)) + keys.add(key); + } + int count = 0; + for (Key key : keys) { + count += remove(nativeId, key); + } + return count; } - @QtUninvokable - static native boolean operator_equal(long __this__nativeId, java.util.Map other); + /** + *

    See QMap::removeIf(Predicate)

    + */ + @QtUninvokable + public final int removeIf(BiPredicate predicate) { + List> pairs = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(QPair pair : QHash.constBegin(nativeId)) { + if(predicate.test(pair.first, pair.second)) + pairs.add(pair); + } + int count = 0; + for (QPair pair : pairs) { + count += remove(nativeId, pair.first); + } + return count; + } + + /** + *

    See QMap::remove(Key)

    + */ @QtUninvokable public final int removeAll(Object key) { try{ @@ -450,8 +569,11 @@ public final int removeAll(Object key) { } } @QtUninvokable - static native int remove(long __this__nativeId, K key); + static native int remove(long __this__nativeId, Key key); + /** + *

    See QMap::size()const

    + */ @QtUninvokable public final int size() { return size(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -459,8 +581,11 @@ public final int size() { @QtUninvokable static native int size(long __this__nativeId); + /** + *

    See QMap::take(Key)

    + */ @QtUninvokable - public final V take(K key) { + public final T take(Key key) { try { return take(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -470,10 +595,13 @@ public final V take(K key) { } } @QtUninvokable - static native V take(long __this__nativeId, K key); + static native T take(long __this__nativeId, Key key); + /** + *

    See QMap::upperBound(Key)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator upperBound(K key) { + public final io.qt.core.QAssociativeConstIterator upperBound(Key key) { try{ return upperBound(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -483,15 +611,21 @@ public final io.qt.core.QAssociativeConstIterator upperBound(K key) { } } @QtUninvokable - static native io.qt.core.QAssociativeConstIterator upperBound(long __this__nativeId, K key); - + static native io.qt.core.QAssociativeConstIterator upperBound(long __this__nativeId, Key key); + /** + *

    See QMap::value(Key)const

    + */ @QtUninvokable - public final V value(K key) { + public final T value(Key key) { return value(key, null); } + + /** + *

    See QMap::value(Key,T)const

    + */ @QtUninvokable - public final V value(K key, V defaultValue) { + public final T value(Key key, T defaultValue) { try{ return value(QtJambi_LibraryUtilities.internal.nativeId(this), key, defaultValue); }catch(QNoNativeResourcesException e) { @@ -501,25 +635,36 @@ public final V value(K key, V defaultValue) { } } @QtUninvokable - static native V value(long __this__nativeId, K key, V defaultValue); + static native T value(long __this__nativeId, Key key, T defaultValue); + /** + *

    See QMap::values()const

    + */ @QtUninvokable - public final java.util.List values() { + public final QList values() { return values(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - static native java.util.List values(long __this__nativeId); + static native QList values(long __this__nativeId); + /** + *

    See operator==(QMap<Key,T>,QMap<Key,T>)

    + */ @SuppressWarnings("unchecked") @Override @QtUninvokable public boolean equals(Object other) { if (other instanceof java.util.Map && checkContainerType(this.keyMetaType(), this.valueMetaType(), (java.util.Map) other)) { - return operator_equal((java.util.Map) other); + return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), (java.util.Map) other); } return false; } + @QtUninvokable + static native boolean operator_equal(long __this__nativeId, java.util.Map other); + /** + * Returns the objects's hash code computed by qHash(QMap<Key,T>). + */ @Override @QtUninvokable public int hashCode() { @@ -532,6 +677,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -547,9 +695,12 @@ public String toString() { @QtUninvokable private static native String toString(long __this__nativeId); + /** + * Returns the maps comparator. + */ @Override @QtUninvokable - public final java.util.Comparator comparator(){ + public final java.util.Comparator comparator(){ return createComparator(keyMetaType().javaType(), this); } @@ -558,14 +709,14 @@ public final java.util.Comparator comparator(){ @QtUninvokable private static native void disposeAccess(long containerAccess); @QtUninvokable - private static native boolean lessThan(K key1, K key2, long containerAccess); + private static native boolean lessThan(Key key1, Key key2, long containerAccess); @QtUninvokable - static java.util.Comparator createComparator(Class keyType, io.qt.QtObject object){ + static java.util.Comparator createComparator(Class keyType, io.qt.QtObject object){ if(Comparable.class.isAssignableFrom(keyType)) { return (o1,o2)->{ @SuppressWarnings("unchecked") - Comparable c1 = (Comparable)o1; + Comparable c1 = (Comparable)o1; return c1.compareTo(o2); }; }else if(QFlags.class.isAssignableFrom(keyType)) { @@ -600,11 +751,16 @@ static java.util.Comparator createComparator(Class keyType, io.qt.QtOb }; } long _containerAccess = clonedAccess(QtJambi_LibraryUtilities.internal.nativeId(object)); - java.util.Comparator comparator = (o1,o2)->lessThan(o1, o2, _containerAccess) ? -1 : (lessThan(o2, o1, _containerAccess) ? 1 : 0); + java.util.Comparator comparator = (o1,o2)->lessThan(o1, o2, _containerAccess) ? -1 : (lessThan(o2, o1, _containerAccess) ? 1 : 0); QtJambi_LibraryUtilities.internal.registerCleaner(comparator, ()->disposeAccess(_containerAccess)); return comparator; } + /** + * Returns {@code true} if this map contains a mapping for the specified key. + * @see Map#containsKey(Object) + * @see #contains(Object) + */ @Override @QtUninvokable public final boolean containsKey(Object key){ @@ -622,9 +778,15 @@ public final boolean containsKey(Object key){ } } + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * @see Map#get(Object) + * @see #value(Object) + */ @Override @QtUninvokable - public final V get(Object key){ + public final T get(Object key){ try{ return value(QtJambi_LibraryUtilities.internal.nativeId(this), key, null); }catch(QNoNativeResourcesException e) { @@ -639,20 +801,30 @@ public final V get(Object key){ } } + /** + * Associates the specified value with the specified key in this map. + * @see Map#put(Object, Object) + * @see #insert(Object, Object) + */ @Override @QtUninvokable - public final V put(K key, V value){ - V old = value(key); + public final T put(Key key, T value){ + T old = value(key); insert(key, value); return old; } + /** + * Removes the mapping for a key from this map if it is present. + * @see Map#remove(Object) + * @see #take(Object) + */ @SuppressWarnings("unchecked") @Override @QtUninvokable - public final V remove(Object key){ + public final T remove(Object key){ try{ - return take(QtJambi_LibraryUtilities.internal.nativeId(this), (K)key); + return take(QtJambi_LibraryUtilities.internal.nativeId(this), (Key)key); }catch(QNoNativeResourcesException e) { throw e; }catch(IllegalArgumentException e) { @@ -665,6 +837,12 @@ public final V remove(Object key){ } } + /** + * Returns {@code true} if this map maps one or more keys to the + * specified value. + * @see Map#containsValue(Object) + * @see #key(Object, Object) + */ @Override @QtUninvokable public final boolean containsValue(Object value){ @@ -682,7 +860,9 @@ public final boolean containsValue(Object value){ } } - + /** + *

    See operator<<(QDataStream&,QMap<Key,T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -691,6 +871,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QMap<Key,T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -716,320 +899,319 @@ final QMetaType valueMetaType() { /** * Returns a QMap containing a single mapping. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the mapping's key - * @param v1 the mapping's value + * @param t1 the mapping's value * @return a {@code QMap} containing the specified mapping * @throws NullPointerException if the key or the value is {@code null} */ - public static QMap of(K k1, V v1) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1) { + QMap result = new QMap<>( QList.findElementMetaType(k1), - QList.findElementMetaType(v1)); - result.insert(k1, v1); + QList.findElementMetaType(t1)); + result.insert(k1, t1); return result; } /** * Returns a QMap containing two mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2), - QList.findElementMetaType(v1, v2)); - result.insert(k1, v1); - result.insert(k2, v2); + QList.findElementMetaType(t1, t2)); + result.insert(k1, t1); + result.insert(k2, t2); return result; } /** * Returns a QMap containing three mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3), - QList.findElementMetaType(v1, v2, v3)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); + QList.findElementMetaType(t1, t2, t3)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); return result; } /** * Returns a QMap containing four mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4), - QList.findElementMetaType(v1, v2, v3, v4)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); + QList.findElementMetaType(t1, t2, t3, t4)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); return result; } /** * Returns a QMap containing five mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5), - QList.findElementMetaType(v1, v2, v3, v4, v5)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); + QList.findElementMetaType(t1, t2, t3, t4, t5)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); return result; } /** * Returns a QMap containing six mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, Key k6, T t6) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); return result; } /** * Returns a QMap containing seven mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); return result; } /** * Returns a QMap containing eight mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); return result; } /** * Returns a QMap containing nine mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); return result; } /** * Returns a QMap containing ten mappings. * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @param k10 the tenth mapping's key - * @param v10 the tenth mapping's value + * @param t10 the tenth mapping's value * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) { - QMap result = new QMap<>( + public static QMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9, Key k10, T t10) { + QMap result = new QMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); - result.insert(k10, v10); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); + result.insert(k10, t10); return result; } @@ -1051,23 +1233,59 @@ public static QMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v * entry(26, "z")); * } * - * @param the {@code QMap}'s key type - * @param the {@code QMap}'s value type + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type * @param entries {@code java.util.Map.Entry}s containing the keys and values from which the map is populated * @return a {@code QMap} containing the specified mappings * @throws NullPointerException if any entry, key, or value is {@code null}, or if * the {@code entries} array is {@code null} */ @SafeVarargs - public static QMap ofEntries(Map.Entry entry0, Map.Entry... entries) { + public static QMap ofEntries(Map.Entry entry0, Map.Entry... entries) { QPair metaTypes = findMapMetaType(entry0, entries); - QMap result = new QMap<>(metaTypes.first, metaTypes.second); + QMap result = new QMap<>(metaTypes.first, metaTypes.second); result.insert(entry0.getKey(), entry0.getValue()); - for (Map.Entry entry : entries) { + for (Map.Entry entry : entries) { result.insert(entry.getKey(), entry.getValue()); } return result; } + + /** + * Returns a QMap containing keys and values extracted from the given pairs. + * + * @apiNote + * It is convenient to create the pair using the {@link QPair#pair(Object, Object)} method. + * For example, + * + *
    {@code
    +     *     import static java.util.QPair.pair;
    +     *
    +     *     QMap map = QMap.ofPairs(
    +     *         pair(1, "a"),
    +     *         pair(2, "b"),
    +     *         pair(3, "c"),
    +     *         ...
    +     *         pair(26, "z"));
    +     * }
    + * + * @param the {@code QMap}'s key type + * @param the {@code QMap}'s value type + * @param pairs {@code QPair}s containing the keys and values from which the map is populated + * @return a {@code QMap} containing the specified mappings + * @throws NullPointerException if any pair, key, or value is {@code null}, or if + * the {@code pairs} array is {@code null} + */ + @SafeVarargs + public static QMap ofPairs(QPair pair0, QPair... pairs) { + QPair metaTypes = findMapMetaType(pair0, pairs); + QMap result = new QMap<>(metaTypes.first, metaTypes.second); + result.insert(pair0.first, pair0.second); + for (QPair entry : pairs) { + result.insert(entry.first, entry.second); + } + return result; + } static RuntimeException handleException(RuntimeException e, QMetaType keyMetaType, QMetaType valueMetaType, Object key, Object value) { if(( (e.getClass()==RuntimeException.class && e.getMessage()!=null && e.getMessage().startsWith("Cannot cast to type")) @@ -1095,6 +1313,69 @@ static RuntimeException handleException(RuntimeException e, QMetaType keyMetaTyp return e; } + @SafeVarargs + static QPair findMapMetaType(QPair entry0, QPair... entries){ + QMetaType keyMetaType = QList.getMetaType(entry0.first); + Class keyType = entry0==null ? null : entry0.first.getClass(); + QMetaType valueMetaType = QList.getMetaType(entry0.second); + Class valueType = entry0==null ? null : entry0.second.getClass(); + for(QPair e : entries) { + if(keyMetaType!=null) { + QMetaType _result = QList.getMetaType(e.first); + if(!keyMetaType.isValid() || keyMetaType.id()==QMetaType.Type.Nullptr.value()) + keyMetaType = _result; + if(!_result.equals(keyMetaType)) { + keyMetaType = null; + } + } + if(valueMetaType!=null) { + QMetaType _result = QList.getMetaType(e.second); + if(!valueMetaType.isValid() || valueMetaType.id()==QMetaType.Type.Nullptr.value()) + valueMetaType = _result; + if(!_result.equals(valueMetaType)) { + valueMetaType = null; + } + } + if(e.first!=null) { + if(keyType==null) { + keyType = e.first.getClass(); + }else { + Class type2 = e.first.getClass(); + if(type2!=keyType) { + if(type2.isAssignableFrom(keyType)) { + keyType = type2; + }else if(!keyType.isAssignableFrom(type2)) { + do{ + keyType = keyType.getSuperclass(); + }while(!keyType.isAssignableFrom(type2)); + } + } + } + } + if(e.second!=null) { + if(valueType==null) { + valueType = e.second.getClass(); + }else { + Class type2 = e.second.getClass(); + if(type2!=valueType) { + if(type2.isAssignableFrom(valueType)) { + valueType = type2; + }else if(!valueType.isAssignableFrom(type2)) { + do{ + valueType = keyType.getSuperclass(); + }while(!valueType.isAssignableFrom(type2)); + } + } + } + } + } + if(keyMetaType==null) + keyMetaType = QMetaType.fromType(keyType); + if(valueMetaType==null) + valueMetaType = QMetaType.fromType(valueType); + return new QPair<>(keyMetaType, valueMetaType); + } + @SafeVarargs static QPair findMapMetaType(Map.Entry entry0, Map.Entry... entries){ QMetaType keyMetaType = QList.getMetaType(entry0.getKey()); @@ -1232,4 +1513,376 @@ static QPair findMapMetaType(Map elements){ return new QPair<>(keyMetaType, valueMetaType); } } + + /** + *

    Equivalent to {@code subMap(fromKey, true, toKey, false)}. + * @see NavigableMap#subMap(Object, Object) + */ + @Override + @QtUninvokable + public final NavigableMap subMap(Key fromKey, Key toKey) { + return subMap(fromKey, true, toKey, false); + } + + /** + *

    Equivalent to {@code headMap(toKey, false)}. + * @see NavigableMap#headMap(Object) + */ + @Override + @QtUninvokable + public final NavigableMap headMap(Key toKey) { + return headMap(toKey, false); + } + + /** + *

    Equivalent to {@code tailMap(fromKey, true)}. + * @see NavigableMap#tailMap(Object) + */ + @Override + @QtUninvokable + public final NavigableMap tailMap(Key fromKey) { + return tailMap(fromKey, true); + } + + /** + * Returns a key-value mapping associated with the greatest key + * strictly less than the given key, or {@code null} if there is + * no such key. + * @see NavigableMap#lowerEntry(Object) + */ + @Override + @QtUninvokable + public final Entry lowerEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) + iterator.decrement(); + if(iterator.equals(constEnd())) + return null; + else + return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); + } + + /** + * Returns the greatest key strictly less than the given key, or + * {@code null} if there is no such key. + * @see NavigableMap#lowerKey(Object) + */ + @Override + @QtUninvokable + public final Key lowerKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) + iterator.decrement(); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the greatest key + * less than or equal to the given key, or {@code null} if there + * is no such key. + * @see NavigableMap#floorEntry(Object) + */ + @Override + @QtUninvokable + public final Entry floorEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else + return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); + } + + /** + * Returns the greatest key less than or equal to the given key, + * or {@code null} if there is no such key. + * @see NavigableMap#floorKey(Object) + */ + @Override + @QtUninvokable + public final Key floorKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least key + * greater than or equal to the given key, or {@code null} if + * there is no such key. + * @see NavigableMap#ceilingEntry(Object) + */ + @Override + @QtUninvokable + public final Entry ceilingEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else + return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); + } + + /** + * Returns the least key greater than or equal to the given key, + * or {@code null} if there is no such key. + * @see NavigableMap#ceilingKey(Object) + */ + @Override + @QtUninvokable + public final Key ceilingKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least key + * strictly greater than the given key, or {@code null} if there + * is no such key. + * @see NavigableMap#higherEntry(Object) + */ + @Override + @QtUninvokable + public final Entry higherEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) + iterator.increment(); + if(iterator.equals(constEnd())) + return null; + else + return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); + } + + /** + * Returns the least key strictly greater than the given key, or + * {@code null} if there is no such key. + * @see NavigableMap#higherKey(Object) + */ + @Override + @QtUninvokable + public final Key higherKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) + iterator.increment(); + if(iterator.equals(constEnd())) + return null; + else + return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least + * key in this map, or {@code null} if the map is empty. + * @see NavigableMap#firstEntry() + */ + @Override + @QtUninvokable + public final Entry firstEntry() { + if(isEmpty()) + return null; + else return new SimpleImmutableEntry<>(constBegin().checkedKey(), constBegin().checkedValue()); + } + + /** + * Returns a key-value mapping associated with the greatest + * key in this map, or {@code null} if the map is empty. + * @see NavigableMap#lastEntry() + */ + @Override + @QtUninvokable + public final Entry lastEntry() { + if(isEmpty()) + return null; + else { + QAssociativeConstIterator end = constEnd(); + end.decrement(); + return new SimpleImmutableEntry<>(end.checkedKey(), end.checkedValue()); + } + } + + /** + * Removes and returns a key-value mapping associated with + * the least key in this map, or {@code null} if the map is empty. + * @see NavigableMap#pollFirstEntry() + */ + @Override + @QtUninvokable + public final Entry pollFirstEntry() { + Entry entry = firstEntry(); + if(entry!=null) { + remove(entry.getKey()); + } + return entry; + } + + /** + * Removes and returns a key-value mapping associated with + * the greatest key in this map, or {@code null} if the map is empty. + * @see NavigableMap#pollLastEntry() + */ + @Override + @QtUninvokable + public final Entry pollLastEntry() { + Entry entry = lastEntry(); + if(entry!=null) { + remove(entry.getKey()); + } + return entry; + } + + /** + * Returns a reverse order view of the mappings contained in this map. + * @see NavigableMap#descendingMap() + */ + @Override + @QtUninvokable + public final NavigableMap descendingMap() { + Comparator comparator = this.comparator(); + TreeMap descendingMap = new TreeMap<>((Key o1, Key o2)-> -1*comparator.compare(o1, o2)); + descendingMap.putAll(this); + return descendingMap; + } + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * @see NavigableMap#navigableKeySet() + */ + @Override + @QtUninvokable + public final NavigableSet navigableKeySet() { + TreeSet set = new TreeSet<>(this.comparator()); + set.addAll(this.keySet()); + return set; + } + + /** + * Returns a reverse order {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in descending order. + * @see NavigableMap#descendingKeySet() + */ + @Override + @QtUninvokable + public final NavigableSet descendingKeySet() { + Comparator comparator = this.comparator(); + TreeSet set = new TreeSet<>((Key o1, Key o2)-> -1*comparator.compare(o1, o2)); + set.addAll(this.keySet()); + return set; + } + + /** + * Returns a view of the portion of this map whose keys range from + * {@code fromKey} to {@code toKey}. If {@code fromKey} and + * {@code toKey} are equal, the returned map is empty unless + * {@code fromInclusive} and {@code toInclusive} are both true. The + * returned map is backed by this map, so changes in the returned map are + * reflected in this map, and vice-versa. The returned map supports all + * optional map operations that this map supports. + * @see NavigableMap#subMap(Object, boolean, Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap subMap(Key fromKey, boolean fromInclusive, Key toKey, boolean toInclusive) { + NavigableMap map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + QAssociativeConstIterator k2 = lowerBound(toKey); + if(!k2.equals(constEnd())) { + QAssociativeConstIterator k1 = lowerBound(fromKey); + if(!fromInclusive) { + k1.increment(); + } + for(; !k1.equals(k2); k1.increment()) { + map.put(k1.checkedKey(), k1.checkedValue()); + } + if(toInclusive) { + map.put(k2.checkedKey(), k2.checkedValue()); + } + } + return map; + } + + /** + * Returns a view of the portion of this map whose keys are less than (or + * equal to, if {@code inclusive} is true) {@code toKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. The returned map supports all optional + * map operations that this map supports. + * @see NavigableMap#headMap(Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap headMap(Key toKey, boolean inclusive) { + QAssociativeConstIterator k = lowerBound(toKey); + NavigableMap map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + if(!k.equals(constEnd())) { + for(QAssociativeConstIterator iterator = constBegin(); !iterator.equals(k); iterator.increment()) { + map.put(iterator.checkedKey(), iterator.checkedValue()); + } + if(inclusive) { + map.put(k.checkedKey(), k.checkedValue()); + } + } + return map; + } + + /** + * Returns a view of the portion of this map whose keys are greater than (or + * equal to, if {@code inclusive} is true) {@code fromKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. + * @see NavigableMap#tailMap(Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap tailMap(Key fromKey, boolean inclusive) { + QAssociativeConstIterator k = lowerBound(fromKey); + QAssociativeConstIterator end = constEnd(); + NavigableMap map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + if(!k.equals(end)) { + if(!inclusive) { + k.increment(); + } + for(;!k.equals(end); k.increment()) { + map.put(k.checkedKey(), k.checkedValue()); + } + } + return map; + } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMath.java b/src/java/modules/qtjambi/main/io/qt/core/QMath.java deleted file mode 100644 index 616160e0..00000000 --- a/src/java/modules/qtjambi/main/io/qt/core/QMath.java +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -package io.qt.core; - -import static java.lang.Math.*; - -/** - * Use {@link QtGlobal} instead. - */ -@Deprecated -public final class QMath { - - private QMath() {} - - /** - * Use {@link QtGlobal#qFuzzyCompare(double, double)} instead. - */ - @Deprecated - public static boolean fuzzyCompare(double p1, double p2) - { - return (abs(p1 - p2) * 1000000000000. <= min(abs(p1), abs(p2))); - } - - /** - * Use {@link QtGlobal#qFuzzyCompare(float, float)} instead. - */ - @Deprecated - public static boolean fuzzyCompare(float p1, float p2) - { - return (abs(p1 - p2) * 100000.f <= min(abs(p1), abs(p2))); - } - - /** - * Use {@link QtGlobal#qFuzzyIsNull(double)} instead. - */ - @Deprecated - public static boolean fuzzyIsNull(double d) - { - return abs(d) <= 0.000000000001; - } - - /** - * Use {@link QtGlobal#qFuzzyIsNull(float)} instead. - */ - @Deprecated - public static boolean fuzzyIsNull(float f) - { - return abs(f) <= 0.00001f; - } - - /** - * Use {@link QtGlobal#qBound(byte,byte,byte)} instead. - */ - @Deprecated - public static byte bound(byte min, byte val, byte max){ return (byte)max(min, min(max, val)); } - - /** - * Use {@link QtGlobal#qBound(short,short,short)} instead. - */ - @Deprecated - public static short bound(short min, short val, short max){ return (short)max(min, min(max, val)); } - - /** - * Use {@link QtGlobal#qBound(int,int,int)} instead. - */ - @Deprecated - public static int bound(int min, int val, int max){ return max(min, min(max, val)); } - - /** - * Use {@link QtGlobal#qBound(long,long,long)} instead. - */ - @Deprecated - public static long bound(long min, long val, long max){ return max(min, min(max, val)); } - - /** - * Use {@link QtGlobal#qBound(float,float,float)} instead. - */ - @Deprecated - public static float bound(float min, float val, float max){ return max(min, min(max, val)); } - - /** - * Use {@link QtGlobal#qBound(double,double,double)} instead. - */ - @Deprecated - public static double bound(double min, double val, double max){ return max(min, min(max, val)); } -} - diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMetaObject.java b/src/java/modules/qtjambi/main/io/qt/core/QMetaObject.java index 46544f8e..13e2a5ec 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QMetaObject.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QMetaObject.java @@ -65,10 +65,11 @@ import io.qt.QtSignalEmitterInterface; import io.qt.QtThreadAffineInterface; import io.qt.QtUninvokable; +import io.qt.StrictNonNull; import io.qt.internal.ClassAnalyzerUtility; /** - *

    Java wrapper for Qt class QMetaObject

    + *

    Java wrapper for Qt class QMetaObject

    */ public final class QMetaObject { static { @@ -899,7 +900,7 @@ public static Object invokeMethod(QObject obj, String member, Qt.ConnectionType * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method0 method) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method0 method) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection); } @@ -917,13 +918,13 @@ public static R invokeMethod(Method0 method) throws QUnsuccessfulInvocati * * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @return method result value - if the invocation is asynchronous, the return value cannot be evaluated. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method0 method, Qt.ConnectionType type) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method0 method, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1012,7 +1013,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method1 method, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method1 method, A arg1) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1); } @@ -1031,14 +1032,14 @@ public static R invokeMethod(Method1 method, A arg1) throws QUnsucces * @param The type of the first parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @return method result value - if the invocation is asynchronous, the return value cannot be evaluated. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method1 method, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method1 method, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1131,7 +1132,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method2 method, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method2 method, A arg1, B arg2) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2); } @@ -1151,7 +1152,7 @@ public static R invokeMethod(Method2 method, A arg1, B arg2) thro * @param The type of the second parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @return method result value - if the invocation is asynchronous, the return value cannot be evaluated. @@ -1159,7 +1160,7 @@ public static R invokeMethod(Method2 method, A arg1, B arg2) thro */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method2 method, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method2 method, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1252,7 +1253,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method3 method, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method3 method, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); } @@ -1273,7 +1274,7 @@ public static R invokeMethod(Method3 method, A arg1, B arg2, * @param The type of the third parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1282,7 +1283,7 @@ public static R invokeMethod(Method3 method, A arg1, B arg2, */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method3 method, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method3 method, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1378,7 +1379,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method4 method, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method4 method, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); } @@ -1400,7 +1401,7 @@ public static R invokeMethod(Method4 method, A arg1, B ar * @param The type of the fourth parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1410,7 +1411,7 @@ public static R invokeMethod(Method4 method, A arg1, B ar */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method4 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method4 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1509,7 +1510,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method5 method, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method5 method, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); } @@ -1532,7 +1533,7 @@ public static R invokeMethod(Method5 method, A arg1, * @param The type of the fifth parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1543,7 +1544,7 @@ public static R invokeMethod(Method5 method, A arg1, */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method5 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method5 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1648,7 +1649,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method6 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method6 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); } @@ -1672,7 +1673,7 @@ public static R invokeMethod(Method6 method, A ar * @param The type of the sixth parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1684,7 +1685,7 @@ public static R invokeMethod(Method6 method, A ar */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method6 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method6 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1789,7 +1790,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method7 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method7 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } @@ -1814,7 +1815,7 @@ public static R invokeMethod(Method7 method, * @param The type of the seventh parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1827,7 +1828,7 @@ public static R invokeMethod(Method7 method, */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method7 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method7 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -1935,7 +1936,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method8 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method8 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); } @@ -1961,7 +1962,7 @@ public static R invokeMethod(Method8 meth * @param The type of the eighth parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -1975,7 +1976,7 @@ public static R invokeMethod(Method8 meth */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method8 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method8 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -2086,7 +2087,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static R invokeMethod(Method9 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method9 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { return invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); } @@ -2113,7 +2114,7 @@ public static R invokeMethod(Method9 * @param The type of the ninth parameter of the method. * @param The return type of the method. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -2128,7 +2129,7 @@ public static R invokeMethod(Method9 */ @SuppressWarnings("unchecked") @QtUninvokable - public static R invokeMethod(Method9 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static R invokeMethod(Method9 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); if(info!=null && info.qobject!=null && !info.qobject.isDisposed() && info.reflectiveMethod!=null) { QMetaMethod qmethod = fromReflectedMethod(info.reflectiveMethod); @@ -2219,7 +2220,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot0 method) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot0 method) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection); } @@ -2235,11 +2236,11 @@ public static void invokeMethod(Slot0 method) throws QUnsuccessfulInvocationExce * * * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot0 method, Qt.ConnectionType type) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot0 method, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null && !info.qobject.isDisposed()) { @@ -2344,7 +2345,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot1 method, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot1 method, A arg1) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1); } @@ -2361,12 +2362,12 @@ public static void invokeMethod(Slot1 method, A arg1) throws QUnsuccessfu * * @param The type of the first parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot1 method, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot1 method, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null && !info.qobject.isDisposed()) { @@ -2480,7 +2481,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot2 method, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot2 method, A arg1, B arg2) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2); } @@ -2498,13 +2499,13 @@ public static void invokeMethod(Slot2 method, A arg1, B arg2) throws * @param The type of the first parameter of the slot. * @param The type of the second parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot2 method, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot2 method, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null && !info.qobject.isDisposed()) { @@ -2625,7 +2626,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot3 method, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot3 method, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); } @@ -2644,14 +2645,14 @@ public static void invokeMethod(Slot3 method, A arg1, B arg2, C a * @param The type of the second parameter of the slot. * @param The type of the third parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot3 method, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot3 method, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null) { @@ -2769,7 +2770,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot4 method, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot4 method, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); } @@ -2789,7 +2790,7 @@ public static void invokeMethod(Slot4 method, A arg1, B arg2, * @param The type of the third parameter of the slot. * @param The type of the fourth parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -2797,7 +2798,7 @@ public static void invokeMethod(Slot4 method, A arg1, B arg2, * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot4 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot4 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null) { @@ -2918,7 +2919,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot5 method, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot5 method, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); } @@ -2939,7 +2940,7 @@ public static void invokeMethod(Slot5 method, A arg1, B a * @param The type of the fourth parameter of the slot. * @param The type of the fifth parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -2948,7 +2949,7 @@ public static void invokeMethod(Slot5 method, A arg1, B a * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot5 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot5 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null) { @@ -3071,7 +3072,7 @@ public boolean event(QEvent event) { * @param arg6 Argument for the sixth parameter. * @throws QUnsuccessfulInvocationException if not able to invoke slot */ - public static void invokeMethod(Slot6 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot6 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); } @@ -3093,7 +3094,7 @@ public static void invokeMethod(Slot6 method, A arg1, * @param The type of the fifth parameter of the slot. * @param The type of the sixth parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -3103,7 +3104,7 @@ public static void invokeMethod(Slot6 method, A arg1, * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot6 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot6 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null) { @@ -3230,7 +3231,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot7 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot7 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } @@ -3253,7 +3254,7 @@ public static void invokeMethod(Slot7 method, A a * @param The type of the sixth parameter of the slot. * @param The type of the seventh parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -3264,7 +3265,7 @@ public static void invokeMethod(Slot7 method, A a * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot7 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot7 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null) { @@ -3394,7 +3395,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot8 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot8 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); } @@ -3418,7 +3419,7 @@ public static void invokeMethod(Slot8 method, * @param The type of the seventh parameter of the slot. * @param The type of the eighth parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -3430,7 +3431,7 @@ public static void invokeMethod(Slot8 method, * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot8 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot8 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null && !info.qobject.isDisposed()) { @@ -3563,7 +3564,7 @@ public boolean event(QEvent event) { * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot9 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot9 method, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { invokeMethod(method, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); } @@ -3588,7 +3589,7 @@ public static void invokeMethod(Slot9 met * @param The type of the eighth parameter of the slot. * @param The type of the ninth parameter of the slot. * @param method invoked method - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -3601,7 +3602,7 @@ public static void invokeMethod(Slot9 met * @throws QUnsuccessfulInvocationException if not able to invoke slot */ @QtUninvokable - public static void invokeMethod(Slot9 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(Slot9 method, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { ClassAnalyzerUtility.LambdaInfo info = ClassAnalyzerUtility.lambdaInfo(method); QThread thread = null; if(info!=null && info.qobject!=null && !info.qobject.isDisposed()) { @@ -3716,7 +3717,7 @@ public boolean event(QEvent event) { * @param signal invoked signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal0 signal) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal0 signal) throws QUnsuccessfulInvocationException { invokeMethod(signal, Qt.ConnectionType.AutoConnection); } @@ -3732,11 +3733,11 @@ public static void invokeMethod(AbstractPrivateSignal0 signal) throws QUnsuccess * * * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal0 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal0 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { QObject qobject = (QObject)signal.containingObject(); QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); @@ -3756,7 +3757,7 @@ public static void invokeMethod(AbstractPrivateSignal0 signal, Qt.ConnectionType * @param arg1 Argument for the first parameter. */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal1 signal, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal1 signal, A arg1) throws QUnsuccessfulInvocationException { invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); } @@ -3773,12 +3774,12 @@ public static void invokeMethod(AbstractPrivateSignal1 signal, A arg1) th * * @param The type of the first parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal1 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal1 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { QObject qobject = (QObject)signal.containingObject(); QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); @@ -3790,6 +3791,38 @@ public static void invokeMethod(AbstractPrivateSignal1 signal, Qt.Connect throw new QUnsuccessfulInvocationException("Unable to invoke method."); } + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal1Default1 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal1Default1 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + /** * Calling invokeMethod(signal, AutoConnection, ...). * @@ -3800,7 +3833,7 @@ public static void invokeMethod(AbstractPrivateSignal1 signal, Qt.Connect * @param arg2 Argument for the second parameter. */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal2 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal2 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); } @@ -3818,13 +3851,13 @@ public static void invokeMethod(AbstractPrivateSignal2 signal, A arg1 * @param The type of the first parameter of the signal. * @param The type of the second parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal2 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal2 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { QObject qobject = (QObject)signal.containingObject(); QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); @@ -3836,54 +3869,2197 @@ public static void invokeMethod(AbstractPrivateSignal2 signal, Qt.Con throw new QUnsuccessfulInvocationException("Unable to invoke method."); } + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal2Default1 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal2Default1 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal2Default2 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal2Default2 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal3 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default1 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default1 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default2 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default2 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default3 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal3Default3 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + /** * Calling invokeMethod(signal, AutoConnection, ...). * * @param The type of the first parameter of the signal. * @param The type of the second parameter of the signal. * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal4 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default1 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default2 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default2 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default3 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default3 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default4 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal4Default4 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal5 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default1 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, signal.arg5Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default2 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default2 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default3 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default3 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default4 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default4 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default5 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal5Default5 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractPrivateSignal6 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default1 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, signal.arg6Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default2 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default2 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, signal.arg5Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default3 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default4 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default4 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default5 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default5 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal6Default6 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + public static void invokeMethod(AbstractSignal6Default6 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal7 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default1 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, signal.arg7Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default2 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default2 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, signal.arg6Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default3 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, signal.arg5Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default4 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default4 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default5 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default5 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default6 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default6 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default7 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal7Default7 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal8 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { + if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { + QObject qobject = (QObject)signal.containingObject(); + QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); + if(qmethod!=null) { + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + return; + } + } + throw new QUnsuccessfulInvocationException("Unable to invoke method."); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default1 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, signal.arg8Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default2 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default2 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, signal.arg7Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default3 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, signal.arg6Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default4 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default4 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, signal.arg5Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default5 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default5 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default6 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default6 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default7 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @param arg1 Argument for the first parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default7 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default8 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); + } + + /** + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    + * + * @param
    The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param signal invoked signal + * @param type synchronous or asynchronous invocation + * @throws QUnsuccessfulInvocationException if not able to invoke signal + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal8Default8 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. + * @param arg9 Argument for the ninth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractPrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default1 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default2 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default3 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default4 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + * @param arg4 Argument for the fourth parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default5 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + * @param signal invoked signal + * @param arg1 Argument for the first parameter. + * @param arg2 Argument for the second parameter. + * @param arg3 Argument for the third parameter. + */ + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default6 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + } + + /** + * Calling invokeMethod(signal, AutoConnection, ...). + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal3 signal, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3); + public static void invokeMethod(AbstractSignal9Default7 signal, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2); } /** - *

    Invokes the signal.

    - * - *

    The invocation can be either synchronous or asynchronous, depending on type:

    - *
      - *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • - *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • - *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • - *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • - *
    + * Calling invokeMethod(signal, AutoConnection, ...). * * @param
    The type of the first parameter of the signal. * @param The type of the second parameter of the signal. * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation * @param arg1 Argument for the first parameter. - * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + public static void invokeMethod(AbstractSignal9Default8 signal, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1); } /** @@ -3893,15 +6069,16 @@ public static void invokeMethod(AbstractPrivateSignal3 signal, Qt * @param The type of the second parameter of the signal. * @param The type of the third parameter of the signal. * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param arg1 Argument for the first parameter. - * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4); + public static void invokeMethod(AbstractSignal9Default9 signal) throws QUnsuccessfulInvocationException { + invokeMethod(signal, Qt.ConnectionType.AutoConnection); } /** @@ -3919,47 +6096,37 @@ public static void invokeMethod(AbstractPrivateSignal4 signal * @param The type of the second parameter of the signal. * @param The type of the third parameter of the signal. * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @param arg4 Argument for the fourth parameter. + * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. + * @param arg9 Argument for the ninth parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal4 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException, QNoSuchMethodException { + public static void invokeMethod(AbstractPrivateSignal9 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException { if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { QObject qobject = (QObject)signal.containingObject(); QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4); + qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); return; } } throw new QUnsuccessfulInvocationException("Unable to invoke method."); } - /** - * Calling invokeMethod(signal, AutoConnection, ...). - * - * @param The type of the first parameter of the signal. - * @param The type of the second parameter of the signal. - * @param The type of the third parameter of the signal. - * @param The type of the fourth parameter of the signal. - * @param The type of the fifth parameter of the signal. - * @param signal invoked signal - * @param arg1 Argument for the first parameter. - * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - */ - @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5); - } - /** *

    Invokes the signal.

    * @@ -3976,30 +6143,37 @@ public static void invokeMethod(AbstractPrivateSignal5 si * @param The type of the third parameter of the signal. * @param The type of the fourth parameter of the signal. * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @param arg4 Argument for the fourth parameter. * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @param arg8 Argument for the eighth parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal5 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + public static void invokeMethod(AbstractSignal9Default1 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, signal.arg9Default.get()); } /** - * Calling invokeMethod(signal, AutoConnection, ...). + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    * * @param
    The type of the first parameter of the signal. * @param The type of the second parameter of the signal. @@ -4007,16 +6181,23 @@ public static void invokeMethod(AbstractPrivateSignal5 si * @param The type of the fourth parameter of the signal. * @param The type of the fifth parameter of the signal. * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @param arg4 Argument for the fourth parameter. * @param arg5 Argument for the fifth parameter. + * @param arg6 Argument for the sixth parameter. + * @param arg7 Argument for the seventh parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6); + public static void invokeMethod(AbstractSignal9Default2 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, signal.arg8Default.get()); } /** @@ -4036,8 +6217,11 @@ public static void invokeMethod(AbstractPrivateSignal6 The type of the fourth parameter of the signal. * @param The type of the fifth parameter of the signal. * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. @@ -4046,20 +6230,21 @@ public static void invokeMethod(AbstractPrivateSignal6 void invokeMethod(AbstractPrivateSignal6 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + @QtUninvokable + public static void invokeMethod(AbstractSignal9Default3 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, arg6, signal.arg7Default.get()); } /** - * Calling invokeMethod(signal, AutoConnection, ...). + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    * * @param
    The type of the first parameter of the signal. * @param The type of the second parameter of the signal. @@ -4068,17 +6253,20 @@ public static void invokeMethod(AbstractPrivateSignal6 The type of the fifth parameter of the signal. * @param The type of the sixth parameter of the signal. * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @param arg4 Argument for the fourth parameter. * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + public static void invokeMethod(AbstractSignal9Default4 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, arg5, signal.arg6Default.get()); } /** @@ -4099,32 +6287,31 @@ public static void invokeMethod(AbstractPrivateSignal7 The type of the fifth parameter of the signal. * @param The type of the sixth parameter of the signal. * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. - * @param arg7 Argument for the seventh parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal7 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + public static void invokeMethod(AbstractSignal9Default5 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, arg4, signal.arg5Default.get()); } /** - * Calling invokeMethod(signal, AutoConnection, ...). + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    * * @param
    The type of the first parameter of the signal. * @param The type of the second parameter of the signal. @@ -4134,18 +6321,17 @@ public static void invokeMethod(AbstractPrivateSignal7 The type of the sixth parameter of the signal. * @param The type of the seventh parameter of the signal. * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. - * @param arg7 Argument for the seventh parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + public static void invokeMethod(AbstractSignal9Default6 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, arg3, signal.arg4Default.get()); } /** @@ -4167,33 +6353,28 @@ public static void invokeMethod(AbstractPrivateSignal8 The type of the sixth parameter of the signal. * @param The type of the seventh parameter of the signal. * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. - * @param arg7 Argument for the seventh parameter. - * @param arg8 Argument for the eighth parameter. * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal8 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + public static void invokeMethod(AbstractSignal9Default7 signal, Qt.ConnectionType type, A arg1, B arg2) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, arg2, signal.arg3Default.get()); } /** - * Calling invokeMethod(signal, AutoConnection, ...). + *

    Invokes the signal.

    + * + *

    The invocation can be either synchronous or asynchronous, depending on type:

    + *
      + *
    • If type is {@link Qt.ConnectionType#DirectConnection}, the member will be invoked immediately.
    • + *
    • If type is {@link Qt.ConnectionType#QueuedConnection}, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.
    • + *
    • If type is {@link Qt.ConnectionType#BlockingQueuedConnection}, the method will be invoked in the same way as for {@link Qt.ConnectionType#QueuedConnection}, except that the current thread will block until the event is delivered. Using this connection type to communicate between objects in the same thread will lead to deadlocks.
    • + *
    • If type is {@link Qt.ConnectionType#AutoConnection}, the member is invoked synchronously if obj lives in the same thread as the caller; otherwise it will invoke the member asynchronously.
    • + *
    * * @param
    The type of the first parameter of the signal. * @param The type of the second parameter of the signal. @@ -4205,19 +6386,13 @@ public static void invokeMethod(AbstractPrivateSignal8 The type of the eighth parameter of the signal. * @param The type of the ninth parameter of the signal. * @param signal invoked signal + * @param type synchronous or asynchronous invocation * @param arg1 Argument for the first parameter. - * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. - * @param arg7 Argument for the seventh parameter. - * @param arg8 Argument for the eighth parameter. - * @param arg9 Argument for the ninth parameter. + * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - invokeMethod(signal, Qt.ConnectionType.AutoConnection, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + public static void invokeMethod(AbstractSignal9Default8 signal, Qt.ConnectionType type, A arg1) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, arg1, signal.arg2Default.get()); } /** @@ -4241,29 +6416,12 @@ public static void invokeMethod(AbstractPrivateSignal9 The type of the eighth parameter of the signal. * @param The type of the ninth parameter of the signal. * @param signal invoked signal - * @param type synchronous or asynchronous invokation - * @param arg1 Argument for the first parameter. - * @param arg2 Argument for the second parameter. - * @param arg3 Argument for the third parameter. - * @param arg4 Argument for the fourth parameter. - * @param arg5 Argument for the fifth parameter. - * @param arg6 Argument for the sixth parameter. - * @param arg7 Argument for the seventh parameter. - * @param arg8 Argument for the eighth parameter. - * @param arg9 Argument for the ninth parameter. + * @param type synchronous or asynchronous invocation * @throws QUnsuccessfulInvocationException if not able to invoke signal */ @QtUninvokable - public static void invokeMethod(AbstractPrivateSignal9 signal, Qt.ConnectionType type, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws QUnsuccessfulInvocationException, QNoSuchMethodException { - if(signal.containingObject() instanceof QObject && !((QObject)signal.containingObject()).isDisposed()) { - QObject qobject = (QObject)signal.containingObject(); - QMetaMethod qmethod = qobject.metaObject().methodByIndex(qobject.metaObject().metaObjectPointer, signal.methodIndex()); - if(qmethod!=null) { - qmethod.invoke(qobject, type, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); - return; - } - } - throw new QUnsuccessfulInvocationException("Unable to invoke method."); + public static void invokeMethod(AbstractSignal9Default9 signal, Qt.ConnectionType type) throws QUnsuccessfulInvocationException { + invokeMethod(signal, type, signal.arg1Default.get()); } @Override @@ -4324,7 +6482,6 @@ protected final void checkConnection(Object receiver, boolean slotObject) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... connectionType) { return addConnectionToSlotObject(slot, connectionType); @@ -4356,7 +6513,7 @@ public static abstract class AbstractSignal extends CoreUtility.AbstractSignal i super(declaringClass, isDisposedSignal); } - AbstractSignal(String signalName, Class[] types) { + AbstractSignal(@StrictNonNull String signalName, Class[] types) { super(signalName, types); } @@ -4577,6 +6734,9 @@ public static interface Slot9 extends AbstractSlot{ public void invoke(A a, B b, C c, D d, E e, F f, G g, H h, I i) throws Throwable; } + /** + * Interface abstraction of signals. + */ public static interface Signal{ String name(); String fullName(); @@ -4592,7 +6752,7 @@ public static interface GenericConnectable extends Signal{ } /** - * An interface to signal callable without parameters. + * An interface for anything connectable to a signal without parameters. */ public static interface Connectable0 extends Signal{ } @@ -4697,14 +6857,14 @@ public static interface Connectable9 extends Signal{ } /** - * An interface to parameterless signal. + * An interface for parameterless emitable signal. */ public static interface Emitable0 extends Signal{ public void emit(); } /** - * An interface for anything connectable to a signal with one parameter. + * An interface for emitable signal with one parameter. * @param The type of the first parameter. */ public static interface Emitable1 extends Signal{ @@ -4712,7 +6872,7 @@ public static interface Emitable1 extends Signal{ } /** - * An interface for anything connectable to a signal with two parameters. + * An interface for emitable signal with two parameters. * @param The type of the first parameter. * @param The type of the second parameter. */ @@ -4721,7 +6881,7 @@ public static interface Emitable2 extends Signal{ } /** - * An interface for anything connectable to a signal with three parameters. + * An interface for emitable signal with three parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4731,7 +6891,7 @@ public static interface Emitable3 extends Signal{ } /** - * An interface for anything connectable to a signal with four parameters. + * An interface for emitable signal with four parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4742,7 +6902,7 @@ public static interface Emitable4 extends Signal{ } /** - * An interface for anything connectable to a signal with five parameters. + * An interface for emitable signal with five parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4754,7 +6914,7 @@ public static interface Emitable5 extends Signal{ } /** - * An interface for anything connectable to a signal with six parameters. + * An interface for emitable signal with six parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4767,7 +6927,7 @@ public static interface Emitable6 extends Signal{ } /** - * An interface for anything connectable to a signal with seven parameters. + * An interface for emitable signal with seven parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4781,7 +6941,7 @@ public static interface Emitable7 extends Signal{ } /** - * An interface for anything connectable to a signal with eight parameters. + * An interface for emitable signal with eight parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4796,7 +6956,7 @@ public static interface Emitable8 extends Signal{ } /** - * An interface for anything connectable to a signal with nine parameters. + * An interface for emitable signal with nine parameters. * @param The type of the first parameter. * @param The type of the second parameter. * @param The type of the third parameter. @@ -4812,7 +6972,7 @@ public static interface Emitable9 extends Signal{ } /** - * A generic slot handle to a method of variadic arguments with return value. + * A generic handle to a method of variadic arguments with return value. * @param The type of the return value of the method. */ @FunctionalInterface @@ -4969,7 +7129,7 @@ public static abstract class AbstractPrivateSignal0 extends AbstractSignal { super(types); } - AbstractPrivateSignal0(String signalName, Class... types) { + AbstractPrivateSignal0(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -4980,7 +7140,6 @@ public static abstract class AbstractPrivateSignal0 extends AbstractSignal { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5035,7 +7194,7 @@ public static abstract class AbstractPrivateSignal1 extends AbstractSignal { super(types); } - AbstractPrivateSignal1(String signalName, Class... types) { + AbstractPrivateSignal1(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5046,7 +7205,6 @@ public static abstract class AbstractPrivateSignal1 extends AbstractSignal { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5059,7 +7217,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5125,7 +7282,7 @@ public static abstract class AbstractPrivateSignal2 extends AbstractSignal super(types); } - AbstractPrivateSignal2(String signalName, Class... types) { + AbstractPrivateSignal2(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5136,7 +7293,6 @@ public static abstract class AbstractPrivateSignal2 extends AbstractSignal * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5149,7 +7305,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5162,7 +7317,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5240,7 +7394,7 @@ public static abstract class AbstractPrivateSignal3 extends AbstractSig super(types); } - AbstractPrivateSignal3(String signalName, Class... types) { + AbstractPrivateSignal3(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5251,7 +7405,6 @@ public static abstract class AbstractPrivateSignal3 extends AbstractSig * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5264,7 +7417,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5277,7 +7429,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5290,7 +7441,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5379,7 +7529,7 @@ public static abstract class AbstractPrivateSignal4 extends Abstract super(types); } - AbstractPrivateSignal4(String signalName, Class... types) { + AbstractPrivateSignal4(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5390,7 +7540,6 @@ public static abstract class AbstractPrivateSignal4 extends Abstract * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5403,7 +7552,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5416,7 +7564,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5429,7 +7576,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5442,7 +7588,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5541,7 +7686,7 @@ public static abstract class AbstractPrivateSignal5 extends Abstr super(types); } - AbstractPrivateSignal5(String signalName, Class... types) { + AbstractPrivateSignal5(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5552,7 +7697,6 @@ public static abstract class AbstractPrivateSignal5 extends Abstr * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5565,7 +7709,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5578,7 +7721,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5591,7 +7733,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5604,7 +7745,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5617,7 +7757,6 @@ public final QMetaObject.Connection connect(Slot4null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot5 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5728,7 +7867,7 @@ public static abstract class AbstractPrivateSignal6 extends Ab super(types); } - AbstractPrivateSignal6(String signalName, Class... types) { + AbstractPrivateSignal6(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5739,7 +7878,6 @@ public static abstract class AbstractPrivateSignal6 extends Ab * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5752,7 +7890,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5765,7 +7902,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5778,7 +7914,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5791,7 +7926,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5804,7 +7938,6 @@ public final QMetaObject.Connection connect(Slot4null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot5 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5817,7 +7950,6 @@ public final QMetaObject.Connection connect(Slot5null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot6 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5939,7 +8071,7 @@ public static abstract class AbstractPrivateSignal7 extends super(types); } - AbstractPrivateSignal7(String signalName, Class... types) { + AbstractPrivateSignal7(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -5950,7 +8082,6 @@ public static abstract class AbstractPrivateSignal7 extends * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5963,7 +8094,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5976,7 +8106,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -5989,7 +8118,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6002,7 +8130,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6015,7 +8142,6 @@ public final QMetaObject.Connection connect(Slot4null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot5 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6028,7 +8154,6 @@ public final QMetaObject.Connection connect(Slot5null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot6 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6041,7 +8166,6 @@ public final QMetaObject.Connection connect(Slot6null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot7 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6173,7 +8297,7 @@ public static abstract class AbstractPrivateSignal8 exte super(types); } - AbstractPrivateSignal8(String signalName, Class... types) { + AbstractPrivateSignal8(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6184,7 +8308,6 @@ public static abstract class AbstractPrivateSignal8 exte * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6197,7 +8320,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6210,7 +8332,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6223,7 +8344,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6236,7 +8356,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6249,7 +8368,6 @@ public final QMetaObject.Connection connect(Slot4null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot5 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6262,7 +8380,6 @@ public final QMetaObject.Connection connect(Slot5null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot6 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6275,7 +8392,6 @@ public final QMetaObject.Connection connect(Slot6null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot7 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6288,7 +8404,6 @@ public final QMetaObject.Connection connect(Slot7null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot8 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6431,7 +8546,7 @@ public static abstract class AbstractPrivateSignal9 e super(types); } - AbstractPrivateSignal9(String signalName, Class... types) { + AbstractPrivateSignal9(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6442,7 +8557,6 @@ public static abstract class AbstractPrivateSignal9 e * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6455,7 +8569,6 @@ public final QMetaObject.Connection connect(Slot0 slot, Qt.ConnectionType... typ * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot1 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6468,7 +8581,6 @@ public final QMetaObject.Connection connect(Slot1 slot, Qt.Connection * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot2 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6481,7 +8593,6 @@ public final QMetaObject.Connection connect(Slot2 slot, Qt. * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot3 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6494,7 +8605,6 @@ public final QMetaObject.Connection connect(Slot3 * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot4 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6507,7 +8617,6 @@ public final QMetaObject.Connection connect(Slot4null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot5 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6520,7 +8629,6 @@ public final QMetaObject.Connection connect(Slot5null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot6 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6533,7 +8641,6 @@ public final QMetaObject.Connection connect(Slot6null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot7 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6546,7 +8653,6 @@ public final QMetaObject.Connection connect(Slot7null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot8 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6559,7 +8665,6 @@ public final QMetaObject.Connection connect(Slot8null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ public final QMetaObject.Connection connect(Slot9 slot, Qt.ConnectionType... type) { return addConnectionToSlotObject(slot, type); @@ -6714,7 +8819,7 @@ public static abstract class AbstractPublicSignal0 extends AbstractPrivateSignal super(types); } - AbstractPublicSignal0(String signalName, Class... types) { + AbstractPublicSignal0(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6753,7 +8858,7 @@ public static abstract class AbstractPublicSignal1 extends AbstractPrivateSig super(types); } - AbstractPublicSignal1(String signalName, Class... types) { + AbstractPublicSignal1(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6793,7 +8898,7 @@ public static abstract class AbstractPublicSignal2 extends AbstractPrivateS super(types); } - AbstractPublicSignal2(String signalName, Class... types) { + AbstractPublicSignal2(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6834,7 +8939,7 @@ public static abstract class AbstractPublicSignal3 extends AbstractPrivat super(types); } - AbstractPublicSignal3(String signalName, Class... types) { + AbstractPublicSignal3(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6876,7 +8981,7 @@ public static abstract class AbstractPublicSignal4 extends AbstractPriv super(types); } - AbstractPublicSignal4(String signalName, Class... types) { + AbstractPublicSignal4(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6919,7 +9024,7 @@ public static abstract class AbstractPublicSignal5 extends AbstractPr super(types); } - AbstractPublicSignal5(String signalName, Class... types) { + AbstractPublicSignal5(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -6963,7 +9068,7 @@ public static abstract class AbstractPublicSignal6 extends Abstract super(types); } - AbstractPublicSignal6(String signalName, Class... types) { + AbstractPublicSignal6(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -7008,7 +9113,7 @@ public static abstract class AbstractPublicSignal7 extends Abstra super(types); } - AbstractPublicSignal7(String signalName, Class... types) { + AbstractPublicSignal7(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -7054,7 +9159,7 @@ public static abstract class AbstractPublicSignal8 extends Abst super(types); } - AbstractPublicSignal8(String signalName, Class... types) { + AbstractPublicSignal8(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -7101,7 +9206,7 @@ public static abstract class AbstractPublicSignal9 extends Ab super(types); } - AbstractPublicSignal9(String signalName, Class... types) { + AbstractPublicSignal9(@StrictNonNull String signalName, Class... types) { super(signalName, types); } @@ -7118,8 +9223,60 @@ public static abstract class AbstractPublicSignal9 extends Ab * @param arg9 */ @Override - public final void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) { - emitSignal(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + public final void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) { + emitSignal(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + } + + /** + * Supertype for all public default signals with one parameters. + * @param The type of the first parameter of the signal. + */ + public static abstract class AbstractSignal1Default1 extends AbstractPublicSignal1 implements Emitable0, Connectable0 { + AbstractSignal1Default1() { + this.arg1Default = null; + } + + AbstractSignal1Default1(@StrictNonNull Supplier arg1Default){ + super(); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal1Default1(@StrictNonNull Supplier arg1Default, Class declaringClass){ + super(declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal1Default1(@StrictNonNull Supplier arg1Default, Class... types) { + super(types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal1Default1(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Class... types) { + super(signalName, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); } } @@ -7160,7 +9317,7 @@ public static abstract class AbstractSignal2Default1 extends AbstractPubli } } - AbstractSignal2Default1(String signalName, Supplier arg2Default){ + AbstractSignal2Default1(@StrictNonNull String signalName, Supplier arg2Default){ super(signalName); if(arg2Default!=null){ this.arg2Default = arg2Default; @@ -7169,7 +9326,7 @@ public static abstract class AbstractSignal2Default1 extends AbstractPubli } } - AbstractSignal2Default1(String signalName, Supplier arg2Default, Class... types) { + AbstractSignal2Default1(@StrictNonNull String signalName, Supplier arg2Default, Class... types) { super(signalName, types); if(arg2Default!=null){ this.arg2Default = arg2Default; @@ -7194,6 +9351,59 @@ final void emitDefaultSignal(Supplier arg1Default) { super.emitDefaultSignal(arg1Default, arg2Default); } } + + /** + * Supertype for all public default signals with two parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ + public static abstract class AbstractSignal2Default2 extends AbstractSignal2Default1 implements Emitable0, Connectable0 { + AbstractSignal2Default2() { + this.arg1Default = null; + } + + AbstractSignal2Default2(@StrictNonNull Supplier arg1Default, Supplier arg2Default){ + super(arg2Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal2Default2(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Class declaringClass){ + super(arg2Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal2Default2(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Class... types) { + super(arg2Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal2Default2(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Class... types) { + super(signalName, arg2Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } /** * Supertype for all public default signals with three parameters. @@ -7233,7 +9443,7 @@ public static abstract class AbstractSignal3Default1 extends AbstractPu } } - AbstractSignal3Default1(String signalName, Supplier arg3Default, Class... types) { + AbstractSignal3Default1(@StrictNonNull String signalName, Supplier arg3Default, Class... types) { super(signalName, types); if(arg3Default!=null){ this.arg3Default = arg3Default; @@ -7304,7 +9514,7 @@ public static abstract class AbstractSignal3Default2 extends AbstractSi } } - AbstractSignal3Default2(String signalName, Supplier arg2Default, Supplier arg3Default, Class... types) { + AbstractSignal3Default2(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Class... types) { super(signalName, arg3Default, types); if(arg2Default!=null){ this.arg2Default = arg2Default; @@ -7329,6 +9539,60 @@ final void emitDefaultSignal(Supplier arg1Default) { super.emitDefaultSignal(arg1Default, arg2Default); } } + + /** + * Supertype for all public default signals with three parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ + public static abstract class AbstractSignal3Default3 extends AbstractSignal3Default2 implements Emitable0, Connectable0 { + AbstractSignal3Default3() { + this.arg1Default = null; + } + + AbstractSignal3Default3(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default){ + super(arg2Default, arg3Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal3Default3(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Class declaringClass){ + super(arg2Default, arg3Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal3Default3(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Class... types) { + super(arg2Default, arg3Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal3Default3(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Class... types) { + super(signalName, arg2Default, arg3Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } /** * Supertype for all public default signals with four parameters. @@ -7369,7 +9633,7 @@ public static abstract class AbstractSignal4Default1 extends Abstrac } } - AbstractSignal4Default1(String signalName, Supplier arg4Default, Class... types) { + AbstractSignal4Default1(@StrictNonNull String signalName, Supplier arg4Default, Class... types) { super(signalName, types); if(arg4Default!=null){ this.arg4Default = arg4Default; @@ -7447,7 +9711,7 @@ public static abstract class AbstractSignal4Default2 extends Abstrac } } - AbstractSignal4Default2(String signalName, Supplier arg3Default, Supplier arg4Default, Class... types) { + AbstractSignal4Default2(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Class... types) { super(signalName, arg4Default, types); if(arg3Default!=null){ this.arg3Default = arg3Default; @@ -7519,7 +9783,7 @@ public static abstract class AbstractSignal4Default3 extends Abstrac } } - AbstractSignal4Default3(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Class... types) { + AbstractSignal4Default3(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Class... types) { super(signalName, arg3Default, arg4Default, types); if(arg3Default!=null){ this.arg2Default = arg2Default; @@ -7544,6 +9808,61 @@ final void emitDefaultSignal(Supplier arg1Default) { super.emitDefaultSignal(arg1Default, arg2Default); } } + + /** + * Supertype for all public default signals with four parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ + public static abstract class AbstractSignal4Default4 extends AbstractSignal4Default3 implements Emitable0, Connectable0 { + AbstractSignal4Default4() { + this.arg1Default = null; + } + + AbstractSignal4Default4(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default){ + super(arg2Default, arg3Default, arg4Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal4Default4(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal4Default4(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal4Default4(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } /** * Supertype for all public default signals with five parameters. @@ -7585,7 +9904,7 @@ public static abstract class AbstractSignal5Default1 extends Abst } } - AbstractSignal5Default1(String signalName, Supplier arg5Default, Class... types) { + AbstractSignal5Default1(@StrictNonNull String signalName, Supplier arg5Default, Class... types) { super(signalName, types); if(arg5Default!=null){ this.arg5Default = arg5Default; @@ -7670,7 +9989,7 @@ public static abstract class AbstractSignal5Default2 extends Abst } } - AbstractSignal5Default2(String signalName, Supplier arg4Default, Supplier arg5Default, Class... types) { + AbstractSignal5Default2(@StrictNonNull String signalName, Supplier arg4Default, Supplier arg5Default, Class... types) { super(signalName, arg5Default, types); if(arg4Default!=null){ this.arg4Default = arg4Default; @@ -7749,7 +10068,7 @@ public static abstract class AbstractSignal5Default3 extends Abst } } - AbstractSignal5Default3(String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { + AbstractSignal5Default3(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { super(signalName, arg4Default, arg5Default, types); if(arg3Default!=null){ this.arg3Default = arg3Default; @@ -7822,7 +10141,7 @@ public static abstract class AbstractSignal5Default4 extends Abst } } - AbstractSignal5Default4(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { + AbstractSignal5Default4(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { super(signalName, arg3Default, arg4Default, arg5Default, types); if(arg2Default!=null){ this.arg2Default = arg2Default; @@ -7847,6 +10166,62 @@ final void emitDefaultSignal(Supplier arg1Default) { super.emitDefaultSignal(arg1Default, arg2Default); } } + + /** + * Supertype for all public default signals with five parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ + public static abstract class AbstractSignal5Default5 extends AbstractSignal5Default4 implements Emitable0, Connectable0 { + AbstractSignal5Default5() { + this.arg1Default = null; + } + + AbstractSignal5Default5(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + super(arg2Default, arg3Default, arg4Default, arg5Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal5Default5(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, arg5Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal5Default5(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, arg5Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal5Default5(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } /** * Supertype for all public default signals with six parameters. @@ -7889,7 +10264,7 @@ public static abstract class AbstractSignal6Default1 extends A } } - AbstractSignal6Default1(String signalName, Supplier arg6Default, Class... types) { + AbstractSignal6Default1(@StrictNonNull String signalName, Supplier arg6Default, Class... types) { super(signalName, types); if(arg6Default!=null){ this.arg6Default = arg6Default; @@ -7981,7 +10356,7 @@ public static abstract class AbstractSignal6Default2 extends A } } - AbstractSignal6Default2(String signalName, Supplier arg5Default, Supplier arg6Default, Class... types) { + AbstractSignal6Default2(@StrictNonNull String signalName, Supplier arg5Default, Supplier arg6Default, Class... types) { super(signalName, arg6Default, types); if(arg5Default!=null){ this.arg5Default = arg5Default; @@ -8067,7 +10442,7 @@ public static abstract class AbstractSignal6Default3 extends A } } - AbstractSignal6Default3(String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { + AbstractSignal6Default3(@StrictNonNull String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { super(signalName, arg5Default, arg6Default, types); if(arg4Default!=null){ this.arg4Default = arg4Default; @@ -8147,7 +10522,7 @@ public static abstract class AbstractSignal6Default4 extends A } } - AbstractSignal6Default4(String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { + AbstractSignal6Default4(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { super(signalName, arg4Default, arg5Default, arg6Default, types); if(arg3Default!=null){ this.arg3Default = arg3Default; @@ -8221,7 +10596,7 @@ public static abstract class AbstractSignal6Default5 extends A } } - AbstractSignal6Default5(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { + AbstractSignal6Default5(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, types); if(arg2Default!=null){ this.arg2Default = arg2Default; @@ -8246,6 +10621,63 @@ final void emitDefaultSignal(Supplier arg1Default) { super.emitDefaultSignal(arg1Default, arg2Default); } } + + /** + * Supertype for all public default signals with six parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ + public static abstract class AbstractSignal6Default6 extends AbstractSignal6Default5 implements Emitable0, Connectable0 { + AbstractSignal6Default6() { + this.arg1Default = null; + } + + AbstractSignal6Default6(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal6Default6(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal6Default6(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal6Default6(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } /** * Supertype for all public default signals with seven parameters. @@ -8289,7 +10721,7 @@ public static abstract class AbstractSignal7Default1 extend } } - AbstractSignal7Default1(String signalName, Supplier arg7Default, Class... types) { + AbstractSignal7Default1(@StrictNonNull String signalName, Supplier arg7Default, Class... types) { super(signalName, types); if(arg7Default!=null){ this.arg7Default = arg7Default; @@ -8391,7 +10823,7 @@ public static abstract class AbstractSignal7Default2 extend } } - AbstractSignal7Default2(String signalName, Supplier arg6Default, Supplier arg7Default, Class... types) { + AbstractSignal7Default2(@StrictNonNull String signalName, Supplier arg6Default, Supplier arg7Default, Class... types) { super(signalName, arg7Default, types); this.arg6Default = arg6Default; if(this.arg6Default==null){ @@ -8480,7 +10912,7 @@ public static abstract class AbstractSignal7Default3 extend } } - AbstractSignal7Default3(String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + AbstractSignal7Default3(@StrictNonNull String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { super(signalName, arg6Default, arg7Default, types); this.arg5Default = arg5Default; if(this.arg5Default==null){ @@ -8563,7 +10995,7 @@ public static abstract class AbstractSignal7Default4 extend } } - AbstractSignal7Default4(String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + AbstractSignal7Default4(@StrictNonNull String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { super(signalName, arg5Default, arg6Default, arg7Default, types); this.arg4Default = arg4Default; if(this.arg4Default==null){ @@ -8640,7 +11072,7 @@ public static abstract class AbstractSignal7Default5 extend } } - AbstractSignal7Default5(String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + AbstractSignal7Default5(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, types); this.arg3Default = arg3Default; if(this.arg3Default==null){ @@ -8711,7 +11143,7 @@ public static abstract class AbstractSignal7Default6 extend } } - AbstractSignal7Default6(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + AbstractSignal7Default6(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, types); this.arg2Default = arg2Default; if(this.arg2Default==null){ @@ -8736,6 +11168,64 @@ final void emitDefaultSignal(Supplier arg1Default) { } } + /** + * Supertype for all public default signals with seven parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ + public static abstract class AbstractSignal7Default7 extends AbstractSignal7Default6 implements Emitable0, Connectable0 { + AbstractSignal7Default7() { + this.arg1Default = null; + } + + AbstractSignal7Default7(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal7Default7(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal7Default7(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal7Default7(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } + /** * Supertype for all public default signals with eight parameters. * @param The type of the first parameter of the signal. @@ -8776,7 +11266,7 @@ public static abstract class AbstractSignal8Default1 ext } } - AbstractSignal8Default1(String signalName, Supplier arg8Default, Class... types) { + AbstractSignal8Default1(@StrictNonNull String signalName, Supplier arg8Default, Class... types) { super(signalName, types); this.arg8Default = arg8Default; if(this.arg8Default==null){ @@ -8884,7 +11374,7 @@ public static abstract class AbstractSignal8Default2 ext } } - AbstractSignal8Default2(String signalName, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default2(@StrictNonNull String signalName, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg8Default, types); this.arg7Default = arg7Default; if(this.arg7Default==null){ @@ -8986,7 +11476,7 @@ public static abstract class AbstractSignal8Default3 ext } } - AbstractSignal8Default3(String signalName, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default3(@StrictNonNull String signalName, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg7Default, arg8Default, types); this.arg6Default = arg6Default; if(this.arg6Default==null){ @@ -9076,7 +11566,7 @@ public static abstract class AbstractSignal8Default4 ext } } - AbstractSignal8Default4(String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default4(@StrictNonNull String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg6Default, arg7Default, arg8Default, types); this.arg5Default = arg5Default; if(this.arg5Default==null){ @@ -9160,7 +11650,7 @@ public static abstract class AbstractSignal8Default5 ext } } - AbstractSignal8Default5(String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default5(@StrictNonNull String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg5Default, arg6Default, arg7Default, arg8Default, types); this.arg4Default = arg4Default; if(this.arg4Default==null){ @@ -9238,7 +11728,7 @@ public static abstract class AbstractSignal8Default6 ext } } - AbstractSignal8Default6(String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default6(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, types); this.arg3Default = arg3Default; if(this.arg3Default==null){ @@ -9310,7 +11800,7 @@ public static abstract class AbstractSignal8Default7 ext } } - AbstractSignal8Default7(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + AbstractSignal8Default7(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, types); this.arg2Default = arg2Default; if(this.arg2Default==null){ @@ -9330,6 +11820,65 @@ public final void emit(A arg1) { } } + /** + * Supertype for all public default signals with eight parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ + public static abstract class AbstractSignal8Default8 extends AbstractSignal8Default7 implements Emitable0, Connectable0 { + AbstractSignal8Default8() { + this.arg1Default = null; + } + + AbstractSignal8Default8(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal8Default8(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal8Default8(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal8Default8(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } + /** * Supertype for all public default signals with nine parameters. * @param The type of the first parameter of the signal. @@ -9371,7 +11920,7 @@ public static abstract class AbstractSignal9Default1 } } - AbstractSignal9Default1(String signalName, Supplier arg9Default, Class... types) { + AbstractSignal9Default1(@StrictNonNull String signalName, Supplier arg9Default, Class... types) { super(signalName, types); this.arg9Default = arg9Default; if(this.arg9Default==null){ @@ -9492,7 +12041,7 @@ public static abstract class AbstractSignal9Default2 } } - AbstractSignal9Default2(String signalName, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default2(@StrictNonNull String signalName, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg9Default, types); this.arg8Default = arg8Default; if(this.arg8Default==null){ @@ -9601,7 +12150,7 @@ public static abstract class AbstractSignal9Default3 } } - AbstractSignal9Default3(String signalName, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default3(@StrictNonNull String signalName, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg8Default, arg9Default, types); this.arg7Default = arg7Default; if(this.arg7Default==null){ @@ -9704,7 +12253,7 @@ public static abstract class AbstractSignal9Default4 } } - AbstractSignal9Default4(String signalName, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default4(@StrictNonNull String signalName, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg7Default, arg8Default, arg9Default, types); this.arg6Default = arg6Default; if(this.arg6Default==null){ @@ -9795,7 +12344,7 @@ public static abstract class AbstractSignal9Default5 } } - AbstractSignal9Default5(String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default5(@StrictNonNull String signalName, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg6Default, arg7Default, arg8Default, arg9Default, types); this.arg5Default = arg5Default; if(this.arg5Default==null){ @@ -9880,7 +12429,7 @@ public static abstract class AbstractSignal9Default6 } } - AbstractSignal9Default6(String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default6(@StrictNonNull String signalName, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, types); this.arg4Default = arg4Default; if(this.arg4Default==null){ @@ -9959,7 +12508,7 @@ public static abstract class AbstractSignal9Default7 } } - AbstractSignal9Default7(String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default7(@StrictNonNull String signalName, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, types); this.arg3Default = arg3Default; if(this.arg3Default==null){ @@ -10032,7 +12581,7 @@ public static abstract class AbstractSignal9Default8 } } - AbstractSignal9Default8(String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + AbstractSignal9Default8(@StrictNonNull String signalName, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { super(signalName, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, types); this.arg2Default = arg2Default; if(this.arg2Default==null){ @@ -10057,6 +12606,66 @@ final void emitDefaultSignal(Supplier arg1Default) { } } + /** + * Supertype for all public default signals with nine parameters. + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ + public static abstract class AbstractSignal9Default9 extends AbstractSignal9Default8 implements Emitable0, Connectable0 { + AbstractSignal9Default9() { + this.arg1Default = null; + } + + AbstractSignal9Default9(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal9Default9(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class declaringClass){ + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, declaringClass); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal9Default9(@StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + AbstractSignal9Default9(@StrictNonNull String signalName, @StrictNonNull Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default, Class... types) { + super(signalName, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, types); + this.arg1Default = arg1Default; + if(this.arg1Default==null){ + throw new QNoDefaultValueException(1); + } + } + + private final Supplier arg1Default; + + /** + * Emits the signal with default value for arg1. + */ + @Override + public final void emit() { + super.emitDefaultSignal(arg1Default); + } + } + @QtUninvokable public static AbstractPrivateSignal0 findSignal(QObject sender, String name) { return (AbstractPrivateSignal0)findSignalImpl(sender, name); @@ -10181,7 +12790,7 @@ private int enumeratorIndex(QMetaEnum metaEnum) { @QtUninvokable private static native int enumeratorIndex(long metaObjectPointer, long metaEnumId); - private static String cppNormalizedSignature(String signalName, Class classType) { + private static String cppNormalizedSignature(@StrictNonNull String signalName, Class classType) { int idx = signalName.indexOf("("); if(idx>=0) { String parameters = signalName.substring(idx).trim(); @@ -10337,7 +12946,7 @@ protected static abstract class AbstractSignal extends io.qt.internal.CoreUtilit super(declaringClass, isStatic); } - AbstractSignal(String signalName, Class[] types) { + AbstractSignal(@StrictNonNull String signalName, Class[] types) { super(signalName, types); } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMultiHash.java b/src/java/modules/qtjambi/main/io/qt/core/QMultiHash.java index 8dc26a73..c8baa38a 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QMultiHash.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QMultiHash.java @@ -32,10 +32,13 @@ import static io.qt.core.QHash.keysForValue; import static io.qt.core.QMap.findMapMetaType; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.function.BiPredicate; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QNoImplementationException; @@ -43,9 +46,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QMultiHash

    + *

    Java wrapper for Qt class QMultiHash

    */ -public class QMultiHash extends io.qt.internal.AbstractMultiHash implements Cloneable +public class QMultiHash extends AbstractMultiAssociativeContainer implements Map>, Cloneable { static { QtJambi_LibraryUtilities.initialize(); @@ -54,6 +57,7 @@ public class QMultiHash extends io.qt.internal.AbstractMultiHash imple /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QMultiHash(QPrivateConstructor p) { @@ -62,27 +66,27 @@ protected QMultiHash(QPrivateConstructor p) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMultiHash(Class keyType, QMetaType.Type valueMetaType) { + public QMultiHash(Class keyType, QMetaType.Type valueMetaType) { this(keyType, new QMetaType(valueMetaType)); } /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMultiHash(QMetaType.Type keyMetaType, Class valueType) { + public QMultiHash(QMetaType.Type keyMetaType, Class valueType) { this(new QMetaType(keyMetaType), valueType); } /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -92,7 +96,7 @@ public QMultiHash(QMetaType.Type keyMetaType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -102,7 +106,7 @@ public QMultiHash(QMetaType keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -112,11 +116,11 @@ public QMultiHash(QMetaType.Type keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyType the type K * @param valueType the type V */ - public QMultiHash(Class keyType, Class valueType) { + public QMultiHash(Class keyType, Class valueType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); QMetaType valueMetaType = QMetaType.fromType(valueType); @@ -125,10 +129,10 @@ public QMultiHash(Class keyType, Class valueType) { /** * Creating a container with given content. - *

    See QMultiHash::QMultiHash(const QHash<Key, T> &)

    + *

    See QMultiHash::QMultiHash(const QHash<Key, T> &)

    * @param other map */ - public QMultiHash(Map> other) { + public QMultiHash(Map> other) { super(null); QPair metaTypes = findMapMetaType(Objects.requireNonNull(other)); initialize(metaTypes.first.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.first), metaTypes.second.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.second), other); @@ -136,11 +140,11 @@ public QMultiHash(Map> other) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMultiHash(Class keyType, QMetaType valueMetaType) { + public QMultiHash(Class keyType, QMetaType valueMetaType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); initialize(keyMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -148,11 +152,11 @@ public QMultiHash(Class keyType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMultiHash(QMetaType keyMetaType, Class valueType) { + public QMultiHash(QMetaType keyMetaType, Class valueType) { super(null); QMetaType valueMetaType = QMetaType.fromType(valueType); initialize(keyMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueType, QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -160,7 +164,7 @@ public QMultiHash(QMetaType keyMetaType, Class valueType) { /** * Creating a container with given key and value type. - *

    See QMultiHash::QMultiHash()

    + *

    See QMultiHash::QMultiHash()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -170,28 +174,37 @@ public QMultiHash(QMetaType keyMetaType, QMetaType valueMetaType) { } @QtUninvokable - private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map> other); + private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map> other); /** * Creates and returns a copy of this object. */ @Override - public QMultiHash clone(){ + public QMultiHash clone(){ return new QMultiHash<>(this); } + /** + *

    See QMultiHash::capacity()const

    + */ @QtUninvokable public final int capacity() { return QHash.capacity(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiHash::clear()

    + */ @QtUninvokable public final void clear() { QHash.clear(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiHash::contains(Key)const

    + */ @QtUninvokable - public final boolean contains(K key) { + public final boolean contains(Key key) { try{ return QHash.contains(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -201,13 +214,19 @@ public final boolean contains(K key) { } } + /** + *

    See QMultiHash::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + *

    See QMultiHash::count(Key)const

    + */ @QtUninvokable - public final int count(K key) { + public final int count(Key key) { try{ return QHash.count(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -217,33 +236,60 @@ public final int count(K key) { } } + /** + * Provides a mutable C++ iterator to the containers begin. + *

    See QMultiHash::begin()

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator begin() { + protected final io.qt.core.QAssociativeIterator begin() { return QHash.begin(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a mutable C++ iterator to the containers end. + *

    See QMultiHash::end()

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator end() { + protected final io.qt.core.QAssociativeIterator end() { return QHash.end(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QMultiHash::constBegin()const

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constBegin() { + protected final io.qt.core.QAssociativeConstIterator constBegin() { return QHash.constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a constant C++ iterator to the containers end. + *

    See QMultiHash::constEnd()const

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constEnd() { + protected final io.qt.core.QAssociativeConstIterator constEnd() { return QHash.constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiHash::find(Key)const

    + * @return iterator + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key) { + public final io.qt.core.QAssociativeConstIterator find(Key key) { return QHash.find(QtJambi_LibraryUtilities.internal.nativeId(this), key); } + /** + *

    See QMultiHash::insert(Key,T)

    + */ @QtUninvokable - public final void insert(K key, V value) { + public final void insert(Key key, T value) { try{ QHash.insert(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -253,18 +299,27 @@ public final void insert(K key, V value) { } } + /** + *

    See QMultiHash::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; } + /** + *

    See QMultiHash::key(T)const

    + */ @QtUninvokable - public final K key(V value) { + public final Key key(T value) { return key(value, null); } + /** + *

    See QMultiHash::key(T,Key)const

    + */ @QtUninvokable - public final K key(V value, K defaultKey) { + public final Key key(T value, Key defaultKey) { try{ return QHash.key(QtJambi_LibraryUtilities.internal.nativeId(this), value, defaultKey); }catch(QNoNativeResourcesException e) { @@ -274,13 +329,21 @@ public final K key(V value, K defaultKey) { } } + /** + * Returns a {@link List} of the keys contained in this associative container. + *

    See QMultiHash::keys()const

    + * @return list of keys + */ @QtUninvokable - public final java.util.List keys() { + public final QList keys() { return QHash.keys(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiHash::keys(T)const

    + */ @QtUninvokable - public final java.util.List keys(V value) { + public final QList keys(T value) { try{ return keysForValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); }catch(QNoNativeResourcesException e) { @@ -290,11 +353,45 @@ public final java.util.List keys(V value) { } } + /** + *

    See QMultiHash::removeIf(Predicate)

    + */ @QtUninvokable - private final boolean operator_equal(java.util.Map other) { - return QHash.operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), other); + public final int removeIf(Predicate predicate) { + List keys = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(Key key : QHash.keys(nativeId)) { + if(predicate.test(key)) + keys.add(key); + } + int count = 0; + for (Key key : keys) { + count += QHash.remove(nativeId, key); + } + return count; } + /** + *

    See QMultiHash::removeIf(Predicate)

    + */ + @QtUninvokable + public final int removeIf(BiPredicate predicate) { + List> pairs = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(QPair pair : QHash.constBegin(nativeId)) { + if(predicate.test(pair.first, pair.second)) + pairs.add(pair); + } + int count = 0; + for (QPair pair : pairs) { + count += remove(nativeId, pair.first, pair.second); + } + return count; + } + + /** + *

    See QMultiHash::remove(Key)

    + */ @QtUninvokable public final int removeAll(Object key) { try{ @@ -311,18 +408,35 @@ public final int removeAll(Object key) { } } + /** + *

    See QMultiHash::reserve(int)

    + */ @QtUninvokable public final void reserve(int size) { QHash.reserve(QtJambi_LibraryUtilities.internal.nativeId(this), size); } + /** + *

    See QMultiHash::size()const

    + */ @QtUninvokable public final int size() { return QHash.size(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiHash::squeeze()

    + */ + @QtUninvokable + public final void squeeze() { + reserve(0); + } + + /** + *

    See QMultiHash::take(Key)

    + */ @QtUninvokable - public final V take(K key) { + public final T take(Key key) { try{ return QHash.take(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -332,27 +446,47 @@ public final V take(K key) { } } + /** + *

    See QMultiHash::uniqueKeys()const

    + */ @QtUninvokable - public final java.util.List uniqueKeys() { + public final QList uniqueKeys() { return uniqueKeys(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - private static native java.util.List uniqueKeys(long __this__nativeId); + private static native QList uniqueKeys(long __this__nativeId); + /** + *

    See QMultiHash::unite(const QHash<Key, T> &)

    + */ + @QtUninvokable + public final void unite(QHash other) { + unite(QtJambi_LibraryUtilities.internal.nativeId(this), other); + } + + /** + *

    See QMultiHash::unite(const QMultiHash<Key, T> &)

    + */ @QtUninvokable - public final void unite(java.util.Map> other) { + public final void unite(java.util.Map> other) { unite(QtJambi_LibraryUtilities.internal.nativeId(this), other); } @QtUninvokable private static native void unite(long __this__nativeId, Object other); + /** + *

    See QMultiHash::value(Key)

    + */ @QtUninvokable - public final V value(K key) { + public final T value(Key key) { return value(key, null); } + /** + *

    See QMultiHash::value(Key,T)

    + */ @QtUninvokable - public final V value(K key, V defaultValue) { + public final T value(Key key, T defaultValue) { try{ return QHash.value(QtJambi_LibraryUtilities.internal.nativeId(this), key, defaultValue); }catch(QNoNativeResourcesException e) { @@ -362,18 +496,33 @@ public final V value(K key, V defaultValue) { } } + /** + * Returns a {@link List} of the values contained in this multihash. + * @see Map#values() + */ @QtUninvokable - public final java.util.Collection> values() { + public final java.util.List> values() { long id = QtJambi_LibraryUtilities.internal.nativeId(this); - java.util.List> result = new java.util.ArrayList<>(); + java.util.List> result = new java.util.ArrayList<>(); for(Object key : uniqueKeys(id)) { result.add(valuesKey(id, key)); } return result; } + /** + *

    See QMultiHash::values()const

    + */ + @QtUninvokable + public final QList listOfValues() { + return QHash.values(QtJambi_LibraryUtilities.internal.nativeId(this)); + } + + /** + *

    See QMultiHash::values(Key)const

    + */ @QtUninvokable - public final java.util.List values(K key) { + public final QList values(Key key) { try{ return valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -383,10 +532,13 @@ public final java.util.List values(K key) { } } @QtUninvokable - private static native java.util.List valuesKey(long __this__nativeId, K key); + private static native QList valuesKey(long __this__nativeId, Key key); + /** + *

    See QMultiHash::count(Key,T)const

    + */ @QtUninvokable - public final int count(K key, V value) { + public final int count(Key key, T value) { try{ return count(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -395,10 +547,13 @@ public final int count(K key, V value) { throw QMap.handleException(e, keyMetaType(), valueMetaType(), key, value); } } - private static native int count(long __this__nativeId, K key, V value); + private static native int count(long __this__nativeId, Key key, T value); + /** + *

    See QMultiHash::find(Key,T)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key, V value) { + public final io.qt.core.QAssociativeConstIterator find(Key key, T value) { try{ return find(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -407,10 +562,13 @@ public final io.qt.core.QAssociativeConstIterator find(K key, V value) { throw QMap.handleException(e, keyMetaType(), valueMetaType(), key, value); } } - private static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, K key, V value); + private static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, Key key, T value); + /** + *

    See QMultiHash::remove(Key,T)

    + */ @QtUninvokable - public final int removeAll(K key, V value) { + public final int removeAll(Key key, T value) { try{ return remove(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -419,10 +577,13 @@ public final int removeAll(K key, V value) { throw QMap.handleException(e, keyMetaType(), valueMetaType(), key, value); } } - private static native int remove(long __this__nativeId, K key, V value); + private static native int remove(long __this__nativeId, Key key, T value); + /** + *

    See QMultiHash::replace(Key,T)

    + */ @QtUninvokable - public final void replaceOne(K key, V value) { + public final void replaceOne(Key key, T value) { try{ replaceOne(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -431,10 +592,13 @@ public final void replaceOne(K key, V value) { throw QMap.handleException(e, keyMetaType(), valueMetaType(), key, value); } } - private static native void replaceOne(long __this__nativeId, K key, V value); + private static native void replaceOne(long __this__nativeId, Key key, T value); + /** + *

    See QMultiHash::contains(Key,T)const

    + */ @QtUninvokable - public final boolean contains(K key, V value) { + public final boolean contains(Key key, T value) { try{ return contains(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -443,18 +607,24 @@ public final boolean contains(K key, V value) { throw QMap.handleException(e, keyMetaType(), valueMetaType(), key, value); } } - private static native boolean contains(long __this__nativeId, K key, V value); + private static native boolean contains(long __this__nativeId, Key key, T value); + /** + *

    See operator==(QMultiHash<Key,T>,QMultiHash<Key,T>)

    + */ @SuppressWarnings("unchecked") @Override @QtUninvokable public boolean equals(Object other) { if (other instanceof java.util.Map && QMap.checkContainerType(this.keyMetaType(), this.valueMetaType(), (java.util.Map) other)) { - return operator_equal((java.util.Map) other); + return QHash.operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), (java.util.Map) other); } return false; } + /** + * Returns the objects's hash code computed by qHash(QMultiHash<Key,T>). + */ @Override @QtUninvokable public int hashCode() { @@ -467,6 +637,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -481,6 +654,11 @@ public String toString() { @QtUninvokable private static native String toString(long __this__nativeId); + /** + * Returns {@code true} if this map contains a mapping for the specified key. + * @see Map#containsKey(Object) + * @see #contains(Object) + */ @Override @QtUninvokable public final boolean containsKey(Object key){ @@ -498,9 +676,15 @@ public final boolean containsKey(Object key){ } } + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * @see Map#get(Object) + * @see #value(Object) + */ @Override @QtUninvokable - public final List get(Object key){ + public final List get(Object key){ try{ return valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -515,21 +699,31 @@ public final List get(Object key){ } } + /** + * Associates the specified value with the specified key in this map. + * @see Map#put(Object, Object) + * @see #insert(Object, Object) + */ @Override @QtUninvokable - public final java.util.List put(K key, java.util.List values){ - java.util.List old = values(key); - for(V value : values) + public final java.util.List put(Key key, java.util.List values){ + java.util.List old = values(key); + for(T value : values) insert(key, value); return old; } + /** + * Removes the mapping for a key from this map if it is present. + * @see Map#remove(Object) + * @see #take(Object) + */ @Override @QtUninvokable - public final java.util.List remove(Object key){ + public final java.util.List remove(Object key){ try{ @SuppressWarnings("unchecked") - java.util.List result = valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), (K)key); + java.util.List result = valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), (Key)key); removeAll(key); return result; }catch(QNoNativeResourcesException e) { @@ -544,6 +738,12 @@ public final java.util.List remove(Object key){ } } + /** + * Returns {@code true} if this map maps one or more keys to the + * specified value. + * @see Map#containsValue(Object) + * @see #key(Object, Object) + */ @Override @QtUninvokable public final boolean containsValue(Object value){ @@ -561,6 +761,9 @@ public final boolean containsValue(Object value){ } } + /** + *

    See operator<<(QDataStream&,QMultiHash<Key,T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -569,6 +772,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QMultiHash<Key,T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -590,320 +796,320 @@ final QMetaType valueMetaType() { /** * Returns a QMultiHash containing a single mapping. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the mapping's key - * @param v1 the mapping's value + * @param t1 the mapping's value * @return a {@code QMultiHash} containing the specified mapping * @throws NullPointerException if the key or the value is {@code null} */ - public static QMultiHash of(K k1, V v1) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1), - QList.findElementMetaType(v1)); - result.insert(k1, v1); + QList.findElementMetaType(t1)); + result.insert(k1, t1); return result; } /** * Returns a QMultiHash containing two mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2), - QList.findElementMetaType(v1, v2)); - result.insert(k1, v1); - result.insert(k2, v2); + QList.findElementMetaType(t1, t2)); + result.insert(k1, t1); + result.insert(k2, t2); return result; } /** * Returns a QMultiHash containing three mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3), - QList.findElementMetaType(v1, v2, v3)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); + QList.findElementMetaType(t1, t2, t3)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); return result; } /** * Returns a QMultiHash containing four mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4), - QList.findElementMetaType(v1, v2, v3, v4)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); + QList.findElementMetaType(t1, t2, t3, t4)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); return result; } /** * Returns a QMultiHash containing five mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5), - QList.findElementMetaType(v1, v2, v3, v4, v5)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); + QList.findElementMetaType(t1, t2, t3, t4, t5)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); return result; } /** * Returns a QMultiHash containing six mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); return result; } /** * Returns a QMultiHash containing seven mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); return result; } /** * Returns a QMultiHash containing eight mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); return result; } /** * Returns a QMultiHash containing nine mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); return result; } /** * Returns a QMultiHash containing ten mappings. * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @param k10 the tenth mapping's key - * @param v10 the tenth mapping's value + * @param t10 the tenth mapping's value * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) { - QMultiHash result = new QMultiHash<>( + public static QMultiHash of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9, Key k10, T t10) { + QMultiHash result = new QMultiHash<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); - result.insert(k10, v10); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); + result.insert(k10, t10); return result; } @@ -925,21 +1131,57 @@ public static QMultiHash of(K k1, V v1, K k2, V v2, K k3, V v3, K k * entry(26, "z")); * } * - * @param the {@code QMultiHash}'s key type - * @param the {@code QMultiHash}'s value type + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type * @param entries {@code java.util.Map.Entry}s containing the keys and values from which the map is populated * @return a {@code QMultiHash} containing the specified mappings * @throws NullPointerException if any entry, key, or value is {@code null}, or if * the {@code entries} array is {@code null} */ @SafeVarargs - public static QMultiHash ofEntries(Map.Entry entry0, Map.Entry... entries) { + public static QMultiHash ofEntries(Map.Entry entry0, Map.Entry... entries) { QPair metaTypes = findMapMetaType(entry0, entries); - QMultiHash result = new QMultiHash<>(metaTypes.first, metaTypes.second); + QMultiHash result = new QMultiHash<>(metaTypes.first, metaTypes.second); result.insert(entry0.getKey(), entry0.getValue()); - for (Map.Entry entry : entries) { + for (Map.Entry entry : entries) { result.insert(entry.getKey(), entry.getValue()); } return result; } + + /** + * Returns a QMultiHash containing keys and values extracted from the given pairs. + * + * @apiNote + * It is convenient to create the pair using the {@link QPair#pair(Object, Object)} method. + * For example, + * + *
    {@code
    +     *     import static java.util.QPair.pair;
    +     *
    +     *     QMultiHash map = QMultiHash.ofPairs(
    +     *         pair(1, "a"),
    +     *         pair(2, "b"),
    +     *         pair(3, "c"),
    +     *         ...
    +     *         pair(26, "z"));
    +     * }
    + * + * @param the {@code QMultiHash}'s key type + * @param the {@code QMultiHash}'s value type + * @param pairs {@code QPair}s containing the keys and values from which the map is populated + * @return a {@code QMultiHash} containing the specified mappings + * @throws NullPointerException if any entry, key, or value is {@code null}, or if + * the {@code entries} array is {@code null} + */ + @SafeVarargs + public static QMultiHash ofPairs(QPair pair0, QPair... pairs) { + QPair metaTypes = findMapMetaType(pair0, pairs); + QMultiHash result = new QMultiHash<>(metaTypes.first, metaTypes.second); + result.insert(pair0.first, pair0.second); + for (QPair entry : pairs) { + result.insert(entry.first, entry.second); + } + return result; + } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QMultiMap.java b/src/java/modules/qtjambi/main/io/qt/core/QMultiMap.java index 09e2dc34..3bd1e150 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QMultiMap.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QMultiMap.java @@ -29,10 +29,20 @@ ****************************************************************************/ package io.qt.core; +import java.util.AbstractMap; +import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.NavigableMap; +import java.util.NavigableSet; import java.util.Objects; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.function.BiPredicate; +import java.util.function.Function; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QNoImplementationException; @@ -40,9 +50,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QMultiMap

    + *

    Java wrapper for Qt class QMultiMap

    */ -public class QMultiMap extends io.qt.internal.AbstractMultiMap implements Cloneable +public class QMultiMap extends AbstractMultiAssociativeContainer implements NavigableMap>, Cloneable { static { QtJambi_LibraryUtilities.initialize(); @@ -51,6 +61,7 @@ public class QMultiMap extends io.qt.internal.AbstractMultiMap impleme /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QMultiMap(QPrivateConstructor p) { @@ -59,27 +70,27 @@ protected QMultiMap(QPrivateConstructor p) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMultiMap(Class keyType, QMetaType.Type valueMetaType) { + public QMultiMap(Class keyType, QMetaType.Type valueMetaType) { this(keyType, new QMetaType(valueMetaType)); } /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMultiMap(QMetaType.Type keyMetaType, Class valueType) { + public QMultiMap(QMetaType.Type keyMetaType, Class valueType) { this(new QMetaType(keyMetaType), valueType); } /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -89,7 +100,7 @@ public QMultiMap(QMetaType.Type keyMetaType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -99,7 +110,7 @@ public QMultiMap(QMetaType keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -109,11 +120,11 @@ public QMultiMap(QMetaType.Type keyMetaType, QMetaType.Type valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyType the type K * @param valueType the type V */ - public QMultiMap(Class keyType, Class valueType) { + public QMultiMap(Class keyType, Class valueType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); QMetaType valueMetaType = QMetaType.fromType(valueType); @@ -122,10 +133,10 @@ public QMultiMap(Class keyType, Class valueType) { /** * Creating a container with given content. - *

    See QMultiMap::QMultiMap(const QMap<Key, T> &)

    + *

    See QMultiMap::QMultiMap(const QMap<Key, T> &)

    * @param other map */ - public QMultiMap(Map> other) { + public QMultiMap(Map> other) { super(null); QPair metaTypes = findMapMetaType(Objects.requireNonNull(other)); initialize(metaTypes.first.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.first), metaTypes.second.javaType(), QtJambi_LibraryUtilities.internal.nativeId(metaTypes.second), other); @@ -133,11 +144,11 @@ public QMultiMap(Map> other) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyType the type K * @param valueMetaType the type V */ - public QMultiMap(Class keyType, QMetaType valueMetaType) { + public QMultiMap(Class keyType, QMetaType valueMetaType) { super(null); QMetaType keyMetaType = QMetaType.fromType(keyType); initialize(keyType, QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -145,11 +156,11 @@ public QMultiMap(Class keyType, QMetaType valueMetaType) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueType the type V */ - public QMultiMap(QMetaType keyMetaType, Class valueType) { + public QMultiMap(QMetaType keyMetaType, Class valueType) { super(null); QMetaType valueMetaType = QMetaType.fromType(valueType); initialize(keyMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(keyMetaType), valueMetaType.javaType(), QtJambi_LibraryUtilities.internal.nativeId(valueMetaType), null); @@ -157,7 +168,7 @@ public QMultiMap(QMetaType keyMetaType, Class valueType) { /** * Creating a container with given key and value type. - *

    See QMultiMap::QMultiMap()

    + *

    See QMultiMap::QMultiMap()

    * @param keyMetaType the type K * @param valueMetaType the type V */ @@ -167,24 +178,30 @@ public QMultiMap(QMetaType keyMetaType, QMetaType valueMetaType) { } @QtUninvokable - private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map> other); + private native void initialize(Class keyType, long keyMetaType, Class valueType, long valueMetaType, Map> other); /** * Creates and returns a copy of this object. - *

    See QMultiMap::QMultiMap(const QMultiMap<Key, T> &)

    + *

    See QMultiMap::QMultiMap(const QMultiMap<Key, T> &)

    */ @Override - public QMultiMap clone(){ + public QMultiMap clone(){ return new QMultiMap<>(this); } + /** + *

    See QMultiMap::clear()

    + */ @QtUninvokable public final void clear() { QMap.clear(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::contains(Key)const

    + */ @QtUninvokable - public final boolean contains(K key) { + public final boolean contains(Key key) { try{ return QMap.contains(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -194,13 +211,19 @@ public final boolean contains(K key) { } } + /** + *

    See QMultiMap::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + *

    See QMultiMap::count(Key)const

    + */ @QtUninvokable - public final int count(K key) { + public final int count(Key key) { try{ return QMap.count(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -210,28 +233,52 @@ public final int count(K key) { } } + /** + * Provides a mutable C++ iterator to the containers begin. + *

    See QMultiMap::begin()

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator begin() { + protected final io.qt.core.QAssociativeIterator begin() { return QMap.begin(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a mutable C++ iterator to the containers end. + *

    See QMultiMap::end()

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeIterator end() { + protected final io.qt.core.QAssociativeIterator end() { return QMap.end(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QMultiMap::constBegin()const

    + * @return begin + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constBegin() { + protected final io.qt.core.QAssociativeConstIterator constBegin() { return QMap.constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + * Provides a constant C++ iterator to the containers end. + *

    See QMultiMap::constEnd()const

    + * @return end + */ @QtUninvokable - protected final io.qt.core.QAssociativeConstIterator constEnd() { + protected final io.qt.core.QAssociativeConstIterator constEnd() { return QMap.constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::find(Key)const

    + * @return iterator + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key) { + public final io.qt.core.QAssociativeConstIterator find(Key key) { try{ return QMap.find(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -241,18 +288,27 @@ public final io.qt.core.QAssociativeConstIterator find(K key) { } } + /** + *

    See QMultiMap::first()const

    + */ @QtUninvokable - public final V first() { + public final T first() { return QMap.first(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::firstKey()const

    + */ @QtUninvokable - public final K firstKey() { + public final Key firstKey() { return QMap.firstKey(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::insert(Key,T)

    + */ @QtUninvokable - public final void insert(K key, V value) { + public final void insert(Key key, T value) { try{ QMap.insert(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -262,17 +318,27 @@ public final void insert(K key, V value) { } } + /** + *

    See QMultiMap::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; } + /** + *

    See QMultiMap::key(T)const

    + */ @QtUninvokable - public final K key(V value) { + public final Key key(T value) { return key(value, null); } + + /** + *

    See QMultiMap::key(T,Key)const

    + */ @QtUninvokable - public final K key(V value, K defaultKey) { + public final Key key(T value, Key defaultKey) { try{ return QMap.key(QtJambi_LibraryUtilities.internal.nativeId(this), value, defaultKey); }catch(QNoNativeResourcesException e) { @@ -282,13 +348,21 @@ public final K key(V value, K defaultKey) { } } + /** + * Returns a {@link List} of the keys contained in this associative container. + *

    See QMultiMap::keys()const

    + * @return list of keys + */ @QtUninvokable - public final java.util.List keys() { + public final QList keys() { return QMap.keys(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::keys(T)const

    + */ @QtUninvokable - public final java.util.List keys(V value) { + public final QList keys(T value) { try{ return QMap.keysForValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); }catch(QNoNativeResourcesException e) { @@ -298,18 +372,27 @@ public final java.util.List keys(V value) { } } + /** + *

    See QMultiMap::last()const

    + */ @QtUninvokable - public final V last() { + public final T last() { return QMap.last(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::lastKey()const

    + */ @QtUninvokable - public final K lastKey() { + public final Key lastKey() { return QMap.lastKey(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::lowerBound(Key)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator lowerBound(K key) { + public final io.qt.core.QAssociativeConstIterator lowerBound(Key key) { try{ return QMap.lowerBound(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -319,11 +402,45 @@ public final io.qt.core.QAssociativeConstIterator lowerBound(K key) { } } + /** + *

    See QMultiMap::removeIf(Predicate)

    + */ + @QtUninvokable + public final int removeIf(Predicate predicate) { + List keys = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(Key key : QHash.keys(nativeId)) { + if(predicate.test(key)) + keys.add(key); + } + int count = 0; + for (Key key : keys) { + count += QMap.remove(nativeId, key); + } + return count; + } + + /** + *

    See QMultiMap::removeIf(Predicate)

    + */ @QtUninvokable - private final boolean operator_equal(java.util.Map other) { - return QMap.operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), other); + public final int removeIf(BiPredicate predicate) { + List> pairs = new ArrayList<>(); + final long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); + for(QPair pair : QHash.constBegin(nativeId)) { + if(predicate.test(pair.first, pair.second)) + pairs.add(pair); + } + int count = 0; + for (QPair pair : pairs) { + count += remove(nativeId, pair.first, pair.second); + } + return count; } + /** + *

    See QMultiMap::remove(Key)

    + */ @QtUninvokable public final int removeAll(Object key) { try{ @@ -340,13 +457,19 @@ public final int removeAll(Object key) { } } + /** + *

    See QMultiMap::size()const

    + */ @QtUninvokable public final int size() { return QMap.size(QtJambi_LibraryUtilities.internal.nativeId(this)); } + /** + *

    See QMultiMap::take(Key)

    + */ @QtUninvokable - public final V take(K key) { + public final T take(Key key) { try { return QMap.take(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -356,33 +479,55 @@ public final V take(K key) { } } + /** + *

    See QMultiMap::uniqueKeys()const

    + */ @QtUninvokable - public final java.util.List uniqueKeys() { + public final QList uniqueKeys() { return uniqueKeys(QtJambi_LibraryUtilities.internal.nativeId(this)); } @QtUninvokable - private static native java.util.List uniqueKeys(long __this__nativeId); + private static native QList uniqueKeys(long __this__nativeId); + + /** + *

    See QMultiMap::unite(const QMap<Key, T> &)const

    + */ + @QtUninvokable + public final void unite(QMap other) { + unite(QtJambi_LibraryUtilities.internal.nativeId(this), other); + } + /** + *

    See QMultiMap::unite(const QMultiMap<Key, T> &)const

    + */ @QtUninvokable - public final void unite(java.util.Map> other) { + public final void unite(java.util.Map> other) { unite(QtJambi_LibraryUtilities.internal.nativeId(this), other); } @QtUninvokable private static native void unite(long __this__nativeId, Object other); + /** + *

    See QMultiMap::upperBound(Key)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator upperBound(K key) { + public final io.qt.core.QAssociativeConstIterator upperBound(Key key) { return QMap.upperBound(QtJambi_LibraryUtilities.internal.nativeId(this), key); } - + /** + *

    See QMultiMap::value(Key)const

    + */ @QtUninvokable - public final V value(K key) { + public final T value(Key key) { return value(key, null); } + /** + *

    See QMultiMap::value(Key,T)const

    + */ @QtUninvokable - public final V value(K key, V defaultValue) { + public final T value(Key key, T defaultValue) { try{ return QMap.value(QtJambi_LibraryUtilities.internal.nativeId(this), key, defaultValue); }catch(QNoNativeResourcesException e) { @@ -392,19 +537,34 @@ public final V value(K key, V defaultValue) { } } + /** + * Returns a {@link List} of the values contained in this multimap. + * @see Map#values() + */ @Override @QtUninvokable - public final java.util.Collection> values() { + public final java.util.List> values() { long id = QtJambi_LibraryUtilities.internal.nativeId(this); - java.util.List> result = new java.util.ArrayList<>(); + java.util.List> result = new java.util.ArrayList<>(); for(Object key : uniqueKeys(id)) { result.add(valuesKey(id, key)); } return result; } + /** + *

    See QMultiMap::values()const

    + */ @QtUninvokable - public final java.util.List values(K key) { + public final QList listOfValues() { + return QMap.values(QtJambi_LibraryUtilities.internal.nativeId(this)); + } + + /** + *

    See QMultiMap::values(Key)const

    + */ + @QtUninvokable + public final QList values(Key key) { try{ return valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -414,10 +574,13 @@ public final java.util.List values(K key) { } } @QtUninvokable - private static native java.util.List valuesKey(long __this__nativeId, K key); + private static native QList valuesKey(long __this__nativeId, Key key); + /** + *

    See QMultiMap::contains(Key,T)const

    + */ @QtUninvokable - public final boolean contains(K key, V value) { + public final boolean contains(Key key, T value) { try{ return contains(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -427,10 +590,13 @@ public final boolean contains(K key, V value) { } } @QtUninvokable - private static native boolean contains(long __this__nativeId, K key, V value); + private static native boolean contains(long __this__nativeId, Key key, T value); + /** + *

    See QMultiMap::count(Key,T)const

    + */ @QtUninvokable - public final int count(K key, V value) { + public final int count(Key key, T value) { try{ return count(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -440,10 +606,13 @@ public final int count(K key, V value) { } } @QtUninvokable - private static native int count(long __this__nativeId, K key, V value); + private static native int count(long __this__nativeId, Key key, T value); + /** + *

    See QMultiMap::find(Key,T)const

    + */ @QtUninvokable - public final io.qt.core.QAssociativeConstIterator find(K key, V value) { + public final io.qt.core.QAssociativeConstIterator find(Key key, T value) { try{ return find(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -453,10 +622,13 @@ public final io.qt.core.QAssociativeConstIterator find(K key, V value) { } } @QtUninvokable - private static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, K key, V value); + private static native io.qt.core.QAssociativeConstIterator find(long __this__nativeId, Key key, T value); + /** + *

    See QMultiMap::remove(Key,T)

    + */ @QtUninvokable - public final int removeAll(K key, V value) { + public final int removeAll(Key key, T value) { try{ return remove(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -466,10 +638,13 @@ public final int removeAll(K key, V value) { } } @QtUninvokable - private static native int remove(long __this__nativeId, K key, V value); + private static native int remove(long __this__nativeId, Key key, T value); + /** + *

    See QMultiMap::replace(Key,T)

    + */ @QtUninvokable - public final void replaceOne(K key, V value) { + public final void replaceOne(Key key, T value) { try{ replace(QtJambi_LibraryUtilities.internal.nativeId(this), key, value); }catch(QNoNativeResourcesException e) { @@ -479,24 +654,35 @@ public final void replaceOne(K key, V value) { } } @QtUninvokable - private static native void replace(long __this__nativeId, K key, V value); + private static native void replace(long __this__nativeId, Key key, T value); + /** + *

    See operator==(QMultiMap<Key,T>,QMultiMap<Key,T>)

    + */ @SuppressWarnings("unchecked") @Override @QtUninvokable public boolean equals(Object other) { if (other instanceof java.util.Map && QMap.checkContainerType(this.keyMetaType(), this.valueMetaType(), (java.util.Map) other)) { - return operator_equal((java.util.Map) other); + return QMap.operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), (java.util.Map) other); } return false; } + /** + * Returns the maps comparator. + */ @Override @QtUninvokable - public final java.util.Comparator comparator(){ + public final java.util.Comparator comparator(){ return QMap.createComparator(keyMetaType().javaType(), this); } + /** + * Returns {@code true} if this map contains a mapping for the specified key. + * @see Map#containsKey(Object) + * @see #contains(Object) + */ @Override @QtUninvokable public final boolean containsKey(Object key){ @@ -514,9 +700,15 @@ public final boolean containsKey(Object key){ } } + /** + * Returns the value to which the specified key is mapped, + * or {@code null} if this map contains no mapping for the key. + * @see Map#get(Object) + * @see #value(Object) + */ @Override @QtUninvokable - public final List get(Object key){ + public final List get(Object key){ try{ return valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), key); }catch(QNoNativeResourcesException e) { @@ -531,21 +723,31 @@ public final List get(Object key){ } } + /** + * Associates the specified value with the specified key in this map. + * @see Map#put(Object, Object) + * @see #insert(Object, Object) + */ @Override @QtUninvokable - public final java.util.List put(K key, java.util.List values){ - java.util.List old = values(key); - for(V value : values) + public final java.util.List put(Key key, java.util.List values){ + QList old = values(key); + for(T value : values) insert(key, value); return old; } + /** + * Removes the mapping for a key from this map if it is present. + * @see Map#remove(Object) + * @see #take(Object) + */ @SuppressWarnings("unchecked") @Override @QtUninvokable - public final java.util.List remove(Object key){ + public final java.util.List remove(Object key){ try{ - java.util.List result = valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), (K)key); + QList result = valuesKey(QtJambi_LibraryUtilities.internal.nativeId(this), (Key)key); removeAll(key); return result; }catch(QNoNativeResourcesException e) { @@ -560,6 +762,12 @@ public final java.util.List remove(Object key){ } } + /** + * Returns {@code true} if this map maps one or more keys to the + * specified value. + * @see Map#containsValue(Object) + * @see #key(Object, Object) + */ @Override @QtUninvokable public final boolean containsValue(Object value){ @@ -577,6 +785,9 @@ public final boolean containsValue(Object value){ } } + /** + * Returns the objects's hash code computed by qHash(QMultiMap<Key,T>). + */ @Override @QtUninvokable public int hashCode() { @@ -589,6 +800,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -603,6 +817,9 @@ public String toString() { @QtUninvokable private static native String toString(long __this__nativeId); + /** + *

    See operator<<(QDataStream&,QMultiMap<Key,T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -611,6 +828,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QMultiMap<Key,T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -632,320 +852,320 @@ final QMetaType valueMetaType() { /** * Returns a QMultiMap containing a single mapping. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the mapping's key - * @param v1 the mapping's value + * @param t1 the mapping's value * @return a {@code QMultiMap} containing the specified mapping * @throws NullPointerException if the key or the value is {@code null} */ - public static QMultiMap of(K k1, V v1) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1), - QList.findElementMetaType(v1)); - result.insert(k1, v1); + QList.findElementMetaType(t1)); + result.insert(k1, t1); return result; } /** * Returns a QMultiMap containing two mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2), - QList.findElementMetaType(v1, v2)); - result.insert(k1, v1); - result.insert(k2, v2); + QList.findElementMetaType(t1, t2)); + result.insert(k1, t1); + result.insert(k2, t2); return result; } /** * Returns a QMultiMap containing three mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3), - QList.findElementMetaType(v1, v2, v3)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); + QList.findElementMetaType(t1, t2, t3)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); return result; } /** * Returns a QMultiMap containing four mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4), - QList.findElementMetaType(v1, v2, v3, v4)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); + QList.findElementMetaType(t1, t2, t3, t4)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); return result; } /** * Returns a QMultiMap containing five mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5), - QList.findElementMetaType(v1, v2, v3, v4, v5)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); + QList.findElementMetaType(t1, t2, t3, t4, t5)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); return result; } /** * Returns a QMultiMap containing six mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); return result; } /** * Returns a QMultiMap containing seven mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); return result; } /** * Returns a QMultiMap containing eight mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); return result; } /** * Returns a QMultiMap containing nine mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); return result; } /** * Returns a QMultiMap containing ten mappings. * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param k1 the first mapping's key - * @param v1 the first mapping's value + * @param t1 the first mapping's value * @param k2 the second mapping's key - * @param v2 the second mapping's value + * @param t2 the second mapping's value * @param k3 the third mapping's key - * @param v3 the third mapping's value + * @param t3 the third mapping's value * @param k4 the fourth mapping's key - * @param v4 the fourth mapping's value + * @param t4 the fourth mapping's value * @param k5 the fifth mapping's key - * @param v5 the fifth mapping's value + * @param t5 the fifth mapping's value * @param k6 the sixth mapping's key - * @param v6 the sixth mapping's value + * @param t6 the sixth mapping's value * @param k7 the seventh mapping's key - * @param v7 the seventh mapping's value + * @param t7 the seventh mapping's value * @param k8 the eighth mapping's key - * @param v8 the eighth mapping's value + * @param t8 the eighth mapping's value * @param k9 the ninth mapping's key - * @param v9 the ninth mapping's value + * @param t9 the ninth mapping's value * @param k10 the tenth mapping's key - * @param v10 the tenth mapping's value + * @param t10 the tenth mapping's value * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any key or value is {@code null} */ - public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, - K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10) { - QMultiMap result = new QMultiMap<>( + public static QMultiMap of(Key k1, T t1, Key k2, T t2, Key k3, T t3, Key k4, T t4, Key k5, T t5, + Key k6, T t6, Key k7, T t7, Key k8, T t8, Key k9, T t9, Key k10, T t10) { + QMultiMap result = new QMultiMap<>( QList.findElementMetaType(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10), - QList.findElementMetaType(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)); - result.insert(k1, v1); - result.insert(k2, v2); - result.insert(k3, v3); - result.insert(k4, v4); - result.insert(k5, v5); - result.insert(k6, v6); - result.insert(k7, v7); - result.insert(k8, v8); - result.insert(k9, v9); - result.insert(k10, v10); + QList.findElementMetaType(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)); + result.insert(k1, t1); + result.insert(k2, t2); + result.insert(k3, t3); + result.insert(k4, t4); + result.insert(k5, t5); + result.insert(k6, t6); + result.insert(k7, t7); + result.insert(k8, t8); + result.insert(k9, t9); + result.insert(k10, t10); return result; } @@ -967,39 +1187,39 @@ public static QMultiMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4 * entry(26, "z")); * } * - * @param the {@code QMultiMap}'s key type - * @param the {@code QMultiMap}'s value type + * @param the {@code QMultiMap}'s key type + * @param the {@code QMultiMap}'s value type * @param entries {@code java.util.Map.Entry}s containing the keys and values from which the map is populated * @return a {@code QMultiMap} containing the specified mappings * @throws NullPointerException if any entry, key, or value is {@code null}, or if * the {@code entries} array is {@code null} */ @SafeVarargs - public static QMultiMap ofEntries(Map.Entry entry0, Map.Entry... entries) { + public static QMultiMap ofEntries(Map.Entry entry0, Map.Entry... entries) { QPair metaTypes = QMap.findMapMetaType(entry0, entries); - QMultiMap result = new QMultiMap<>(metaTypes.first, metaTypes.second); + QMultiMap result = new QMultiMap<>(metaTypes.first, metaTypes.second); result.insert(entry0.getKey(), entry0.getValue()); - for (Map.Entry entry : entries) { + for (Map.Entry entry : entries) { result.insert(entry.getKey(), entry.getValue()); } return result; } - private static QPair findMapMetaType(Map> elements){ + private static QPair findMapMetaType(Map> elements){ if(elements.getClass()==QMap.class) { return new QPair<>(((QMap)elements).keyMetaType(), ((QMap)elements).valueMetaType()); }else if(elements.getClass()==QHash.class) { return new QPair<>(((QHash)elements).keyMetaType(), ((QHash)elements).valueMetaType()); }else if(elements.getClass()==QMultiMap.class) { - return new QPair<>(((QMultiMap)elements).keyMetaType(), ((QMultiMap)elements).valueMetaType()); + return new QPair<>(((QMultiMap)elements).keyMetaType(), ((QMultiMap)elements).valueMetaType()); }else if(elements.getClass()==QMultiHash.class) { - return new QPair<>(((QMultiHash)elements).keyMetaType(), ((QMultiHash)elements).valueMetaType()); + return new QPair<>(((QMultiHash)elements).keyMetaType(), ((QMultiHash)elements).valueMetaType()); }else { QMetaType keyMetaType = new QMetaType(); Class keyType = null; QMetaType valueMetaType = new QMetaType(); Class valueType = null; - for(Entry> entry : elements.entrySet()) { + for(Entry> entry : elements.entrySet()) { Object key = entry.getKey(); if(keyMetaType!=null) { QMetaType _result = QList.getMetaType(key); @@ -1059,4 +1279,427 @@ private static QPair findMapMetaType(Map> e return new QPair<>(keyMetaType, valueMetaType); } } + + /** + *

    Equivalent to {@code subMap(fromKey, true, toKey, false)}. + * @see NavigableMap#subMap(Object, Object) + */ + @Override + @QtUninvokable + public final NavigableMap> subMap(Key fromKey, Key toKey) { + return subMap(fromKey, true, toKey, false); + } + + /** + *

    Equivalent to {@code headMap(toKey, false)}. + * @see NavigableMap#headMap(Object) + */ + @Override + @QtUninvokable + public final NavigableMap> headMap(Key toKey) { + return headMap(toKey, false); + } + + /** + *

    Equivalent to {@code tailMap(fromKey, true)}. + * @see NavigableMap#tailMap(Object) + */ + @Override + @QtUninvokable + public final NavigableMap> tailMap(Key fromKey) { + return tailMap(fromKey, true); + } + + /** + * Returns a key-value mapping associated with the greatest key + * strictly less than the given key, or {@code null} if there is + * no such key. + * @see NavigableMap#lowerEntry(Object) + */ + @Override + @QtUninvokable + public final Entry> lowerEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) + iterator.decrement(); + if(iterator.equals(constEnd())) + return null; + else { + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { + values.add(iterator.checkedValue()); + } + return new AbstractMap.SimpleImmutableEntry<>(iterator.checkedKey(), values); + } + } + + /** + * Returns the greatest key strictly less than the given key, or + * {@code null} if there is no such key. + * @see NavigableMap#lowerKey(Object) + */ + @Override + @QtUninvokable + public final Key lowerKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) + iterator.decrement(); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the greatest key + * less than or equal to the given key, or {@code null} if there + * is no such key. + * @see NavigableMap#floorEntry(Object) + */ + @Override + @QtUninvokable + public final Entry> floorEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else { + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { + values.add(iterator.checkedValue()); + } + return new AbstractMap.SimpleImmutableEntry<>(_key, values); + } + } + + /** + * Returns the greatest key less than or equal to the given key, + * or {@code null} if there is no such key. + * @see NavigableMap#floorKey(Object) + */ + @Override + @QtUninvokable + public final Key floorKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least key + * greater than or equal to the given key, or {@code null} if + * there is no such key. + * @see NavigableMap#ceilingEntry(Object) + */ + @Override + @QtUninvokable + public final Entry> ceilingEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else { + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { + values.add(iterator.checkedValue()); + } + return new AbstractMap.SimpleImmutableEntry<>(_key, values); + } + } + + /** + * Returns the least key greater than or equal to the given key, + * or {@code null} if there is no such key. + * @see NavigableMap#ceilingKey(Object) + */ + @Override + @QtUninvokable + public final Key ceilingKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(iterator.equals(constEnd())) + return null; + else return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least key + * strictly greater than the given key, or {@code null} if there + * is no such key. + * @see NavigableMap#higherEntry(Object) + */ + @Override + @QtUninvokable + public final Entry> higherEntry(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) + iterator.increment(); + if(iterator.equals(constEnd())) + return null; + else { + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { + values.add(iterator.checkedValue()); + } + return new AbstractMap.SimpleImmutableEntry<>(_key, values); + } + } + + /** + * Returns the least key strictly greater than the given key, or + * {@code null} if there is no such key. + * @see NavigableMap#higherKey(Object) + */ + @Override + @QtUninvokable + public final Key higherKey(Key key) { + QAssociativeConstIterator iterator = lowerBound(key); + if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) + iterator.increment(); + if(iterator.equals(constEnd())) + return null; + else + return iterator.checkedKey(); + } + + /** + * Returns a key-value mapping associated with the least + * key in this map, or {@code null} if the map is empty. + * @see NavigableMap#firstEntry() + */ + @Override + @QtUninvokable + public final Entry> firstEntry() { + if(isEmpty()) + return null; + else { + QAssociativeConstIterator iterator = constBegin(); + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { + values.add(iterator.checkedValue()); + } + return new AbstractMap.SimpleImmutableEntry<>(_key, values); + } + } + + /** + * Returns a key-value mapping associated with the greatest + * key in this map, or {@code null} if the map is empty. + * @see NavigableMap#lastEntry() + */ + @Override + @QtUninvokable + public final Entry> lastEntry() { + if(isEmpty()) + return null; + else { + QAssociativeConstIterator iterator = constEnd(); + iterator.decrement(); + List values = new ArrayList<>(); + Key _key = iterator.checkedKey(); + Comparator comparator = comparator(); + while(comparator.compare(_key, iterator.checkedKey())==0) { + values.add(0, iterator.checkedValue()); + iterator.decrement(); + if(iterator.equals(constBegin())) { + + } + } + return new AbstractMap.SimpleImmutableEntry<>(_key, values); + } + } + + /** + * Removes and returns a key-value mapping associated with + * the least key in this map, or {@code null} if the map is empty. + * @see NavigableMap#pollFirstEntry() + */ + @Override + @QtUninvokable + public final Entry> pollFirstEntry() { + Entry> entry = firstEntry(); + if(entry!=null) { + remove(entry.getKey()); + } + return entry; + } + + /** + * Removes and returns a key-value mapping associated with + * the greatest key in this map, or {@code null} if the map is empty. + * @see NavigableMap#pollLastEntry() + */ + @Override + @QtUninvokable + public final Entry> pollLastEntry() { + Entry> entry = lastEntry(); + if(entry!=null) { + remove(entry.getKey()); + } + return entry; + } + + /** + * Returns a reverse order view of the mappings contained in this map. + * @see NavigableMap#descendingMap() + */ + @Override + @QtUninvokable + public final NavigableMap> descendingMap() { + Comparator comparator = this.comparator(); + TreeMap> descendingMap = new TreeMap<>((Key o1, Key o2)-> -1*comparator.compare(o1, o2)); + descendingMap.putAll(this); + return descendingMap; + } + + /** + * Returns a {@link NavigableSet} view of the keys contained in this map. + * @see NavigableMap#navigableKeySet() + */ + @Override + @QtUninvokable + public final NavigableSet navigableKeySet() { + TreeSet set = new TreeSet<>(this.comparator()); + set.addAll(this.keySet()); + return set; + } + + /** + * Returns a reverse order {@link NavigableSet} view of the keys contained in this map. + * The set's iterator returns the keys in descending order. + * @see NavigableMap#descendingKeySet() + */ + @Override + @QtUninvokable + public final NavigableSet descendingKeySet() { + Comparator comparator = this.comparator(); + TreeSet set = new TreeSet<>((Key o1, Key o2)-> -1*comparator.compare(o1, o2)); + set.addAll(this.keySet()); + return set; + } + + private static Function> arrayListFactory(){ + return key->new ArrayList<>(); + } + + /** + * Returns a view of the portion of this map whose keys range from + * {@code fromKey} to {@code toKey}. If {@code fromKey} and + * {@code toKey} are equal, the returned map is empty unless + * {@code fromInclusive} and {@code toInclusive} are both true. The + * returned map is backed by this map, so changes in the returned map are + * reflected in this map, and vice-versa. The returned map supports all + * optional map operations that this map supports. + * @see NavigableMap#subMap(Object, boolean, Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap> subMap(Key fromKey, boolean fromInclusive, Key toKey, boolean toInclusive) { + NavigableMap> map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + QAssociativeConstIterator k2 = lowerBound(toKey); + if(!k2.equals(constEnd())) { + QAssociativeConstIterator k1 = lowerBound(fromKey); + if(!fromInclusive) { + k1.increment(); + } + for(; !k1.equals(k2); k1.increment()) { + map.computeIfAbsent(k1.checkedKey(), arrayListFactory()).add(k1.checkedValue()); + } + if(toInclusive) { + map.computeIfAbsent(k2.checkedKey(), arrayListFactory()).add(k2.checkedValue()); + } + } + return map; + } + + /** + * Returns a view of the portion of this map whose keys are less than (or + * equal to, if {@code inclusive} is true) {@code toKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. The returned map supports all optional + * map operations that this map supports. + * @see NavigableMap#headMap(Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap> headMap(Key toKey, boolean inclusive) { + QAssociativeConstIterator k = lowerBound(toKey); + NavigableMap> map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + if(!k.equals(constEnd())) { + for(QAssociativeConstIterator iterator = constBegin(); !iterator.equals(k); iterator.increment()) { + map.computeIfAbsent(iterator.checkedKey(), arrayListFactory()).add(iterator.checkedValue()); + } + if(inclusive) { + map.computeIfAbsent(k.checkedKey(), arrayListFactory()).add(k.checkedValue()); + } + } + return map; + } + + /** + * Returns a view of the portion of this map whose keys are greater than (or + * equal to, if {@code inclusive} is true) {@code fromKey}. The returned + * map is backed by this map, so changes in the returned map are reflected + * in this map, and vice-versa. + * @see NavigableMap#tailMap(Object, boolean) + */ + @SuppressWarnings("unchecked") + @Override + @QtUninvokable + public final NavigableMap> tailMap(Key fromKey, boolean inclusive) { + QAssociativeConstIterator k = lowerBound(fromKey); + QAssociativeConstIterator end = constEnd(); + NavigableMap> map = this.clone(); + try { + map.clear(); + } catch (Throwable e) { + } + if(!map.isEmpty()) { + try { + map = this.getClass().getConstructor().newInstance(); + } catch (Throwable e) { + map = new TreeMap<>(comparator()); + } + } + if(!k.equals(end)) { + if(!inclusive) { + k.increment(); + } + for(;!k.equals(end); k.increment()) { + map.computeIfAbsent(k.checkedKey(), arrayListFactory()).add(k.checkedValue()); + } + } + return map; + } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QPair.java b/src/java/modules/qtjambi/main/io/qt/core/QPair.java index e49d846a..26e5d8cb 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QPair.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QPair.java @@ -31,6 +31,9 @@ package io.qt.core; +import java.util.Map; +import java.util.AbstractMap.SimpleEntry; + import io.qt.NativeAccess; import io.qt.QtUninvokable; @@ -100,4 +103,37 @@ public String toString() { public QPair clone() { return new QPair(first, second); } + + /** + * Convenient factory method for new pair. + * @param t + * @param s + * @return new pair + */ + @QtUninvokable + public static QPair pair(T t, S s){ + return new QPair<>(t, s); + } + + /** + * Convenient entry-pair converter method for new pair. + * @param t + * @param s + * @return new pair + */ + @QtUninvokable + public static QPair fromEntry(Map.Entry entry){ + return new QPair<>(entry.getKey(), entry.getValue()); + } + + /** + * Convenient pair-entry converter method. + * @param t + * @param s + * @return new entry + */ + @QtUninvokable + public static Map.Entry toEntry(QPair pair){ + return new SimpleEntry<>(pair.first, pair.second); + } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QQueue.java b/src/java/modules/qtjambi/main/io/qt/core/QQueue.java index 2e3cf5c9..3cc4a5aa 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QQueue.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QQueue.java @@ -36,78 +36,134 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QQueue

    + *

    Java wrapper for Qt class QQueue

    */ public class QQueue extends QList implements Queue { + /** + * Creating a container with given element type and size. + *

    See QQueue::QQueue()

    + * @param metaType the type T + */ public QQueue(QMetaType metaType) { super(metaType); } + /** + * Creating a container with given element type and size. + *

    See QQueue::QQueue()

    + * @param metaType the type T + */ public QQueue(QMetaType.Type metaType) { this(new QMetaType(metaType)); } + /** + * Creating a container with given content. + *

    See QQueue::QQueue(const QQueue<T> &)

    + * @param other container + */ public QQueue(Collection other) { super(other); } + /** + * Creating a container with given element type. + *

    See QQueue::QQueue()

    + * @param elementType the type T + */ public QQueue(Class elementType) { super(elementType); } + /** + * Constructor for internal use only. + * @param p expected to be null. + * @hidden + */ @NativeAccess protected QQueue(QPrivateConstructor p){ super(p); } + /** + * Creating a container of type QVariant. + */ public static QQueue createVariantQueue(){ return new QQueue<>(new QMetaType(QMetaType.Type.QVariant)); } + /** + * Creates and returns a copy of this object. + *

    See QQueue::QQueue(const QQueue<T> &)

    + */ @Override public QQueue clone(){ return new QQueue<>(this); } + /** + *

    See QQueue::enqueue(T)

    + */ @QtUninvokable public final void enqueue(T t) { append(t); } + /** + *

    See QQueue::dequeue()

    + */ @QtUninvokable public final T dequeue() { return takeFirst(); } + /** + *

    See QQueue::head()const

    + */ @QtUninvokable public final T head() { return first(); } + /** + * @see Queue#peek() + */ @Override @QtUninvokable public final T peek() { return head(); } + /** + * @see Queue#poll() + */ @Override @QtUninvokable public final T poll() { return dequeue(); } + /** + * @see Queue#offer(Object) + */ @Override public final boolean offer(T e) { enqueue(e); return true; } + /** + * @see Queue#remove() + */ @Override public final T remove() { return poll(); } + /** + * @see Queue#element() + */ @Override public final T element() { return peek(); @@ -116,7 +172,7 @@ public final T element() { /** * Returns a QQueue containing given elements. * - * @param the {@code QQueue}'s element type + * @param the {@code QQueue}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QQueue} containing the specified element @@ -127,9 +183,9 @@ public final T element() { public static QQueue of(T element0, T...elements) { QMetaType metaType = findElementMetaType(element0, elements); if(metaType==null || metaType.id()==0) - throw new IllegalArgumentException("QMetaType::UnknownType cannot be type of QList."); + throw new IllegalArgumentException("QMetaType::UnknownType cannot be type of QQueue."); if(metaType.id()==QMetaType.Type.Void.value()) - throw new IllegalArgumentException("void cannot be type of QList."); + throw new IllegalArgumentException("void cannot be type of QQueue."); QQueue result = new QQueue<>(metaType); result.add(element0); for (T t : elements) { diff --git a/src/java/modules/qtjambi/main/io/qt/core/QSequentialConstIterator.java b/src/java/modules/qtjambi/main/io/qt/core/QSequentialConstIterator.java index d4cf6c85..ed8ee979 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QSequentialConstIterator.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QSequentialConstIterator.java @@ -30,23 +30,19 @@ package io.qt.core; import java.util.Iterator; -import java.util.NoSuchElementException; import java.util.Objects; -import java.util.Optional; import io.qt.NativeAccess; import io.qt.QtObject; import io.qt.QtUninvokable; -import io.qt.internal.AbstractSequentialConstIterator; /** - *

    Java-iterable wrapper for Qt's constant iterator types: + *

    Java-iterable wrapper for Qt's constant iterator types:

    * - *

    * @param value type * @see QList#constBegin() * @see QList#constEnd() @@ -54,8 +50,7 @@ * @see QSet#constEnd() * @see #iterator() */ -@SuppressWarnings("deprecation") -public class QSequentialConstIterator extends io.qt.internal.AbstractSequentialConstIterator implements java.lang.Iterable, QIterator { +public class QSequentialConstIterator extends AbstractIterator implements java.lang.Iterable { static { QtJambi_LibraryUtilities.initialize(); @@ -65,56 +60,6 @@ public class QSequentialConstIterator extends io.qt.internal.AbstractSequenti QSequentialConstIterator(QtObject owner) { super(owner); } - - @QtUninvokable - static native boolean canLess(long __this__nativeId); - - /** - * Returns the current item's value. - */ - @QtUninvokable - protected final T val() { - return value(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - @QtUninvokable - static native T value(long __this__nativeId); - - /** - * Advances the iterator to the next item in the container. - */ - @QtUninvokable - protected final void increment() { - increment(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - @QtUninvokable - static native void increment(long __this__nativeId); - - /** - * Advances the iterator to the previous item in the container. - */ - @QtUninvokable - protected final void decrement() { - decrement(QtJambi_LibraryUtilities.internal.nativeId(this)); - } - @QtUninvokable - static native void decrement(long __this__nativeId); - - @QtUninvokable - private boolean lessThan(AbstractSequentialConstIterator other) { - return lessThan(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(other)); - } - @QtUninvokable - static native boolean lessThan(long __this__nativeId, long other); - - /** - * Returns true if other points to the same item as this iterator; otherwise returns false. - */ - @QtUninvokable - protected boolean equals(AbstractSequentialConstIterator o) { - return operator_equal(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(o)); - } - @QtUninvokable - static native boolean operator_equal(long __this__nativeId, long o); /** * {@inheritDoc} @@ -125,26 +70,11 @@ public boolean equals(Object other) { if (other instanceof QSequentialConstIterator) { return super.equals(other); } - return isValid() && Objects.equals(other, val()); + return isValid() && Objects.equals(other, _value()); } - @QtUninvokable - boolean isValid() { - long nativeId = QtJambi_LibraryUtilities.internal.nativeId(this); - if(nativeId==0) - return false; - AbstractSequentialConstIterator end = end(); - if(canLess(nativeId)) { - try { - return lessThan(end); - } catch (Exception e) { - } - } - return !equals(end); - } - /** - * {@inheritDoc} + * Returns a Java iterator between this and the container's end. */ @QtUninvokable public final Iterator iterator(){ @@ -152,31 +82,10 @@ public final Iterator iterator(){ } /** - * {@inheritDoc} + * Returns a descending Java iterator between this and the container's end. */ @QtUninvokable public final java.util.Iterator descendingIterator() { return toJavaDescendingIterator(); } - - /** - * Returns the value at iterator's position in the container or emptiness in case of end. - */ - @QtUninvokable - public final Optional value() { - return !isValid() ? Optional.empty() : Optional.ofNullable(val()); - } - - /** - * Returns the current item's value if item is valid - * or throws NoSuchElementException otherwise. - */ - @QtUninvokable - protected final T checkedValue() throws NoSuchElementException { - if(isValid()) { - return val(); - }else { - throw new NoSuchElementException(); - } - } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QSequentialIterator.java b/src/java/modules/qtjambi/main/io/qt/core/QSequentialIterator.java index 1534a728..09c8fcd6 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QSequentialIterator.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QSequentialIterator.java @@ -32,20 +32,18 @@ import io.qt.NativeAccess; import io.qt.QtObject; import io.qt.QtUninvokable; -import io.qt.internal.AbstractSequentialIterator; /** - *

    Java-iterable wrapper for Qt's iterator types: + *

    Java-iterable wrapper for Qt's iterator types:

    * - *

    * @param value type * @see QList#begin() * @see QList#end() */ -public final class QSequentialIterator extends QSequentialConstIterator implements AbstractSequentialIterator { +public final class QSequentialIterator extends QSequentialConstIterator{ @NativeAccess private QSequentialIterator(QtObject owner) { @@ -66,8 +64,11 @@ public final boolean setValue(T newValue) { @QtUninvokable private static native boolean setValue(long __this__nativeId, T newValue); + /** + * Specifies if this type is constant iterator. + */ @Override - protected boolean isConstant() { + boolean isConstant() { return false; } } diff --git a/src/java/modules/qtjambi/main/io/qt/core/QSet.java b/src/java/modules/qtjambi/main/io/qt/core/QSet.java index 9e0cee5d..1b661c85 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QSet.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QSet.java @@ -30,9 +30,11 @@ package io.qt.core; import java.util.Collection; +import java.util.Iterator; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.function.Predicate; import io.qt.NativeAccess; import io.qt.QNoImplementationException; @@ -40,9 +42,9 @@ import io.qt.QtUninvokable; /** - *

    Java wrapper for Qt class QSet

    + *

    Java wrapper for Qt class QSet

    */ -public class QSet extends io.qt.internal.AbstractSequentialContainer implements Set, Cloneable +public class QSet extends AbstractSequentialContainer implements Set, Cloneable { static { @@ -52,6 +54,7 @@ public class QSet extends io.qt.internal.AbstractSequentialContainer imple /** * Constructor for internal use only. * @param p expected to be null. + * @hidden */ @NativeAccess protected QSet(QPrivateConstructor p) { @@ -60,7 +63,7 @@ protected QSet(QPrivateConstructor p) { /** * Creating a container with given element type. - *

    See QSet::QSet()

    + *

    See QSet::QSet()

    * @param elementType the type T */ public QSet(Class elementType) { @@ -71,7 +74,7 @@ public QSet(Class elementType) { /** * Creating a container with given element type. - *

    See QSet::QSet()

    + *

    See QSet::QSet()

    * @param metaType the type T */ public QSet(QMetaType.Type metaType) { @@ -80,7 +83,7 @@ public QSet(QMetaType.Type metaType) { /** * Creating a container with given element type. - *

    See QSet::QSet()

    + *

    See QSet::QSet()

    * @param metaType the type T */ public QSet(QMetaType metaType) { @@ -90,7 +93,7 @@ public QSet(QMetaType metaType) { /** * Creating a container with given content. - *

    See QSet::QSet(const QSet<T> &)

    + *

    See QSet::QSet(const QSet<T> &)

    * @param other container */ public QSet(Collection other) { @@ -110,6 +113,11 @@ public QSet clone(){ return new QSet<>(this); } + /** + * Provides a constant C++ iterator to the containers begin. + *

    See QSet::constBegin()const

    + * @return begin + */ @QtUninvokable protected final QSequentialConstIterator constBegin() { return constBegin(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -117,6 +125,9 @@ protected final QSequentialConstIterator constBegin() { @QtUninvokable private static native QSequentialConstIterator constBegin(long __this__nativeId); + /** + *

    See QSet::capacity()const

    + */ @QtUninvokable public final int capacity() { return capacity(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -124,6 +135,9 @@ public final int capacity() { @QtUninvokable private static native int capacity(long __this__nativeId); + /** + *

    See QSet::clear()

    + */ @QtUninvokable public final void clear() { clear(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -131,6 +145,9 @@ public final void clear() { @QtUninvokable private static native void clear(long __this__nativeId); + /** + *

    See QSet::contains(T)const

    + */ @QtUninvokable public final boolean contains(Object t) { try { @@ -149,11 +166,19 @@ public final boolean contains(Object t) { @QtUninvokable private static native boolean contains(long __this__nativeId, T t); + /** + *

    See QSet::count()const

    + */ @QtUninvokable public final int count() { return size(); } + /** + * Provides a constant C++ iterator to the containers end. + *

    See QSet::constEnd()const

    + * @return end + */ @QtUninvokable protected final QSequentialConstIterator constEnd() { return constEnd(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -161,6 +186,9 @@ protected final QSequentialConstIterator constEnd() { @QtUninvokable private static native QSequentialConstIterator constEnd(long __this__nativeId); + /** + *

    See QSet::insert(T)

    + */ @QtUninvokable public final void insert(T t) { try { @@ -174,6 +202,9 @@ public final void insert(T t) { @QtUninvokable private static native void insert(long __this__nativeId, T t); + /** + *

    See QSet::intersect(QSet<T>)

    + */ @QtUninvokable public final void intersect(java.util.Collection other) { intersect(QtJambi_LibraryUtilities.internal.nativeId(this), other); @@ -181,6 +212,9 @@ public final void intersect(java.util.Collection other) { @QtUninvokable private static native void intersect(long __this__nativeId, java.util.Collection other); + /** + *

    See QSet::intersects(QSet<T>)const

    + */ @QtUninvokable public final boolean intersects(java.util.Collection other) { return intersects(QtJambi_LibraryUtilities.internal.nativeId(this), other); @@ -188,6 +222,9 @@ public final boolean intersects(java.util.Collection other) { @QtUninvokable private static native boolean intersects(long __this__nativeId, java.util.Collection other); + /** + *

    See QSet::isEmpty()const

    + */ @QtUninvokable public final boolean isEmpty() { return size()==0; @@ -200,6 +237,9 @@ private final boolean operator_equal(java.util.Collection l) { @QtUninvokable private static native boolean operator_equal(long __this__nativeId, java.util.Collection l); + /** + *

    See QSet::remove(T)

    + */ @QtUninvokable public final boolean remove(Object t) { try { @@ -217,7 +257,29 @@ public final boolean remove(Object t) { } @QtUninvokable private static native boolean remove(long __this__nativeId, T t); + + /** + *

    See QSet::removeIf(Predicate)

    + */ + @QtUninvokable + public final boolean removeIf(Predicate predicate) { + Objects.requireNonNull(predicate); + boolean removed = false; + QSet clone = clone(); + final Iterator each = clone.iterator(); + while (each.hasNext()) { + T value = each.next(); + if (predicate.test(value)) { + remove(value); + removed = true; + } + } + return removed; + } + /** + *

    See QSet::reserve(int)

    + */ @QtUninvokable public final void reserve(int size) { reserve(QtJambi_LibraryUtilities.internal.nativeId(this), size); @@ -225,6 +287,9 @@ public final void reserve(int size) { @QtUninvokable private static native void reserve(long __this__nativeId, int size); + /** + *

    See QSet::size()const

    + */ @QtUninvokable public final int size() { return size(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -232,6 +297,9 @@ public final int size() { @QtUninvokable private static native int size(long __this__nativeId); + /** + *

    See QSet::subtract(QSet<T>)

    + */ @QtUninvokable public final void subtract(java.util.Collection other) { subtract(QtJambi_LibraryUtilities.internal.nativeId(this), other); @@ -239,6 +307,9 @@ public final void subtract(java.util.Collection other) { @QtUninvokable private static native void subtract(long __this__nativeId, java.util.Collection other); + /** + *

    See QSet::unite(QSet<T>)

    + */ @QtUninvokable public final void unite(java.util.Collection other) { unite(QtJambi_LibraryUtilities.internal.nativeId(this), other); @@ -246,6 +317,9 @@ public final void unite(java.util.Collection other) { @QtUninvokable private static native void unite(long __this__nativeId, java.util.Collection other); + /** + *

    See QSet::values()const

    + */ @QtUninvokable public final QList values() { return values(QtJambi_LibraryUtilities.internal.nativeId(this)); @@ -253,6 +327,9 @@ public final QList values() { @QtUninvokable private static native QList values(long __this__nativeId); + /** + *

    See QSet::operator==(QSet<T>)const

    + */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @QtUninvokable @@ -263,6 +340,9 @@ public boolean equals(Object other) { return false; } + /** + * Returns the objects's hash code computed by qHash(QSet<T>). + */ @Override @QtUninvokable public int hashCode() { @@ -275,6 +355,9 @@ public int hashCode() { @QtUninvokable private static native int hashCode(long __this__nativeId); + /** + * Returns the string representation of the object given by QVariant(this).toString(). + */ @Override @QtUninvokable public String toString() { @@ -289,6 +372,17 @@ public String toString() { @QtUninvokable private static native String toString(long __this__nativeId); + /** + * Adds the specified element to this set if it is not already present + * (optional operation). More formally, adds the specified element + * {@code e} to this set if the set contains no element {@code e2} + * such that + * {@code Objects.equals(e, e2)}. + * If this set already contains the element, the call leaves the set + * unchanged and returns {@code false}. In combination with the + * restriction on constructors, this ensures that sets never contain + * duplicate elements. + */ @Override @QtUninvokable public final boolean add(T e){ @@ -296,6 +390,9 @@ public final boolean add(T e){ return true; } + /** + *

    See operator<<(QDataStream&,QSet<T>)

    + */ @io.qt.QtUninvokable public void writeTo(io.qt.core.QDataStream stream){ writeTo(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -304,6 +401,9 @@ public void writeTo(io.qt.core.QDataStream stream){ @io.qt.QtUninvokable private native void writeTo(long __this__nativeId, long stream); + /** + *

    See operator>>(QDataStream&,QSet<T>&)

    + */ @io.qt.QtUninvokable public void readFrom(io.qt.core.QDataStream stream){ readFrom(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.nativeId(stream)); @@ -322,7 +422,7 @@ final QMetaType elementMetaType() { /** * Returns a QSet containing given elements. * - * @param the {@code QSet}'s element type + * @param the {@code QSet}'s element type * @param element0 the first element * @param elements subsequent elements * @return a {@code QSet} containing the specified element diff --git a/src/java/modules/qtjambi/main/io/qt/core/QStaticMemberSignals.java b/src/java/modules/qtjambi/main/io/qt/core/QStaticMemberSignals.java index 890877f8..fe848d75 100644 --- a/src/java/modules/qtjambi/main/io/qt/core/QStaticMemberSignals.java +++ b/src/java/modules/qtjambi/main/io/qt/core/QStaticMemberSignals.java @@ -31,34 +31,8 @@ import java.util.function.Supplier; -import io.qt.QNoDefaultValueException; -import io.qt.QNoSuchSlotException; -import io.qt.QtSignalEmitterInterface; -import io.qt.QtUninvokable; -import io.qt.core.QMetaObject.AbstractSignal6Default3; -import io.qt.core.QMetaObject.AbstractSignal6Default4; -import io.qt.core.QMetaObject.AbstractSignal6Default5; -import io.qt.core.QMetaObject.AbstractSignal7Default1; -import io.qt.core.QMetaObject.AbstractSignal7Default2; -import io.qt.core.QMetaObject.AbstractSignal7Default3; -import io.qt.core.QMetaObject.AbstractSignal7Default4; -import io.qt.core.QMetaObject.AbstractSignal7Default5; -import io.qt.core.QMetaObject.AbstractSignal7Default6; -import io.qt.core.QMetaObject.AbstractSignal8Default1; -import io.qt.core.QMetaObject.AbstractSignal8Default2; -import io.qt.core.QMetaObject.AbstractSignal8Default3; -import io.qt.core.QMetaObject.AbstractSignal8Default4; -import io.qt.core.QMetaObject.AbstractSignal8Default5; -import io.qt.core.QMetaObject.AbstractSignal8Default6; -import io.qt.core.QMetaObject.AbstractSignal8Default7; -import io.qt.core.QMetaObject.AbstractSignal9Default1; -import io.qt.core.QMetaObject.AbstractSignal9Default2; -import io.qt.core.QMetaObject.AbstractSignal9Default3; -import io.qt.core.QMetaObject.AbstractSignal9Default4; -import io.qt.core.QMetaObject.AbstractSignal9Default5; -import io.qt.core.QMetaObject.AbstractSignal9Default6; -import io.qt.core.QMetaObject.AbstractSignal9Default7; -import io.qt.core.QMetaObject.AbstractSignal9Default8; +import io.qt.*; +import io.qt.core.QMetaObject.*; /** * QStaticMemberSignals is a namespace containing signal types to be used as static member signals. @@ -506,425 +480,771 @@ private void emit(A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8 } } - public static final class Signal1Default1 extends QMetaObject.AbstractPublicSignal1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal1Default1(Supplier arg1Default){ - super(QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal1} with default value for the parameter. + * + * @param The type of the first parameter of the signal. + */ + public static final class Signal1Default1 extends QMetaObject.AbstractSignal1Default1{ + public Signal1Default1(@StrictNonNull Supplier arg1Default){ + super(arg1Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal2} with default value for parameter no. 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ public static final class Signal2Default1 extends QMetaObject.AbstractSignal2Default1{ - public Signal2Default1(Supplier arg2Default) { + public Signal2Default1(@StrictNonNull Supplier arg2Default) { super(arg2Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal2Default2 extends QMetaObject.AbstractSignal2Default1 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal2} with default values for parameters 1 and 2. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + */ + public static final class Signal2Default2 extends QMetaObject.AbstractSignal2Default2{ - public Signal2Default2(Supplier arg1Default, Supplier arg2Default){ - super(arg2Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + public Signal2Default2(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){ + super(arg1Default, arg2Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal3} with default value for parameter no. 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default1 extends QMetaObject.AbstractSignal3Default1 { - public Signal3Default1(Supplier arg3Default) { + public Signal3Default1(@StrictNonNull Supplier arg3Default) { super(arg3Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal3} with default values for parameters 2 and 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ public static final class Signal3Default2 extends QMetaObject.AbstractSignal3Default2 { - public Signal3Default2(Supplier arg2Default, Supplier arg3Default){ + public Signal3Default2(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ super(arg2Default, arg3Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal3Default3 extends QMetaObject.AbstractSignal3Default2 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal3Default3(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default){ - super(arg2Default, arg3Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - if(arg2Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal3} with default values for parameters 1 to 3. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + */ + public static final class Signal3Default3 extends QMetaObject.AbstractSignal3Default3{ + public Signal3Default3(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){ + super(arg1Default, arg2Default, arg3Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal4} with default value for parameter no. 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default1 extends QMetaObject.AbstractSignal4Default1{ - public Signal4Default1(Supplier arg4Default){ + public Signal4Default1(@StrictNonNull Supplier arg4Default){ super(arg4Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal4} with default values for parameters 3 and 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default2 extends QMetaObject.AbstractSignal4Default2{ - public Signal4Default2(Supplier arg3Default, Supplier arg4Default){ + public Signal4Default2(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg3Default, arg4Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal4} with default values for parameters 2 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ public static final class Signal4Default3 extends QMetaObject.AbstractSignal4Default3{ - public Signal4Default3(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default){ + public Signal4Default3(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ super(arg2Default, arg3Default, arg4Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal4Default4 extends QMetaObject.AbstractSignal4Default3 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { + /** + * Equivalent to {@link Signal4} with default values for parameters 1 to 4. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + */ + public static final class Signal4Default4 extends QMetaObject.AbstractSignal4Default4{ public Signal4Default4( - Supplier arg1Default, Supplier arg2Default, - Supplier arg3Default, Supplier arg4Default){ - super(arg2Default, arg3Default, arg4Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, + @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal5} with default value for parameter no. 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default1 extends QMetaObject.AbstractSignal5Default1{ - public Signal5Default1(Supplier arg5Default){ + public Signal5Default1(@StrictNonNull Supplier arg5Default){ super(arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 4 and 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default2 extends QMetaObject.AbstractSignal5Default2{ - public Signal5Default2(Supplier arg4Default, Supplier arg5Default){ + public Signal5Default2(@StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg4Default, arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 3 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default3 extends QMetaObject.AbstractSignal5Default3{ - public Signal5Default3(Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default3(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg3Default, arg4Default, arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal5} with default values for parameters 2 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ public static final class Signal5Default4 extends QMetaObject.AbstractSignal5Default4{ - public Signal5Default4(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ + public Signal5Default4(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal5Default5 extends QMetaObject.AbstractSignal5Default4 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal5Default5(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - if(arg1Default!=null){ - this.arg1Default = arg1Default; - }else{ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal5} with default values for parameters 1 to 5. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + */ + public static final class Signal5Default5 extends QMetaObject.AbstractSignal5Default5{ + public Signal5Default5(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal6} with default value for parameter no. 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default1 extends QMetaObject.AbstractSignal6Default1{ - public Signal6Default1(Supplier arg6Default){ + public Signal6Default1(@StrictNonNull Supplier arg6Default){ super(arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 5 and 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default2 extends QMetaObject.AbstractSignal6Default2{ - public Signal6Default2(Supplier arg5Default, Supplier arg6Default){ + public Signal6Default2(@StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 4 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default3 extends AbstractSignal6Default3{ - public Signal6Default3(Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default3(@StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg4Default, arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 3 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default4 extends AbstractSignal6Default4{ - public Signal6Default4(Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default4(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal6} with default values for parameters 2 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ public static final class Signal6Default5 extends AbstractSignal6Default5{ - public Signal6Default5(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ + public Signal6Default5(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal6Default6 extends AbstractSignal6Default5 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal6Default6(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal6} with default values for parameters 1 to 6. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + */ + public static final class Signal6Default6 extends AbstractSignal6Default6{ + public Signal6Default6(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal7} with default value for parameter no. 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default1 extends AbstractSignal7Default1{ - public Signal7Default1(Supplier arg7Default){ + public Signal7Default1(@StrictNonNull Supplier arg7Default){ super(arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 6 and 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default2 extends AbstractSignal7Default2 { - public Signal7Default2(Supplier arg6Default, Supplier arg7Default){ + public Signal7Default2(@StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 5 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default3 extends AbstractSignal7Default3 { - public Signal7Default3(Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default3(@StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 4 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default4 extends AbstractSignal7Default4 { - public Signal7Default4(Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default4(@StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 3 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default5 extends AbstractSignal7Default5 { - public Signal7Default5(Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default5(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal7} with default values for parameters 2 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ public static final class Signal7Default6 extends AbstractSignal7Default6 { - public Signal7Default6(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ + public Signal7Default6(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal7Default7 extends AbstractSignal7Default6 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal7Default7(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(2); - } + /** + * Equivalent to {@link Signal7} with default values for parameters 1 to 7. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + */ + public static final class Signal7Default7 extends AbstractSignal7Default7{ + public Signal7Default7(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal8} with default value for parameter no. 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default1 extends AbstractSignal8Default1{ - public Signal8Default1(Supplier arg8Default){ + public Signal8Default1(@StrictNonNull Supplier arg8Default){ super(arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 7 and 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default2 extends AbstractSignal8Default2 { - public Signal8Default2(Supplier arg7Default, Supplier arg8Default){ + public Signal8Default2(@StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 6 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default3 extends AbstractSignal8Default3 { - public Signal8Default3(Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default3(@StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 5 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default4 extends AbstractSignal8Default4 { - public Signal8Default4(Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default4(@StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 4 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default5 extends AbstractSignal8Default5 { - public Signal8Default5(Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default5(@StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 3 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default6 extends AbstractSignal8Default6 { - public Signal8Default6(Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default6(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal8} with default values for parameters 2 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ public static final class Signal8Default7 extends AbstractSignal8Default7 { - public Signal8Default7(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ + public Signal8Default7(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal8Default8 extends AbstractSignal8Default7 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal8Default8(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal8} with default values for parameters 1 to 8. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + */ + public static final class Signal8Default8 extends AbstractSignal8Default8{ + public Signal8Default8(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } + /** + * Equivalent to {@link Signal9} with default value for parameter no. 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default1 extends AbstractSignal9Default1{ - - public Signal9Default1(Supplier arg9Default){ + public Signal9Default1(@StrictNonNull Supplier arg9Default){ super(arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 8 and 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default2 extends AbstractSignal9Default2 { - - public Signal9Default2(Supplier arg8Default, Supplier arg9Default){ + public Signal9Default2(@StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 7 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default3 extends AbstractSignal9Default3 { - - public Signal9Default3(Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default3(@StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 6 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default4 extends AbstractSignal9Default4 { - - public Signal9Default4(Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default4(@StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 5 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default5 extends AbstractSignal9Default5 { - - public Signal9Default5(Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default5(@StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 4 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default6 extends AbstractSignal9Default6 { - - public Signal9Default6(Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default6(@StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 3 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default7 extends AbstractSignal9Default7 { - - public Signal9Default7(Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default7(@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } + /** + * Equivalent to {@link Signal9} with default values for parameters 2 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ public static final class Signal9Default8 extends AbstractSignal9Default8 { - - public Signal9Default8(Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ + public Signal9Default8(@StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } } - public static final class Signal9Default9 extends AbstractSignal9Default8 implements QMetaObject.Emitable0, QMetaObject.Connectable0 { - - public Signal9Default9(Supplier arg1Default, Supplier arg2Default, Supplier arg3Default, Supplier arg4Default, Supplier arg5Default, Supplier arg6Default, Supplier arg7Default, Supplier arg8Default, Supplier arg9Default){ - super(arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); - this.arg1Default = arg1Default; - if(this.arg1Default==null){ - throw new QNoDefaultValueException(1); - } + /** + * Equivalent to {@link Signal9} with default values for parameters 1 to 9. + * + * @param The type of the first parameter of the signal. + * @param The type of the second parameter of the signal. + * @param The type of the third parameter of the signal. + * @param The type of the fourth parameter of the signal. + * @param The type of the fifth parameter of the signal. + * @param The type of the sixth parameter of the signal. + * @param The type of the seventh parameter of the signal. + * @param The type of the eighth parameter of the signal. + * @param The type of the ninth parameter of the signal. + */ + public static final class Signal9Default9 extends AbstractSignal9Default9{ + public Signal9Default9(@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default, @StrictNonNull Supplier arg5Default, @StrictNonNull Supplier arg6Default, @StrictNonNull Supplier arg7Default, @StrictNonNull Supplier arg8Default, @StrictNonNull Supplier arg9Default){ + super(arg1Default, arg2Default, arg3Default, arg4Default, arg5Default, arg6Default, arg7Default, arg8Default, arg9Default, QtJambi_LibraryUtilities.internal.callerClassProvider().get()); } - - private final Supplier arg1Default; - - @Override - public final void emit() { - emitDefaultSignal(arg1Default); - } } /** @@ -940,7 +1260,7 @@ protected MultiSignal(){ * @return the signal containing object */ @Override - public QtSignalEmitterInterface containingObject() { + public @Nullable QtSignalEmitterInterface containingObject() { return null; } @@ -950,7 +1270,7 @@ public QtSignalEmitterInterface containingObject() { * @param connection the connection to be removed * @return true if the disconnection was successful. */ - public final boolean disconnect(QMetaObject.Connection connection) { + public final boolean disconnect(QMetaObject.@NonNull Connection connection) { return super.disconnect(connection); } @@ -974,7 +1294,7 @@ public final boolean disconnectAll() { * @throws java.lang.RuntimeException Raised if the signal object could not be successfully introspected or if the * signatures of the signal and slot are incompatible. */ - public final QMetaObject.Connection connect(Object receiver, String method, Qt.ConnectionType... type) { + public final QMetaObject.@NonNull Connection connect(Object receiver, String method, Qt.ConnectionType... type) { if (receiver == null) throw new NullPointerException("Receiver must be non-null"); if (method == null) @@ -991,7 +1311,7 @@ public final QMetaObject.Connection connect(Object receiver, String method, Qt.C * connection has not been previously established by a call to connect. * @throws QNoSuchSlotException Raised if the method passed in the slot object was not found */ - public final boolean disconnect(Object receiver, String method) { + public final boolean disconnect(@Nullable Object receiver, @Nullable String method) { if (method != null && receiver == null) throw new IllegalArgumentException("Receiver cannot be null if you specify a method"); return super.disconnect(receiver, method); @@ -1004,9 +1324,8 @@ public final boolean disconnect(Object receiver, String method) { * @param connectionType type of connection * @return connection if successful or null otherwise * @throws io.qt.QMisfittingSignatureException Raised if their signatures are incompatible. - * @throws io.qt.QUninvokableSlotException Raised if slot is annotated @QtUninvokable. */ - public final io.qt.core.QMetaObject.Connection connect(io.qt.core.QMetaObject.Slot0 slot, io.qt.core.Qt.ConnectionType... connectionType) throws io.qt.QNoSuchSignalException{ + public final io.qt.core.QMetaObject.@NonNull Connection connect(io.qt.core.QMetaObject.@StrictNonNull Slot0 slot, io.qt.core.Qt.ConnectionType... connectionType) throws io.qt.QNoSuchSignalException{ return super.connect(slot, connectionType); } @@ -1016,32 +1335,32 @@ public final io.qt.core.QMetaObject.Connection connect(io.qt.core.QMetaObject.Sl * @param slot the slot to be disconnected * @return true if successfully disconnected, or false otherwise. */ - public final boolean disconnect(io.qt.core.QMetaObject.Slot0 slot) { + public final boolean disconnect(io.qt.core.QMetaObject.@StrictNonNull Slot0 slot) { return super.disconnect(slot); } @io.qt.QtUninvokable - private QMetaObject.Connection connectSlot(QMetaObject.AbstractSlot slotObject, Qt.ConnectionType[] connectionType) { + private QMetaObject.@NonNull Connection connectSlot(QMetaObject.@StrictNonNull AbstractSlot slotObject, Qt.ConnectionType[] connectionType) { return super.connect(slotObject, connectionType); } @io.qt.QtUninvokable - private boolean disconnectSlot(QMetaObject.AbstractSlot slotObject) { + private boolean disconnectSlot(QMetaObject.@StrictNonNull AbstractSlot slotObject) { return super.disconnect(slotObject); } @io.qt.QtUninvokable - private QMetaObject.Connection connectSignal(QMetaObject.AbstractSignal slotObject, Qt.ConnectionType[] connectionType) { + private QMetaObject.@NonNull Connection connectSignal(QMetaObject.@StrictNonNull AbstractSignal slotObject, Qt.ConnectionType[] connectionType) { return super.connect(slotObject, connectionType); } @io.qt.QtUninvokable - private boolean disconnectSignal(QMetaObject.AbstractSignal slotObject) { + private boolean disconnectSignal(QMetaObject.@StrictNonNull AbstractSignal slotObject) { return super.disconnect(slotObject); } } - public static void emit(PrivateSignal0 signal) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal0 signal) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1051,7 +1370,7 @@ public static void emit(PrivateSignal0 signal) throws io.qt.QSignalAccessExcepti } } - public static void emit(PrivateSignal1 signal, A arg1) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal1 signal, A arg1) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1061,7 +1380,7 @@ public static void emit(PrivateSignal1 signal, A arg1) throws io.qt.QSign } } - public static void emit(PrivateSignal2 signal, A arg1, B arg2) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal2 signal, A arg1, B arg2) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1071,7 +1390,7 @@ public static void emit(PrivateSignal2 signal, A arg1, B arg2) throws } } - public static void emit(PrivateSignal3 signal, A arg1, B arg2, C arg3) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal3 signal, A arg1, B arg2, C arg3) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1081,7 +1400,7 @@ public static void emit(PrivateSignal3 signal, A arg1, B arg2, C } } - public static void emit(PrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal4 signal, A arg1, B arg2, C arg3, D arg4) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1091,7 +1410,7 @@ public static void emit(PrivateSignal4 signal, A arg1, B arg2 } } - public static void emit(PrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal5 signal, A arg1, B arg2, C arg3, D arg4, E arg5) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1101,7 +1420,7 @@ public static void emit(PrivateSignal5 signal, A arg1, B } } - public static void emit(PrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal6 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1111,7 +1430,7 @@ public static void emit(PrivateSignal6 signal, A arg1 } } - public static void emit(PrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal7 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1121,7 +1440,7 @@ public static void emit(PrivateSignal7 signal, A } } - public static void emit(PrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal8 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { @@ -1131,7 +1450,7 @@ public static void emit(PrivateSignal8 signal } } - public static void emit(PrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws io.qt.QSignalAccessException { + public static void emit(@StrictNonNull PrivateSignal9 signal, A arg1, B arg2, C arg3, D arg4, E arg5, F arg6, G arg7, H arg8, I arg9) throws io.qt.QSignalAccessException { Class callerClass = QtJambi_LibraryUtilities.internal.callerClassProvider().get(); Class signalDeclaringClass = signal.signalDeclaringClass(); if(callerClass==signalDeclaringClass || (MultiSignal.class.isAssignableFrom(callerClass) && callerClass.getEnclosingClass()==signalDeclaringClass)) { diff --git a/src/java/modules/qtjambi/main/io/qt/gui/gl/GLsync.java b/src/java/modules/qtjambi/main/io/qt/gui/gl/GLsync.java index 5dae6a9c..e0012145 100644 --- a/src/java/modules/qtjambi/main/io/qt/gui/gl/GLsync.java +++ b/src/java/modules/qtjambi/main/io/qt/gui/gl/GLsync.java @@ -31,6 +31,9 @@ import io.qt.QtObject; +/** + *

    Java wrapper for native type GLsync

    + */ public final class GLsync extends QtObject { private GLsync(QPrivateConstructor c) { super(c); diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeConstIterator.java b/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeConstIterator.java deleted file mode 100644 index ebbb6cae..00000000 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeConstIterator.java +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import java.util.ConcurrentModificationException; -import java.util.NoSuchElementException; -import java.util.function.Function; - -import io.qt.QtObject; -import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractAssociativeConstIterator extends AbstractSequentialConstIterator{ - - protected AbstractAssociativeConstIterator(QtObject owner) { - super(owner); - } - - private final static Function, java.util.Iterator> iteratorFactory; - - static { - if(Boolean.getBoolean("io.qt.enable-concurrent-container-modification-check")) { - @SuppressWarnings("unchecked") - Function, java.util.Iterator> _iteratorFactory = CheckingIncrementalIterator::new; - iteratorFactory = _iteratorFactory; - }else { - @SuppressWarnings("unchecked") - Function, java.util.Iterator> _iteratorFactory = IncrementalIterator::new; - iteratorFactory = _iteratorFactory; - } - } - - private static class IncrementalIterator implements java.util.Iterator>{ - final AbstractAssociativeConstIterator nativeIterator; - final AbstractSequentialConstIterator end; - private boolean hasNext; - - IncrementalIterator(AbstractAssociativeConstIterator nativeIterator) { - super(); - this.nativeIterator = nativeIterator; - end = nativeIterator.end(); - hasNext = end!=null && !nativeIterator.equals(end); - } - - @Override - public boolean hasNext() { - return hasNext; - } - - @Override - public QPair next() { - checkNext(); - QPair e = new QPair<>(nativeIterator.key(), nativeIterator.val()); - nativeIterator.increment(); - hasNext = end!=null && !nativeIterator.equals(end); - return e; - } - - void checkNext() { - if(!hasNext) - throw new NoSuchElementException(); - } - } - - private static class CheckingIncrementalIterator extends IncrementalIterator{ - CheckingIncrementalIterator(AbstractAssociativeConstIterator nativeIterator) { - super(nativeIterator); - } - - void checkNext() { - super.checkNext(); - if(end!=null && !end.equals(nativeIterator.end())) - throw new ConcurrentModificationException(); - } - } - - @SuppressWarnings("unchecked") - @QtUninvokable - protected final java.util.Iterator> toJavaMapIterator(){ - return (java.util.Iterator>)iteratorFactory.apply(this); - } - - @QtUninvokable - protected abstract K checkedKey(); - - @QtUninvokable - protected abstract K key(); -} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeContainer.java b/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeContainer.java deleted file mode 100644 index 15526ca6..00000000 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractAssociativeContainer.java +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import java.util.Iterator; -import java.util.Map; - -import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractAssociativeContainer extends AbstractContainer implements Map, Iterable>, Cloneable { - - @Override - public abstract AbstractAssociativeContainer clone(); - - @Override - @QtUninvokable - public abstract int size(); - - @Override - @QtUninvokable - public abstract boolean isEmpty(); - - @QtUninvokable - public abstract java.util.List keys(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator begin(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator end(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator constBegin(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator constEnd(); - - @Override - @QtUninvokable - public final void putAll(Map m) { - for(Map.Entry entry : m.entrySet()) { - put(entry.getKey(), entry.getValue()); - } - } - - @Override - @QtUninvokable - public final Iterator> iterator() { - return constBegin().toJavaMapIterator(); - } - - AbstractAssociativeContainer(QPrivateConstructor p) { - super(p); - } - - @QtUninvokable - public String toString() { - Iterator> it = iterator(); - if (! it.hasNext()) - return "{}"; - - StringBuilder sb = new StringBuilder(); - sb.append('{'); - for (;;) { - QPair e = it.next(); - sb.append(e.first == this ? "(this Map)" : e.first); - sb.append('='); - sb.append(e.second == this ? "(this Map)" : e.second); - if (! it.hasNext()) - return sb.append('}').toString(); - sb.append(';').append(' '); - } - } -} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMap.java b/src/java/modules/qtjambi/main/io/qt/internal/AbstractMap.java deleted file mode 100644 index 7ed06443..00000000 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMap.java +++ /dev/null @@ -1,320 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import java.util.AbstractMap.SimpleImmutableEntry; -import java.util.Comparator; -import java.util.NavigableMap; -import java.util.NavigableSet; -import java.util.Objects; -import java.util.Set; -import java.util.TreeMap; -import java.util.TreeSet; - -import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractMap extends AbstractAssociativeContainer implements NavigableMap { - - protected AbstractMap(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractMap clone(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator find(K key); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator lowerBound(K key); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator upperBound(K key); - - @Override - @QtUninvokable - public final NavigableMap subMap(K fromKey, K toKey) { - return subMap(fromKey, true, toKey, false); - } - - @Override - @QtUninvokable - public final NavigableMap headMap(K toKey) { - return headMap(toKey, false); - } - - @Override - @QtUninvokable - public final NavigableMap tailMap(K fromKey) { - return tailMap(fromKey, true); - } - - @Override - @QtUninvokable - public final Entry lowerEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) - iterator.decrement(); - if(iterator.equals(constEnd())) - return null; - else - return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); - } - - @Override - @QtUninvokable - public final K lowerKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) - iterator.decrement(); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry floorEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else - return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); - } - - @Override - @QtUninvokable - public final K floorKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry ceilingEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else - return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); - } - - @Override - @QtUninvokable - public final K ceilingKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry higherEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) - iterator.increment(); - if(iterator.equals(constEnd())) - return null; - else - return new SimpleImmutableEntry<>(iterator.checkedKey(), iterator.checkedValue()); - } - - @Override - @QtUninvokable - public final K higherKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) - iterator.increment(); - if(iterator.equals(constEnd())) - return null; - else - return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry firstEntry() { - if(isEmpty()) - return null; - else return new SimpleImmutableEntry<>(constBegin().checkedKey(), constBegin().checkedValue()); - } - - @Override - @QtUninvokable - public final Entry lastEntry() { - if(isEmpty()) - return null; - else { - AbstractAssociativeConstIterator end = constEnd(); - end.decrement(); - return new SimpleImmutableEntry<>(end.checkedKey(), end.checkedValue()); - } - } - - @Override - @QtUninvokable - public final Entry pollFirstEntry() { - Entry entry = firstEntry(); - if(entry!=null) { - remove(entry.getKey()); - } - return entry; - } - - @Override - @QtUninvokable - public final Entry pollLastEntry() { - Entry entry = lastEntry(); - if(entry!=null) { - remove(entry.getKey()); - } - return entry; - } - - @Override - @QtUninvokable - public final NavigableMap descendingMap() { - Comparator comparator = this.comparator(); - TreeMap descendingMap = new TreeMap<>((K o1, K o2)-> -1*comparator.compare(o1, o2)); - descendingMap.putAll(this); - return descendingMap; - } - - @Override - @QtUninvokable - public final NavigableSet navigableKeySet() { - TreeSet set = new TreeSet<>(this.comparator()); - set.addAll(this.keySet()); - return set; - } - - @Override - @QtUninvokable - public final NavigableSet descendingKeySet() { - Comparator comparator = this.comparator(); - TreeSet set = new TreeSet<>((K o1, K o2)-> -1*comparator.compare(o1, o2)); - set.addAll(this.keySet()); - return set; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) { - NavigableMap map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - AbstractAssociativeConstIterator k2 = lowerBound(toKey); - if(!k2.equals(constEnd())) { - AbstractAssociativeConstIterator k1 = lowerBound(fromKey); - if(!fromInclusive) { - k1.increment(); - } - for(; !k1.equals(k2); k1.increment()) { - map.put(k1.checkedKey(), k1.checkedValue()); - } - if(toInclusive) { - map.put(k2.checkedKey(), k2.checkedValue()); - } - } - return map; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap headMap(K toKey, boolean inclusive) { - AbstractAssociativeConstIterator k = lowerBound(toKey); - NavigableMap map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - if(!k.equals(constEnd())) { - for(AbstractAssociativeConstIterator iterator = constBegin(); !iterator.equals(k); iterator.increment()) { - map.put(iterator.checkedKey(), iterator.checkedValue()); - } - if(inclusive) { - map.put(k.checkedKey(), k.checkedValue()); - } - } - return map; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap tailMap(K fromKey, boolean inclusive) { - AbstractAssociativeConstIterator k = lowerBound(fromKey); - AbstractAssociativeConstIterator end = constEnd(); - NavigableMap map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - if(!k.equals(end)) { - if(!inclusive) { - k.increment(); - } - for(;!k.equals(end); k.increment()) { - map.put(k.checkedKey(), k.checkedValue()); - } - } - return map; - } - - @Override - @QtUninvokable - public final Set> entrySet() { - Comparator comparator = comparator(); - Set> entrySet = new TreeSet<>((e1, e2)->comparator.compare(e1.getKey(), e2.getKey())); - for(QPair pair : this) { - entrySet.add(new SimpleImmutableEntry<>(pair.first, pair.second)); - } - return entrySet; - } - - @Override - @QtUninvokable - public final Set keySet() { - TreeSet set = new TreeSet<>(comparator()); - set.addAll(keys()); - return set; - } -} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiAssociativeContainer.java b/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiAssociativeContainer.java deleted file mode 100644 index 6b69719d..00000000 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiAssociativeContainer.java +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import io.qt.NativeAccess; -import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractMultiAssociativeContainer extends AbstractContainer implements Map>, Iterable>, Cloneable { - - @NativeAccess - private static boolean putMultiMap(Map> map, Object key, Object value) { - map.computeIfAbsent(key, k -> new ArrayList<>()).add(value); - return true; - } - - @Override - @QtUninvokable - public abstract int size(); - - @Override - @QtUninvokable - public abstract boolean isEmpty(); - - @QtUninvokable - public abstract java.util.List keys(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator begin(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator end(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator constBegin(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator constEnd(); - - @Override - @QtUninvokable - public final void putAll(Map> m) { - for(Map.Entry> entry : m.entrySet()) { - put(entry.getKey(), entry.getValue()); - } - } - - @Override - @QtUninvokable - public final Iterator> iterator() { - return constBegin().toJavaMapIterator(); - } - - AbstractMultiAssociativeContainer(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractMultiAssociativeContainer clone(); - - @QtUninvokable - public String toString() { - Iterator> it = iterator(); - if (! it.hasNext()) - return "{}"; - - StringBuilder sb = new StringBuilder(); - sb.append('{'); - for (;;) { - QPair e = it.next(); - sb.append(e.first == this ? "(this Map)" : e.first); - sb.append(',').append(' '); - sb.append(e.second == this ? "(this Map)" : e.second); - if (! it.hasNext()) - return sb.append('}').toString(); - sb.append(';').append(' '); - } - } -} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiMap.java b/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiMap.java deleted file mode 100644 index 7db01e01..00000000 --- a/src/java/modules/qtjambi/main/io/qt/internal/AbstractMultiMap.java +++ /dev/null @@ -1,385 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009-2023 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. -** -** This file is part of Qt Jambi. -** -** $BEGIN_LICENSE$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** $END_LICENSE$ - -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ -package io.qt.internal; - -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.NavigableMap; -import java.util.NavigableSet; -import java.util.Objects; -import java.util.Set; -import java.util.TreeMap; -import java.util.TreeSet; - -import io.qt.QtUninvokable; -import io.qt.core.QPair; - -public abstract class AbstractMultiMap extends AbstractMultiAssociativeContainer implements NavigableMap> { - - protected AbstractMultiMap(QPrivateConstructor p) { - super(p); - } - - @Override - public abstract AbstractMultiMap clone(); - - @QtUninvokable - protected abstract AbstractAssociativeConstIterator find(K key); - @QtUninvokable - protected abstract AbstractAssociativeConstIterator lowerBound(K key); - @QtUninvokable - protected abstract AbstractAssociativeConstIterator upperBound(K key); - - @Override - @QtUninvokable - public final NavigableMap> subMap(K fromKey, K toKey) { - return subMap(fromKey, true, toKey, false); - } - - @Override - @QtUninvokable - public final NavigableMap> headMap(K toKey) { - return headMap(toKey, false); - } - - @Override - @QtUninvokable - public final NavigableMap> tailMap(K fromKey) { - return tailMap(fromKey, true); - } - - @Override - @QtUninvokable - public final Entry> lowerEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) - iterator.decrement(); - if(iterator.equals(constEnd())) - return null; - else { - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { - values.add(iterator.checkedValue()); - } - return new AbstractMap.SimpleImmutableEntry<>(iterator.checkedKey(), values); - } - } - - @Override - @QtUninvokable - public final K lowerKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && !iterator.equals(constBegin()) && Objects.equals(iterator.checkedKey(), key)) - iterator.decrement(); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry> floorEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else { - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { - values.add(iterator.checkedValue()); - } - return new AbstractMap.SimpleImmutableEntry<>(_key, values); - } - } - - @Override - @QtUninvokable - public final K floorKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry> ceilingEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else { - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { - values.add(iterator.checkedValue()); - } - return new AbstractMap.SimpleImmutableEntry<>(_key, values); - } - } - - @Override - @QtUninvokable - public final K ceilingKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(iterator.equals(constEnd())) - return null; - else return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry> higherEntry(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) - iterator.increment(); - if(iterator.equals(constEnd())) - return null; - else { - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { - values.add(iterator.checkedValue()); - } - return new AbstractMap.SimpleImmutableEntry<>(_key, values); - } - } - - @Override - @QtUninvokable - public final K higherKey(K key) { - AbstractAssociativeConstIterator iterator = lowerBound(key); - if(!iterator.equals(constEnd()) && Objects.equals(iterator.checkedKey(), key)) - iterator.increment(); - if(iterator.equals(constEnd())) - return null; - else - return iterator.checkedKey(); - } - - @Override - @QtUninvokable - public final Entry> firstEntry() { - if(isEmpty()) - return null; - else { - AbstractAssociativeConstIterator iterator = constBegin(); - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - for(; comparator.compare(_key, iterator.checkedKey())==0 && !iterator.equals(constEnd()); iterator.increment()) { - values.add(iterator.checkedValue()); - } - return new AbstractMap.SimpleImmutableEntry<>(_key, values); - } - } - - @Override - @QtUninvokable - public final Entry> lastEntry() { - if(isEmpty()) - return null; - else { - AbstractAssociativeConstIterator iterator = constEnd(); - iterator.decrement(); - List values = new ArrayList<>(); - K _key = iterator.checkedKey(); - Comparator comparator = comparator(); - while(comparator.compare(_key, iterator.checkedKey())==0) { - values.add(0, iterator.checkedValue()); - iterator.decrement(); - if(iterator.equals(constBegin())) { - - } - } - return new AbstractMap.SimpleImmutableEntry<>(_key, values); - } - } - - @Override - @QtUninvokable - public final Entry> pollFirstEntry() { - Entry> entry = firstEntry(); - if(entry!=null) { - remove(entry.getKey()); - } - return entry; - } - - @Override - @QtUninvokable - public final Entry> pollLastEntry() { - Entry> entry = lastEntry(); - if(entry!=null) { - remove(entry.getKey()); - } - return entry; - } - - @Override - @QtUninvokable - public final NavigableMap> descendingMap() { - Comparator comparator = this.comparator(); - TreeMap> descendingMap = new TreeMap<>((K o1, K o2)-> -1*comparator.compare(o1, o2)); - descendingMap.putAll(this); - return descendingMap; - } - - @Override - @QtUninvokable - public final NavigableSet navigableKeySet() { - TreeSet set = new TreeSet<>(this.comparator()); - set.addAll(this.keySet()); - return set; - } - - @Override - @QtUninvokable - public final NavigableSet descendingKeySet() { - Comparator comparator = this.comparator(); - TreeSet set = new TreeSet<>((K o1, K o2)-> -1*comparator.compare(o1, o2)); - set.addAll(this.keySet()); - return set; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) { - NavigableMap> map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - AbstractAssociativeConstIterator k2 = lowerBound(toKey); - if(!k2.equals(constEnd())) { - AbstractAssociativeConstIterator k1 = lowerBound(fromKey); - if(!fromInclusive) { - k1.increment(); - } - for(; !k1.equals(k2); k1.increment()) { - map.computeIfAbsent(k1.checkedKey(), MetaObjectUtility.arrayListFactory()).add(k1.checkedValue()); - } - if(toInclusive) { - map.computeIfAbsent(k2.checkedKey(), MetaObjectUtility.arrayListFactory()).add(k2.checkedValue()); - } - } - return map; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap> headMap(K toKey, boolean inclusive) { - AbstractAssociativeConstIterator k = lowerBound(toKey); - NavigableMap> map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - if(!k.equals(constEnd())) { - for(AbstractAssociativeConstIterator iterator = constBegin(); !iterator.equals(k); iterator.increment()) { - map.computeIfAbsent(iterator.checkedKey(), MetaObjectUtility.arrayListFactory()).add(iterator.checkedValue()); - } - if(inclusive) { - map.computeIfAbsent(k.checkedKey(), MetaObjectUtility.arrayListFactory()).add(k.checkedValue()); - } - } - return map; - } - - @SuppressWarnings("unchecked") - @Override - @QtUninvokable - public final NavigableMap> tailMap(K fromKey, boolean inclusive) { - AbstractAssociativeConstIterator k = lowerBound(fromKey); - AbstractAssociativeConstIterator end = constEnd(); - NavigableMap> map; - try { - map = this.getClass().getConstructor().newInstance(); - } catch (Throwable e) { - map = new TreeMap<>(comparator()); - } - if(!k.equals(end)) { - if(!inclusive) { - k.increment(); - } - for(;!k.equals(end); k.increment()) { - map.computeIfAbsent(k.checkedKey(), MetaObjectUtility.arrayListFactory()).add(k.checkedValue()); - } - } - return map; - } - - @Override - @QtUninvokable - public final Set>> entrySet() { - Comparator comparator = comparator(); - Set>> entrySet = new TreeSet<>((e1, e2)->comparator.compare(e1.getKey(), e2.getKey())); - if(!this.isEmpty()) { - K currentKey = null; - List currentValues = null; - for(QPair pair : this) { - if(currentValues==null) { - currentValues = new ArrayList<>(); - currentValues.add(pair.second); - currentKey = pair.first; - }else{ - if(comparator.compare(currentKey, pair.first)==0) { - currentValues.add(pair.second); - }else { - entrySet.add(new AbstractMap.SimpleImmutableEntry<>(currentKey, currentValues)); - currentValues = new ArrayList<>(); - currentValues.add(pair.second); - currentKey = pair.first; - } - } - } - entrySet.add(new AbstractMap.SimpleImmutableEntry<>(currentKey, currentValues)); - } - return entrySet; - } - - @Override - @QtUninvokable - public final Set keySet() { - TreeSet set = new TreeSet<>(comparator()); - set.addAll(keys()); - return set; - } -} diff --git a/src/java/modules/qtjambi/main/io/qt/internal/CoreUtility.java b/src/java/modules/qtjambi/main/io/qt/internal/CoreUtility.java index a3f018f2..9312b0ed 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/CoreUtility.java +++ b/src/java/modules/qtjambi/main/io/qt/internal/CoreUtility.java @@ -32,6 +32,7 @@ import java.lang.invoke.MethodHandle; import java.lang.reflect.Method; import java.net.URL; +import java.util.function.Function; import io.qt.QtObject; import io.qt.QtSignalEmitterInterface; @@ -106,4 +107,8 @@ protected static void removeClassPath(String path) { protected static void addClassPath(URL path) { ResourceUtility.addSearchPath(path); } + + protected static Function functionFromMethod(Method method){ + return ReflectionUtility.functionFromMethod(method); + } } diff --git a/src/java/modules/qtjambi/main/io/qt/internal/LibraryUtility.java b/src/java/modules/qtjambi/main/io/qt/internal/LibraryUtility.java index 74d8c76a..b654d2ea 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/LibraryUtility.java +++ b/src/java/modules/qtjambi/main/io/qt/internal/LibraryUtility.java @@ -33,9 +33,11 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.net.JarURLConnection; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; +import java.net.URLConnection; import java.nio.ByteOrder; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -118,6 +120,7 @@ final class LibraryUtility { private static final File jambiDeploymentDir; private static final File jambiJarDir; + private static final boolean isMavenRepo, isNativeSubdir; private static final List pluginLibraries = Collections.synchronizedList(new ArrayList<>()); private static final boolean deleteTmpDeployment; @@ -590,21 +593,37 @@ private static class LibVersion{ + boolean maybeMavenRepo = false; { File _jambiJarDir = null; - String classURL = ""+LibraryUtility.class.getResource(LibraryUtility.class.getSimpleName()+".class"); - int index; - if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { - String jarFileURL = classURL.substring(4, index); + URL _classURL = LibraryUtility.class.getResource(LibraryUtility.class.getSimpleName()+".class"); + if(_classURL!=null) { + int index; + String classURL = _classURL.toString(); File jarFile = null; - try { - jarFile = new File(new URL(jarFileURL).toURI()); - } catch (URISyntaxException | MalformedURLException e) { - } - if(jarFile!=null && jarFile.exists()) { + if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { + String jarFileURL = classURL.substring(4, index); + try { + jarFile = new File(new URL(jarFileURL).toURI()); + } catch (URISyntaxException | MalformedURLException e) { + } + }else { + try { + URLConnection connection = _classURL.openConnection(); + if(connection instanceof JarURLConnection) { + jarFile = new File(((JarURLConnection) connection).getJarFile().getName()); + } + } catch (Throwable e) { + } + } + if(jarFile!=null && jarFile.exists()) { _jambiJarDir = jarFile.getParentFile(); + if(_jambiJarDir.getName().equals(QtJambi_LibraryUtilities.qtMajorVersion + "." + QtJambi_LibraryUtilities.qtMinorVersion + "." + QtJambi_LibraryUtilities.qtJambiPatch) + && _jambiJarDir.getParentFile().getName().equals("qtjambi")) { + maybeMavenRepo = true; + } } - } + } jambiJarDir = _jambiJarDir; } @@ -620,11 +639,24 @@ private static class LibVersion{ dontSearchDeploymentSpec = specsFound.hasMoreElements(); if(!dontSearchDeploymentSpec && jambiJarDir!=null) { + boolean _isNativeSubdir = false; + boolean _isMavenRepo = false; List foundURLs = new ArrayList<>(); boolean isDebug = false; if(!loadQtJambiFromLibraryPath) { + String version = String.format("%1$s.%2$s.%3$s", QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, QtJambi_LibraryUtilities.qtJambiPatch); + String nativeModule = String.format("qtjambi-native-%1$s", osArchName); if("debug".equals(System.getProperty("io.qt.debug"))) { - File nativeFile = new File(jambiJarDir, String.format("qtjambi-native-%1$s-debug-%2$s.%3$s.%4$s.jar", osArchName, QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, QtJambi_LibraryUtilities.qtJambiPatch)); + File nativeFile = new File(jambiJarDir, String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + if(!nativeFile.exists()) { + nativeFile = new File(new File(jambiJarDir, "native"), String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + _isNativeSubdir = nativeFile.exists(); + } + if(!nativeFile.exists() && maybeMavenRepo) { + File jarDir = new File(new File(jambiJarDir.getParentFile().getParentFile(), String.format("%1$s-debug", nativeModule)), version); + nativeFile = new File(jarDir, String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + _isMavenRepo = nativeFile.exists(); + } if(nativeFile.exists()) { isDebug = true; try { @@ -633,14 +665,32 @@ private static class LibVersion{ } } }else { - File nativeFile = new File(jambiJarDir, String.format("qtjambi-native-%1$s-%2$s.%3$s.%4$s.jar", osArchName, QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, QtJambi_LibraryUtilities.qtJambiPatch)); + File nativeFile = new File(jambiJarDir, String.format("%1$s-%2$s.jar", nativeModule, version)); + if(!nativeFile.exists()) { + nativeFile = new File(new File(jambiJarDir, "native"), String.format("%1$s-%2$s.jar", nativeModule, version)); + _isNativeSubdir = nativeFile.exists(); + } + if(!nativeFile.exists() && maybeMavenRepo) { + File jarDir = new File(new File(jambiJarDir.getParentFile().getParentFile(), nativeModule), version); + nativeFile = new File(jarDir, String.format("%1$s-%2$s.jar", nativeModule, version)); + _isMavenRepo = nativeFile.exists(); + } if(nativeFile.exists()) { try { foundURLs.add(new URL("jar:"+nativeFile.toURI()+"!/qtjambi-deployment.xml")); } catch (IOException e) { } - }else { - nativeFile = new File(jambiJarDir, String.format("qtjambi-native-%1$s-debug-%2$s.%3$s.%4$s.jar", osArchName, QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, QtJambi_LibraryUtilities.qtJambiPatch)); + }else if(!"release".equals(System.getProperty("io.qt.debug"))){ + nativeFile = new File(jambiJarDir, String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + if(!nativeFile.exists()) { + nativeFile = new File(new File(jambiJarDir, "native"), String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + _isNativeSubdir = nativeFile.exists(); + } + if(!nativeFile.exists() && maybeMavenRepo) { + File jarDir = new File(new File(jambiJarDir.getParentFile().getParentFile(), String.format("%1$s-debug", nativeModule)), version); + nativeFile = new File(jarDir, String.format("%1$s-debug-%2$s.jar", nativeModule, version)); + _isMavenRepo = nativeFile.exists(); + } if(nativeFile.exists()) { isDebug = true; try { @@ -656,10 +706,31 @@ private static class LibVersion{ }else { infix = String.format("-native-%1$s-%2$s.%3$s.", osArchName, QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion); } - for(String f : jambiJarDir.list()) { - if(f.startsWith("qtjambi-plugin-") && f.contains(infix)) { + if(_isMavenRepo) { + String suffix; + if(isDebug) { + suffix = String.format("-native-%1$s-debug", osArchName); + }else { + suffix = String.format("-native-%1$s", osArchName); + } + for(File dir : jambiJarDir.getParentFile().getParentFile().listFiles()) { + if(dir.isDirectory() && dir.getName().startsWith("qtjambi-plugin-") && dir.getName().endsWith(suffix)) { + dir = new File(dir, version); + for(File f : dir.listFiles()) { + if(f.getName().startsWith("qtjambi-plugin-") && f.getName().contains(infix)) { + try { + foundURLs.add(new URL("jar:"+f.toURI()+"!/qtjambi-deployment.xml")); + } catch (IOException e) { + } + } + } + } + } + } + for(File f : (_isNativeSubdir ? new File(jambiJarDir, "native") : jambiJarDir).listFiles()) { + if(f.getName().startsWith("qtjambi-plugin-") && f.getName().contains(infix)) { try { - foundURLs.add(new URL("jar:"+new File(jambiJarDir, f).toURI()+"!/qtjambi-deployment.xml")); + foundURLs.add(new URL("jar:"+f.toURI()+"!/qtjambi-deployment.xml")); } catch (IOException e) { } } @@ -668,7 +739,7 @@ private static class LibVersion{ if(!loadQtFromLibraryPath) { int qtPatchVersion = -1; String libPrefix = String.format("qt-lib-core-native-%1$s%2$s-%3$s.%4$s.", osArchName, isDebug && operatingSystem==OperatingSystem.Windows ? "-debug" : "", QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion); - for(File lib : jambiJarDir.listFiles()) { + for(File lib : (_isNativeSubdir ? new File(jambiJarDir, "native") : jambiJarDir).listFiles()) { if(lib.isFile() && lib.getName().startsWith(libPrefix) && lib.getName().endsWith(".jar")) { String version = lib.getName().substring(libPrefix.length(), lib.getName().length()-4); int v = Integer.parseInt(version); @@ -678,7 +749,7 @@ private static class LibVersion{ } if(qtPatchVersion>=0) { String libSuffix = String.format("-native-%1$s%2$s-%3$s.%4$s.%5$s.jar", osArchName, isDebug && operatingSystem==OperatingSystem.Windows ? "-debug" : "", QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, qtPatchVersion); - for(File lib : jambiJarDir.listFiles()) { + for(File lib : (_isNativeSubdir ? new File(jambiJarDir, "native") : jambiJarDir).listFiles()) { if(lib.isFile() && lib.getName().startsWith("qt-") && lib.getName().endsWith(libSuffix)) { try { foundURLs.add(new URL("jar:"+lib.toURI()+"!/qtjambi-deployment.xml")); @@ -690,6 +761,11 @@ private static class LibVersion{ } if(!foundURLs.isEmpty()) specsFound = Collections.enumeration(foundURLs); + isMavenRepo = _isMavenRepo; + isNativeSubdir = _isNativeSubdir; + }else { + isMavenRepo = false; + isNativeSubdir = false; } while (specsFound.hasMoreElements()) { @@ -777,6 +853,8 @@ private static class LibVersion{ dontSearchDeploymentSpec = true; jambiDeploymentDir = _jambiDeploymentDir; jambiJarDir = null; + isMavenRepo = false; + isNativeSubdir = false; } } catch (RuntimeException | Error e) { Logger.getLogger("io.qt.internal").log(Level.WARNING, "", e); @@ -1249,27 +1327,48 @@ private static File loadQtJambiLibrary(Class callerClass, String prefix, Stri String className = callerClass.getName(); int idx = className.lastIndexOf('.'); className = className.substring(idx+1); - String classURL = ""+callerClass.getResource(className+".class"); - int index; - if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { - String jarFileURL = classURL.substring(4, index); + URL _classURL = callerClass.getResource(className+".class"); + if(_classURL!=null) { + int index; + String classURL = _classURL.toString(); File jarFile = null; - try { - jarFile = new File(new URL(jarFileURL).toURI()); - } catch (URISyntaxException | MalformedURLException e) { - } + if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { + String jarFileURL = classURL.substring(4, index); + try { + jarFile = new File(new URL(jarFileURL).toURI()); + } catch (URISyntaxException | MalformedURLException e) { + } + }else { + try { + URLConnection connection = _classURL.openConnection(); + if(connection instanceof JarURLConnection) { + jarFile = new File(((JarURLConnection) connection).getJarFile().getName()); + } + } catch (Throwable e) { + } + } if(jarFile!=null && jarFile.exists()) { - File directory = jarFile.getParentFile(); + final File directory; + if(isNativeSubdir) { + directory = new File(jarFile.getParentFile(), "native"); + }else { + directory = jarFile.getParentFile(); + } String fileName = jarFile.getName(); String qtjambiVersion = String.format("-%1$s.%2$s.%3$s", versionArray[0], versionArray[1], versionArray[2]); index = fileName.indexOf(qtjambiVersion+".jar"); if(index>0) { String moduleName = fileName.substring(0, index); - String postfix = "-native-" + osArchName; + String infix = "-native-" + osArchName; if(configuration==LibraryBundle.Configuration.Debug) - postfix += "-debug"; - postfix += qtjambiVersion+".jar"; - File nativeFile = new File(directory, moduleName + postfix); + infix += "-debug"; + final File _directory; + if(isMavenRepo) { + _directory = new File(new File(directory.getParentFile().getParentFile(), moduleName + infix), String.format("%1$s.%2$s.%3$s", versionArray[0], versionArray[1], versionArray[2])); + }else { + _directory = directory; + } + final File nativeFile = new File(_directory, moduleName + infix + qtjambiVersion+".jar"); if(nativeFile.exists()) { try { URL nativeFileURL = new URL("jar:"+nativeFile.toURI()+"!/qtjambi-deployment.xml"); @@ -1311,7 +1410,7 @@ private static File loadQtJambiLibrary(Class callerClass, String prefix, Stri } } } - } + } } return loadNativeLibrary(callerClass, availability, versionArray); } @@ -1401,16 +1500,35 @@ private static LibVersion getLibVersion(Class callerClass) { return new LibVersion(qtMajorVersion, qtMinorVersion, qtJambiPatch); }catch(Throwable t) {} - String classURL = ""+callerClass.getResource(callerClass.getSimpleName()+".class"); - int index; - if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { - classURL = classURL.substring(4, index); - if(classURL.endsWith(".jar") && (index = classURL.lastIndexOf('-'))>0) { - classURL = classURL.substring(index+1); - String[] versionString = classURL.split("\\."); - return new LibVersion(Integer.parseInt(versionString[0]), Integer.parseInt(versionString[1]), Integer.parseInt(versionString[2])); - } - } + URL _classURL = callerClass.getResource(callerClass.getSimpleName()+".class"); + if(_classURL!=null) { + int index; + String classURL = _classURL.toString(); + File jarFile = null; + if(classURL.startsWith("jar:file:") && (index = classURL.indexOf("!/"))>0) { + String jarFileURL = classURL.substring(4, index); + try { + jarFile = new File(new URL(jarFileURL).toURI()); + } catch (URISyntaxException | MalformedURLException e) { + } + }else { + try { + URLConnection connection = _classURL.openConnection(); + if(connection instanceof JarURLConnection) { + jarFile = new File(((JarURLConnection) connection).getJarFile().getName()); + } + } catch (Throwable e) { + } + } + if(jarFile!=null && jarFile.exists()) { + String fileName = jarFile.getName(); + if(fileName.endsWith(".jar") && (index = fileName.lastIndexOf('-'))>0) { + fileName = fileName.substring(index+1); + String[] versionString = fileName.split("\\."); + return new LibVersion(Integer.parseInt(versionString[0]), Integer.parseInt(versionString[1]), Integer.parseInt(versionString[2])); + } + } + } } return new LibVersion(QtJambi_LibraryUtilities.qtMajorVersion, QtJambi_LibraryUtilities.qtMinorVersion, QtJambi_LibraryUtilities.qtJambiPatch); }); @@ -1539,12 +1657,12 @@ private static List computeLibraryPaths(){ switch (operatingSystem) { case Windows: libraryPaths.add(new File(jambiDeploymentDir, "bin").getAbsolutePath()); - if(jambiJarDir!=null) + if(jambiJarDir!=null && new File(jambiJarDir, "bin").isDirectory()) libraryPaths.add(new File(jambiJarDir, "bin").getAbsolutePath()); break; default: libraryPaths.add(new File(jambiDeploymentDir, "lib").getAbsolutePath()); - if(jambiJarDir!=null) + if(jambiJarDir!=null && new File(jambiJarDir, "lib").isDirectory()) libraryPaths.add(new File(jambiJarDir, "lib").getAbsolutePath()); break; } diff --git a/src/java/modules/qtjambi/main/io/qt/internal/MetaTypeUtility.java b/src/java/modules/qtjambi/main/io/qt/internal/MetaTypeUtility.java index 120951d2..61b69c4c 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/MetaTypeUtility.java +++ b/src/java/modules/qtjambi/main/io/qt/internal/MetaTypeUtility.java @@ -909,7 +909,7 @@ static boolean isQQmlListProperty(Class cls) { } return qmlListPropertiesClass != null && qmlListPropertiesClass == cls; } - + static native int registerQmlListProperty(String type); @NativeAccess @@ -936,7 +936,7 @@ private static Object analyzeExpectedTemplateName(java.lang.Class clazz, io.q return QMetaType.Type.QByteArrayList; }else if(clazz==QList.class && instantiations[0].id()==QMetaType.Type.QVariant.value()) { return QMetaType.Type.QVariantList; - }else if(clazz.getName().startsWith("io.qt.core.Q") && AbstractSequentialContainer.class.isAssignableFrom(clazz)) { + }else if(clazz.getName().startsWith("io.qt.core.Q") && AbstractMetaObjectUtility.isSequentialContainer(clazz)) { return String.format("%1$s<%2$s>", clazz.getSimpleName(), instantiations[0].name()); }else if(clazz==java.util.Set.class) { return String.format("QSet<%1$s>", instantiations[0].name()); @@ -959,7 +959,9 @@ private static Object analyzeExpectedTemplateName(java.lang.Class clazz, io.q && instantiations[0].id()==QMetaType.Type.QString.value() && instantiations[1].id()==QMetaType.Type.QVariant.value()) { return QMetaType.Type.QVariantHash; - }else if(clazz.getName().startsWith("io.qt.core.Q") && (AbstractAssociativeContainer.class.isAssignableFrom(clazz) || AbstractMultiAssociativeContainer.class.isAssignableFrom(clazz))) { + }else if(clazz.getName().startsWith("io.qt.core.Q") + && (QMap.class.isAssignableFrom(clazz) || QMultiMap.class.isAssignableFrom(clazz) + || QHash.class.isAssignableFrom(clazz) || QMultiHash.class.isAssignableFrom(clazz))) { return String.format("%1$s<%2$s,%3$s>", clazz.getSimpleName(), instantiations[0].name(), instantiations[1].name()); }else if(clazz==java.util.Map.class) { return String.format("QHash<%1$s,%2$s>", instantiations[0].name(), instantiations[1].name()); diff --git a/src/java/modules/qtjambi/main/io/qt/internal/ResourceUtility.java b/src/java/modules/qtjambi/main/io/qt/internal/ResourceUtility.java index 0a862d5b..0acc3a3f 100644 --- a/src/java/modules/qtjambi/main/io/qt/internal/ResourceUtility.java +++ b/src/java/modules/qtjambi/main/io/qt/internal/ResourceUtility.java @@ -35,6 +35,7 @@ import java.io.InputStream; import java.net.JarURLConnection; import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; @@ -147,6 +148,17 @@ static void removeSearchPath(String path) { private static void initialize() { List cpUrls = new ArrayList<>(); try { + for(URI uri : RetroHelper.moduleLocations()) { + try{ + URL url = uri.toURL(); + if(!"jrt".equals(url.getProtocol()) && !cpUrls.contains(url)) { + cache.addPath(url); + cpUrls.add(url); + } + } catch (Exception e) { + java.util.logging.Logger.getLogger("io.qt.internal.fileengine").log(java.util.logging.Level.SEVERE, "", e); + } + } for(ClassLoader loader : RetroHelper.classLoaders()) { if(loader instanceof URLClassLoader) { for(URL url : ((URLClassLoader) loader).getURLs()) { @@ -162,21 +174,19 @@ private static void initialize() { try { String end; String urlPath; - if("file".equals(url.getProtocol())) { - urlPath = url.toString(); - end = "/META-INF/MANIFEST.MF"; - }else { + if("jar".equals(url.getProtocol())) { urlPath = url.getPath(); end = "!/META-INF/MANIFEST.MF"; - if(!urlPath.contains(":") || !urlPath.endsWith(end)) { // this is possible if URL is not jar-based - urlPath = url.toString(); - end = "/META-INF/MANIFEST.MF"; - } + }else { + urlPath = url.toString(); + end = "/META-INF/MANIFEST.MF"; + if(urlPath.endsWith(end)) + end = "META-INF/MANIFEST.MF"; } if(urlPath.endsWith(end)) { urlPath = urlPath.substring(0, urlPath.length() - end.length()); URL fileUrl = new URL(urlPath); - if(fileUrl.getPath().isEmpty()) { + if(!"jar".equals(url.getProtocol()) && fileUrl.getPath().isEmpty()) { fileUrl = new URL(urlPath+"/"); } if(!cpUrls.contains(fileUrl)) { diff --git a/src/java/modules/qtjambi/main/io/qt/widgets/QItemEditorCreator.java b/src/java/modules/qtjambi/main/io/qt/widgets/QItemEditorCreator.java index e27eccd1..688846af 100644 --- a/src/java/modules/qtjambi/main/io/qt/widgets/QItemEditorCreator.java +++ b/src/java/modules/qtjambi/main/io/qt/widgets/QItemEditorCreator.java @@ -33,6 +33,7 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; import java.util.Objects; +import java.util.function.Function; import io.qt.core.QByteArray; @@ -41,20 +42,16 @@ */ public class QItemEditorCreator implements QItemEditorCreatorBase { - public interface ConstructorHandle{ - T create(QWidget parent); - } - - private final ConstructorHandle constructorHandle; + private final Function constructorHandle; private final QByteArray valuePropertyName; - - public QItemEditorCreator(String valuePropertyName, ConstructorHandle constructorHandle) { + + public QItemEditorCreator(String valuePropertyName, Function constructorHandle) { this(new QByteArray(Objects.requireNonNull(valuePropertyName)), constructorHandle); } - public QItemEditorCreator(QByteArray valuePropertyName, ConstructorHandle constructor) { + public QItemEditorCreator(QByteArray valuePropertyName, Function constructorHandle) { super(); - this.constructorHandle = Objects.requireNonNull(constructor); + this.constructorHandle = Objects.requireNonNull(constructorHandle); this.valuePropertyName = valuePropertyName.clone(); } @@ -63,42 +60,29 @@ public QItemEditorCreator(String valuePropertyName, Class widgetType) { } public QItemEditorCreator(QByteArray valuePropertyName, Class widgetType) { - this(valuePropertyName, widgetType, findConstructor("QItemEditorCreator", widgetType)); + this(valuePropertyName, findConstructor("QItemEditorCreator", widgetType)); } - static long findConstructor(String requestingClass, Class widgetType){ + static Function findConstructor(String requestingClass, Class widgetType){ if(Modifier.isAbstract(widgetType.getModifiers())) { throw new RuntimeException("Cannot construct "+requestingClass+" for abstract widget type "+widgetType.getName()+"."); } - Constructor constructor; + Constructor constructor; try { constructor = widgetType.getDeclaredConstructor(QWidget.class); } catch (NoSuchMethodException | SecurityException e) { throw new RuntimeException("Cannot construct "+requestingClass+" for widget type "+widgetType.getName()+" due to missing constructor T(QWidget).", e); } - return constructorHandle(constructor); + return QtJambi_LibraryUtilities.internal.getFactory1(constructor); } - - private QItemEditorCreator(QByteArray valuePropertyName, Class widgetType, long constructorHandle) { - super(); - this.constructorHandle = parent -> construct(widgetType, constructorHandle, parent); - this.valuePropertyName = valuePropertyName.clone(); - } - - static native long constructorHandle(Constructor constructor); - static native T construct(Class cls, long constructorHandle, QWidget parent); @Override - public T createWidget(QWidget parent) { - T widget = this.constructorHandle.create(parent); - if(widget!=null && widget.parent()==null) { - QtJambi_LibraryUtilities.internal.setJavaOwnership(widget); - } - return widget; + public final T createWidget(QWidget parent) { + return this.constructorHandle.apply(parent); } @Override - public QByteArray valuePropertyName() { + public final QByteArray valuePropertyName() { return valuePropertyName.clone(); } } diff --git a/src/java/modules/qtjambi/main/io/qt/widgets/QStandardItemEditorCreator.java b/src/java/modules/qtjambi/main/io/qt/widgets/QStandardItemEditorCreator.java index b7c1d949..eab63831 100644 --- a/src/java/modules/qtjambi/main/io/qt/widgets/QStandardItemEditorCreator.java +++ b/src/java/modules/qtjambi/main/io/qt/widgets/QStandardItemEditorCreator.java @@ -37,6 +37,7 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Objects; +import java.util.function.Function; import io.qt.core.QByteArray; import io.qt.core.QMetaObject; @@ -48,13 +49,16 @@ */ public class QStandardItemEditorCreator implements QItemEditorCreatorBase { - public interface ConstructorHandle extends QItemEditorCreator.ConstructorHandle, Serializable{ + /** + * Item editor widget factory handle. + */ + public interface Factory extends Function, Serializable{ } private final QByteArray valuePropertyName; - private final ConstructorHandle constructorHandle; + private final Function constructorHandle; - public QStandardItemEditorCreator(ConstructorHandle constructor) { + public QStandardItemEditorCreator(Factory constructor) { super(); SerializedLambda serializedLambda = ClassAnalyzerUtility.serializeLambdaExpression(Objects.requireNonNull(constructor)); QMetaObject metaObject = null; @@ -63,7 +67,7 @@ public QStandardItemEditorCreator(ConstructorHandle constructor) { for(Type iface : QtJambi_LibraryUtilities.internal.getClass(constructor).getGenericInterfaces()) { if(iface instanceof ParameterizedType) { ParameterizedType piface = (ParameterizedType)iface; - if(piface.getRawType()==ConstructorHandle.class) { + if(piface.getRawType()==Factory.class) { Type[] args = piface.getActualTypeArguments(); for (int i = 0; i < args.length; i++) { implClass = QtJambi_LibraryUtilities.internal.toClass(args[i]); @@ -73,7 +77,7 @@ public QStandardItemEditorCreator(ConstructorHandle constructor) { } if(implClass==null) { if(QOperatingSystemVersion.current().isAnyOfType(QOperatingSystemVersion.OSType.Android)) { - QWidget widget = constructor.create(null); + QWidget widget = constructor.apply(null); metaObject = widget.metaObject(); widget.dispose(); }else { @@ -100,23 +104,19 @@ public QStandardItemEditorCreator(Class widgetType) { this(widgetType, QItemEditorCreator.findConstructor("QStandardItemEditorCreator", widgetType)); } - private QStandardItemEditorCreator(Class widgetType, long constructorHandle) { + private QStandardItemEditorCreator(Class widgetType, Function constructorHandle) { super(); - this.constructorHandle = parent -> QItemEditorCreator.construct(widgetType, constructorHandle, parent); + this.constructorHandle = constructorHandle; this.valuePropertyName = new QByteArray(QMetaObject.forType(widgetType).userProperty().name()); } @Override - public T createWidget(QWidget parent) { - T widget = this.constructorHandle.create(parent); - if(widget!=null && widget.parent()==null) { - QtJambi_LibraryUtilities.internal.setJavaOwnership(widget); - } - return widget; + public final T createWidget(QWidget parent) { + return this.constructorHandle.apply(parent); } @Override - public QByteArray valuePropertyName() { + public final QByteArray valuePropertyName() { return valuePropertyName.clone(); } } diff --git a/src/java/plugins/plugins.xml b/src/java/plugins/plugins.xml index a6dd3743..cfb2deb3 100644 --- a/src/java/plugins/plugins.xml +++ b/src/java/plugins/plugins.xml @@ -258,12 +258,12 @@ + tofile="${deploymentdir}/native/${moduledash}-native-android-common-${qtjambi.jar.version}.jar"/> - create empty ${deploymentdir}/${moduledash}-native-android-common-${qtjambi.jar.version}-javadoc.jar - - + tofile="${deploymentdir}/sources/${moduledash}-native-android-common-${qtjambi.jar.version}-sources.jar"/> + create empty ${deploymentdir}/javadocs/${moduledash}-native-android-common-${qtjambi.jar.version}-javadoc.jar + + @@ -321,7 +321,7 @@ jar-includes=${jar-includes} - + @@ -503,13 +503,13 @@ - + - + @@ -519,18 +519,20 @@ - + - + - + - + + + @@ -539,11 +541,11 @@ - + - + diff --git a/src/java/qml/qml.xml b/src/java/qml/qml.xml index ffde41a9..9c87a867 100644 --- a/src/java/qml/qml.xml +++ b/src/java/qml/qml.xml @@ -343,10 +343,10 @@ + tofile="${deploymentdir}/native/${moduledash}-native-android-common-${qtjambi.jar.version}.jar"/> - + tofile="${deploymentdir}/sources/${moduledash}-native-android-common-${qtjambi.jar.version}-sources.jar"/> + @@ -398,7 +398,7 @@ - + jar-includes=${qmltargetdir}/${subdir}/${jar-includes} diff --git a/www/Android.md b/www/Android.md index 21e9e66a..dc105791 100644 --- a/www/Android.md +++ b/www/Android.md @@ -56,10 +56,10 @@ Android projects need Qt to be available as jar bundles. Therefore, follow the instructions [here](How-to-bundle-Qt-libraries.md) to create Qt bundles. Copy the required bundles to the app folder of your software project, e.g. for ABI arm64-v8a: -- `qt-lib-core-native-android-arm64-6.5.1.jar` -- `qt-lib-core-native-android-common-6.5.1.jar` -- `qt-lib-gui-native-android-arm64-6.5.1.jar` -- `qt-lib-widgets-native-android-arm64-6.5.1.jar` +- `qt-lib-core-native-android-arm64-6.5.2.jar` +- `qt-lib-core-native-android-common-6.5.2.jar` +- `qt-lib-gui-native-android-arm64-6.5.2.jar` +- `qt-lib-widgets-native-android-arm64-6.5.2.jar` Several libraries have a `native-android-common` component. @@ -68,12 +68,12 @@ Therefore, open the file `app/build.gradle`. Add the following lines to the `dependencies` section (for ABI arm64-v8a): ```gradle - implementation 'io.qtjambi:qtjambi:6.5.1' - implementation 'io.qtjambi:qtjambi-native-android-arm64:6.5.1' - implementation files('qt-lib-core-native-android-arm64-6.5.1.jar', - 'qt-lib-core-native-android-common-6.5.1.jar', - 'qt-lib-gui-native-android-arm64-6.5.1.jar', - 'qt-lib-widgets-native-android-arm64-6.5.1.jar') + implementation 'io.qtjambi:qtjambi:6.5.2' + implementation 'io.qtjambi:qtjambi-native-android-arm64:6.5.2' + implementation files('qt-lib-core-native-android-arm64-6.5.2.jar', + 'qt-lib-core-native-android-common-6.5.2.jar', + 'qt-lib-gui-native-android-arm64-6.5.2.jar', + 'qt-lib-widgets-native-android-arm64-6.5.2.jar') ``` Exchange `android-arm64` by `android-arm` (armeabi-v7a), `android-x86` (x86) or `android-x64` (x86_64). diff --git a/www/Characteristics-of-QtJambi.md b/www/Characteristics-of-QtJambi.md index b328d44c..b3a45fad 100644 --- a/www/Characteristics-of-QtJambi.md +++ b/www/Characteristics-of-QtJambi.md @@ -201,6 +201,28 @@ All Qt functions with container parameters accept lightweight Java containers as well, for instance, `QWidget::addActions(QList)` maps to `QWidget.addActions(java.util.Collection)`. +#### Best Practices + +QtJambi container wrappers are significantly less performant than lightweight Java +containers because every single access has Qt-Java interoperability and type conversion overhead. + +A Java container is based on references to `java.lang.Object` type. +The generic type parameter is just compile time information. +On the contrary, a Qt container is a data structure of actual value type (or key-value types) +as given in its constructor. When inserting anything to Qt container in Java, +the native counterpart of the Java object is copied into the native container. +In case of a type mismatch an exception is thrown: + +``` java +// raw type list +QList list = new QList(QObject.class); +list.add("STRING"); // causes IllegalArgumentException +``` + +All of this makes Qt containers more expensive than Java containers. +However, when using a Java container as Qt method parameter (like in `QWidget.addActions(java.util.Collection)`) this effect is reversed. +Here, sending a Qt container is much faster than a Java container because the java container needs to be converted to native container entry by entry. + ### QVariant The generic Qt type `QVariant` is directly mapped to `java.lang.Object` int Java. @@ -480,6 +502,11 @@ QObject.connect(this.statechanged, this, "onStatechanged()"); QObject.disconnect(this.statechanged, this, "onStatechanged()"); //->true in Android ``` +##### Code Obfuscation + +CAUTION: Code obfuscation breaks the ability to resolve textual signal slot connections. +If you intend to release your application with obfuscated byte code you should only use +methodhandle-based or lambda-based connections. #### Emmitting @@ -755,9 +782,9 @@ if(comboBox.thread() != QThread.currentThread()) QMetaObject.invokeMethod(comboBox::clear, Qt.ConnectionType.BlockingQueuedConnection); ``` -You can switch of thread affinity checks with the Java start parameter -`-Dqt.disable.thread.affinity.check=true`. This increases performance -but leads to hard crashes in case of thread affinity breaches. It is +You can switch on thread affinity checks with the Java start parameter +`-Dqt.enable.thread.affinity.check=true`. This decreases performance +but leads to exceptions in case of thread affinity breaches. It is recommended to test your application with enabled thread affinity checks and to disable these checks in release/productive mode. @@ -1187,6 +1214,19 @@ public class Message extends QObject{ } ``` +### Object Ownership + +When transfering `QObject`s from Java to QML be aware that QML engine might change the object's ownership as +[introduced here](https://doc.qt.io/qt-6/qtqml-cppintegration-data.html#data-ownership). In Qt's terminology +"JavaScriptOwnership" means an object is owned by QML/JavaScript code. Do not mix up JavaScript with Java. +*JavaScript* is the runtime-interpreted script language used in QML when defining functions and bindings. +On the contrary, *Java* is a compiled programming language using the same type space and API as C++. +Thus, when using Qt API in Java "CppOwnership" means an object owned by Java code. + +Be aware that object's ownership is transferred to QML when it is returned by a Java method (and jas no parent). +In this case, QML might delete the object although still used in Java. It is highly recommended to only submit +Java created `QObject`s through properties to avoid this situation. + ### Java QML Modules Finally, you can bundle your custom Java QML classes into a JAR file and @@ -1260,7 +1300,7 @@ and *QtJambi* libraries: ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar @@ -1272,7 +1312,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -cp qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar io.qt.qtjambi.deployer.Main plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar @@ -1299,7 +1339,7 @@ This is especially necessary on macOS (arm64). ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar diff --git a/www/How-to-bundle-Qt-libraries.md b/www/How-to-bundle-Qt-libraries.md index 52a647d4..8d832dd2 100644 --- a/www/How-to-bundle-Qt-libraries.md +++ b/www/How-to-bundle-Qt-libraries.md @@ -10,7 +10,7 @@ on *Linux* and *macOS*. ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer qt ``` @@ -18,16 +18,16 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -cp qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar io.qt.qtjambi.deployer.Main qt ``` *QtJambi deployer* autodetects Qt installation on your computer and creates jar bundles for each of the Qt libraries along with their specific plugins. E.g. the output files for Windows look this way: -- `qt-lib-core-native-windows-x64-6.5.1.jar` -- `qt-lib-gui-native-windows-x64-6.5.1.jar` -- `qt-lib-qml-native-windows-x64-6.5.1.jar` +- `qt-lib-core-native-windows-x64-6.5.2.jar` +- `qt-lib-gui-native-windows-x64-6.5.2.jar` +- `qt-lib-qml-native-windows-x64-6.5.2.jar` - ... Place these libraries next to the **qtjambi-native-X.jar** files. @@ -39,7 +39,7 @@ Possible arguments are: - `--platform=...` Target platform, e.g. `android-arm64`, `windows-x64`, `linux-x64`, `macos`. - `-d`, `--target-directory=...` Directory where to place the generated bundle files - `--condifuration=...` Either `debug` or `release` (default), wether to bundle release libraries or debug libraries. - - `--qtdir=...` path to *Qt* version, e.g. `C:\Qt\6.5.1\msvc2019_64` + - `--qtdir=...` path to *Qt* version, e.g. `C:\Qt\6.5.2\msvc2019_64` - `--qtbase=...` alternatively path to *Qt* installation, e.g. `C:\Qt`. - `--target-version=` version to be bundles - `--utilities=...` path to Android utilities (only for android bundles). E.g. `--utilities=utilities/QtAndroidBindings.jar`. diff --git a/www/How-to-deploy-QtJambi-applications.md b/www/How-to-deploy-QtJambi-applications.md index b08af6aa..7894228c 100644 --- a/www/How-to-deploy-QtJambi-applications.md +++ b/www/How-to-deploy-QtJambi-applications.md @@ -7,7 +7,7 @@ along with platform-dependent **qtjambi-deployer-native-X.jar** for all platform In the examples below, we assume you created an application in a jar file `my-company-app.jar` with main class `my.company.app.Main` -depending on `qtjambi-6.5.1.jar`. +depending on `qtjambi-6.5.2.jar`. Call the app deployer as shown below. Make sure the library path points to the *Qt* libraries being `bin` on *Windows* and `lib` @@ -15,7 +15,7 @@ on *Linux* and *macOS*. ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer app ``` @@ -23,7 +23,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -cp qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar io.qt.qtjambi.deployer.Main app ``` @@ -70,8 +70,8 @@ installation directory | plugins | ... (platforms, styles and others) | lib - | qtjambi-6.5.1.jar - | qtjambi-native-windows-x64-6.5.1.jar + | qtjambi-6.5.2.jar + | qtjambi-native-windows-x64-6.5.2.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -82,11 +82,11 @@ append the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher.exe - --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.5.1.jar:../lib/qtjambi-native-windows-x64-6.5.1.jar + --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.5.2.jar:../lib/qtjambi-native-windows-x64-6.5.2.jar --library-path=. --jvm-path=../jre --main-class=my.company.app.Main @@ -108,11 +108,11 @@ installation directory | plugins | ... (platforms, styles and others) | lib - | libQt6Core.so[.6.5.1] - | libQt6Gui.so[.6.5.1] - | libQt6Widgets.so[.6.5.1] - | qtjambi-6.5.1.jar - | qtjambi-native-linux-x64-6.5.1.jar + | libQt6Core.so[.6.5.2] + | libQt6Gui.so[.6.5.2] + | libQt6Widgets.so[.6.5.2] + | qtjambi-6.5.2.jar + | qtjambi-native-linux-x64-6.5.2.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -123,11 +123,11 @@ the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher - --class-path=lib/my-company-app.jar:lib/qtjambi-6.5.1.jar:lib/qtjambi-native-linux-x64-6.5.1.jar + --class-path=lib/my-company-app.jar:lib/qtjambi-6.5.2.jar:lib/qtjambi-native-linux-x64-6.5.2.jar --library-path=lib --jvm-path=jre --main-class=my.company.app.Main @@ -155,8 +155,8 @@ installation directory | QtGui.framework | QtWidgets.framework | lib - | qtjambi-6.5.1.jar - | qtjambi-native-macos-6.5.1.jar + | qtjambi-6.5.2.jar + | qtjambi-native-macos-6.5.2.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -170,11 +170,11 @@ append the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.5.1.jar:qtjambi-deployer-6.5.1.jar + -p qtjambi-6.5.2.jar:qtjambi-deployer-6.5.2.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher.app - --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.5.1.jar:../lib/qtjambi-native-macos-6.5.1.jar + --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.5.2.jar:../lib/qtjambi-native-macos-6.5.2.jar --library-path=../Frameworks --jvm-path=../jre --main-class=my.company.app.Main diff --git a/www/How-to-develop-Qt-in-Java.md b/www/How-to-develop-Qt-in-Java.md index 860d8901..038ac0fd 100644 --- a/www/How-to-develop-Qt-in-Java.md +++ b/www/How-to-develop-Qt-in-Java.md @@ -13,7 +13,7 @@ to your project: $VERSION ``` -(exchange `$VERSION` either by `5.15.14` or by `6.5.1`). +(exchange `$VERSION` either by `5.15.16` or by `6.5.2`). Otherwise, download QtJambi JAR file from [Maven Central Repository](https://search.maven.org/artifact/io.qtjambi/qtjambi/). Find the [list of all available QtJambi modules](www/Modules.md). @@ -36,7 +36,7 @@ public class Test { Compile the file: ``` powershell -javac -cp qtjambi-6.5.1.jar Test.java +javac -cp qtjambi-6.5.2.jar Test.java ``` ## Executing Example @@ -57,26 +57,29 @@ macOS) or the Java runtime property **java.library.path**. The example program can be executed this way on Windows: ``` powershell -java -cp qtjambi-6.5.1.jar;qtjambi-native-windows-x64-6.5.1.jar;. -Djava.library.path=C:\Qt\6.5.1\msvc2019_64\bin Test +java -cp qtjambi-6.5.2.jar;qtjambi-native-windows-x64-6.5.2.jar;. -Djava.library.path=C:\Qt\6.5.1\msvc2019_64\bin Test ``` On Linux it looks this way: ``` bash -java -cp qtjambi-6.5.1.jar:qtjambi-native-linux-x64-6.5.1.jar:. -Djava.library.path=/Qt/6.5.1/gcc_64/lib Test +java -cp qtjambi-6.5.2.jar:qtjambi-native-linux-x64-6.5.2.jar:. -Djava.library.path=/Qt/6.5.1/gcc_64/lib Test ``` On macOS you additionally need to use the start parameter -XstartOnFirstThread: ``` bash -java -cp qtjambi-6.5.1.jar:qtjambi-native-macos-6.5.1.jar:. -Djava.library.path=/Qt/6.5.1/macos/lib -XstartOnFirstThread Test +java -cp qtjambi-6.5.2.jar:qtjambi-native-macos-6.5.2.jar:. -Djava.library.path=/Qt/6.5.1/macos/lib -XstartOnFirstThread Test ``` ### Native Components -QtJambi automatically detects the required native component jars if they are located next to their Java counterparts. -You can simply skip `qtjambi-native-OS-VERSION.jar` in your classpath (`-cp`). Nevertheless, `qtjambi-native-OS-VERSION.jar` bundles are -extracted every time at program startup. By default, this is a process specific temporal directory purged after program shutdown. +QtJambi automatically detects the required native component jars if they are located next to their Java counterparts or in a subfolder `native`. +You can simply skip `qtjambi-native-OS-VERSION.jar` in your classpath (`-cp`). + +If you intend to use automatic module loading (`java -p `) you strictly need to place native components in `native` subfolder next to `qtjambi-6.5.2.jar`. + +Native bundles are extracted every time at program startup. By default, this is a process specific temporal directory purged after program shutdown. Alternatively, you can use Java system property `io.qt.deploymentdir` to let libraries to be exctacted and persist in user application data path or common directory ([see below](#library-management)). @@ -94,9 +97,9 @@ here](How-to-deploy-QtJambi-applications.md). [Read more about developing applications for Android](Android.md). See [QtJambi 5.15 API Reference -Documentation](https://doc.qtjambi.io/5.15.14/), +Documentation](https://doc.qtjambi.io/5.15.16/), and [QtJambi 6.5 API Reference -Documentation](https://doc.qtjambi.io/6.5.1/) +Documentation](https://doc.qtjambi.io/6.5.2/) ## Useful Java System Properties for QtJambi diff --git a/www/Modules.md b/www/Modules.md index 77b2e00a..692702ac 100644 --- a/www/Modules.md +++ b/www/Modules.md @@ -11,7 +11,7 @@ QtJambi is available for Qt5 and Qt6. All modules are published as Maven Artifac $VERSION ``` -Here, exchange `$VERSION` either by `5.15.14` or by `6.5.1`. Exchange `$MODULE` by *QtJambi* module name as listed below. +Here, exchange `$VERSION` either by `5.15.16` or by `6.5.2`. Exchange `$MODULE` by *QtJambi* module name as listed below. Alternatively, you can download corresponding QtJambi modules as JAR file from [Maven Central Repository](https://search.maven.org/search?q=io.qtjambi). @@ -20,520 +20,520 @@ Native components are avaiable for Windows (x64), Linux (x64), macOS (x64 and ar ## QtJambi for Qt 6.5 -QtJambi 6.5.1 requires Qt 6.5.x whereas x can be any patch version (except **qtjambi-activex**). -This release has been built with Qt 6.5.1. +QtJambi 6.5.2 requires Qt 6.5.x whereas x can be any patch version (except **qtjambi-activex**). +This release has been built with Qt 6.5.2. Following Qt 6.5 modules are provided by QtJambi: ### Qt6 Essentials * [QtCore](https://doc.qt.io/qt-6/qtcore-index.html), [QtGui](https://doc.qt.io/qt-6/qtgui-index.html) and [QtWidgets](https://doc.qt.io/qt-6/qtwidgets-index.html) in module **qtjambi**: - * [**qtjambi-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.5.1/jar) - * [**qtjambi-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.5.1/jar) - * [**qtjambi-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.5.1/jar) - * [**qtjambi-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.5.1/jar) - * [**qtjambi-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.5.1/jar) - * [**qtjambi-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.5.1/jar) - * [**qtjambi-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.5.1/jar) - * [**qtjambi-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.5.1/jar) + * [**qtjambi-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.5.2/jar) + * [**qtjambi-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.5.2/jar) + * [**qtjambi-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.5.2/jar) + * [**qtjambi-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.5.2/jar) + * [**qtjambi-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.5.2/jar) + * [**qtjambi-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.5.2/jar) + * [**qtjambi-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.5.2/jar) + * [**qtjambi-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.5.2/jar) * [QtDBus](https://doc.qt.io/qt-6/qtdbus-index.html) in module **qtjambi-dbus**: - * [**qtjambi-dbus-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.5.1/jar) - * [**qtjambi-dbus-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.5.1/jar) - * [**qtjambi-dbus-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.5.1/jar) - * [**qtjambi-dbus-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.5.1/jar) + * [**qtjambi-dbus-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.5.2/jar) + * [**qtjambi-dbus-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.5.2/jar) + * [**qtjambi-dbus-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.5.2/jar) + * [**qtjambi-dbus-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.5.2/jar) * [QtNetwork](https://doc.qt.io/qt-6/qtnetwork-index.html) in module **qtjambi-network**: - * [**qtjambi-network-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.5.1/jar) - * [**qtjambi-network-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.5.1/jar) - * [**qtjambi-network-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.5.1/jar) - * [**qtjambi-network-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.5.1/jar) - * [**qtjambi-network-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.5.1/jar) - * [**qtjambi-network-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.5.1/jar) - * [**qtjambi-network-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.5.1/jar) - * [**qtjambi-network-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.5.1/jar) + * [**qtjambi-network-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.5.2/jar) + * [**qtjambi-network-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.5.2/jar) + * [**qtjambi-network-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.5.2/jar) + * [**qtjambi-network-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.5.2/jar) + * [**qtjambi-network-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.5.2/jar) + * [**qtjambi-network-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.5.2/jar) + * [**qtjambi-network-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.5.2/jar) + * [**qtjambi-network-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.5.2/jar) * [QtQml](https://doc.qt.io/qt-6/qtqml-index.html) in module **qtjambi-qml**: - * [**qtjambi-qml-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.5.1/jar) - * [**qtjambi-qml-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.5.1/jar) - * [**qtjambi-qml-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.5.1/jar) - * [**qtjambi-qml-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.5.1/jar) - * [**qtjambi-qml-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.5.1/jar) - * [**qtjambi-qml-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.5.1/jar) - * [**qtjambi-qml-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.5.1/jar) - * [**qtjambi-qml-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.5.1/jar) + * [**qtjambi-qml-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.5.2/jar) + * [**qtjambi-qml-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.5.2/jar) + * [**qtjambi-qml-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.5.2/jar) + * [**qtjambi-qml-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.5.2/jar) + * [**qtjambi-qml-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.5.2/jar) + * [**qtjambi-qml-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.5.2/jar) + * [**qtjambi-qml-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.5.2/jar) + * [**qtjambi-qml-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.5.2/jar) * [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) in module **qtjambi-quick**: - * [**qtjambi-quick-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.5.1/jar) - * [**qtjambi-quick-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.5.1/jar) - * [**qtjambi-quick-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.5.1/jar) - * [**qtjambi-quick-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.5.1/jar) - * [**qtjambi-quick-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.5.1/jar) - * [**qtjambi-quick-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.5.1/jar) - * [**qtjambi-quick-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.5.1/jar) - * [**qtjambi-quick-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.5.1/jar) + * [**qtjambi-quick-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.5.2/jar) + * [**qtjambi-quick-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.5.2/jar) + * [**qtjambi-quick-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.5.2/jar) + * [**qtjambi-quick-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.5.2/jar) + * [**qtjambi-quick-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.5.2/jar) + * [**qtjambi-quick-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.5.2/jar) + * [**qtjambi-quick-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.5.2/jar) + * [**qtjambi-quick-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.5.2/jar) * [QtQuickControls](https://doc.qt.io/qt-6/qtquickcontrols-index.html) in module **qtjambi-quickcontrols**: - * [**qtjambi-quickcontrols-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.5.1/jar) - * [**qtjambi-quickcontrols-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.5.1/jar) - * [**qtjambi-quickcontrols-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.5.1/jar) - * [**qtjambi-quickcontrols-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.5.1/jar) - * [**qtjambi-quickcontrols-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.5.1/jar) - * [**qtjambi-quickcontrols-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.5.1/jar) - * [**qtjambi-quickcontrols-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.5.1/jar) - * [**qtjambi-quickcontrols-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.5.1/jar) + * [**qtjambi-quickcontrols-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.5.2/jar) + * [**qtjambi-quickcontrols-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.5.2/jar) + * [**qtjambi-quickcontrols-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.5.2/jar) + * [**qtjambi-quickcontrols-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.5.2/jar) + * [**qtjambi-quickcontrols-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.5.2/jar) + * [**qtjambi-quickcontrols-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.5.2/jar) + * [**qtjambi-quickcontrols-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.5.2/jar) + * [**qtjambi-quickcontrols-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.5.2/jar) * [QtQuickTest](https://doc.qt.io/qt-6/qtquicktest-index.html) in module **qtjambi-quicktest**: - * [**qtjambi-quicktest-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.5.1/jar) - * [**qtjambi-quicktest-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.5.1/jar) - * [**qtjambi-quicktest-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.5.1/jar) - * [**qtjambi-quicktest-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.5.1/jar) - * [**qtjambi-quicktest-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.5.1/jar) - * [**qtjambi-quicktest-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.5.1/jar) - * [**qtjambi-quicktest-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.5.1/jar) - * [**qtjambi-quicktest-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.5.1/jar) + * [**qtjambi-quicktest-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.5.2/jar) + * [**qtjambi-quicktest-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.5.2/jar) + * [**qtjambi-quicktest-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.5.2/jar) + * [**qtjambi-quicktest-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.5.2/jar) + * [**qtjambi-quicktest-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.5.2/jar) + * [**qtjambi-quicktest-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.5.2/jar) + * [**qtjambi-quicktest-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.5.2/jar) + * [**qtjambi-quicktest-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.5.2/jar) * [QtTest](https://doc.qt.io/qt-6/qttest-index.html) in module **qtjambi-test**: - * [**qtjambi-test-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.5.1/jar) - * [**qtjambi-test-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.5.1/jar) - * [**qtjambi-test-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.5.1/jar) - * [**qtjambi-test-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.5.1/jar) - * [**qtjambi-test-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.5.1/jar) - * [**qtjambi-test-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.5.1/jar) - * [**qtjambi-test-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.5.1/jar) - * [**qtjambi-test-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.5.1/jar) + * [**qtjambi-test-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.5.2/jar) + * [**qtjambi-test-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.5.2/jar) + * [**qtjambi-test-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.5.2/jar) + * [**qtjambi-test-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.5.2/jar) + * [**qtjambi-test-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.5.2/jar) + * [**qtjambi-test-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.5.2/jar) + * [**qtjambi-test-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.5.2/jar) + * [**qtjambi-test-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.5.2/jar) ### Qt6 Add-Ons * [QtBluetooth](https://doc.qt.io/qt-6/qtbluetooth-index.html) in module **qtjambi-bluetooth**: - * [**qtjambi-bluetooth-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.5.1/jar) - * [**qtjambi-bluetooth-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.5.1/jar) - * [**qtjambi-bluetooth-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.5.1/jar) - * [**qtjambi-bluetooth-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.5.1/jar) - * [**qtjambi-bluetooth-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.5.1/jar) - * [**qtjambi-bluetooth-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.5.1/jar) - * [**qtjambi-bluetooth-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.5.1/jar) - * [**qtjambi-bluetooth-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.5.1/jar) + * [**qtjambi-bluetooth-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.5.2/jar) + * [**qtjambi-bluetooth-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.5.2/jar) + * [**qtjambi-bluetooth-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.5.2/jar) + * [**qtjambi-bluetooth-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.5.2/jar) + * [**qtjambi-bluetooth-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.5.2/jar) + * [**qtjambi-bluetooth-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.5.2/jar) + * [**qtjambi-bluetooth-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.5.2/jar) + * [**qtjambi-bluetooth-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.5.2/jar) * [QtCharts](https://doc.qt.io/qt-6/qtcharts-index.html) in module **qtjambi-charts**: - * [**qtjambi-charts-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.5.1/jar) - * [**qtjambi-charts-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.5.1/jar) - * [**qtjambi-charts-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.5.1/jar) - * [**qtjambi-charts-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.5.1/jar) - * [**qtjambi-charts-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.5.1/jar) - * [**qtjambi-charts-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.5.1/jar) - * [**qtjambi-charts-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.5.1/jar) - * [**qtjambi-charts-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.5.1/jar) + * [**qtjambi-charts-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.5.2/jar) + * [**qtjambi-charts-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.5.2/jar) + * [**qtjambi-charts-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.5.2/jar) + * [**qtjambi-charts-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.5.2/jar) + * [**qtjambi-charts-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.5.2/jar) + * [**qtjambi-charts-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.5.2/jar) + * [**qtjambi-charts-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.5.2/jar) + * [**qtjambi-charts-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.5.2/jar) * [QtDataVisualization](https://doc.qt.io/qt-6/qtdatavisualization-index.html) in module **qtjambi-datavisualization**: - * [**qtjambi-datavisualization-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.5.1/jar) - * [**qtjambi-datavisualization-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.5.1/jar) - * [**qtjambi-datavisualization-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.5.1/jar) - * [**qtjambi-datavisualization-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.5.1/jar) - * [**qtjambi-datavisualization-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.5.1/jar) - * [**qtjambi-datavisualization-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.5.1/jar) - * [**qtjambi-datavisualization-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.5.1/jar) - * [**qtjambi-datavisualization-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.5.1/jar) + * [**qtjambi-datavisualization-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.5.2/jar) + * [**qtjambi-datavisualization-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.5.2/jar) + * [**qtjambi-datavisualization-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.5.2/jar) + * [**qtjambi-datavisualization-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.5.2/jar) + * [**qtjambi-datavisualization-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.5.2/jar) + * [**qtjambi-datavisualization-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.5.2/jar) + * [**qtjambi-datavisualization-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.5.2/jar) + * [**qtjambi-datavisualization-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.5.2/jar) * [QtConcurrent](https://doc.qt.io/qt-6/qtconcurrent-index.html) in module **qtjambi-concurrent**: - * [**qtjambi-concurrent-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.5.1/jar) - * [**qtjambi-concurrent-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.5.1/jar) - * [**qtjambi-concurrent-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.5.1/jar) - * [**qtjambi-concurrent-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.5.1/jar) - * [**qtjambi-concurrent-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.5.1/jar) - * [**qtjambi-concurrent-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.5.1/jar) - * [**qtjambi-concurrent-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.5.1/jar) - * [**qtjambi-concurrent-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.5.1/jar) + * [**qtjambi-concurrent-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.5.2/jar) + * [**qtjambi-concurrent-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.5.2/jar) + * [**qtjambi-concurrent-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.5.2/jar) + * [**qtjambi-concurrent-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.5.2/jar) + * [**qtjambi-concurrent-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.5.2/jar) + * [**qtjambi-concurrent-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.5.2/jar) + * [**qtjambi-concurrent-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.5.2/jar) + * [**qtjambi-concurrent-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.5.2/jar) * [QtHelp](https://doc.qt.io/qt-6/qthelp-index.html) in module **qtjambi-help**: - * [**qtjambi-help-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.5.1/jar) - * [**qtjambi-help-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.5.1/jar) - * [**qtjambi-help-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.5.1/jar) - * [**qtjambi-help-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.5.1/jar) - * [**qtjambi-help-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.5.1/jar) - * [**qtjambi-help-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.5.1/jar) - * [**qtjambi-help-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.5.1/jar) - * [**qtjambi-help-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.5.1/jar) + * [**qtjambi-help-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.5.2/jar) + * [**qtjambi-help-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.5.2/jar) + * [**qtjambi-help-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.5.2/jar) + * [**qtjambi-help-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.5.2/jar) + * [**qtjambi-help-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.5.2/jar) + * [**qtjambi-help-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.5.2/jar) + * [**qtjambi-help-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.5.2/jar) + * [**qtjambi-help-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.5.2/jar) * [QtOpenGL](https://doc.qt.io/qt-6/qtopengl-index.html) in module **qtjambi-opengl**: - * [**qtjambi-opengl-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.5.1/jar) - * [**qtjambi-opengl-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.5.1/jar) - * [**qtjambi-opengl-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.5.1/jar) - * [**qtjambi-opengl-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.5.1/jar) - * [**qtjambi-opengl-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.5.1/jar) - * [**qtjambi-opengl-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.5.1/jar) - * [**qtjambi-opengl-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.5.1/jar) - * [**qtjambi-opengl-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.5.1/jar) + * [**qtjambi-opengl-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.5.2/jar) + * [**qtjambi-opengl-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.5.2/jar) + * [**qtjambi-opengl-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.5.2/jar) + * [**qtjambi-opengl-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.5.2/jar) + * [**qtjambi-opengl-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.5.2/jar) + * [**qtjambi-opengl-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.5.2/jar) + * [**qtjambi-opengl-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.5.2/jar) + * [**qtjambi-opengl-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.5.2/jar) * [QtOpenGLWidgets](https://doc.qt.io/qt-6/qtopenglwidgets-module.html) in module **qtjambi-openglwidgets**: - * [**qtjambi-openglwidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.5.1/jar) - * [**qtjambi-openglwidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-openglwidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-openglwidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.5.1/jar) - * [**qtjambi-openglwidgets-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.5.1/jar) - * [**qtjambi-openglwidgets-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.5.1/jar) - * [**qtjambi-openglwidgets-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.5.1/jar) - * [**qtjambi-openglwidgets-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.5.1/jar) + * [**qtjambi-openglwidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.5.2/jar) + * [**qtjambi-openglwidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-openglwidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-openglwidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.5.2/jar) + * [**qtjambi-openglwidgets-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.5.2/jar) + * [**qtjambi-openglwidgets-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.5.2/jar) + * [**qtjambi-openglwidgets-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.5.2/jar) + * [**qtjambi-openglwidgets-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.5.2/jar) * [QtMultimedia](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimedia**: - * [**qtjambi-multimedia-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.5.1/jar) - * [**qtjambi-multimedia-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.5.1/jar) - * [**qtjambi-multimedia-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.5.1/jar) - * [**qtjambi-multimedia-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.5.1/jar) - * [**qtjambi-multimedia-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.5.1/jar) - * [**qtjambi-multimedia-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.5.1/jar) - * [**qtjambi-multimedia-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.5.1/jar) - * [**qtjambi-multimedia-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.5.1/jar) + * [**qtjambi-multimedia-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.5.2/jar) + * [**qtjambi-multimedia-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.5.2/jar) + * [**qtjambi-multimedia-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.5.2/jar) + * [**qtjambi-multimedia-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.5.2/jar) + * [**qtjambi-multimedia-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.5.2/jar) + * [**qtjambi-multimedia-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.5.2/jar) + * [**qtjambi-multimedia-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.5.2/jar) + * [**qtjambi-multimedia-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.5.2/jar) * [QtMultimediaWidgets](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimediawidgets**: - * [**qtjambi-multimediawidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.5.1/jar) - * [**qtjambi-multimediawidgets-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.5.1/jar) + * [**qtjambi-multimediawidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.5.2/jar) + * [**qtjambi-multimediawidgets-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.5.2/jar) * [QtNfc](https://doc.qt.io/qt-6/qtnfc-index.html) in module **qtjambi-nfc**: - * [**qtjambi-nfc-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.5.1/jar) - * [**qtjambi-nfc-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.5.1/jar) - * [**qtjambi-nfc-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.5.1/jar) - * [**qtjambi-nfc-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.5.1/jar) - * [**qtjambi-nfc-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.5.1/jar) - * [**qtjambi-nfc-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.5.1/jar) - * [**qtjambi-nfc-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.5.1/jar) - * [**qtjambi-nfc-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.5.1/jar) + * [**qtjambi-nfc-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.5.2/jar) + * [**qtjambi-nfc-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.5.2/jar) + * [**qtjambi-nfc-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.5.2/jar) + * [**qtjambi-nfc-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.5.2/jar) + * [**qtjambi-nfc-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.5.2/jar) + * [**qtjambi-nfc-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.5.2/jar) + * [**qtjambi-nfc-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.5.2/jar) + * [**qtjambi-nfc-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.5.2/jar) * [QtNetworkAuth](https://doc.qt.io/qt-6/qtnetworkauth-index.html) in module **qtjambi-networkauth**: - * [**qtjambi-networkauth-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.5.1/jar) - * [**qtjambi-networkauth-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.5.1/jar) - * [**qtjambi-networkauth-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.5.1/jar) - * [**qtjambi-networkauth-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.5.1/jar) - * [**qtjambi-networkauth-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.5.1/jar) - * [**qtjambi-networkauth-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.5.1/jar) - * [**qtjambi-networkauth-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.5.1/jar) - * [**qtjambi-networkauth-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.5.1/jar) + * [**qtjambi-networkauth-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.5.2/jar) + * [**qtjambi-networkauth-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.5.2/jar) + * [**qtjambi-networkauth-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.5.2/jar) + * [**qtjambi-networkauth-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.5.2/jar) + * [**qtjambi-networkauth-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.5.2/jar) + * [**qtjambi-networkauth-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.5.2/jar) + * [**qtjambi-networkauth-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.5.2/jar) + * [**qtjambi-networkauth-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.5.2/jar) * [QtPositioning](https://doc.qt.io/qt-6/qtpositioning-index.html) in module **qtjambi-positioning**: - * [**qtjambi-positioning-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.5.1/jar) - * [**qtjambi-positioning-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.5.1/jar) - * [**qtjambi-positioning-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.5.1/jar) - * [**qtjambi-positioning-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.5.1/jar) - * [**qtjambi-positioning-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.5.1/jar) - * [**qtjambi-positioning-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.5.1/jar) - * [**qtjambi-positioning-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.5.1/jar) - * [**qtjambi-positioning-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.5.1/jar) + * [**qtjambi-positioning-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.5.2/jar) + * [**qtjambi-positioning-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.5.2/jar) + * [**qtjambi-positioning-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.5.2/jar) + * [**qtjambi-positioning-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.5.2/jar) + * [**qtjambi-positioning-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.5.2/jar) + * [**qtjambi-positioning-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.5.2/jar) + * [**qtjambi-positioning-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.5.2/jar) + * [**qtjambi-positioning-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.5.2/jar) * [QtPrintSupport](https://doc.qt.io/qt-6/qtprintsupport-index.html) in module **qtjambi-printsupport**: - * [**qtjambi-printsupport-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.5.1/jar) - * [**qtjambi-printsupport-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.5.1/jar) - * [**qtjambi-printsupport-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.5.1/jar) - * [**qtjambi-printsupport-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.5.1/jar) - * [**qtjambi-printsupport-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.5.1/jar) - * [**qtjambi-printsupport-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.5.1/jar) - * [**qtjambi-printsupport-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.5.1/jar) - * [**qtjambi-printsupport-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.5.1/jar) + * [**qtjambi-printsupport-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.5.2/jar) + * [**qtjambi-printsupport-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.5.2/jar) + * [**qtjambi-printsupport-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.5.2/jar) + * [**qtjambi-printsupport-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.5.2/jar) + * [**qtjambi-printsupport-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.5.2/jar) + * [**qtjambi-printsupport-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.5.2/jar) + * [**qtjambi-printsupport-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.5.2/jar) + * [**qtjambi-printsupport-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.5.2/jar) * [QtQuick3D](https://doc.qt.io/qt-6/qtquick3d-index.html) in module **qtjambi-quick3d**: - * [**qtjambi-quick3d-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.5.1/jar) - * [**qtjambi-quick3d-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.5.1/jar) - * [**qtjambi-quick3d-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.5.1/jar) - * [**qtjambi-quick3d-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.5.1/jar) - * [**qtjambi-quick3d-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.5.1/jar) - * [**qtjambi-quick3d-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.5.1/jar) - * [**qtjambi-quick3d-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.5.1/jar) - * [**qtjambi-quick3d-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.5.1/jar) + * [**qtjambi-quick3d-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.5.2/jar) + * [**qtjambi-quick3d-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.5.2/jar) + * [**qtjambi-quick3d-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.5.2/jar) + * [**qtjambi-quick3d-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.5.2/jar) + * [**qtjambi-quick3d-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.5.2/jar) + * [**qtjambi-quick3d-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.5.2/jar) + * [**qtjambi-quick3d-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.5.2/jar) + * [**qtjambi-quick3d-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.5.2/jar) * [QtQuickWidgets](https://doc.qt.io/qt-6/qtquickwidgets-module.html) in module **qtjambi-quickwidgets**: - * [**qtjambi-quickwidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.5.1/jar) - * [**qtjambi-quickwidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-quickwidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-quickwidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.5.1/jar) - * [**qtjambi-quickwidgets-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.5.1/jar) - * [**qtjambi-quickwidgets-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.5.1/jar) - * [**qtjambi-quickwidgets-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.5.1/jar) - * [**qtjambi-quickwidgets-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.5.1/jar) + * [**qtjambi-quickwidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.5.2/jar) + * [**qtjambi-quickwidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-quickwidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-quickwidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.5.2/jar) + * [**qtjambi-quickwidgets-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.5.2/jar) + * [**qtjambi-quickwidgets-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.5.2/jar) + * [**qtjambi-quickwidgets-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.5.2/jar) + * [**qtjambi-quickwidgets-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.5.2/jar) * [QtRemoteObjects](https://doc.qt.io/qt-6/qtremoteobjects-module.html) in module **qtjambi-remoteobjects**: - * [**qtjambi-remoteobjects-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.5.1/jar) - * [**qtjambi-remoteobjects-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.5.1/jar) - * [**qtjambi-remoteobjects-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.5.1/jar) - * [**qtjambi-remoteobjects-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.5.1/jar) - * [**qtjambi-remoteobjects-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.5.1/jar) - * [**qtjambi-remoteobjects-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.5.1/jar) - * [**qtjambi-remoteobjects-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.5.1/jar) - * [**qtjambi-remoteobjects-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.5.1/jar) + * [**qtjambi-remoteobjects-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.5.2/jar) + * [**qtjambi-remoteobjects-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.5.2/jar) + * [**qtjambi-remoteobjects-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.5.2/jar) + * [**qtjambi-remoteobjects-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.5.2/jar) + * [**qtjambi-remoteobjects-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.5.2/jar) + * [**qtjambi-remoteobjects-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.5.2/jar) + * [**qtjambi-remoteobjects-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.5.2/jar) + * [**qtjambi-remoteobjects-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.5.2/jar) * [QtSCXML](https://doc.qt.io/qt-6/qtscxml-index.html) in module **qtjambi-scxml**: - * [**qtjambi-scxml-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.5.1/jar) - * [**qtjambi-scxml-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.5.1/jar) - * [**qtjambi-scxml-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.5.1/jar) - * [**qtjambi-scxml-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.5.1/jar) - * [**qtjambi-scxml-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.5.1/jar) - * [**qtjambi-scxml-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.5.1/jar) - * [**qtjambi-scxml-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.5.1/jar) - * [**qtjambi-scxml-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.5.1/jar) + * [**qtjambi-scxml-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.5.2/jar) + * [**qtjambi-scxml-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.5.2/jar) + * [**qtjambi-scxml-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.5.2/jar) + * [**qtjambi-scxml-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.5.2/jar) + * [**qtjambi-scxml-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.5.2/jar) + * [**qtjambi-scxml-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.5.2/jar) + * [**qtjambi-scxml-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.5.2/jar) + * [**qtjambi-scxml-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.5.2/jar) * [QtSensors](https://doc.qt.io/qt-6/qtsensors-index.html) in module **qtjambi-sensors**: - * [**qtjambi-sensors-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.5.1/jar) - * [**qtjambi-sensors-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.5.1/jar) - * [**qtjambi-sensors-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.5.1/jar) - * [**qtjambi-sensors-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.5.1/jar) - * [**qtjambi-sensors-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.5.1/jar) - * [**qtjambi-sensors-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.5.1/jar) - * [**qtjambi-sensors-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.5.1/jar) - * [**qtjambi-sensors-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.5.1/jar) + * [**qtjambi-sensors-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.5.2/jar) + * [**qtjambi-sensors-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.5.2/jar) + * [**qtjambi-sensors-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.5.2/jar) + * [**qtjambi-sensors-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.5.2/jar) + * [**qtjambi-sensors-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.5.2/jar) + * [**qtjambi-sensors-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.5.2/jar) + * [**qtjambi-sensors-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.5.2/jar) + * [**qtjambi-sensors-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.5.2/jar) * [QtSerialBus](https://doc.qt.io/qt-6/qtserialbus-index.html) in module **qtjambi-serialbus**: - * [**qtjambi-serialbus-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.5.1/jar) - * [**qtjambi-serialbus-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.5.1/jar) - * [**qtjambi-serialbus-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.5.1/jar) - * [**qtjambi-serialbus-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.5.1/jar) - * [**qtjambi-serialbus-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.5.1/jar) - * [**qtjambi-serialbus-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.5.1/jar) - * [**qtjambi-serialbus-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.5.1/jar) - * [**qtjambi-serialbus-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.5.1/jar) + * [**qtjambi-serialbus-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.5.2/jar) + * [**qtjambi-serialbus-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.5.2/jar) + * [**qtjambi-serialbus-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.5.2/jar) + * [**qtjambi-serialbus-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.5.2/jar) + * [**qtjambi-serialbus-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.5.2/jar) + * [**qtjambi-serialbus-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.5.2/jar) + * [**qtjambi-serialbus-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.5.2/jar) + * [**qtjambi-serialbus-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.5.2/jar) * [QtSerialPort](https://doc.qt.io/qt-6/qtserialport-index.html) in module **qtjambi-serialport**: - * [**qtjambi-serialport-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.5.1/jar) - * [**qtjambi-serialport-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.5.1/jar) - * [**qtjambi-serialport-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.5.1/jar) - * [**qtjambi-serialport-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.5.1/jar) - * [**qtjambi-serialport-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.5.1/jar) - * [**qtjambi-serialport-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.5.1/jar) - * [**qtjambi-serialport-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.5.1/jar) - * [**qtjambi-serialport-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.5.1/jar) + * [**qtjambi-serialport-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.5.2/jar) + * [**qtjambi-serialport-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.5.2/jar) + * [**qtjambi-serialport-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.5.2/jar) + * [**qtjambi-serialport-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.5.2/jar) + * [**qtjambi-serialport-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.5.2/jar) + * [**qtjambi-serialport-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.5.2/jar) + * [**qtjambi-serialport-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.5.2/jar) + * [**qtjambi-serialport-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.5.2/jar) * [QtSql](https://doc.qt.io/qt-6/qtsql-index.html) in module **qtjambi-sql**: - * [**qtjambi-sql-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.5.1/jar) - * [**qtjambi-sql-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.5.1/jar) - * [**qtjambi-sql-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.5.1/jar) - * [**qtjambi-sql-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.5.1/jar) - * [**qtjambi-sql-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.5.1/jar) - * [**qtjambi-sql-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.5.1/jar) - * [**qtjambi-sql-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.5.1/jar) - * [**qtjambi-sql-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.5.1/jar) + * [**qtjambi-sql-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.5.2/jar) + * [**qtjambi-sql-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.5.2/jar) + * [**qtjambi-sql-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.5.2/jar) + * [**qtjambi-sql-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.5.2/jar) + * [**qtjambi-sql-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.5.2/jar) + * [**qtjambi-sql-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.5.2/jar) + * [**qtjambi-sql-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.5.2/jar) + * [**qtjambi-sql-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.5.2/jar) * [QtSvg](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svg**: - * [**qtjambi-svg-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.5.1/jar) - * [**qtjambi-svg-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.5.1/jar) - * [**qtjambi-svg-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.5.1/jar) - * [**qtjambi-svg-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.5.1/jar) - * [**qtjambi-svg-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.5.1/jar) - * [**qtjambi-svg-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.5.1/jar) - * [**qtjambi-svg-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.5.1/jar) - * [**qtjambi-svg-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.5.1/jar) + * [**qtjambi-svg-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.5.2/jar) + * [**qtjambi-svg-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.5.2/jar) + * [**qtjambi-svg-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.5.2/jar) + * [**qtjambi-svg-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.5.2/jar) + * [**qtjambi-svg-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.5.2/jar) + * [**qtjambi-svg-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.5.2/jar) + * [**qtjambi-svg-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.5.2/jar) + * [**qtjambi-svg-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.5.2/jar) * [QtSvgWidgets](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svgwidgets**: - * [**qtjambi-svgwidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.5.1/jar) - * [**qtjambi-svgwidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-svgwidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-svgwidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.5.1/jar) - * [**qtjambi-svgwidgets-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.5.1/jar) - * [**qtjambi-svgwidgets-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.5.1/jar) - * [**qtjambi-svgwidgets-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.5.1/jar) - * [**qtjambi-svgwidgets-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.5.1/jar) + * [**qtjambi-svgwidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.5.2/jar) + * [**qtjambi-svgwidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-svgwidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-svgwidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.5.2/jar) + * [**qtjambi-svgwidgets-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.5.2/jar) + * [**qtjambi-svgwidgets-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.5.2/jar) + * [**qtjambi-svgwidgets-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.5.2/jar) + * [**qtjambi-svgwidgets-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.5.2/jar) * [QtStateMachine](https://doc.qt.io/qt-6/qtstatemachine-index.html) in module **qtjambi-statemachine**: - * [**qtjambi-statemachine-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.5.1/jar) - * [**qtjambi-statemachine-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.5.1/jar) - * [**qtjambi-statemachine-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.5.1/jar) - * [**qtjambi-statemachine-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.5.1/jar) - * [**qtjambi-statemachine-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.5.1/jar) - * [**qtjambi-statemachine-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.5.1/jar) - * [**qtjambi-statemachine-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.5.1/jar) - * [**qtjambi-statemachine-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.5.1/jar) + * [**qtjambi-statemachine-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.5.2/jar) + * [**qtjambi-statemachine-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.5.2/jar) + * [**qtjambi-statemachine-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.5.2/jar) + * [**qtjambi-statemachine-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.5.2/jar) + * [**qtjambi-statemachine-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.5.2/jar) + * [**qtjambi-statemachine-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.5.2/jar) + * [**qtjambi-statemachine-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.5.2/jar) + * [**qtjambi-statemachine-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.5.2/jar) * [QtUITools](https://doc.qt.io/qt-6/qtuitools-index.html) in module **qtjambi-uitools**: - * [**qtjambi-uitools-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.5.1/jar) - * [**qtjambi-uitools-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.5.1/jar) - * [**qtjambi-uitools-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.5.1/jar) - * [**qtjambi-uitools-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.5.1/jar) - * [**qtjambi-uitools-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.5.1/jar) - * [**qtjambi-uitools-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.5.1/jar) - * [**qtjambi-uitools-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.5.1/jar) - * [**qtjambi-uitools-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.5.1/jar) + * [**qtjambi-uitools-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.5.2/jar) + * [**qtjambi-uitools-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.5.2/jar) + * [**qtjambi-uitools-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.5.2/jar) + * [**qtjambi-uitools-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.5.2/jar) + * [**qtjambi-uitools-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.5.2/jar) + * [**qtjambi-uitools-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.5.2/jar) + * [**qtjambi-uitools-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.5.2/jar) + * [**qtjambi-uitools-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.5.2/jar) * [QtWebChannel](https://doc.qt.io/qt-6/qtwebchannel-index.html) in module **qtjambi-webchannel**: - * [**qtjambi-webchannel-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.5.1/jar) - * [**qtjambi-webchannel-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.5.1/jar) - * [**qtjambi-webchannel-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.5.1/jar) - * [**qtjambi-webchannel-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.5.1/jar) - * [**qtjambi-webchannel-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.5.1/jar) - * [**qtjambi-webchannel-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.5.1/jar) - * [**qtjambi-webchannel-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.5.1/jar) - * [**qtjambi-webchannel-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.5.1/jar) + * [**qtjambi-webchannel-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.5.2/jar) + * [**qtjambi-webchannel-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.5.2/jar) + * [**qtjambi-webchannel-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.5.2/jar) + * [**qtjambi-webchannel-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.5.2/jar) + * [**qtjambi-webchannel-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.5.2/jar) + * [**qtjambi-webchannel-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.5.2/jar) + * [**qtjambi-webchannel-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.5.2/jar) + * [**qtjambi-webchannel-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.5.2/jar) * [QtWebEngineCore](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginecore**: - * [**qtjambi-webenginecore-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.5.1/jar) - * [**qtjambi-webenginecore-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.5.1/jar) - * [**qtjambi-webenginecore-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.5.1/jar) - * [**qtjambi-webenginecore-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.5.1/jar) + * [**qtjambi-webenginecore-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.5.2/jar) + * [**qtjambi-webenginecore-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.5.2/jar) + * [**qtjambi-webenginecore-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.5.2/jar) + * [**qtjambi-webenginecore-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.5.2/jar) * [QtWebEngineWidgets](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginewidgets**: - * [**qtjambi-webenginewidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.5.1/jar) - * [**qtjambi-webenginewidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-webenginewidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-webenginewidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.5.1/jar) + * [**qtjambi-webenginewidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.5.2/jar) + * [**qtjambi-webenginewidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-webenginewidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-webenginewidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.5.2/jar) * [QtWebEngineQuick](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginequick**: - * [**qtjambi-webenginequick-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.5.1/jar) - * [**qtjambi-webenginequick-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.5.1/jar) - * [**qtjambi-webenginequick-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.5.1/jar) - * [**qtjambi-webenginequick-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.5.1/jar) + * [**qtjambi-webenginequick-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.5.2/jar) + * [**qtjambi-webenginequick-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.5.2/jar) + * [**qtjambi-webenginequick-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.5.2/jar) + * [**qtjambi-webenginequick-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.5.2/jar) * [QtWebSockets](https://doc.qt.io/qt-6/qtwebsockets-index.html) in module **qtjambi-websockets**: - * [**qtjambi-websockets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.5.1/jar) - * [**qtjambi-websockets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.5.1/jar) - * [**qtjambi-websockets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.5.1/jar) - * [**qtjambi-websockets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.5.1/jar) - * [**qtjambi-websockets-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.5.1/jar) - * [**qtjambi-websockets-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.5.1/jar) - * [**qtjambi-websockets-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.5.1/jar) - * [**qtjambi-websockets-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.5.1/jar) + * [**qtjambi-websockets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.5.2/jar) + * [**qtjambi-websockets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.5.2/jar) + * [**qtjambi-websockets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.5.2/jar) + * [**qtjambi-websockets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.5.2/jar) + * [**qtjambi-websockets-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.5.2/jar) + * [**qtjambi-websockets-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.5.2/jar) + * [**qtjambi-websockets-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.5.2/jar) + * [**qtjambi-websockets-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.5.2/jar) * [QtWebView](https://doc.qt.io/qt-6/qtwebview-index.html) in module **qtjambi-webview**: - * [**qtjambi-webview-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.5.1/jar) - * [**qtjambi-webview-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.5.1/jar) - * [**qtjambi-webview-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.5.1/jar) - * [**qtjambi-webview-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.5.1/jar) - * [**qtjambi-webview-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.5.1/jar) - * [**qtjambi-webview-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.5.1/jar) - * [**qtjambi-webview-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.5.1/jar) - * [**qtjambi-webview-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.5.1/jar) + * [**qtjambi-webview-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.5.2/jar) + * [**qtjambi-webview-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.5.2/jar) + * [**qtjambi-webview-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.5.2/jar) + * [**qtjambi-webview-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.5.2/jar) + * [**qtjambi-webview-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.5.2/jar) + * [**qtjambi-webview-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.5.2/jar) + * [**qtjambi-webview-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.5.2/jar) + * [**qtjambi-webview-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.5.2/jar) * [QtVirtualKeyboard](https://doc.qt.io/qt-6/qtvirtualkeyboard-index.html) in module **qtjambi-virtualkeyboard**: - * [**qtjambi-virtualkeyboard-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.5.1/jar) - * [**qtjambi-virtualkeyboard-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.5.1/jar) + * [**qtjambi-virtualkeyboard-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.5.2/jar) + * [**qtjambi-virtualkeyboard-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.5.2/jar) * [QtXml](https://doc.qt.io/qt-6/qtxml-index.html) in module **qtjambi-xml**: - * [**qtjambi-xml-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.5.1/jar) - * [**qtjambi-xml-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.5.1/jar) - * [**qtjambi-xml-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.5.1/jar) - * [**qtjambi-xml-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.5.1/jar) - * [**qtjambi-xml-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.5.1/jar) - * [**qtjambi-xml-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.5.1/jar) - * [**qtjambi-xml-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.5.1/jar) - * [**qtjambi-xml-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.5.1/jar) + * [**qtjambi-xml-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.5.2/jar) + * [**qtjambi-xml-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.5.2/jar) + * [**qtjambi-xml-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.5.2/jar) + * [**qtjambi-xml-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.5.2/jar) + * [**qtjambi-xml-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.5.2/jar) + * [**qtjambi-xml-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.5.2/jar) + * [**qtjambi-xml-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.5.2/jar) + * [**qtjambi-xml-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.5.2/jar) * [QtDesigner](https://doc.qt.io/qt-6/qtdesigner-manual.html) in module **qtjambi-designer**: - * [**qtjambi-designer-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.5.1/jar) - * [**qtjambi-designer-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.5.1/jar) - * [**qtjambi-designer-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.5.1/jar) - * [**qtjambi-designer-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.5.1/jar) - * [**qtjambi-designer-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.5.1/jar) - * [**qtjambi-designer-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.5.1/jar) - * [**qtjambi-designer-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.5.1/jar) - * [**qtjambi-designer-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.5.1/jar) + * [**qtjambi-designer-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.5.2/jar) + * [**qtjambi-designer-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.5.2/jar) + * [**qtjambi-designer-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.5.2/jar) + * [**qtjambi-designer-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.5.2/jar) + * [**qtjambi-designer-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.5.2/jar) + * [**qtjambi-designer-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.5.2/jar) + * [**qtjambi-designer-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.5.2/jar) + * [**qtjambi-designer-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.5.2/jar) * [QtPDF](https://doc.qt.io/qt-6/qtpdf-index.html) in modules **qtjambi-pdf** and **qtjambi-pdfwidgets**: - * [**qtjambi-pdf-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf/6.5.1/jar) - * [**qtjambi-pdf-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-windows-x64/6.5.1/jar) - * [**qtjambi-pdf-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-linux-x64/6.5.1/jar) - * [**qtjambi-pdf-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-macos/6.5.1/jar) - * [**qtjambi-pdfwidgets-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets/6.5.1/jar) - * [**qtjambi-pdfwidgets-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-windows-x64/6.5.1/jar) - * [**qtjambi-pdfwidgets-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-linux-x64/6.5.1/jar) - * [**qtjambi-pdfwidgets-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-macos/6.5.1/jar) + * [**qtjambi-pdf-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf/6.5.2/jar) + * [**qtjambi-pdf-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-windows-x64/6.5.2/jar) + * [**qtjambi-pdf-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-linux-x64/6.5.2/jar) + * [**qtjambi-pdf-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-macos/6.5.2/jar) + * [**qtjambi-pdfwidgets-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets/6.5.2/jar) + * [**qtjambi-pdfwidgets-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-windows-x64/6.5.2/jar) + * [**qtjambi-pdfwidgets-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-linux-x64/6.5.2/jar) + * [**qtjambi-pdfwidgets-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-macos/6.5.2/jar) * [QtHttpServer](https://doc.qt.io/qt-6/qthttpserver-index.html) in module **qtjambi-httpserver** - * [**qtjambi-httpserver-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver/6.5.1/jar) - * [**qtjambi-httpserver-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-windows-x64/6.5.1/jar) - * [**qtjambi-httpserver-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-linux-x64/6.5.1/jar) - * [**qtjambi-httpserver-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-macos/6.5.1/jar) - * [**qtjambi-httpserver-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-x86/6.5.1/jar) - * [**qtjambi-httpserver-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-x64/6.5.1/jar) - * [**qtjambi-httpserver-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-arm/6.5.1/jar) - * [**qtjambi-httpserver-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-arm64/6.5.1/jar) + * [**qtjambi-httpserver-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver/6.5.2/jar) + * [**qtjambi-httpserver-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-windows-x64/6.5.2/jar) + * [**qtjambi-httpserver-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-linux-x64/6.5.2/jar) + * [**qtjambi-httpserver-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-macos/6.5.2/jar) + * [**qtjambi-httpserver-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-x86/6.5.2/jar) + * [**qtjambi-httpserver-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-x64/6.5.2/jar) + * [**qtjambi-httpserver-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-arm/6.5.2/jar) + * [**qtjambi-httpserver-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-httpserver-native-android-arm64/6.5.2/jar) ### Qt6 Platform-dependent Add-Ons * [Active Qt (Windows only)](https://doc.qt.io/qt-6/activeqt-manual.html) in module **qtjambi-activex**: - * [**qtjambi-activex-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.5.1/jar) - * [**qtjambi-activex-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.5.1/jar) + * [**qtjambi-activex-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.5.2/jar) + * [**qtjambi-activex-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.5.2/jar) ### Qt3D * [Qt3DCore](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dcore**: - * [**qtjambi-qt3dcore-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.5.1/jar) - * [**qtjambi-qt3dcore-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dcore-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dcore-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.5.1/jar) - * [**qtjambi-qt3dcore-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dcore-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dcore-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dcore-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dcore-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.5.2/jar) + * [**qtjambi-qt3dcore-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dcore-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dcore-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.5.2/jar) + * [**qtjambi-qt3dcore-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dcore-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dcore-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dcore-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.5.2/jar) * [Qt3DRender](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3drender**: - * [**qtjambi-qt3drender-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.5.1/jar) - * [**qtjambi-qt3drender-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3drender-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3drender-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.5.1/jar) - * [**qtjambi-qt3drender-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3drender-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3drender-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3drender-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3drender-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.5.2/jar) + * [**qtjambi-qt3drender-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3drender-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3drender-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.5.2/jar) + * [**qtjambi-qt3drender-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3drender-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3drender-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3drender-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.5.2/jar) * [Qt3DAnimation](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3danimation**: - * [**qtjambi-qt3danimation-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.5.1/jar) - * [**qtjambi-qt3danimation-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3danimation-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3danimation-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.5.1/jar) - * [**qtjambi-qt3danimation-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3danimation-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3danimation-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3danimation-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3danimation-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.5.2/jar) + * [**qtjambi-qt3danimation-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3danimation-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3danimation-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.5.2/jar) + * [**qtjambi-qt3danimation-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3danimation-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3danimation-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3danimation-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.5.2/jar) * [Qt3DExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dextras**: - * [**qtjambi-qt3dextras-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.5.1/jar) - * [**qtjambi-qt3dextras-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dextras-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dextras-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.5.1/jar) - * [**qtjambi-qt3dextras-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dextras-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dextras-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dextras-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dextras-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.5.2/jar) + * [**qtjambi-qt3dextras-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dextras-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dextras-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.5.2/jar) + * [**qtjambi-qt3dextras-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dextras-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dextras-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dextras-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.5.2/jar) * [Qt3DInput](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dinput**: - * [**qtjambi-qt3dinput-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.5.1/jar) - * [**qtjambi-qt3dinput-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dinput-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dinput-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.5.1/jar) - * [**qtjambi-qt3dinput-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dinput-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dinput-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dinput-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dinput-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.5.2/jar) + * [**qtjambi-qt3dinput-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dinput-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dinput-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.5.2/jar) + * [**qtjambi-qt3dinput-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dinput-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dinput-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dinput-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.5.2/jar) * [Qt3DLogic](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dlogic**: - * [**qtjambi-qt3dlogic-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dlogic-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dlogic-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dlogic-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.5.2/jar) * [Qt3DQuick](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquick**: - * [**qtjambi-qt3dquick-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.5.1/jar) - * [**qtjambi-qt3dquick-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dquick-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dquick-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.5.1/jar) - * [**qtjambi-qt3dquick-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dquick-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dquick-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dquick-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dquick-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.5.2/jar) + * [**qtjambi-qt3dquick-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dquick-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dquick-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.5.2/jar) + * [**qtjambi-qt3dquick-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dquick-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dquick-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dquick-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.5.2/jar) * [Qt3DQuickExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickextras**: - * [**qtjambi-qt3dquickextras-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dquickextras-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dquickextras-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dquickextras-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.5.2/jar) * [Qt3DQuickScene3D](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickscene2d**: - * [**qtjambi-qt3dquickscene2d-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.5.1/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.5.1/jar) + * [**qtjambi-qt3dquickscene2d-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.5.2/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.5.2/jar) ### QtJambi Plugins * JDBC Sql Plugin: - * [**qtjambi-plugin-qsqljdbc-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-common-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.5.1/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.5.1/jar) + * [**qtjambi-plugin-qsqljdbc-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-common-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.5.2/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.5.2/jar) ### QtJambi Tools * [QtJambi User Interface Compiler (UIC)](https://doc.qt.io/qt-6/designer-using-a-ui-file.html#compile-time-form-processing): - * [**qtjambi-uic-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.5.1/jar) - * [**qtjambi-uic-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.5.1/jar) - * [**qtjambi-uic-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.5.1/jar) - * [**qtjambi-uic-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.5.1/jar) + * [**qtjambi-uic-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.5.2/jar) + * [**qtjambi-uic-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.5.2/jar) + * [**qtjambi-uic-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.5.2/jar) + * [**qtjambi-uic-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.5.2/jar) * QtJambi Deployer: - * [**qtjambi-deployer-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.5.1/jar) - * [**qtjambi-deployer-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.5.1/jar) - * [**qtjambi-deployer-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.5.1/jar) - * [**qtjambi-deployer-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.5.1/jar) - * [**qtjambi-deployer-native-android-x86-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.5.1/jar) - * [**qtjambi-deployer-native-android-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.5.1/jar) - * [**qtjambi-deployer-native-android-arm-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.5.1/jar) - * [**qtjambi-deployer-native-android-arm64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.5.1/jar) + * [**qtjambi-deployer-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.5.2/jar) + * [**qtjambi-deployer-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.5.2/jar) + * [**qtjambi-deployer-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.5.2/jar) + * [**qtjambi-deployer-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.5.2/jar) + * [**qtjambi-deployer-native-android-x86-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.5.2/jar) + * [**qtjambi-deployer-native-android-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.5.2/jar) + * [**qtjambi-deployer-native-android-arm-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.5.2/jar) + * [**qtjambi-deployer-native-android-arm64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.5.2/jar) * QtJambi Generator: - * [**qtjambi-generator-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator/6.5.1/jar) - * [**qtjambi-generator-native-windows-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-windows-x64/6.5.1/jar) - * [**qtjambi-generator-native-linux-x64-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-linux-x64/6.5.1/jar) - * [**qtjambi-generator-native-macos-6.5.1.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-macos/6.5.1/jar) + * [**qtjambi-generator-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator/6.5.2/jar) + * [**qtjambi-generator-native-windows-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-windows-x64/6.5.2/jar) + * [**qtjambi-generator-native-linux-x64-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-linux-x64/6.5.2/jar) + * [**qtjambi-generator-native-macos-6.5.2.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-macos/6.5.2/jar) ## QtJambi for Qt 5.15 @@ -556,517 +556,517 @@ Following Qt 5.15 modules are provided by QtJambi: * [QtMultimedia](https://doc.qt.io/qt-5/qtmultimedia-index.html) in module **qtjambi-multimedia**: * [**qtjambi-multimedia-5.15.14.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/5.15.14/jar) * [**qtjambi-multimedia-native-windows-x64-5.15.14.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/5.15.14/jar) - * [**qtjambi-multimedia-native-linux-x64-5.15.14.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/5.15.15/jar) - * [**qtjambi-multimedia-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/5.15.15/jar) - * [**qtjambi-multimedia-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/5.15.15/jar) - * [**qtjambi-multimedia-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/5.15.15/jar) - * [**qtjambi-multimedia-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/5.15.15/jar) - * [**qtjambi-multimedia-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/5.15.15/jar) + * [**qtjambi-multimedia-native-linux-x64-5.15.14.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/5.15.16/jar) + * [**qtjambi-multimedia-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/5.15.16/jar) + * [**qtjambi-multimedia-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/5.15.16/jar) + * [**qtjambi-multimedia-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/5.15.16/jar) + * [**qtjambi-multimedia-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/5.15.16/jar) + * [**qtjambi-multimedia-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/5.15.16/jar) * [QtMultimediaWidgets](https://doc.qt.io/qt-5/qtmultimedia-index.html) in module **qtjambi-multimediawidgets**: - * [**qtjambi-multimediawidgets-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/5.15.15/jar) - * [**qtjambi-multimediawidgets-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/5.15.15/jar) + * [**qtjambi-multimediawidgets-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/5.15.16/jar) + * [**qtjambi-multimediawidgets-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/5.15.16/jar) * [QtNetwork](https://doc.qt.io/qt-5/qtnetwork-index.html) in module **qtjambi-network**: - * [**qtjambi-network-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/5.15.15/jar) - * [**qtjambi-network-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/5.15.15/jar) - * [**qtjambi-network-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/5.15.15/jar) - * [**qtjambi-network-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/5.15.15/jar) - * [**qtjambi-network-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/5.15.15/jar) - * [**qtjambi-network-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/5.15.15/jar) - * [**qtjambi-network-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/5.15.15/jar) - * [**qtjambi-network-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/5.15.15/jar) + * [**qtjambi-network-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/5.15.16/jar) + * [**qtjambi-network-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/5.15.16/jar) + * [**qtjambi-network-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/5.15.16/jar) + * [**qtjambi-network-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/5.15.16/jar) + * [**qtjambi-network-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/5.15.16/jar) + * [**qtjambi-network-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/5.15.16/jar) + * [**qtjambi-network-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/5.15.16/jar) + * [**qtjambi-network-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/5.15.16/jar) * [QtQml](https://doc.qt.io/qt-5/qtqml-index.html) in module **qtjambi-qml**: - * [**qtjambi-qml-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/5.15.15/jar) - * [**qtjambi-qml-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/5.15.15/jar) - * [**qtjambi-qml-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/5.15.15/jar) - * [**qtjambi-qml-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/5.15.15/jar) - * [**qtjambi-qml-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/5.15.15/jar) - * [**qtjambi-qml-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/5.15.15/jar) - * [**qtjambi-qml-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/5.15.15/jar) - * [**qtjambi-qml-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/5.15.15/jar) + * [**qtjambi-qml-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/5.15.16/jar) + * [**qtjambi-qml-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/5.15.16/jar) + * [**qtjambi-qml-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/5.15.16/jar) + * [**qtjambi-qml-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/5.15.16/jar) + * [**qtjambi-qml-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/5.15.16/jar) + * [**qtjambi-qml-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/5.15.16/jar) + * [**qtjambi-qml-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/5.15.16/jar) + * [**qtjambi-qml-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/5.15.16/jar) * [QtQuick](https://doc.qt.io/qt-5/qtquick-index.html) in module **qtjambi-quick**: - * [**qtjambi-quick-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/5.15.15/jar) - * [**qtjambi-quick-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/5.15.15/jar) - * [**qtjambi-quick-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/5.15.15/jar) - * [**qtjambi-quick-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/5.15.15/jar) - * [**qtjambi-quick-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/5.15.15/jar) - * [**qtjambi-quick-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/5.15.15/jar) - * [**qtjambi-quick-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/5.15.15/jar) - * [**qtjambi-quick-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/5.15.15/jar) + * [**qtjambi-quick-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/5.15.16/jar) + * [**qtjambi-quick-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/5.15.16/jar) + * [**qtjambi-quick-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/5.15.16/jar) + * [**qtjambi-quick-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/5.15.16/jar) + * [**qtjambi-quick-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/5.15.16/jar) + * [**qtjambi-quick-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/5.15.16/jar) + * [**qtjambi-quick-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/5.15.16/jar) + * [**qtjambi-quick-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/5.15.16/jar) * [QtQuickControls](https://doc.qt.io/qt-5/qtquickcontrols-index.html) in module **qtjambi-quickcontrols**: - * [**qtjambi-quickcontrols-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/5.15.15/jar) - * [**qtjambi-quickcontrols-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/5.15.15/jar) - * [**qtjambi-quickcontrols-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/5.15.15/jar) - * [**qtjambi-quickcontrols-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/5.15.15/jar) - * [**qtjambi-quickcontrols-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/5.15.15/jar) - * [**qtjambi-quickcontrols-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/5.15.15/jar) - * [**qtjambi-quickcontrols-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/5.15.15/jar) - * [**qtjambi-quickcontrols-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/5.15.15/jar) + * [**qtjambi-quickcontrols-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/5.15.16/jar) + * [**qtjambi-quickcontrols-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/5.15.16/jar) + * [**qtjambi-quickcontrols-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/5.15.16/jar) + * [**qtjambi-quickcontrols-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/5.15.16/jar) + * [**qtjambi-quickcontrols-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/5.15.16/jar) + * [**qtjambi-quickcontrols-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/5.15.16/jar) + * [**qtjambi-quickcontrols-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/5.15.16/jar) + * [**qtjambi-quickcontrols-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/5.15.16/jar) * [QtQuickTest](https://doc.qt.io/qt-5/qtquicktest-index.html) in module **qtjambi-quicktest**: - * [**qtjambi-quicktest-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/5.15.15/jar) - * [**qtjambi-quicktest-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/5.15.15/jar) - * [**qtjambi-quicktest-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/5.15.15/jar) - * [**qtjambi-quicktest-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/5.15.15/jar) - * [**qtjambi-quicktest-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/5.15.15/jar) - * [**qtjambi-quicktest-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/5.15.15/jar) - * [**qtjambi-quicktest-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/5.15.15/jar) - * [**qtjambi-quicktest-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/5.15.15/jar) + * [**qtjambi-quicktest-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/5.15.16/jar) + * [**qtjambi-quicktest-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/5.15.16/jar) + * [**qtjambi-quicktest-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/5.15.16/jar) + * [**qtjambi-quicktest-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/5.15.16/jar) + * [**qtjambi-quicktest-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/5.15.16/jar) + * [**qtjambi-quicktest-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/5.15.16/jar) + * [**qtjambi-quicktest-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/5.15.16/jar) + * [**qtjambi-quicktest-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/5.15.16/jar) * [QtSql](https://doc.qt.io/qt-5/qtsql-index.html) in module **qtjambi-sql**: - * [**qtjambi-sql-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/5.15.15/jar) - * [**qtjambi-sql-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/5.15.15/jar) - * [**qtjambi-sql-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/5.15.15/jar) - * [**qtjambi-sql-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/5.15.15/jar) - * [**qtjambi-sql-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/5.15.15/jar) - * [**qtjambi-sql-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/5.15.15/jar) - * [**qtjambi-sql-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/5.15.15/jar) - * [**qtjambi-sql-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/5.15.15/jar) + * [**qtjambi-sql-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/5.15.16/jar) + * [**qtjambi-sql-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/5.15.16/jar) + * [**qtjambi-sql-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/5.15.16/jar) + * [**qtjambi-sql-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/5.15.16/jar) + * [**qtjambi-sql-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/5.15.16/jar) + * [**qtjambi-sql-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/5.15.16/jar) + * [**qtjambi-sql-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/5.15.16/jar) + * [**qtjambi-sql-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/5.15.16/jar) * [QtTest](https://doc.qt.io/qt-5/qttest-index.html) in module **qtjambi-test**: - * [**qtjambi-test-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/5.15.15/jar) - * [**qtjambi-test-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/5.15.15/jar) - * [**qtjambi-test-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/5.15.15/jar) - * [**qtjambi-test-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/5.15.15/jar) - * [**qtjambi-test-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/5.15.15/jar) - * [**qtjambi-test-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/5.15.15/jar) - * [**qtjambi-test-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/5.15.15/jar) - * [**qtjambi-test-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/5.15.15/jar) + * [**qtjambi-test-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/5.15.16/jar) + * [**qtjambi-test-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/5.15.16/jar) + * [**qtjambi-test-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/5.15.16/jar) + * [**qtjambi-test-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/5.15.16/jar) + * [**qtjambi-test-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/5.15.16/jar) + * [**qtjambi-test-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/5.15.16/jar) + * [**qtjambi-test-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/5.15.16/jar) + * [**qtjambi-test-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/5.15.16/jar) ### Qt5 Add-Ons * [QtBluetooth](https://doc.qt.io/qt-5/qtbluetooth-index.html) in module **qtjambi-bluetooth**: - * [**qtjambi-bluetooth-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/5.15.15/jar) - * [**qtjambi-bluetooth-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/5.15.15/jar) - * [**qtjambi-bluetooth-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/5.15.15/jar) - * [**qtjambi-bluetooth-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/5.15.15/jar) - * [**qtjambi-bluetooth-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/5.15.15/jar) - * [**qtjambi-bluetooth-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/5.15.15/jar) - * [**qtjambi-bluetooth-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/5.15.15/jar) - * [**qtjambi-bluetooth-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/5.15.15/jar) + * [**qtjambi-bluetooth-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/5.15.16/jar) + * [**qtjambi-bluetooth-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/5.15.16/jar) + * [**qtjambi-bluetooth-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/5.15.16/jar) + * [**qtjambi-bluetooth-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/5.15.16/jar) + * [**qtjambi-bluetooth-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/5.15.16/jar) + * [**qtjambi-bluetooth-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/5.15.16/jar) + * [**qtjambi-bluetooth-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/5.15.16/jar) + * [**qtjambi-bluetooth-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/5.15.16/jar) * [QtConcurrent](https://doc.qt.io/qt-5/qtconcurrent-index.html) in module **qtjambi-concurrent**: - * [**qtjambi-concurrent-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/5.15.15/jar) - * [**qtjambi-concurrent-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/5.15.15/jar) - * [**qtjambi-concurrent-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/5.15.15/jar) - * [**qtjambi-concurrent-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/5.15.15/jar) - * [**qtjambi-concurrent-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/5.15.15/jar) - * [**qtjambi-concurrent-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/5.15.15/jar) - * [**qtjambi-concurrent-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/5.15.15/jar) - * [**qtjambi-concurrent-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/5.15.15/jar) + * [**qtjambi-concurrent-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/5.15.16/jar) + * [**qtjambi-concurrent-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/5.15.16/jar) + * [**qtjambi-concurrent-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/5.15.16/jar) + * [**qtjambi-concurrent-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/5.15.16/jar) + * [**qtjambi-concurrent-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/5.15.16/jar) + * [**qtjambi-concurrent-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/5.15.16/jar) + * [**qtjambi-concurrent-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/5.15.16/jar) + * [**qtjambi-concurrent-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/5.15.16/jar) * [QtDBus](https://doc.qt.io/qt-5/qtdbus-index.html) in module **qtjambi-dbus**: - * [**qtjambi-dbus-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/5.15.15/jar) - * [**qtjambi-dbus-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/5.15.15/jar) - * [**qtjambi-dbus-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/5.15.15/jar) - * [**qtjambi-dbus-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/5.15.15/jar) + * [**qtjambi-dbus-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/5.15.16/jar) + * [**qtjambi-dbus-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/5.15.16/jar) + * [**qtjambi-dbus-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/5.15.16/jar) + * [**qtjambi-dbus-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/5.15.16/jar) * [QtGamepad](https://doc.qt.io/qt-5/qtgamepad-index.html) in module **qtjambi-gamepad**: - * [**qtjambi-gamepad-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad/5.15.15/jar) - * [**qtjambi-gamepad-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-windows-x64/5.15.15/jar) - * [**qtjambi-gamepad-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-linux-x64/5.15.15/jar) - * [**qtjambi-gamepad-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-macos/5.15.15/jar) - * [**qtjambi-gamepad-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x86/5.15.15/jar) - * [**qtjambi-gamepad-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x64/5.15.15/jar) - * [**qtjambi-gamepad-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm/5.15.15/jar) - * [**qtjambi-gamepad-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm64/5.15.15/jar) + * [**qtjambi-gamepad-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad/5.15.16/jar) + * [**qtjambi-gamepad-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-windows-x64/5.15.16/jar) + * [**qtjambi-gamepad-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-linux-x64/5.15.16/jar) + * [**qtjambi-gamepad-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-macos/5.15.16/jar) + * [**qtjambi-gamepad-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x86/5.15.16/jar) + * [**qtjambi-gamepad-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x64/5.15.16/jar) + * [**qtjambi-gamepad-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm/5.15.16/jar) + * [**qtjambi-gamepad-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm64/5.15.16/jar) * [QtHelp](https://doc.qt.io/qt-5/qthelp-index.html) in module **qtjambi-help**: - * [**qtjambi-help-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/5.15.15/jar) - * [**qtjambi-help-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/5.15.15/jar) - * [**qtjambi-help-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/5.15.15/jar) - * [**qtjambi-help-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/5.15.15/jar) - * [**qtjambi-help-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/5.15.15/jar) - * [**qtjambi-help-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/5.15.15/jar) - * [**qtjambi-help-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/5.15.15/jar) - * [**qtjambi-help-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/5.15.15/jar) + * [**qtjambi-help-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/5.15.16/jar) + * [**qtjambi-help-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/5.15.16/jar) + * [**qtjambi-help-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/5.15.16/jar) + * [**qtjambi-help-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/5.15.16/jar) + * [**qtjambi-help-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/5.15.16/jar) + * [**qtjambi-help-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/5.15.16/jar) + * [**qtjambi-help-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/5.15.16/jar) + * [**qtjambi-help-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/5.15.16/jar) * [QtLocation](https://doc.qt.io/qt-5/qtlocation-index.html) in module **qtjambi-location**: - * [**qtjambi-location-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location/5.15.15/jar) - * [**qtjambi-location-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-windows-x64/5.15.15/jar) - * [**qtjambi-location-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-linux-x64/5.15.15/jar) - * [**qtjambi-location-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-macos/5.15.15/jar) - * [**qtjambi-location-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x86/5.15.15/jar) - * [**qtjambi-location-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x64/5.15.15/jar) - * [**qtjambi-location-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm/5.15.15/jar) - * [**qtjambi-location-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm64/5.15.15/jar) + * [**qtjambi-location-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location/5.15.16/jar) + * [**qtjambi-location-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-windows-x64/5.15.16/jar) + * [**qtjambi-location-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-linux-x64/5.15.16/jar) + * [**qtjambi-location-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-macos/5.15.16/jar) + * [**qtjambi-location-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x86/5.15.16/jar) + * [**qtjambi-location-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x64/5.15.16/jar) + * [**qtjambi-location-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm/5.15.16/jar) + * [**qtjambi-location-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm64/5.15.16/jar) * [QtNfc](https://doc.qt.io/qt-5/qtnfc-index.html) in module **qtjambi-nfc**: - * [**qtjambi-nfc-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/5.15.15/jar) - * [**qtjambi-nfc-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/5.15.15/jar) - * [**qtjambi-nfc-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/5.15.15/jar) - * [**qtjambi-nfc-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/5.15.15/jar) - * [**qtjambi-nfc-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/5.15.15/jar) - * [**qtjambi-nfc-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/5.15.15/jar) - * [**qtjambi-nfc-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/5.15.15/jar) - * [**qtjambi-nfc-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/5.15.15/jar) + * [**qtjambi-nfc-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/5.15.16/jar) + * [**qtjambi-nfc-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/5.15.16/jar) + * [**qtjambi-nfc-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/5.15.16/jar) + * [**qtjambi-nfc-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/5.15.16/jar) + * [**qtjambi-nfc-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/5.15.16/jar) + * [**qtjambi-nfc-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/5.15.16/jar) + * [**qtjambi-nfc-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/5.15.16/jar) + * [**qtjambi-nfc-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/5.15.16/jar) * [QtPositioning](https://doc.qt.io/qt-5/qtpositioning-index.html) in module **qtjambi-positioning**: - * [**qtjambi-positioning-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/5.15.15/jar) - * [**qtjambi-positioning-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/5.15.15/jar) - * [**qtjambi-positioning-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/5.15.15/jar) - * [**qtjambi-positioning-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/5.15.15/jar) - * [**qtjambi-positioning-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/5.15.15/jar) - * [**qtjambi-positioning-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/5.15.15/jar) - * [**qtjambi-positioning-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/5.15.15/jar) - * [**qtjambi-positioning-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/5.15.15/jar) + * [**qtjambi-positioning-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/5.15.16/jar) + * [**qtjambi-positioning-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/5.15.16/jar) + * [**qtjambi-positioning-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/5.15.16/jar) + * [**qtjambi-positioning-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/5.15.16/jar) + * [**qtjambi-positioning-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/5.15.16/jar) + * [**qtjambi-positioning-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/5.15.16/jar) + * [**qtjambi-positioning-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/5.15.16/jar) + * [**qtjambi-positioning-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/5.15.16/jar) * [QtPrintSupport](https://doc.qt.io/qt-5/qtprintsupport-index.html) in module **qtjambi-printsupport**: - * [**qtjambi-printsupport-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/5.15.15/jar) - * [**qtjambi-printsupport-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/5.15.15/jar) - * [**qtjambi-printsupport-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/5.15.15/jar) - * [**qtjambi-printsupport-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/5.15.15/jar) - * [**qtjambi-printsupport-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/5.15.15/jar) - * [**qtjambi-printsupport-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/5.15.15/jar) - * [**qtjambi-printsupport-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/5.15.15/jar) - * [**qtjambi-printsupport-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/5.15.15/jar) + * [**qtjambi-printsupport-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/5.15.16/jar) + * [**qtjambi-printsupport-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/5.15.16/jar) + * [**qtjambi-printsupport-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/5.15.16/jar) + * [**qtjambi-printsupport-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/5.15.16/jar) + * [**qtjambi-printsupport-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/5.15.16/jar) + * [**qtjambi-printsupport-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/5.15.16/jar) + * [**qtjambi-printsupport-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/5.15.16/jar) + * [**qtjambi-printsupport-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/5.15.16/jar) * [QtPurchasing](https://doc.qt.io/qt-5/qtpurchasing-index.html) in module **qtjambi-purchasing**: - * [**qtjambi-purchasing-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing/5.15.15/jar) - * [**qtjambi-purchasing-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-windows-x64/5.15.15/jar) - * [**qtjambi-purchasing-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-linux-x64/5.15.15/jar) - * [**qtjambi-purchasing-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-macos/5.15.15/jar) - * [**qtjambi-purchasing-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x86/5.15.15/jar) - * [**qtjambi-purchasing-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x64/5.15.15/jar) - * [**qtjambi-purchasing-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm/5.15.15/jar) - * [**qtjambi-purchasing-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm64/5.15.15/jar) + * [**qtjambi-purchasing-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing/5.15.16/jar) + * [**qtjambi-purchasing-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-windows-x64/5.15.16/jar) + * [**qtjambi-purchasing-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-linux-x64/5.15.16/jar) + * [**qtjambi-purchasing-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-macos/5.15.16/jar) + * [**qtjambi-purchasing-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x86/5.15.16/jar) + * [**qtjambi-purchasing-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x64/5.15.16/jar) + * [**qtjambi-purchasing-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm/5.15.16/jar) + * [**qtjambi-purchasing-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm64/5.15.16/jar) * [QtQuickWidgets](https://doc.qt.io/qt-5/qtquickwidgets-module.html) in module **qtjambi-quickwidgets**: - * [**qtjambi-quickwidgets-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/5.15.15/jar) - * [**qtjambi-quickwidgets-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/5.15.15/jar) - * [**qtjambi-quickwidgets-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/5.15.15/jar) - * [**qtjambi-quickwidgets-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/5.15.15/jar) - * [**qtjambi-quickwidgets-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/5.15.15/jar) - * [**qtjambi-quickwidgets-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/5.15.15/jar) - * [**qtjambi-quickwidgets-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/5.15.15/jar) - * [**qtjambi-quickwidgets-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/5.15.15/jar) + * [**qtjambi-quickwidgets-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/5.15.16/jar) + * [**qtjambi-quickwidgets-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/5.15.16/jar) + * [**qtjambi-quickwidgets-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/5.15.16/jar) + * [**qtjambi-quickwidgets-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/5.15.16/jar) + * [**qtjambi-quickwidgets-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/5.15.16/jar) + * [**qtjambi-quickwidgets-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/5.15.16/jar) + * [**qtjambi-quickwidgets-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/5.15.16/jar) + * [**qtjambi-quickwidgets-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/5.15.16/jar) * [QtRemoteObjects](https://doc.qt.io/qt-5/qtremoteobjects-module.html) in module **qtjambi-remoteobjects**: - * [**qtjambi-remoteobjects-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/5.15.15/jar) - * [**qtjambi-remoteobjects-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/5.15.15/jar) - * [**qtjambi-remoteobjects-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/5.15.15/jar) - * [**qtjambi-remoteobjects-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/5.15.15/jar) - * [**qtjambi-remoteobjects-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/5.15.15/jar) - * [**qtjambi-remoteobjects-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/5.15.15/jar) - * [**qtjambi-remoteobjects-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/5.15.15/jar) - * [**qtjambi-remoteobjects-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/5.15.15/jar) + * [**qtjambi-remoteobjects-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/5.15.16/jar) + * [**qtjambi-remoteobjects-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/5.15.16/jar) + * [**qtjambi-remoteobjects-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/5.15.16/jar) + * [**qtjambi-remoteobjects-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/5.15.16/jar) + * [**qtjambi-remoteobjects-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/5.15.16/jar) + * [**qtjambi-remoteobjects-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/5.15.16/jar) + * [**qtjambi-remoteobjects-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/5.15.16/jar) + * [**qtjambi-remoteobjects-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/5.15.16/jar) * [QtScript](https://doc.qt.io/qt-5/qtscript-module.html) in module **qtjambi-script**: - * [**qtjambi-script-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script/5.15.15/jar) - * [**qtjambi-script-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-windows-x64/5.15.15/jar) - * [**qtjambi-script-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-linux-x64/5.15.15/jar) - * [**qtjambi-script-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-macos/5.15.15/jar) - * [**qtjambi-script-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x86/5.15.15/jar) - * [**qtjambi-script-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x64/5.15.15/jar) - * [**qtjambi-script-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm/5.15.15/jar) - * [**qtjambi-script-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm64/5.15.15/jar) + * [**qtjambi-script-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script/5.15.16/jar) + * [**qtjambi-script-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-windows-x64/5.15.16/jar) + * [**qtjambi-script-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-linux-x64/5.15.16/jar) + * [**qtjambi-script-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-macos/5.15.16/jar) + * [**qtjambi-script-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x86/5.15.16/jar) + * [**qtjambi-script-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x64/5.15.16/jar) + * [**qtjambi-script-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm/5.15.16/jar) + * [**qtjambi-script-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm64/5.15.16/jar) * [QtScriptTools](https://doc.qt.io/qt-5/qtscripttools-module.html) in module **qtjambi-scripttools**: - * [**qtjambi-scripttools-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools/5.15.15/jar) - * [**qtjambi-scripttools-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-windows-x64/5.15.15/jar) - * [**qtjambi-scripttools-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-linux-x64/5.15.15/jar) - * [**qtjambi-scripttools-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-macos/5.15.15/jar) - * [**qtjambi-scripttools-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x86/5.15.15/jar) - * [**qtjambi-scripttools-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x64/5.15.15/jar) - * [**qtjambi-scripttools-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm/5.15.15/jar) - * [**qtjambi-scripttools-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm64/5.15.15/jar) + * [**qtjambi-scripttools-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools/5.15.16/jar) + * [**qtjambi-scripttools-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-windows-x64/5.15.16/jar) + * [**qtjambi-scripttools-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-linux-x64/5.15.16/jar) + * [**qtjambi-scripttools-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-macos/5.15.16/jar) + * [**qtjambi-scripttools-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x86/5.15.16/jar) + * [**qtjambi-scripttools-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x64/5.15.16/jar) + * [**qtjambi-scripttools-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm/5.15.16/jar) + * [**qtjambi-scripttools-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm64/5.15.16/jar) * [QtSCXML](https://doc.qt.io/qt-5/qtscxml-index.html) in module **qtjambi-scxml**: - * [**qtjambi-scxml-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/5.15.15/jar) - * [**qtjambi-scxml-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/5.15.15/jar) - * [**qtjambi-scxml-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/5.15.15/jar) - * [**qtjambi-scxml-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/5.15.15/jar) - * [**qtjambi-scxml-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/5.15.15/jar) - * [**qtjambi-scxml-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/5.15.15/jar) - * [**qtjambi-scxml-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/5.15.15/jar) - * [**qtjambi-scxml-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/5.15.15/jar) + * [**qtjambi-scxml-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/5.15.16/jar) + * [**qtjambi-scxml-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/5.15.16/jar) + * [**qtjambi-scxml-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/5.15.16/jar) + * [**qtjambi-scxml-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/5.15.16/jar) + * [**qtjambi-scxml-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/5.15.16/jar) + * [**qtjambi-scxml-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/5.15.16/jar) + * [**qtjambi-scxml-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/5.15.16/jar) + * [**qtjambi-scxml-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/5.15.16/jar) * [QtSensors](https://doc.qt.io/qt-5/qtsensors-index.html) in module **qtjambi-sensors**: - * [**qtjambi-sensors-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/5.15.15/jar) - * [**qtjambi-sensors-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/5.15.15/jar) - * [**qtjambi-sensors-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/5.15.15/jar) - * [**qtjambi-sensors-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/5.15.15/jar) - * [**qtjambi-sensors-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/5.15.15/jar) - * [**qtjambi-sensors-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/5.15.15/jar) - * [**qtjambi-sensors-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/5.15.15/jar) - * [**qtjambi-sensors-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/5.15.15/jar) + * [**qtjambi-sensors-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/5.15.16/jar) + * [**qtjambi-sensors-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/5.15.16/jar) + * [**qtjambi-sensors-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/5.15.16/jar) + * [**qtjambi-sensors-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/5.15.16/jar) + * [**qtjambi-sensors-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/5.15.16/jar) + * [**qtjambi-sensors-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/5.15.16/jar) + * [**qtjambi-sensors-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/5.15.16/jar) + * [**qtjambi-sensors-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/5.15.16/jar) * [QtSerialBus](https://doc.qt.io/qt-5/qtserialbus-index.html) in module **qtjambi-serialbus**: - * [**qtjambi-serialbus-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/5.15.15/jar) - * [**qtjambi-serialbus-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/5.15.15/jar) - * [**qtjambi-serialbus-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/5.15.15/jar) - * [**qtjambi-serialbus-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/5.15.15/jar) - * [**qtjambi-serialbus-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/5.15.15/jar) - * [**qtjambi-serialbus-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/5.15.15/jar) - * [**qtjambi-serialbus-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/5.15.15/jar) - * [**qtjambi-serialbus-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/5.15.15/jar) + * [**qtjambi-serialbus-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/5.15.16/jar) + * [**qtjambi-serialbus-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/5.15.16/jar) + * [**qtjambi-serialbus-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/5.15.16/jar) + * [**qtjambi-serialbus-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/5.15.16/jar) + * [**qtjambi-serialbus-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/5.15.16/jar) + * [**qtjambi-serialbus-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/5.15.16/jar) + * [**qtjambi-serialbus-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/5.15.16/jar) + * [**qtjambi-serialbus-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/5.15.16/jar) * [QtSerialPort](https://doc.qt.io/qt-5/qtserialport-index.html) in module **qtjambi-serialport**: - * [**qtjambi-serialport-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/5.15.15/jar) - * [**qtjambi-serialport-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/5.15.15/jar) - * [**qtjambi-serialport-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/5.15.15/jar) - * [**qtjambi-serialport-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/5.15.15/jar) - * [**qtjambi-serialport-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/5.15.15/jar) - * [**qtjambi-serialport-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/5.15.15/jar) - * [**qtjambi-serialport-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/5.15.15/jar) - * [**qtjambi-serialport-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/5.15.15/jar) + * [**qtjambi-serialport-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/5.15.16/jar) + * [**qtjambi-serialport-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/5.15.16/jar) + * [**qtjambi-serialport-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/5.15.16/jar) + * [**qtjambi-serialport-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/5.15.16/jar) + * [**qtjambi-serialport-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/5.15.16/jar) + * [**qtjambi-serialport-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/5.15.16/jar) + * [**qtjambi-serialport-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/5.15.16/jar) + * [**qtjambi-serialport-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/5.15.16/jar) * [QtSvg](https://doc.qt.io/qt-5/qtsvg-index.html) in module **qtjambi-svg**: - * [**qtjambi-svg-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/5.15.15/jar) - * [**qtjambi-svg-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/5.15.15/jar) - * [**qtjambi-svg-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/5.15.15/jar) - * [**qtjambi-svg-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/5.15.15/jar) - * [**qtjambi-svg-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/5.15.15/jar) - * [**qtjambi-svg-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/5.15.15/jar) - * [**qtjambi-svg-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/5.15.15/jar) - * [**qtjambi-svg-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/5.15.15/jar) + * [**qtjambi-svg-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/5.15.16/jar) + * [**qtjambi-svg-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/5.15.16/jar) + * [**qtjambi-svg-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/5.15.16/jar) + * [**qtjambi-svg-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/5.15.16/jar) + * [**qtjambi-svg-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/5.15.16/jar) + * [**qtjambi-svg-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/5.15.16/jar) + * [**qtjambi-svg-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/5.15.16/jar) + * [**qtjambi-svg-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/5.15.16/jar) * [QtTextToSpeech](https://doc.qt.io/qt-5/qtspeech-index.html) in module **qtjambi-texttospeech**: - * [**qtjambi-texttospeech-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech/5.15.15/jar) - * [**qtjambi-texttospeech-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-windows-x64/5.15.15/jar) - * [**qtjambi-texttospeech-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-linux-x64/5.15.15/jar) - * [**qtjambi-texttospeech-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-macos/5.15.15/jar) - * [**qtjambi-texttospeech-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x86/5.15.15/jar) - * [**qtjambi-texttospeech-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x64/5.15.15/jar) - * [**qtjambi-texttospeech-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm/5.15.15/jar) - * [**qtjambi-texttospeech-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm64/5.15.15/jar) + * [**qtjambi-texttospeech-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech/5.15.16/jar) + * [**qtjambi-texttospeech-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-windows-x64/5.15.16/jar) + * [**qtjambi-texttospeech-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-linux-x64/5.15.16/jar) + * [**qtjambi-texttospeech-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-macos/5.15.16/jar) + * [**qtjambi-texttospeech-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x86/5.15.16/jar) + * [**qtjambi-texttospeech-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x64/5.15.16/jar) + * [**qtjambi-texttospeech-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm/5.15.16/jar) + * [**qtjambi-texttospeech-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm64/5.15.16/jar) * [QtUITools](https://doc.qt.io/qt-5/qtuitools-index.html) in module **qtjambi-uitools**: - * [**qtjambi-uitools-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/5.15.15/jar) - * [**qtjambi-uitools-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/5.15.15/jar) - * [**qtjambi-uitools-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/5.15.15/jar) - * [**qtjambi-uitools-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/5.15.15/jar) - * [**qtjambi-uitools-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/5.15.15/jar) - * [**qtjambi-uitools-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/5.15.15/jar) - * [**qtjambi-uitools-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/5.15.15/jar) - * [**qtjambi-uitools-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/5.15.15/jar) + * [**qtjambi-uitools-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/5.15.16/jar) + * [**qtjambi-uitools-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/5.15.16/jar) + * [**qtjambi-uitools-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/5.15.16/jar) + * [**qtjambi-uitools-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/5.15.16/jar) + * [**qtjambi-uitools-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/5.15.16/jar) + * [**qtjambi-uitools-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/5.15.16/jar) + * [**qtjambi-uitools-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/5.15.16/jar) + * [**qtjambi-uitools-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/5.15.16/jar) * [QtWebChannel](https://doc.qt.io/qt-5/qtwebchannel-index.html) in module **qtjambi-webchannel**: - * [**qtjambi-webchannel-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/5.15.15/jar) - * [**qtjambi-webchannel-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/5.15.15/jar) - * [**qtjambi-webchannel-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/5.15.15/jar) - * [**qtjambi-webchannel-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/5.15.15/jar) - * [**qtjambi-webchannel-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/5.15.15/jar) - * [**qtjambi-webchannel-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/5.15.15/jar) - * [**qtjambi-webchannel-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/5.15.15/jar) - * [**qtjambi-webchannel-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/5.15.15/jar) + * [**qtjambi-webchannel-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/5.15.16/jar) + * [**qtjambi-webchannel-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/5.15.16/jar) + * [**qtjambi-webchannel-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/5.15.16/jar) + * [**qtjambi-webchannel-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/5.15.16/jar) + * [**qtjambi-webchannel-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/5.15.16/jar) + * [**qtjambi-webchannel-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/5.15.16/jar) + * [**qtjambi-webchannel-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/5.15.16/jar) + * [**qtjambi-webchannel-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/5.15.16/jar) * [QtWebEngineCore](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webenginecore**: - * [**qtjambi-webenginecore-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/5.15.15/jar) - * [**qtjambi-webenginecore-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/5.15.15/jar) - * [**qtjambi-webenginecore-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/5.15.15/jar) - * [**qtjambi-webenginecore-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/5.15.15/jar) + * [**qtjambi-webenginecore-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/5.15.16/jar) + * [**qtjambi-webenginecore-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/5.15.16/jar) + * [**qtjambi-webenginecore-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/5.15.16/jar) + * [**qtjambi-webenginecore-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/5.15.16/jar) * [QtWebEngineWidgets](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webenginewidgets**: - * [**qtjambi-webenginewidgets-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/5.15.15/jar) - * [**qtjambi-webenginewidgets-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/5.15.15/jar) - * [**qtjambi-webenginewidgets-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/5.15.15/jar) - * [**qtjambi-webenginewidgets-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/5.15.15/jar) + * [**qtjambi-webenginewidgets-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/5.15.16/jar) + * [**qtjambi-webenginewidgets-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/5.15.16/jar) + * [**qtjambi-webenginewidgets-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/5.15.16/jar) + * [**qtjambi-webenginewidgets-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/5.15.16/jar) * [QtWebEngine](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webengine**: - * [**qtjambi-webengine-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine/5.15.15/jar) - * [**qtjambi-webengine-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-windows-x64/5.15.15/jar) - * [**qtjambi-webengine-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-linux-x64/5.15.15/jar) - * [**qtjambi-webengine-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-macos/5.15.15/jar) + * [**qtjambi-webengine-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine/5.15.16/jar) + * [**qtjambi-webengine-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-windows-x64/5.15.16/jar) + * [**qtjambi-webengine-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-linux-x64/5.15.16/jar) + * [**qtjambi-webengine-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-macos/5.15.16/jar) * [QtWebSockets](https://doc.qt.io/qt-5/qtwebsockets-index.html) in module **qtjambi-websockets**: - * [**qtjambi-websockets-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/5.15.15/jar) - * [**qtjambi-websockets-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/5.15.15/jar) - * [**qtjambi-websockets-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/5.15.15/jar) - * [**qtjambi-websockets-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/5.15.15/jar) - * [**qtjambi-websockets-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/5.15.15/jar) - * [**qtjambi-websockets-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/5.15.15/jar) - * [**qtjambi-websockets-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/5.15.15/jar) - * [**qtjambi-websockets-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/5.15.15/jar) + * [**qtjambi-websockets-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/5.15.16/jar) + * [**qtjambi-websockets-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/5.15.16/jar) + * [**qtjambi-websockets-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/5.15.16/jar) + * [**qtjambi-websockets-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/5.15.16/jar) + * [**qtjambi-websockets-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/5.15.16/jar) + * [**qtjambi-websockets-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/5.15.16/jar) + * [**qtjambi-websockets-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/5.15.16/jar) + * [**qtjambi-websockets-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/5.15.16/jar) * [QtWebView](https://doc.qt.io/qt-5/qtwebview-index.html) in module **qtjambi-webview**: - * [**qtjambi-webview-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/5.15.15/jar) - * [**qtjambi-webview-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/5.15.15/jar) - * [**qtjambi-webview-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/5.15.15/jar) - * [**qtjambi-webview-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/5.15.15/jar) - * [**qtjambi-webview-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/5.15.15/jar) - * [**qtjambi-webview-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/5.15.15/jar) - * [**qtjambi-webview-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/5.15.15/jar) - * [**qtjambi-webview-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/5.15.15/jar) + * [**qtjambi-webview-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/5.15.16/jar) + * [**qtjambi-webview-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/5.15.16/jar) + * [**qtjambi-webview-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/5.15.16/jar) + * [**qtjambi-webview-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/5.15.16/jar) + * [**qtjambi-webview-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/5.15.16/jar) + * [**qtjambi-webview-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/5.15.16/jar) + * [**qtjambi-webview-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/5.15.16/jar) + * [**qtjambi-webview-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/5.15.16/jar) * [QtXml](https://doc.qt.io/qt-5/qtxml-index.html) in module **qtjambi-xml**: - * [**qtjambi-xml-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/5.15.15/jar) - * [**qtjambi-xml-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/5.15.15/jar) - * [**qtjambi-xml-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/5.15.15/jar) - * [**qtjambi-xml-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/5.15.15/jar) - * [**qtjambi-xml-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/5.15.15/jar) - * [**qtjambi-xml-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/5.15.15/jar) - * [**qtjambi-xml-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/5.15.15/jar) - * [**qtjambi-xml-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/5.15.15/jar) + * [**qtjambi-xml-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/5.15.16/jar) + * [**qtjambi-xml-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/5.15.16/jar) + * [**qtjambi-xml-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/5.15.16/jar) + * [**qtjambi-xml-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/5.15.16/jar) + * [**qtjambi-xml-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/5.15.16/jar) + * [**qtjambi-xml-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/5.15.16/jar) + * [**qtjambi-xml-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/5.15.16/jar) + * [**qtjambi-xml-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/5.15.16/jar) * [QtXmlPatterns](https://doc.qt.io/qt-5/qtxmlpatterns-index.html) in module **qtjambi-xmlpatterns**: - * [**qtjambi-xmlpatterns-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-windows-x64/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-linux-x64/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-macos/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x86/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x64/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm/5.15.15/jar) - * [**qtjambi-xmlpatterns-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm64/5.15.15/jar) + * [**qtjambi-xmlpatterns-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-windows-x64/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-linux-x64/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-macos/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x86/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x64/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm/5.15.16/jar) + * [**qtjambi-xmlpatterns-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm64/5.15.16/jar) * [QtCharts](https://doc.qt.io/qt-5/qtcharts-index.html) in module **qtjambi-charts**: - * [**qtjambi-charts-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/5.15.15/jar) - * [**qtjambi-charts-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/5.15.15/jar) - * [**qtjambi-charts-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/5.15.15/jar) - * [**qtjambi-charts-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/5.15.15/jar) - * [**qtjambi-charts-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/5.15.15/jar) - * [**qtjambi-charts-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/5.15.15/jar) - * [**qtjambi-charts-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/5.15.15/jar) - * [**qtjambi-charts-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/5.15.15/jar) + * [**qtjambi-charts-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/5.15.16/jar) + * [**qtjambi-charts-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/5.15.16/jar) + * [**qtjambi-charts-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/5.15.16/jar) + * [**qtjambi-charts-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/5.15.16/jar) + * [**qtjambi-charts-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/5.15.16/jar) + * [**qtjambi-charts-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/5.15.16/jar) + * [**qtjambi-charts-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/5.15.16/jar) + * [**qtjambi-charts-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/5.15.16/jar) * [QtDataVisualization](https://doc.qt.io/qt-5/qtdatavisualization-index.html) in module **qtjambi-datavisualization**: - * [**qtjambi-datavisualization-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/5.15.15/jar) - * [**qtjambi-datavisualization-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/5.15.15/jar) - * [**qtjambi-datavisualization-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/5.15.15/jar) - * [**qtjambi-datavisualization-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/5.15.15/jar) - * [**qtjambi-datavisualization-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/5.15.15/jar) - * [**qtjambi-datavisualization-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/5.15.15/jar) - * [**qtjambi-datavisualization-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/5.15.15/jar) - * [**qtjambi-datavisualization-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/5.15.15/jar) + * [**qtjambi-datavisualization-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/5.15.16/jar) + * [**qtjambi-datavisualization-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/5.15.16/jar) + * [**qtjambi-datavisualization-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/5.15.16/jar) + * [**qtjambi-datavisualization-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/5.15.16/jar) + * [**qtjambi-datavisualization-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/5.15.16/jar) + * [**qtjambi-datavisualization-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/5.15.16/jar) + * [**qtjambi-datavisualization-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/5.15.16/jar) + * [**qtjambi-datavisualization-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/5.15.16/jar) * [QtNetworkAuth](https://doc.qt.io/qt-5/qtnetworkauth-index.html) in module **qtjambi-networkauth**: - * [**qtjambi-networkauth-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/5.15.15/jar) - * [**qtjambi-networkauth-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/5.15.15/jar) - * [**qtjambi-networkauth-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/5.15.15/jar) - * [**qtjambi-networkauth-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/5.15.15/jar) - * [**qtjambi-networkauth-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/5.15.15/jar) - * [**qtjambi-networkauth-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/5.15.15/jar) - * [**qtjambi-networkauth-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/5.15.15/jar) - * [**qtjambi-networkauth-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/5.15.15/jar) + * [**qtjambi-networkauth-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/5.15.16/jar) + * [**qtjambi-networkauth-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/5.15.16/jar) + * [**qtjambi-networkauth-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/5.15.16/jar) + * [**qtjambi-networkauth-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/5.15.16/jar) + * [**qtjambi-networkauth-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/5.15.16/jar) + * [**qtjambi-networkauth-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/5.15.16/jar) + * [**qtjambi-networkauth-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/5.15.16/jar) + * [**qtjambi-networkauth-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/5.15.16/jar) * [QtVirtualKeyboard](https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html) in module **qtjambi-virtualkeyboard**: - * [**qtjambi-virtualkeyboard-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/5.15.15/jar) - * [**qtjambi-virtualkeyboard-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/5.15.15/jar) + * [**qtjambi-virtualkeyboard-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/5.15.16/jar) + * [**qtjambi-virtualkeyboard-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/5.15.16/jar) * [QtQuick3D](https://doc.qt.io/qt-5/qtquick3d-index.html) in module **qtjambi-quick3d**: - * [**qtjambi-quick3d-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/5.15.15/jar) - * [**qtjambi-quick3d-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/5.15.15/jar) - * [**qtjambi-quick3d-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/5.15.15/jar) - * [**qtjambi-quick3d-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/5.15.15/jar) - * [**qtjambi-quick3d-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/5.15.15/jar) - * [**qtjambi-quick3d-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/5.15.15/jar) - * [**qtjambi-quick3d-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/5.15.15/jar) - * [**qtjambi-quick3d-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/5.15.15/jar) + * [**qtjambi-quick3d-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/5.15.16/jar) + * [**qtjambi-quick3d-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/5.15.16/jar) + * [**qtjambi-quick3d-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/5.15.16/jar) + * [**qtjambi-quick3d-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/5.15.16/jar) + * [**qtjambi-quick3d-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/5.15.16/jar) + * [**qtjambi-quick3d-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/5.15.16/jar) + * [**qtjambi-quick3d-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/5.15.16/jar) + * [**qtjambi-quick3d-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/5.15.16/jar) * [QtDesigner](https://doc.qt.io/qt-5/qtdesigner-manual.html) in module **qtjambi-designer**: - * [**qtjambi-designer-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/5.15.15/jar) - * [**qtjambi-designer-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/5.15.15/jar) - * [**qtjambi-designer-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/5.15.15/jar) - * [**qtjambi-designer-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/5.15.15/jar) - * [**qtjambi-designer-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/5.15.15/jar) - * [**qtjambi-designer-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/5.15.15/jar) - * [**qtjambi-designer-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/5.15.15/jar) - * [**qtjambi-designer-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/5.15.15/jar) + * [**qtjambi-designer-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/5.15.16/jar) + * [**qtjambi-designer-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/5.15.16/jar) + * [**qtjambi-designer-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/5.15.16/jar) + * [**qtjambi-designer-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/5.15.16/jar) + * [**qtjambi-designer-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/5.15.16/jar) + * [**qtjambi-designer-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/5.15.16/jar) + * [**qtjambi-designer-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/5.15.16/jar) + * [**qtjambi-designer-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/5.15.16/jar) ### Qt5 Platform-dependent Add-Ons * [Active Qt (Windows only)](https://doc.qt.io/qt-5/activeqt-manual.html) in module **qtjambi-activex**: - * [**qtjambi-activex-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/5.15.15/jar) - * [**qtjambi-activex-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/5.15.15/jar) + * [**qtjambi-activex-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/5.15.16/jar) + * [**qtjambi-activex-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/5.15.16/jar) * [QtWinExtras (Windows only)](https://doc.qt.io/qt-5/qtwinextras-index.html) in module **qtjambi-winextras**: - * [**qtjambi-winextras-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras/5.15.15/jar) - * [**qtjambi-winextras-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras-native-windows-x64/5.15.15/jar) + * [**qtjambi-winextras-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras/5.15.16/jar) + * [**qtjambi-winextras-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras-native-windows-x64/5.15.16/jar) * [QtMacExtras (macOS only)](https://doc.qt.io/qt-5/qtmacextras-index.html) in module **qtjambi-macextras**: - * [**qtjambi-macextras-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras/5.15.15/jar) - * [**qtjambi-macextras-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras-native-macos/5.15.15/jar) + * [**qtjambi-macextras-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras/5.15.16/jar) + * [**qtjambi-macextras-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras-native-macos/5.15.16/jar) * [QtX11Extras (Linux only)](https://doc.qt.io/qt-5/qtx11extras-index.html) in module **qtjambi-x11extras**: - * [**qtjambi-x11extras-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras/5.15.15/jar) - * [**qtjambi-x11extras-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras-native-linux-x64/5.15.15/jar) + * [**qtjambi-x11extras-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras/5.15.16/jar) + * [**qtjambi-x11extras-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras-native-linux-x64/5.15.16/jar) ### Qt3D * [Qt3DCore](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dcore**: - * [**qtjambi-qt3dcore-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/5.15.15/jar) - * [**qtjambi-qt3dcore-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dcore-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dcore-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/5.15.15/jar) - * [**qtjambi-qt3dcore-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dcore-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dcore-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dcore-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dcore-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/5.15.16/jar) + * [**qtjambi-qt3dcore-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dcore-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dcore-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/5.15.16/jar) + * [**qtjambi-qt3dcore-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dcore-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dcore-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dcore-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/5.15.16/jar) * [Qt3DRender](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3drender**: - * [**qtjambi-qt3drender-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/5.15.15/jar) - * [**qtjambi-qt3drender-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3drender-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3drender-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/5.15.15/jar) - * [**qtjambi-qt3drender-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3drender-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3drender-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3drender-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3drender-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/5.15.16/jar) + * [**qtjambi-qt3drender-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3drender-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3drender-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/5.15.16/jar) + * [**qtjambi-qt3drender-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3drender-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3drender-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3drender-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/5.15.16/jar) * [Qt3DAnimation](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3danimation**: - * [**qtjambi-qt3danimation-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/5.15.15/jar) - * [**qtjambi-qt3danimation-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3danimation-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3danimation-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/5.15.15/jar) - * [**qtjambi-qt3danimation-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3danimation-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3danimation-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3danimation-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3danimation-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/5.15.16/jar) + * [**qtjambi-qt3danimation-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3danimation-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3danimation-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/5.15.16/jar) + * [**qtjambi-qt3danimation-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3danimation-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3danimation-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3danimation-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/5.15.16/jar) * [Qt3DExtras](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dextras**: - * [**qtjambi-qt3dextras-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/5.15.15/jar) - * [**qtjambi-qt3dextras-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dextras-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dextras-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/5.15.15/jar) - * [**qtjambi-qt3dextras-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dextras-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dextras-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dextras-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dextras-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/5.15.16/jar) + * [**qtjambi-qt3dextras-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dextras-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dextras-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/5.15.16/jar) + * [**qtjambi-qt3dextras-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dextras-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dextras-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dextras-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/5.15.16/jar) * [Qt3DInput](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dinput**: - * [**qtjambi-qt3dinput-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/5.15.15/jar) - * [**qtjambi-qt3dinput-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dinput-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dinput-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/5.15.15/jar) - * [**qtjambi-qt3dinput-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dinput-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dinput-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dinput-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dinput-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/5.15.16/jar) + * [**qtjambi-qt3dinput-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dinput-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dinput-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/5.15.16/jar) + * [**qtjambi-qt3dinput-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dinput-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dinput-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dinput-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/5.15.16/jar) * [Qt3DLogic](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dlogic**: - * [**qtjambi-qt3dlogic-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dlogic-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dlogic-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dlogic-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/5.15.16/jar) * [Qt3DQuick](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquick**: - * [**qtjambi-qt3dquick-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/5.15.15/jar) - * [**qtjambi-qt3dquick-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dquick-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dquick-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/5.15.15/jar) - * [**qtjambi-qt3dquick-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dquick-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dquick-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dquick-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dquick-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/5.15.16/jar) + * [**qtjambi-qt3dquick-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dquick-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dquick-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/5.15.16/jar) + * [**qtjambi-qt3dquick-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dquick-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dquick-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dquick-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/5.15.16/jar) * [Qt3DQuickExtras](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquickextras**: - * [**qtjambi-qt3dquickextras-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dquickextras-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dquickextras-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dquickextras-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/5.15.16/jar) * [Qt3DQuickScene3D](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquickscene2d**: - * [**qtjambi-qt3dquickscene2d-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/5.15.15/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/5.15.15/jar) + * [**qtjambi-qt3dquickscene2d-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/5.15.16/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/5.15.16/jar) ### QtJambi Plugins * JDBC Sql Plugin: - * [**qtjambi-plugin-qsqljdbc-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/5.15.15/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-common-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/5.15.15/jar) + * [**qtjambi-plugin-qsqljdbc-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/5.15.16/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-common-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/5.15.16/jar) ### QtJambi Tools * [QtJambi User Interface Compiler (UIC)](https://doc.qt.io/qt-5/designer-using-a-ui-file.html#compile-time-form-processing): - * [**qtjambi-uic-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/5.15.15/jar) - * [**qtjambi-uic-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/5.15.15/jar) - * [**qtjambi-uic-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/5.15.15/jar) - * [**qtjambi-uic-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/5.15.15/jar) + * [**qtjambi-uic-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/5.15.16/jar) + * [**qtjambi-uic-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/5.15.16/jar) + * [**qtjambi-uic-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/5.15.16/jar) + * [**qtjambi-uic-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/5.15.16/jar) * QtJambi Deployer: - * [**qtjambi-deployer-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/5.15.15/jar) - * [**qtjambi-deployer-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/5.15.15/jar) - * [**qtjambi-deployer-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/5.15.15/jar) - * [**qtjambi-deployer-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/5.15.15/jar) - * [**qtjambi-deployer-native-android-x86-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/5.15.15/jar) - * [**qtjambi-deployer-native-android-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/5.15.15/jar) - * [**qtjambi-deployer-native-android-arm-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/5.15.15/jar) - * [**qtjambi-deployer-native-android-arm64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/5.15.15/jar) + * [**qtjambi-deployer-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/5.15.16/jar) + * [**qtjambi-deployer-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/5.15.16/jar) + * [**qtjambi-deployer-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/5.15.16/jar) + * [**qtjambi-deployer-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/5.15.16/jar) + * [**qtjambi-deployer-native-android-x86-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/5.15.16/jar) + * [**qtjambi-deployer-native-android-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/5.15.16/jar) + * [**qtjambi-deployer-native-android-arm-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/5.15.16/jar) + * [**qtjambi-deployer-native-android-arm64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/5.15.16/jar) * QtJambi Generator: - * [**qtjambi-generator-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator/5.15.15/jar) - * [**qtjambi-generator-native-windows-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-windows-x64/5.15.15/jar) - * [**qtjambi-generator-native-linux-x64-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-linux-x64/5.15.15/jar) - * [**qtjambi-generator-native-macos-5.15.15.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-macos/5.15.15/jar) + * [**qtjambi-generator-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator/5.15.16/jar) + * [**qtjambi-generator-native-windows-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-windows-x64/5.15.16/jar) + * [**qtjambi-generator-native-linux-x64-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-linux-x64/5.15.16/jar) + * [**qtjambi-generator-native-macos-5.15.16.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-generator-native-macos/5.15.16/jar) diff --git a/www/Whats-New.md b/www/Whats-New.md index 163b43a4..12fb2185 100644 --- a/www/Whats-New.md +++ b/www/Whats-New.md @@ -1,18 +1,9 @@ -# What's new in QtJambi 6.5.1 +# What's new in QtJambi 6.5.2 ## Bugfixes Solved issues: -* [Issue 148](../../../issues/148): QGuiApplication.overrideCursor() is crashing - -## New Features - -Solved issues: -* [Issue 147](../../../issues/147): [uic] Add an option to *not* generate the "MyForm" container class -* [Issue 149](../../../issues/149): Improve QTJAMBI_DEBUG_TRACE feature -* [Issue 150](../../../issues/150): Use RTTI to identify dangling pointers -* [Issue 151](../../../issues/151): Make diagnostics features disabled by default -* [Issue 152](../../../issues/152): Configurable log levels -* [Issue 153](../../../issues/153): Make concurrent modification detection on Qt containers optional -* [Issue 158](../../../issues/158): Make QPlatformIntegration available +* [Issue 163](../../../issues/163): QModelIndex implementation of 5.15.15 slower than 5.15.11 +* [Issue 160](../../../issues/160): QMetaType.metaObject() returns null although instance expected +* [Issue 159](../../../issues/159): Custom subclasses of QPaintEngine crash when using QPaintEngineState

    Java wrapper for Qt class QFutureSynchronizer