diff --git a/src/function_manager.rs b/src/function_manager.rs index ebe7a12..b307bea 100644 --- a/src/function_manager.rs +++ b/src/function_manager.rs @@ -1,5 +1,5 @@ use crate::{function_entry::FunctionEntry, widgets::widgets_ontop}; -use egui::{Button, Id, Key, Modifiers, PopupCloseBehavior, TextEdit, WidgetText}; +use egui::{Button, Id, Key, Modifiers, Popup, PopupCloseBehavior, TextEdit, WidgetText}; use emath::vec2; use parsing::Movement; use serde::{Deserialize, Serialize}; @@ -132,12 +132,10 @@ impl FunctionManager { let autocomplete_popup_id = Id::new("autocomplete popup"); - egui::popup_below_widget( - ui, - autocomplete_popup_id, - &re, - PopupCloseBehavior::CloseOnClickOutside, - |ui| { + Popup::from_response(&re) + .id(autocomplete_popup_id) + .close_behavior(PopupCloseBehavior::CloseOnClickOutside) + .show(|ui| { hints.iter().enumerate().for_each(|(i, candidate)| { if ui .selectable_label(i == function.autocomplete.i, *candidate) @@ -147,8 +145,7 @@ impl FunctionManager { function.autocomplete.i = i; } }); - }, - ); + }); if clicked { function @@ -160,7 +157,7 @@ impl FunctionManager { movement = Movement::Complete; } else { - ui.memory_mut(|x| x.open_popup(autocomplete_popup_id)); + Popup::open_id(ui.ctx(), autocomplete_popup_id); } }