Curl Global Community

Full Version: HBoxに定義した要素のオブジェクトを判別する
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
次のコードのように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
}
これではどうでしょう
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
}
いや、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"
        }
    }
ありがとうございました。

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"
    }
}