YKLook説明書 GUIオブジェクト利用の手引き トグルボタン 前へ   次へ
   

トグルボタン


トグルボタンは、ON / OFF の状態を持つボタンです。
ラジオボタンのように複数のトグルボタンをボタングループとしてまとめて使うこともできます。
詳細については クラス解説 YKLookToggleButton をご覧ください。




表示

トグルボタンを表示するプログラム例です。

def yki_make_display()
    tog = YKLookToggleButton.new( 'トグルボタン' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tog )
    yk_add( pan )
end

この例ではボタン内部の表示に文字列を使っていますが、他の種類のボタンとは違いトグルボタンの場合は画像・アイコンのみをボタン内部の表示に使うことも多いです。
ラベル YKLookLabel と同じように、画像・アイコンを表示したり、文字列と画像・アイコンの表示位置を指定することもできます。
ON / OFF 状態を変更することもできます。
このクラスのスーパークラスである YKLookComponent のメソッドを使って、フォント・色・有効か無効か・ツールチップ等の属性を指定することもできます。


グループ

複数のトグルボタンをひとつのグループにまとめて表示するプログラム例です。

def yki_make_display()
    tb1 = YKLookToggleButton.new( 'トグルボタン1' )
    tb2 = YKLookToggleButton.new( 'トグルボタン2' )
    grp = YKLookButtonGroup.new( [tb1, tb2] )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tb1 )
    pan.yk_add( tb2 )
    yk_add( pan )
end

ボタングループ YKLookButtonGroup 自体は、画面上には表れません。
同じグループとして扱うボタンの集合を保持し、グループ内の複数のトグルボタンが同時に ON にならないようにするための隠れたオブジェクトです。


状態の取得

トグルボタンの ON / OFF 状態を取り出すプログラム例です。
「状態取得」ボタンを押すと、トグルボタンの状態を調べます。
メソッド yk_is_selected() を使います。

def yki_make_display()
    tog = YKLookToggleButton.new( 'トグルボタン' )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tog )
    pan.yk_add( btn )
    yk_add( pan )
    tog.yk_set_tag( 'toggle' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    tog = yk_look( 'toggle' )
    if tog.yk_is_selected()
        yk_show_dialog_message( nil, 'ON です' )
    else
        yk_show_dialog_message( nil, 'OFF です' )
    end
end

上の例は、トグルボタンを参照するのにタグ名を使った例です。
下の例は、インスタンス変数を使った例です。

def yki_make_display()
    @tg = YKLookToggleButton.new( 'トグルボタン' )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( @tg )
    pan.yk_add( btn )
    yk_add( pan )
    yk_var( '@tg' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    if @tg.yk_is_selected()
        yk_show_dialog_message( nil, 'ON です' )
    else
        yk_show_dialog_message( nil, 'OFF です' )
    end
end


イベント

トグルボタンのイベントを処理するプログラム例です。
通常のボタンに比べ、トグルボタンのイベントを使うことはあまりありません。

def yki_make_display()
    tog = YKLookToggleButton.new( 'トグルボタン' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tog )
    yk_add( pan )
    tog.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    tog = prm_event.yk_source()
    if tog.yk_is_selected()
        yk_show_dialog_message( nil, 'ON になりました' )
    else
        yk_show_dialog_message( nil, 'OFF になりました' )
    end
end

yk_set_listener() の引数に指定するメソッド名は任意ですが、名前の先頭が 'yk' で始まるものは指定できません。

トグルボタンのイベントは YKLookEventAction クラスのオブジェクトです。
詳細については クラス解説 YKLookEventAction をご覧ください。

イベント処理の基本は YKLook用アプリの製作 > イベント処理 をご覧ください。




   
YKLook説明書 GUIオブジェクト利用の手引き トグルボタン 前へ   次へ


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.