Curl Global Community

Full Version: Viewのサイズを自動調整する方法
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
View を表示する際に、画面の大きさを、View の中に格納するグラフィックに合わせて表示したいです。

子供として格納するグラフィックのwidth と height を、View のインスタンスにセットすればよいとは思うのですが、
グラフィックのサイズがエラスティック(elastic)で指定されていると面倒です。

自身の中のグラフィックのサイズに合わせてViewの大きさを調整したいです。
よい方法はありますでしょうか。
View.set-size-from-child を利用することでうまく大きさを調整することができました。


Code:
{def fr1:Frame =
    {Frame
        background = "orange",
        width = {make-elastic preferred-size = 5in},
        height = {make-elastic preferred-size = 2in}
    }
}
{def fr2:Frame =
    {Frame
        background = "pink",
        width = {make-elastic preferred-size = 5in},
        height = {make-elastic preferred-size = 2in}
    }
}
{def fr3:Frame =
    {Frame
        background = "aqua",
        width = {make-elastic preferred-size = 5in},
        height = {make-elastic preferred-size = 2in}
    }
}
{def vb = {VBox fr1, fr3}}
{def v =  {View vb}}
{do  {v.show}}
{CommandButton
    label = "View のグラフィックを変更",
    {on Action do
        {vb.add index = 1, fr2}
    }
}
{CommandButton
    label = "View のサイズを調整",
    {on Action do
        {v.set-size-from-child}
    }
}