| 1 |
This document describes the expected behaviour of SCC (the Qt State Chart Compiler) in regards to SCXML tags and features. |
| 2 |
|
| 3 |
SCXML |
| 4 |
Ignored: version, profile, exmode |
| 5 |
|
| 6 |
STATE |
| 7 |
Ignored: src |
| 8 |
|
| 9 |
TRANSITION |
| 10 |
Ignored: anchor |
| 11 |
Additional: Qt:animation, a location expression that points to a QPropertyAnimation* object |
| 12 |
Notes: An event in a transition translates to a Qt signal in the state machine object. "*" would occur on any event. Prefix matching is not supported, but * and done events are supported. |
| 13 |
Conditions are C++ boolean expressions. |
| 14 |
PARALLEL |
| 15 |
Ignored: src |
| 16 |
|
| 17 |
HISTORY: |
| 18 |
Notes: The history's default transition cannot have executable content. |
| 19 |
|
| 20 |
LOG: |
| 21 |
Notes: the level of the log translates to QtMsgType. expr is a c++ expression. |
| 22 |
|
| 23 |
SEND: |
| 24 |
Partially supported: target (only "_internal") |
| 25 |
Ignored attributes: type, idlocation, hints |
| 26 |
Notes: The target attribute can be either empty for a regular event, "_internal" for an internal-queue event, or a location expression to emit a signal in an object. |
| 27 |
|
| 28 |
CANCEL: |
| 29 |
Notes: ID is a string literal, not an expression |
| 30 |
|
| 31 |
DATA: |
| 32 |
Ignored attributes: src |
| 33 |
Additional: Qt:type, to define a C++ type for this data element |
| 34 |
Notes: A data element is converted to a Qt property of the state-machine object. expr/text are C++ expressions |
| 35 |
|
| 36 |
ASSIGN: |
| 37 |
Notes: If dataid is present rather than location, the generated code would use the Qt property system to assign the value. expr is a c++ expression. |
| 38 |
|
| 39 |
PARAM |
| 40 |
Notes: either name, expr or inline-text can appear, as the parameters are translated to a QVariantList. |
| 41 |
|
| 42 |
SCRIPT |
| 43 |
Notes: raw C++ code |
| 44 |
|
| 45 |
Fully supported: |
| 46 |
INITIAL, FINAL, ONENTRY, ONEXIT, IF, ELSEIF, ELSE, LOG, CANCEL, DATAMODEL |
| 47 |
|
| 48 |
Unsupported: |
| 49 |
INVOKE, CONTENT, DONEDATA, FINALIZE, ANCHOR, VALIDATE |
| 50 |
|
| 51 |
Qt:property |
| 52 |
object |
| 53 |
property |
| 54 |
value |
| 55 |
|
| 56 |
Qt:cpp |
| 57 |
text() |
| 58 |
|
| 59 |
system variables |
| 60 |
_event |
| 61 |
_data |
| 62 |
_name |
| 63 |
|
| 64 |
|
| 65 |
INVOKE |
| 66 |
CONTENT |
| 67 |
VALIDATE |
| 68 |
DONEDATA |
| 69 |
|
| 70 |
|
| 71 |
script |
| 72 |
Qt:cpp |
| 73 |
cond |
| 74 |
(variables) |
| 75 |
param |
| 76 |
log |
| 77 |
if/elseif/else |
| 78 |
assign |