浮层与对话框
应用内样式的内容用 QuickGUI 浮层;选文件和系统提示用系统对话框。
#Popover
组合 trigger、positioner、popup 和 arrow 部件。把 open 保存在 View 上。
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));