2012年9月6日木曜日

ボタンに対するイベントの付与

前回は、赤い画面にボタンがついているというとてもシンプルなものですが、レイアウトを作成してみました。

今回は、前回のレイアウトにつけておいたボタンに対してイベントを付与してみたいと思います。

Curlでは、CommandButtonクラスに対して、イベントを付与する記述方法として、
onマクロを使用します。

onマクロは、イベントを使用する際のマクロで、イベント名を指定することで、
イベント発生時の処理を記述することができるようになります。
(※こちらも詳しくはCurl IDEのヘルプを参照してください。)

では、早速前回作成したCommandButtonに対してイベントを付与してみたいと思います。
<load.scurlの変更部分>

{define-class public ColorSampleGraphic {inherits Frame}

  {constructor public {default}
    {construct-super
        {VBox
            name = "vbox",
            width = 300px,
            height = 500px,
            background = "#FF0000",
            {CommandButton
                label = "ボタンです。",
                {on Action do
                    {popup-message "ボタンを押下しました。"}
                }
            }
        }
    }
  }

}


上記の赤太文字部分が、変更点になります。
label = "ボタンです。"の後ろに、「,」(カンマ)が入っているのを忘れないでください。

この変更を行い、Curlで実行すると、

といった形になります。
こちらを、いつも通りの手順で「Caedeアプリケーションに変換」すると、

はい、何も起こりませんでした・・・
どうやら、Curlで通常使用するポップアップメッセージ用のpopup-messageプロシージャはそのままでは反応しないようです。

どうしたらいいのかなと調べたところ、CurlデベロッパーズセンターのGUIコンポーネントに記述がありました。

show-toastというプロシージャがCaedeで準備されているようです。
確かにAndroidでのポップアップメッセージとして、toastがあったので、こちらを使えば、画面上にメッセージが出せるかもしれません。

ということで、load.scurl内を再度修正しました。

{import * from COM.CURL.CAEDE.GUI}


{define-class public ColorSampleGraphic {inherits Frame}

  {constructor public {default}
    {construct-super
        {VBox
            name = "vbox",
            width = 300px,
            height = 500px,
            background = "#FF0000",
            {CommandButton
                label = "ボタンです。",
                {on Action do
                    {popup-message "ボタンを押下しました。"}
                    {show-toast "ボタンを押下しました。"}
                }
            }
        }
    }
  }

}
青太文字部分が再追加した部分です。こちらは、show-toastプロシージャだけでは、Curlで表示でき無かったため、両方を記述しました。

記述した上で再び、「Caedeアプリケーションに変換」すると、
なにもでません・・・・

どうやら何かの記述が足りないようです。

一旦ここで切らせていただいて調査を行おうと思います。

ではでは。

1 件のコメント:

  1. どうやらCaedeの製品版がリリースされたようです。

    返信削除