ScxmlStateMachine QML Type

SCXML ファイルから作成されたステートマシンへのインターフェイスを提供します。詳細...

Import Statement: import QtScxml 6.8
In C++: QScxmlStateMachine

プロパティ

シグナル

メソッド

詳細な説明

ScxmlStateMachine 型はステートチャート XML (SCXML) の実装です。

SCXML ファイルで定義されているすべての状態は、この型のプロパティとしてアクセス可能です。これらのプロパティはブール値で、状態がアクティブか非アクティブかを示します。

プロパティの記述

dataModel : ScxmlDataModel

このステートマシンに使用されるデータモデル。

SCXML のデータモデルについては、SCXML Specification - 5 Data Model and Data Manipulation を参照してください。サポートされるデータモデルについての詳細はSCXML Compliance を参照してください。

ステートマシンがinitialized になっているときにデータモデルを変更することは SCXML 標準では規定されておらず、未定義の動作につながります。

QScxmlDataModelQScxmlNullDataModelQScxmlCppDataModelも参照して ください。


initialValues : var

データモデルの設定に使用する初期値。


initialized : bool [read-only]

この読み取り専用プロパティは、ステートマシンが初期化されている場合はtrue に設定され、そうでない場合はfalse に設定されます。


invoked : bool [read-only]

ステートマシンが外部のステートマシンから起動されたかどうか。

この読み取り専用プロパティは、ステートマシンが<invoke> 要素を持つサービスとして開始された場合はtrue に設定され、そうでない場合はfalse に設定される。


invokedServices : list [read-only]

メインのステートマシンから呼び出されたSCXMLサービスのリスト(再帰的に呼び出される場合もある)。


loader : Loader

ステートマシンのURIを解決してロードするために現在使用されているローダー。


name : string [read-only]

<scxml> タグのname属性で設定されたステートマシンの名前。


parseErrors : var [read-only]

SCXML ファイルからステートマシンを作成する際に発生した解析エラーのリスト。


running : bool

このステートマシンの実行状態。


sessionId : string [read-only]

現在のステートマシンのセッション 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)

すべてのアクティブな状態の状態名のリストを取得する。

状態がアクティブであるとき、定義によりその親状態はすべてアクティブである。compresstrue (デフォルト) の場合、親状態はフィルタリングされ、リーフ状態のみが返されます。これが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()

このステートマシンを起動する。マシンは構成をリセットし、初期状態に遷移する。最終的なトップレベル状態に入ると、マシンはfinished() シグナルを発する。

stop() およびfinished()も参照


stateNames(bool compress)

すべての状態の状態名のリストを取得する。

compresstrue (デフォルト) の場合、子状態を含む状態がフィルタリングされ、リーフ状態のみが返される。これがfalse の場合、すべての状態の完全なリストが返される。

返されるリストには、入れ子になったステートマシンの状態は含まれません。

注意: リスト内の状態名の順序は、SCXMLドキュメント内で状態が発生した順序である。


stop()

このステートマシンを停止する。このマシンは、それ以上の状態遷移を実行しない。そのrunning プロパティはfalse に設定されます。

start() およびfinished()も参照してください


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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。