| f1f7973 by No'am Rosenthal at 2009-08-10 |
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 |