本文へスキップ

オーバーレイとダイアログ

アプリのスタイルを付けた内容には QuickGUI のオーバーレイを使い、ファイル選択や警告にはシステムダイアログを使います。

#Popover

trigger、positioner、popup、arrow のパーツを組み合わせます。open はビューに保持します。

let popover = Popover::new("help-trigger", "help-popup", open)
    .side(AnchorSide::Bottom)
    .side_offset(8.0);
let mut root = popover.root().child(
    popover.trigger().on_click(toggle).child("Account"),
);
if popover.is_open() {
    root = root.child(popover.positioner().child(
        popover.popup().w(240.0).p(16.0).on_dismiss(dismiss).children([
            popover.title().child("Account"),
            popover.close("Close").on_click(dismiss).child("Done"),
        ]),
    ));
}
root

#Dialog

Dialog::new と Dialog::alert は、タイトル、説明、バックドロップ、閉じるコントロールを追加します。

let dialog = Dialog::new("save", open);
dialog.root().child(dialog.title_with(text("Save changes")))

#システムポップオーバー

SystemPopover はネイティブの子ウィンドウを開き、オーナーウィンドウの端より外側まで伸ばせます。

#ネイティブダイアログ

cx.prompt("Save changes?", ["Save", "Cancel"]);
cx.prompt_for_paths(PathPromptOptions::new().files(true).multiple(true));