aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/statemachine
Commit message (Collapse)AuthorAgeFilesLines
* StateMachine: Warn about invalid childMode changesErik Verbruggen2019-05-212-0/+16
| | | | | | | | | | | | In QML there is 1 way to set the childMode property on a state machine, so for invalid values we can generate a nice warning. The fix for the behavior of the underlying QStateMachine is in cfdbfcebbda5f26b89c70df6b191b17ef242e9d7 Task-number: QTBUG-49975 Change-Id: I142bdaed2e5336b95bf659066143ac6c2cadeb62 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Split CompiledData::CompilationUnit in twoUlf Hermann2019-05-162-5/+7
| | | | | | | | We need a CompilationUnit that only holds the data needed for compilation and another one that is executable by the runtime. Change-Id: I704d859ba028576a18460f5e3a59f210f64535d3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove unused includes of qv8engine_p.hUlf Hermann2019-04-091-1/+0
| | | | | Change-Id: Ic135a863581d29a3afb9c6c7f070d2630b3913b4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Update plugins.qmltypes for Qt 5.13Kai Koehne2019-03-131-1/+1
| | | | | | | | Task-number: QTBUG-73484 Change-Id: I089f5122817a4da1fce13f55d2975240d741b9f6 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update plugins.qmltypesKai Koehne2018-09-062-1/+3
| | | | | | | | | | | | | by running cd qtdeclarative/imports; for path in `find . -name Makefile -print`; do pushd `dirname $path`; make qmltypes; popd; done in the build directory. Local file paths in the command line were then edited out by hand. Task-number: QTBUG-70264 Change-Id: I931604aff6a779915708395e8b8dbdf659cbd637 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Clean up QQmlCustomParser APISimon Hausmann2018-07-302-5/+5
| | | | | | | | Consistently provide a smart pointer to the compilation unit in the two virtual functions. Change-Id: I2f43d4d17102082577f2502424d288d40eb7479d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the code to manually initialize resources in static buildsSimon Hausmann2018-05-021-8/+1
| | | | | | | | | After commit be9a56e5e3ced5d0d668fa24e4c65ae928f2e25a in qtbase, this is not needed anymore. Instead the resource system injects the plugin entry point with a reference to all resources. Change-Id: I7275029bd4c15eda6bb8c2ab7ae8c1cd3933aedb Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Document latest QtQml.StateMachine import version to be 2.11Kai Koehne2018-04-202-2/+2
| | | | | | | | | Since commit 214fbaa57b73296a0 the latest minor version of the import is automatically the Qt minor version, so let's also document this. Change-Id: I61a1015d74beaeac9d7a2aecd73e3f05c8a545c9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* add qmlRegisterModule to all QML plugins (QUIP 99)Shawn Rutledge2018-03-211-0/+3
| | | | | | | | | | | | | | | | | Now it should always be possible to do import QtQuick.Module x.m where x is the module's major version and m is Qt's minor version. [ChangeLog][QtQuick][Important Behavior Changes] In Qt 5.11 and newer versions, QML plugin modules are available with the same minor version as the Qt release minor version number. For example it's possible to import QtQuick.Window 2.11 or import QtQuick.Layouts 1.11 even though there haven't been any API changes in these modules for Qt 5.11, and the maximum possible import version will automatically increment in future Qt versions. This is intended to reduce confusion. Change-Id: I0d28ed04d186bcdd5acde95b8ed0b66c1c4697e3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Simplify handling of function expressions as signal handlersMichael Brasser2018-03-211-7/+0
| | | | | Change-Id: I4bfa05b4619c248119c78d05e64270e6627f6065 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Handle function expressions in SignalTransitionMichael Brasser2018-03-211-3/+11
| | | | | | | | Extend 22b13921f8067f8a93164875a4ad59bed85b0400 to SignalTransition. Change-Id: Ic7d03353efaa7ba894b913e5b0bc193d648d21df Task-number: QTBUG-50328 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-264-5/+5
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove double indirection between QJSEngine and QV4::ExecutionEngineUlf Hermann2018-02-021-2/+2
| | | | | | | | As QJSEngine's handle() method is internal, we can redefine it to return a pointer to an ExecutionEngine. That makes many things easier. Change-Id: Ie3df99e0bad5f00ad4fe73182896cd135fa82994 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Replace remaining Q_NULLPTR with nullptrKevin Funk2017-11-173-3/+3
| | | | | Change-Id: I28a32af7f1c306a3002d47025a842475f848c1a4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-252-7/+7
| | | | | Change-Id: I176f91a8c51e81a2df3fe91733118261491223ee Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-264-0/+7
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Port existing qmlInfo callers to qmlWarningRobin Burchell2017-01-114-4/+4
| | | | | | | | | | | | | Now that qmlInfo actually reports info messages, we want to change existing callers to use warning-level messages to preserve the original message level. This was done through: perl -p -i -e "s/qmlInfo\(/qmlWarning\(/" **/*.{cpp,h,qdoc} .. with a little care taken to only add the hunks that should be changed. Change-Id: I511cee11ce0a26ec1048cd2b84c7536b812a0d89 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Imports: add missing 'override'Anton Kudryavtsev2016-10-063-6/+6
| | | | | | | ... and drop redundant 'virtual' Change-Id: I13246ff07a219d41c9e0fd11fbc6a0b00109912a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update .qmltypesMarco Benelli2016-09-121-1/+1
| | | | | | | | | | Update qmltypes for 5.8. For some files the -noforceqtquick option is used; in this way there are no redundand definitions of QtQuick component and no unneded dependencies from QtQuick. Change-Id: Id29683fcd6d15056923867ea65b091f998297fc4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-131-8/+21
|\ | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp Change-Id: I26d6435a29cac3840bb567ade5149c2562a94bf9
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-101-7/+19
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of 0e053528 was reverted in the merge, about lastTimestamp. It will be applied later in separate commit. qmltest::shadersource-dynamic-sourceobject::test_endresult() was blacklisted on linux. Conflicts: .qmake.conf tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp tests/auto/qmltest/BLACKLIST tests/auto/qmltest/qmltest.pro Task-number: QTBUG-53590 Task-number: QTBUG-53971 Change-Id: I48af90b49a3c7b29de16f4178a04807f8bc05130
| | * Fix crash with SignalTransitionSimon Hausmann2016-05-251-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Don't crash when using SignalTransition with a signal object instead of the slot used to emit the signal. A signal object is just as good. Task-number: QTBUG-53596 Change-Id: I8a419d16ec0c257c9a798a83ee5bad338794cdd2 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * | Imports: de-duplicate some expensive callsAnton Kudryavtsev2016-05-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaMethod::parameterNames() contains internal loop, and we had quadratic behavior. Since operator[] was used with temp object, also we had detach()ing. QUrl::path() contains memory allocation. To avoid these issues cache results of functions. Change-Id: Ie4c3f0573a000342aff44de0dd4f744a146bb935 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Imports, Plugins, Quick: replace QStringLiteral with QL1SAnton Kudryavtsev2016-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. in such cases: - if there is overloaded function - in QStringBuilder expressions Result: reducing .rodata Change-Id: I972bc0a61df7b5567c40329dd47e77176d9a5b96 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Remove QQmlCompiledData in favor of QV4::CompiledData::CompilationUnitSimon Hausmann2016-06-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | QQmlCompiledData used to contain the binary data for instantiating QML types in the QML VME. Nowadays the QML type compiler as well as the JavaScript compiler create a QV4::CompiledData::CompilationUnit. Change-Id: I155f62a5ecfb55a3fe230520231b6d8fd5b28ac9 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | Removed the dependency to QQmlCompiledData from QQmlCustomParserSimon Hausmann2016-05-302-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | We only need fields from the compilation unit, so let's pass that instead. This is private, internal QQmlEngine API only used by QtQml and QtQuick. Change-Id: I1a659654d95585b736384b5b519d05a4df3f9ead Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-05-131-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsapi/qjsengine.cpp src/qml/qml/qqmlengine_p.h src/quick/items/qquickanchors.cpp src/quick/items/qquickanimatedimage_p_p.h src/quick/items/qquickitem_p.h tests/auto/qml/qqmlecmascript/testtypes.h tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp tests/benchmarks/qml/creation/tst_creation.cpp Change-Id: I65861e32f16e8a04c7090a90231627e1ebf6ba6f
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-271-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickimagebase.cpp src/imports/layouts/plugin.cpp Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
| | * Instantiate static Qml plugins declaring QQmlExtensionInterface onlySebastian Lösch2016-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When instantiating static plugins no check is done whether the QQmlExtensionInterface is declared. Therefore all user plugins are instantiated in the Qml thread, which may cause problems. Task-number: QTBUG-52012 Change-Id: Ia91ec5ec7b2a9721bd11e3648cdc161855b4454e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Mark overrides of QQmlExtensionPluginFrank Meerkoetter2016-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Clearly state that we want to override registerTypes of QQmlExtensionPlugin. Change-Id: I0acf76115d47d7166ccb813a811dd757d514e6e2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Cleanup dead fwd declarationFrank Meerkoetter2016-04-181-2/+0
|/ / | | | | | | | | Change-Id: I339b2234e64eaab2d2e73c1d3cb37e2d0b60fe3b Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-223-5/+92
|\| | | | | | | Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
| * Provide access to signal parameters in SignalTransition::onTriggered.Michael Brasser2016-01-193-5/+92
| | | | | | | | | | | | | | Change-Id: Ib74d3f5e9a357a86b818e27dd7249e2ecdf1e513 Task-number: QTBUG-46897 Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-1912-168/+240
| | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Utilize the resources when building statically.Andy Shaw2015-12-021-0/+8
|/ | | | | | | | | | | | This is needed so that the qmldir file is picked up correctly when using a static build of the plugins in the application as this gets taken care of automatically by qmake. The Q_INIT_RESOURCES line itself is only needed statically because no resource file is needed for dynamic libraries so it is protected with the QT_STATIC define. Task-number: QTBUG-35754 Change-Id: I9059e10c0846548f365fe4f95dd9c6100eeb43cd Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update plugins.qmltypesKai Koehne2015-10-231-1/+11
| | | | | | | | Update all plugins.qmltypes except for QtQuick2. Change-Id: If79b82fa54d159171f45a1bd2e9432c76b3c5686 Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-241-4/+4
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf LICENSE.GPLv2 examples/qml/networkaccessmanagerfactory/view.qml src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4stringobject.cpp Change-Id: I5d12f436d60995e51d5c2f59d364e9cbc24f8e32
| * Doc fix: QHistoryState is registered in QML as HistoryStatePierre Rossi2015-01-281-4/+4
| | | | | | | | | | | | | | | | The documentation enum values should reflect that. Task-number: QTBUG-44088 Change-Id: I0042da252eac10301fff4289402f158a7b0d0ff6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-1212-72/+72
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* | Rework QJSValue internalsLars Knoll2015-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Use a flagged pointer to either store a pointer to a QV4::Value (from the persistent storage) or a pointer to a QVariant in QJSValue::d. Like this we don't need to malloc to create a QJSValue for most use cases. Significantly reduces the memory consumption of QJSValue and speeds it up a lot. Change-Id: I10902cc4b6cc3f43d3f816875dc6c4bbb6b4490f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Resolve type names inside guard property of SignalTransitionNobuaki Sukegawa2014-12-201-1/+5
|/ | | | | | | | | | | | SignalTransition's guard is evaluated against ad-hoc QQmlContext because it needs signal args added to its contextProperty. Since QQmlContext created this way does not have import type cache, we could not use type names inside guard. To avoid this problem, this patch makes guard's context inherit parent's type cahce. Change-Id: I4ddd559779681b53d4ee42f4820d05438addb5ac Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Get rid of !this and similar constructsLars Knoll2014-10-311-4/+1
| | | | | | | | | The C++ standard doesn't allow calling member functions on a mull object. Fix all such places, by moving the checks to the caller where required. Change-Id: I10fb22acaf0324d8ffd3a6d8e19152e5d32f56bb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QML State Machine plugin: correct URL in Q_PLUGIN_METADATAShawn Rutledge2014-10-271-1/+1
| | | | | | | | | org.qt-project.org is redundant Change-Id: Id6a6794e1fc1e4403b3bfcdebbe06a487f904041 Reviewed-by: Sebastian Sauer <sebastian.sauer@kdab.com> Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* qmlstatemachine: Rename StateBase to StateKevin Funk2014-10-217-38/+38
| | | | | | | | | | | | As discussed with Brett Stottlmyer and Alan Alpert. Add a section about the implications when importing both QtQml.StateMachine and QtQuick in one single QML file. Change-Id: I8755f4b578e2a6ff4c2377c7a8a0b996ba9b7129 Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Doc: Updated the QML State Machine docsVenu2014-10-095-18/+24
| | | | | | | | | | | | | | - Excluded the src/imports/statemachine directory from qtquick.qdocconf to avoid unnecessary qdoc warnings. - corrected a broken link to an external source - changed the group name to avoid collision - added a \qmlmodule page for QtQml.StateMachine - Reduced the amount of duplication between the C++ and QML state machine overviews. Task-number: QTBUG-41561 Change-Id: I87c815fada7006f0609331e315bb338f062bb4db Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QDSM: Nested statemachines are supportedSebastian Sauer2014-09-241-6/+0
| | | | | | | | | | | | | | * Remove wrongly printed info that nested statemachines are not supported. * Added autotest for nested statemachines. * Re-enable commented out testcase in the nestedInitalStates autotest. The reason why the test was disabled was fixed a while ago. Change-Id: I921483fa49d751d14c877f8f63335fa88cf2ce7b Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QSM: Reintroduce guard argument evaluationSebastian Sauer2014-08-252-12/+39
| | | | | | | | | | | | | | Implements the suggestion from Simon Hausmann (codereview 89716 from 08-05 14:46) to use QQmlScriptString rather then the previous used MetaObject-manipulation. This also introduces comparison operators for QQmlScriptString to be able to determinate if a QQmlScriptString changed what is needed cause there is otherwise no way to access (all) the needed details within QQmlScriptStringPrivate. Change-Id: I198479eac8fd37cbdd98a99aacdd8eebf7b75d21 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Update license headers and add new licensesJani Heikkinen2014-08-2512-216/+120
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Say hello to the Declarative State Machine FrameworkBrett Stottlemyer2014-08-0815-0/+1683
The Declarative State Machine Framework extends Qt's State Machine Framework (QSM) into QML to provide types for creating and executing state graphs in QML. This gives you the power of deterministic state machines, but declaratively and without having to write all of the boilerplate code. It is an alternative to the existing QML State type, intended for more complex models. [ChangeLog][QtQML] The Declarative State Machine Framework extends Qt's State Machine Framework (QSM) into QML. This gives you the power of deterministic state machines, but declaratively. Change-Id: I02390ba7f1baed50935364530925bd75087299cb Reviewed-by: Sebastian Sauer <sebastian.sauer@kdab.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Brett Stottlemyer <bstottle@ford.com>