バイブレーション・キャンバス

動作

入力ミスなどを検知した場合に、コントロールが震えるようなコンポーネントです。例えば以下の”fire vibration”ボタンを押下しますとテキストフィールドがぶるぶる震えます。

vibration1.jpg

 

 

 

 

 

 

 

 

 

 

 

バージョン

Curl Advanced UI 0.5

API説明

VibrationControlCanvas クラス

  揺れるコントロールを配置するCanvasクラスです。 

パッケージ

  COM.CURLAP.ADVANCED-UI.CONTAINERS

スーパークラス

  Canvas

プロパティ

  なし

メソッド

  vibrate (コントロールを揺らす)
    引数1:バイブレートさせるコントロール
    キーワード引数(vibration-width:Distance = .5mm):バイブレーションの幅
    キーワード引数(interval:Time = .01s):バイブレーションの間隔
    キーワード引数(repeat:int = 6):繰り返し回数
   戻り値:AnimationTimer

  vibrate-all-children (Canvas上にあるすべてのコントロールを揺らす)
    キーワード引数(bibration-width:Distance = .5mm):バイブレーションの幅
    キーワード引数(interval:Time = .01s):バイブレーションの間隔
    キーワード引数(repeat:int = 6):繰り返し回数
   戻り値:AnimationTimer   

利用方法

VibrationControlCanvasクラスを生成し、addメソッドでバイブレーションさせるコントロールをCanvasに追加します。

{curl 6.0 applet}
{curl-file-attributes character-encoding = “shift-jis”}
{applet manifest = “manifest.mcurl”}

{import * from COM.CURLAP.ADVANCED-UI.CONTAINERS}
{import * from COM.CURL.GUI.STYLED-CONTROLS}
{install-style-sheet {manifest-url “file”, “DEFAULT-STYLE-SHEET”}}

{value
    def tf = {TextField}
    def cb = {ComboBox}
    def f = {Frame width = 1cm, height = 1cm, background = “red”}

    def canvas =
        {VibrationControlCanvas
            width = 5cm,
            height = 5cm,
            background = “pink”
        }
    {canvas.add tf, x = 1cm, y = 1cm}
    {canvas.add cb, x = 1cm, y = 2cm}
    {canvas.add f, x = 1cm, y = 3cm}

        canvas,
        {spaced-hbox
            {CommandButton
                label = “fire vibration!!”,
                {on Action do
                    {canvas.vibrate tf, vibration-width = 1mm, interval = .02s}
                }
            },
            {CommandButton
                label = “fire all vibrations!!”,
                {on Action do
                    {canvas.vibrate-all-children}
                }
            }
        }
}

このサンプルでは、”fire vibration!!”ボタンを押下したらTextFieldが震えます。”fire all vibrations!!”を押下したらCanvas上のすべてのコントロールが震えます。

サンプル

バイブレーションキャンバス

関連Curl標準API

Timer
Canvas