オーバーレイとダイアログ
アプリのスタイルを付けた内容には 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));