Curl Global Community
シリアルなDialog表示 - 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: シリアルなDialog表示 (/showthread.php?tid=872)



シリアルなDialog表示 - umemura - 03-12-2013

通常のコーディングでは、Dialog.show 時に処理は停止し、ユーザの操作を待つと思いますが、
イベントなどから Dialog が show される場合は、複数のダイアログが重なって表示されると思います。

たとえば、下記のサンプルであれば、テキストフィールドで入力をした後、
Alt+C を押すと2つのダイアログが表示されます。

Code:
{TextField
    {on ValueFinished do
        {popup-question  "入力内容が確定されました" }
    }
}

{CommandButton
    label = "&Click me!",
    {on Action do
        {popup-question "CommandButton が押されました" }
    }
}

この重複したダイアログが表示される状態を避けたいです。

イベントからDialogを表示する場合であっても、
最初のDialog の操作を終了するまで、次のDialog が表示されないようにするにはどうすればよいですか。




RE: シリアルなDialog表示 - umemura - 03-12-2013

dispatch-events ですか。そうですか。

Code:
{TextField
    {on ValueFinished do
        {dispatch-events true}
        {popup-question  "入力内容が確定されました" }
    }
}
{CommandButton
    label = "&Click me!",
    {on Action do
        {popup-question "CommandButton が押されました" }
    }
}