fix build on newer egui
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use crate::{
|
||||
consts::COLORS, function_entry::FunctionEntry, misc::random_u64, widgets::widgets_ontop,
|
||||
};
|
||||
use egui::{Button, Id, Key, Modifiers, TextEdit, WidgetText};
|
||||
use egui::{Button, Id, Key, Modifiers, PopupCloseBehavior, TextEdit, WidgetText};
|
||||
use emath::vec2;
|
||||
use parsing::Movement;
|
||||
use serde::ser::SerializeStruct;
|
||||
@@ -147,17 +147,23 @@ impl FunctionManager {
|
||||
|
||||
let autocomplete_popup_id = Id::new("autocomplete popup");
|
||||
|
||||
egui::popup_below_widget(ui, autocomplete_popup_id, &re, |ui| {
|
||||
hints.iter().enumerate().for_each(|(i, candidate)| {
|
||||
if ui
|
||||
.selectable_label(i == function.autocomplete.i, *candidate)
|
||||
.clicked()
|
||||
{
|
||||
clicked = true;
|
||||
function.autocomplete.i = i;
|
||||
}
|
||||
});
|
||||
});
|
||||
egui::popup_below_widget(
|
||||
ui,
|
||||
autocomplete_popup_id,
|
||||
&re,
|
||||
PopupCloseBehavior::CloseOnClickOutside,
|
||||
|ui| {
|
||||
hints.iter().enumerate().for_each(|(i, candidate)| {
|
||||
if ui
|
||||
.selectable_label(i == function.autocomplete.i, *candidate)
|
||||
.clicked()
|
||||
{
|
||||
clicked = true;
|
||||
function.autocomplete.i = i;
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
if clicked {
|
||||
function
|
||||
@@ -172,10 +178,14 @@ impl FunctionManager {
|
||||
|
||||
// Push cursor to end if needed
|
||||
if movement == Movement::Complete {
|
||||
// TODO! proper error handling
|
||||
let mut state =
|
||||
unsafe { TextEdit::load_state(ui.ctx(), te_id).unwrap_unchecked() };
|
||||
let ccursor = egui::text::CCursor::new(function.autocomplete.string.len());
|
||||
state.set_ccursor_range(Some(egui::text::CCursorRange::one(ccursor)));
|
||||
state
|
||||
.cursor
|
||||
.set_char_range(Some(egui::text::CCursorRange::one(ccursor)));
|
||||
|
||||
TextEdit::store_state(ui.ctx(), te_id, state);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user