summaryrefslogtreecommitdiffstats
path: root/tools/qscxmlc/scxmlcppdumper.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Drop the stateMachine parameter from data model constructorsUlf Hermann2016-03-301-2/+2
| | | | | | | | | | Instead, make the data model a Q_PROPERTY of state machines. This makes it much easier to independently instantiate state machines and data models from QML and connect them via properties. Change-Id: I62d712dd0ad7817c39432204ced431b8041e442d Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* Handle parantheses and commas in state namesUlf Hermann2016-03-221-6/+12
| | | | | | | | We cannot generate Q_PROPERTY macros in those cases and we need to escape them to generate C++ identifiers. Change-Id: Ie4a35996786817819b7b2520ef060187ef8592bb Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Restore Q_PROPERTY macros for states in generated headersUlf Hermann2016-03-221-2/+7
| | | | | | | The macros are almost for free and improve tooling support. Change-Id: Iddf4bcd69373633b667a56237e1b7c8433e08bfd Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Add version info to qscxmlcJarek Kobus2016-02-181-6/+4
| | | | | Change-Id: I9aa5d010c9e0245f3f5c9a604089e4556c76e9ea Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* Add a version check & edit disclaimer to generated files.Erik Verbruggen2016-02-051-0/+30
| | | | | | | | | | | | The version check is to make sure that the generated .cpp/.h files are compiled against the same version of the module as the generator. The disclaimer is to tell users that the .cpp/.h files are generated and not intented to be edited. Change-Id: I394311b7995ea6e502f1c65e0e11d130487bce0e Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Change staticMetaObject generation.Erik Verbruggen2016-02-051-42/+230
| | | | | | | | | The full meta-object generation is replaced with the moc generator. This gives a fully functional meta-object without any overhead during object instantiation. Change-Id: Ibf62a6f1bfc0873cd00dd2e4bbad38c8d165005a Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Remove event_ prefix from event signals and slots.Erik Verbruggen2016-02-041-21/+28
| | | | | | | | Also only generate the C++ declarations and definitions when in "qt mode". Change-Id: I799ce3efe23e046d26180d1a6e690755523dbed1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update license headersJarek Kobus2016-01-261-9/+16
| | | | | Change-Id: If100cc6cfeccc9ec4f13e03d69edfb7fad6bc2f6 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Remove QScxmlStateMachine::setDataModel.Erik Verbruggen2015-12-031-3/+5
| | | | | | | The data-model constructor will now do the work. Change-Id: I32dfaf95b39a4e9dcd0b6f3598fe89fdf150c909 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Change QScxmlEvent::{name,sendId} from QByteArray to QString.Erik Verbruggen2015-12-031-61/+2
| | | | | Change-Id: I1da62c00865b955864df0326a247bafba6c763ff Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Fix licenses.Erik Verbruggen2015-11-171-17/+20
| | | | | Change-Id: I7a520a55c92114dbb4d0a553bb9e0ebf610b095e Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Work around a bug in GCC.Erik Verbruggen2015-10-291-10/+9
| | | | | | | auto + QStringBuilder == std::bad_alloc. Change-Id: Ie2e88864238daae5c06d8e2deb3b93c76c65e009 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix building with MSVC2012.Erik Verbruggen2015-10-281-29/+31
| | | | | | | No initializer lists.... Change-Id: I3a86992cd7412cde9967d57d9ad68d7f6424c404 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Compile fix for linuxJarek Kobus2015-10-061-0/+1
| | | | | | | Add missing #include <functional> for usages of std::function. Change-Id: I92f13406eb629a98a950d48618c54ae19f682092 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Add properties for nested state machines.Erik Verbruggen2015-10-061-24/+111
| | | | | Change-Id: I80893af6755ca9b731c0701a38b55b8596f84f94 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Split qscxmlstatemachine.h into separate files.Erik Verbruggen2015-10-061-2/+4
| | | | | Change-Id: Ie3137be6a02007510f2d7627dd378d7e8d0477c4 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Cleanup: enamed all "table" variables to "stateMachine".Erik Verbruggen2015-10-061-1/+1
| | | | | Change-Id: I458da16ba900864d785eae97c0bc8ada890fd4ab Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Various build fixes.Erik Verbruggen2015-10-061-1/+3
| | | | | Change-Id: I12e9055e2c76db300a3343f34387a28a59874253 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Compile fixes against 5.5Risto Avila2015-09-251-1/+1
| | | | | Change-Id: Iaa86fd7f27c082199d10633685a55d8b1d27171f Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed files to (hopefully) match Qt naming.Erik Verbruggen2015-09-171-7/+6
| | | | | Change-Id: Iaaebe835a6bdcfe934af10090b51973c10f38a90 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Nuked the Scxml namespace.Erik Verbruggen2015-09-171-44/+41
| | | | | | | We're now just like Qt. Change-Id: I34a20b19436e0a8626436e9727cadb865f124517 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed StateMachine to QScxmlStateMachine.Erik Verbruggen2015-09-171-4/+4
| | | | | Change-Id: I73c6ff52478383c3c3870e0a889194444c956a4b Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed TableData to QScxmlTableData and ScxmlError to QScxmlError.Erik Verbruggen2015-09-171-1/+1
| | | | | Change-Id: I47fce45d787402f615ae200ef60f9226e367e448 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed all invokable services (and their factories) to QScxml*Erik Verbruggen2015-09-171-1/+1
| | | | | Change-Id: I4508a42470051bc80470a22c2c21adddc659aff5 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Prefixed ScxmlState/ScxmlTransition with Q.Erik Verbruggen2015-09-171-3/+3
| | | | | Change-Id: I2ccb64fd144e79ad52acb590e6c04818b53439e3 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed ExecutableContent to QScxmlExecutableContent.Erik Verbruggen2015-09-171-17/+17
| | | | | Change-Id: Id6831ece3d9967a7420f17d8776c1e947cf2cfd0 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Tweaked generated cpp output a bit.Erik Verbruggen2015-09-171-13/+22
| | | | | Change-Id: I5c237024a20533c6dd53d78e2b76790e2669d352 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Remove getter for QStateMachine from StateMachine class.Erik Verbruggen2015-09-171-5/+5
| | | | | Change-Id: I7f0e44ae8fe28c2180f177a58a0a3d4885ef83c6 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* C++ data-model.Erik Verbruggen2015-09-171-86/+197
| | | | | Change-Id: I0f0457f007a31ad7cb93a3a40f0b9c87d808b1ab Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Prefix data models with QScxml.Erik Verbruggen2015-09-151-10/+10
| | | | | Change-Id: Id759b4e6352a5d0eec933770dec72ba06d86ca0a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Support namelist attribute and <param> in <invoke>.Erik Verbruggen2015-09-151-1/+1
| | | | | Change-Id: If608c472c7a280b922e65a41173ac88b353c8d14 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Support <finalize> in <invoke>.Erik Verbruggen2015-09-081-2/+9
| | | | | Change-Id: I5c814417dda822a0edd44e39585a92b38cde1505 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Support locationid in <invoke>.Erik Verbruggen2015-09-081-2/+2
| | | | | Change-Id: Ie76d858cdc086dd376b16e9469dd3723cdba261d Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Add initial support for <invoke>.Erik Verbruggen2015-09-031-69/+163
| | | | | | | | Not all functionality is in yet, but that will come in subsequent patches. Change-Id: I8e457e9e690e2feffcf5d0a70a691c7ca476fa82 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix initial state attribute handling.Erik Verbruggen2015-08-271-2/+3
| | | | | | | | | | | Multiple bugs: - it was storing in the wrong data structure, therefore never "seen" by any code outside the parser - a <state> can have multiple states in the initial attribute, which wasn't handled. Change-Id: I0065108b230067a099fd86e12084f5ac2fd6bc5e Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* ExecutableContent: Don't generate empty strings and byte arraysJarek Kobus2015-08-251-3/+3
| | | | | Change-Id: I88c1aab52bd43fcc5c68847472d2eeff3ce9da7b Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Pimple Scxml::ScxmlEvent, and rename to QScxmlEventAndré Pönitz2015-08-251-2/+2
| | | | | Change-Id: Ia352c421ae2190d0797ba7b67732a13c6251407e Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Pass data in & out of a state-machine.Erik Verbruggen2015-08-251-20/+81
| | | | | | | | | | | | | | | | | | For both C++ and QML, both for dynamically instantiated state machines and for state machines that are compiled to C++: - all states are exposed by name as properties - all signals of type "qt:signal" are signals - all events on which transitions react are slots Both signals and slots take a QVariant as parameter, which holds the _event.data property contents/params. The mediaplayer examples use the signals and slots to pass data out of, respectively into the state machine. Change-Id: Id4198450c2cc4b3ebdea25c6da729751bbdd194c Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Canonicalize module naming (QScxml -> QtScxml)Louai Al-Khanji2015-08-121-6/+6
| | | | | Change-Id: Iad3f027cddcd3c56bca9a136099ef0628f71f5ba Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix qmake warnings.Erik Verbruggen2015-08-111-0/+2
| | | | | Change-Id: If1ac9e716a0500027d1667db8e52385122e5c088 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Renamed StateTable to StateMachine.Erik Verbruggen2015-08-111-15/+15
| | | | | Change-Id: I4334a2a1c5a9ade7fb82882889d092eec615e50f Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Moved all subclasses of QState/QAbstractTransition into own header.Erik Verbruggen2015-08-111-3/+16
| | | | | Change-Id: I6f50fd5cffb20dd110df4ac2f9d518fa5b63624b Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Change the StateTable to not expose QStateMachine.Erik Verbruggen2015-08-111-5/+5
| | | | | | | The fact that there is a QStateMachine is now an implementation detail. Change-Id: I4ec08cc5520238680c5bb34b107115039a391fb1 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Move all "construction code" into StateTable::fromFile()Erik Verbruggen2015-08-111-1/+0
| | | | | | | | | This also takes care of creating the data model (when none is provided) and handles the ownership/lifetime of that data model. Change-Id: Ibb9f829f08e5d848c1aacb21f339d79355f1cdcd Reviewed-by: Jaroslaw Kobus <jaroslaw.kobus@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix memory leak of the data model.Erik Verbruggen2015-07-271-14/+19
| | | | | Change-Id: Ibc92b6615399963b8ba01b5288624e4ed9674138 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Get stuff working with VS2012.Erik Verbruggen2015-07-271-32/+59
| | | | | Change-Id: I5deae8de4ca84ff6beaf8a688587feb6c9d169d8 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Fix initial transitions for history states.Erik Verbruggen2015-07-271-2/+18
| | | | | | | | Depends on https://codereview.qt-project.org/114774 See QTBUG-46703. Change-Id: I8293d1148484df6ad674fb4661ba640d68bf27f9 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* Moved the C++ dumper class to the tool.Erik Verbruggen2015-06-111-0/+886
Change-Id: I180fc8ee31f30c0fb3e7a7a5571a78d842c8c4ec Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>