« 思い出と口コミと知らぬ間に広がる世界 | メイン | UJMLサンプル111:importとexportの話 その4 孫のimport/exportは可能かどうか »

UJMLサンプル110:importとexportの話 その3 state-machineのimport/export(2006/05/06)

Samples_110_importexportstatemachine 今回は<state-machine>エレメントのimport/exportの話。<state-machine>はUJMLのソースコードをコンポーネント化するときに重要なポイントだが、コンポーネントをimport/exportにより共有することも可能である。今回はその簡単なサンプルを紹介する。

 親(exportする側)は下のmain.ujmlのようにステートマシンの宣言時にaccess属性をexportとする。これにより、リンク先の子パーティション内でこのステートマシンをimport可能だ。このステートマシンは数値12345を返す関数fHugaを実装しているだけだが、_link()先のnewPart.ujml内でfHugaを呼び出して画面にラベル表示している。
---main.ujml
<ujml>
    <application>
        <state-machines>
            <state-machine name="smHuga" access="export">
                <functions>
                    <function name="fHuga" type="int" visibility="public">
                        <return>12345</return>
                    </function>
                </functions>
            </state-machine>
        </state-machines>
        <script>
            _link("test","build/110_newPart.ujbc");
        </script>
    </application>
</ujml>
----
----newPart.ujml
<ujml>
    <partition>
        <state-machines>
            <state-machine name="smHuga" access="import">
                <functions>
                    <function name="fHuga" type="int" visibility="public"/>
                </functions>
            </state-machine>
        </state-machines>
        <state-variables>
            <state-var name="sHoge" type="boolean"/>
        </state-variables>
        <variables>
            <var name="val" type="int"/>
        </variables>
        <script>
            val = smHuga.fHuga();
            sHoge = true;
        </script>
        <states>
            <state var="sHoge">
                <transition value="true">
                    <display>
                        <label>
                            <text><eval>val</eval></text>
                            <bg>&_COLOR_WHITE;</bg>
                        </label>
                    </display>
                </transition>
            </state>
        </states>
    </partition>
</ujml>
----
ソースコードダウンロード用:
Download 110_main.ujml
Download 110_newPart.ujml

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e5508a5edc8833

UJMLサンプル110:importとexportの話 その3 state-machineのimport/exportを参照しているブログ:

コメント

この記事へのコメントは終了しました。