ScxmlStateMachine QML Type
SCXML ファイルから作成されたステートマシンへのインターフェイスを提供します。詳細...
Import Statement: | import QtScxml 6.8 |
In C++: | QScxmlStateMachine |
プロパティ
- dataModel : ScxmlDataModel
- initialValues : var
- initialized : bool
- invoked : bool
- invokedServices : list
- loader : Loader
- name : string
- parseErrors : var
- running : bool
- sessionId : string
シグナル
- finished()
- log(string label, string msg)
- reachedStableState()
メソッド
- activeStateNames(bool compress)
- cancelDelayedEvent(string sendId)
- init()
- isActive(string scxmlStateName)
- isDispatchableTarget(string target)
- start()
- stateNames(bool compress)
- stop()
- submitEvent(event)
- submitEvent(string eventName, var data)
詳細な説明
ScxmlStateMachine 型はステートチャート XML (SCXML) の実装です。
SCXML ファイルで定義されているすべての状態は、この型のプロパティとしてアクセス可能です。これらのプロパティはブール値で、状態がアクティブか非アクティブかを示します。
プロパティの記述
dataModel : ScxmlDataModel |
このステートマシンに使用されるデータモデル。
SCXML のデータモデルについては、SCXML Specification - 5 Data Model and Data Manipulation を参照してください。サポートされるデータモデルについての詳細はSCXML Compliance を参照してください。
ステートマシンがinitialized になっているときにデータモデルを変更することは SCXML 標準では規定されておらず、未定義の動作につながります。
QScxmlDataModel 、QScxmlNullDataModel 、QScxmlCppDataModelも参照して ください。
initialValues : var |
データモデルの設定に使用する初期値。
initialized : bool |
この読み取り専用プロパティは、ステートマシンが初期化されている場合はtrue
に設定され、そうでない場合はfalse
に設定されます。
invoked : bool |
ステートマシンが外部のステートマシンから起動されたかどうか。
この読み取り専用プロパティは、ステートマシンが<invoke>
要素を持つサービスとして開始された場合はtrue
に設定され、そうでない場合はfalse
に設定される。
invokedServices : list |
メインのステートマシンから呼び出されたSCXMLサービスのリスト(再帰的に呼び出される場合もある)。
loader : Loader |
ステートマシンのURIを解決してロードするために現在使用されているローダー。
name : string |
<scxml>
タグのname属性で設定されたステートマシンの名前。
parseErrors : var |
SCXML ファイルからステートマシンを作成する際に発生した解析エラーのリスト。
running : bool |
このステートマシンの実行状態。
sessionId : string |
現在のステートマシンのセッション ID。
セッション ID は、親と子のステートマシン間のメッセージ・ルーティングに使用されます。ステートマシンが<invoke>
要素によって開始された場合、そのステートマシンが送信するイベントには、invokeid
フィールドにセッション ID が設定されます。ステートマシンは、正しい子ステートマシンにメッセージをディスパッチするために、イベントのオリジン(<send>
要素のtargetまたはtargetexpr属性によって設定される)を使用する。
シグナル・ドキュメント
finished() |
このシグナルは、ステートマシンがトップレベルの最終状態に達したときに発せられる。
対応するシグナルハンドラはonFinished()
です。
注意: 対応するハンドラはonFinished
です。
log(string label, string msg) |
<log>
label は タグの<log>
label属性の値です。 は タグのmsg <log>
expr属性の値です。expr属性がない場合は、NULL文字列が返されます。
対応するシグナル・ハンドラはonLog()
です。
注: 対応するハンドラはonLog
です。
reachedStableState() |
このシグナルは、マクロ・ステップの終了時にイベント・キューが空になったとき、または最終状態に達したときに発行される。
対応するシグナルハンドラはonreachedStableState()
である。
注: 対応するハンドラはonReachedStableState
。
メソッド ドキュメント
activeStateNames(bool compress) |
すべてのアクティブな状態の状態名のリストを取得する。
状態がアクティブであるとき、定義によりその親状態はすべてアクティブである。compress がtrue
(デフォルト) の場合、親状態はフィルタリングされ、リーフ状態のみが返されます。これがfalse
の場合、アクティブな状態の完全なリストが返される。
cancelDelayedEvent(string sendId) |
指定されたsendId で遅延イベントをキャンセルする。
init() |
<data>
要素の初期値を設定し、<scxml>
タグの<script>
タグを実行することで、ステートマシンを初期化する。初期データ値はinitialValues プロパティから取得される。
構文解析エラーが発生した場合、または初期化ステップのいずれかが失敗した場合は、false
を返します。それ以外の場合はtrue
を返す。
isActive(string scxmlStateName) |
scxmlStateName で指定された状態がアクティブであればtrue
を、そうでなければfalse
を返す。
isDispatchableTarget(string target) |
このステートマシンでtarget へのメッセージをディスパッチできる場合はtrue
を返す。
有効なターゲットは以下のとおり:
#_parent
によって現在のステートマシンが開始される場合、親ステートマシン。<invoke>
#_internal
現在のステートマシン#_scxml_sessionid
sessionid
は、現在のステートマシンのセッションIDである。#_servicename
servicename
は、このステートマシンが で開始したサービスの ID または名前である。<invoke>
start() |
stateNames(bool compress) |
すべての状態の状態名のリストを取得する。
compress がtrue
(デフォルト) の場合、子状態を含む状態がフィルタリングされ、リーフ状態のみが返される。これがfalse
の場合、すべての状態の完全なリストが返される。
返されるリストには、入れ子になったステートマシンの状態は含まれません。
注意: リスト内の状態名の順序は、SCXMLドキュメント内で状態が発生した順序である。
stop() |
submitEvent(event) |
SCXML イベントevent を、イベントの優先順位に応じて内部または外部のイベントキューに投入します。
遅延が設定されている場合、イベントはタイムアウトが経過した後に配送のためにキューに入れられます。ステートマシンはイベントの所有権を持ち、処理後に削除します。
QScxmlEventも参照してください 。
submitEvent(string eventName, var data) |
指定されたeventName を名前として、data をペイロードデータ(オプション)として、外部イベントを作成し、サブミットするユーティリティメソッドです。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。