Curl Global Community
HBoxに定義した要素のオブジェクトを判別する - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: HBoxに定義した要素のオブジェクトを判別する (/showthread.php?tid=577)



HBoxに定義した要素のオブジェクトを判別する - usami - 07-26-2012

次のコードのようにHBoxにオブジェクトを追加し、そのオブジェクトの要素を調べ
TextFieldの場合はそこに値をセットさせたいとき、どのように判定すればよいのでしょうか?

Code:
{value
    let hb:HBox = {HBox}
    {hb.add {CommandButton}}
    {hb.add {TextField}}
    {hb.add {ComboBox}}
    {for i=0 below hb.child-array.size do
        || TextFieldかどうかの判定
        {if ~ then
            || TextFieldにvalueをセット
        }
    }
    hb
}



RE: HBoxに定義した要素のオブジェクトを判別する - ashimo - 07-27-2012

これではどうでしょう
Code:
{value
    let hb:HBox = {HBox}
    {hb.add {CommandButton}}
    {hb.add {TextField}}
    {hb.add {ComboBox}}
    {for g in hb.graphical-children do
        {type-switch g
        case g:TextField do
            set g.value = "text-field"
        }
    }
    hb
}



RE: HBoxに定義した要素のオブジェクトを判別する - ashimo - 07-27-2012

いや、child-arrayをお使いだからこうでしょうか
Code:
    {for i=0 below hb.child-array.size do
        {type-switch hb.child-array[i]
        case tf:TextField do
            set tf.value = "text-field"
        }
    }



RE: HBoxに定義した要素のオブジェクトを判別する - usami - 07-27-2012

ありがとうございました。

child-arrayで判断すると値が入ってこないようなので次のように変更したらうまくいきました。

Code:
{for i=0 below hb.child-array.size do
    {type-switch hb.child-array[i].graphic
    case tf:TextField do
        set tf.value = "text-field"
    }
}