summaryrefslogtreecommitdiffstats
path: root/scc/doc.txt
blob: 6c82ebbc4c1ca2de102ecf5e81e18e2860eb9669 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
This document describes the expected behaviour of SCC (the Qt State Chart Compiler) in regards to SCXML tags and features.

SCXML
  Ignored: version, profile, exmode
    
STATE
  Ignored: src
  
TRANSITION
  Ignored: anchor
  Additional: Qt:animation, a location expression that points to a QPropertyAnimation* object
  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. 
        Conditions are C++ boolean expressions.
PARALLEL
  Ignored: src
  
HISTORY:
  Notes: The history's default transition cannot have executable content. 
  
LOG:
  Notes: the level of the log translates to QtMsgType. expr is a c++ expression.
  
SEND:
  Partially supported: target (only "_internal")
  Ignored attributes: type, idlocation, hints
  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.

CANCEL:
  Notes: ID is a string literal, not an expression

DATA:
  Ignored attributes: src
  Additional: Qt:type, to define a C++ type for this data element
  Notes: A data element is converted to a Qt property of the state-machine object. expr/text are C++ expressions

ASSIGN:
  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.
    
PARAM
  Notes: either name, expr or inline-text can appear, as the parameters are translated to a QVariantList.

SCRIPT
  Notes: raw C++ code
  
Fully supported:
  INITIAL, FINAL, ONENTRY, ONEXIT, IF, ELSEIF, ELSE, LOG, CANCEL, DATAMODEL

Unsupported:
    INVOKE, CONTENT, DONEDATA, FINALIZE, ANCHOR, VALIDATE

Qt:property
  object
  property
  value
  
Qt:cpp
  text()
      
system variables
  _event
  _data
  _name


INVOKE
CONTENT
VALIDATE
DONEDATA


script
Qt:cpp
cond
(variables)
param
log
if/elseif/else
assign