egui::containers::popup

Function popup_above_or_below_widget

Source
pub fn popup_above_or_below_widget<R>(
    parent_ui: &Ui,
    popup_id: Id,
    widget_response: &Response,
    above_or_below: AboveOrBelow,
    close_behavior: PopupCloseBehavior,
    add_contents: impl FnOnce(&mut Ui) -> R,
) -> Option<R>
Expand description

Shows a popup above or below another widget.

Useful for drop-down menus (combo boxes) or suggestion menus under text fields.

The opened popup will have a minimum width matching its parent.

You must open the popup with crate::Memory::open_popup or crate::Memory::toggle_popup.

Returns None if the popup is not open.

let response = ui.button("Open popup");
let popup_id = ui.make_persistent_id("my_unique_id");
if response.clicked() {
    ui.memory_mut(|mem| mem.toggle_popup(popup_id));
}
let below = egui::AboveOrBelow::Below;
let close_on_click_outside = egui::popup::PopupCloseBehavior::CloseOnClickOutside;
egui::popup::popup_above_or_below_widget(ui, popup_id, &response, below, close_on_click_outside, |ui| {
    ui.set_min_width(200.0); // if you want to control the size
    ui.label("Some more info, or things you can select:");
    ui.label("…");
});