From bf58e82c80b2fe7005692c02dd08f24b024456d8 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Fri, 6 May 2022 16:28:10 -0400 Subject: [PATCH] cleanup --- Cargo.lock | 16 ++++++++-------- src/function_manager.rs | 10 +++++++--- src/widgets.rs | 20 -------------------- 3 files changed, 15 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb9d513..e1fb656 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -663,7 +663,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "eframe" version = "0.18.0" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "bytemuck", "egui", @@ -683,7 +683,7 @@ dependencies = [ [[package]] name = "egui" version = "0.18.1" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "ahash", "epaint", @@ -694,7 +694,7 @@ dependencies = [ [[package]] name = "egui-winit" version = "0.18.0" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "arboard", "egui", @@ -707,7 +707,7 @@ dependencies = [ [[package]] name = "egui_glow" version = "0.18.0" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "bytemuck", "egui", @@ -727,7 +727,7 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "emath" version = "0.18.0" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "bytemuck", ] @@ -735,7 +735,7 @@ dependencies = [ [[package]] name = "epaint" version = "0.18.1" -source = "git+https://github.com/Titaniumtown/egui.git#20f3eea96218fe6a815d6734644c30a4caf9002b" +source = "git+https://github.com/Titaniumtown/egui.git#3d8de7653df58e0a4662b7c2c6c1e44a3b35f776" dependencies = [ "ab_glyph", "ahash", @@ -1803,9 +1803,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" +checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" dependencies = [ "unicode-xid", ] diff --git a/src/function_manager.rs b/src/function_manager.rs index 55ef612..cfaa3c4 100644 --- a/src/function_manager.rs +++ b/src/function_manager.rs @@ -1,7 +1,7 @@ use crate::consts::is_mobile; use crate::function_entry::FunctionEntry; -use crate::widgets::{move_cursor_to_end, widgets_ontop, Movement}; -use egui::{Button, Key, Modifiers, WidgetText}; +use crate::widgets::{widgets_ontop, Movement}; +use egui::{Button, Key, Modifiers, TextEdit, WidgetText}; use emath::vec2; use parsing::suggestions::Hint; use std::ops::BitXorAssign; @@ -128,7 +128,11 @@ impl FunctionManager { // Push cursor to end if needed if movement == Movement::Complete { - move_cursor_to_end(ui.ctx(), te_id); + 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))); + TextEdit::store_state(ui.ctx(), te_id, state); } } diff --git a/src/widgets.rs b/src/widgets.rs index abb5b6d..9d7c8d5 100644 --- a/src/widgets.rs +++ b/src/widgets.rs @@ -1,7 +1,5 @@ use std::intrinsics::assume; -use egui::{text::CCursor, text_edit::CursorRange, TextEdit}; -use epaint::text::cursor::{Cursor, PCursor, RCursor}; use parsing::suggestions::{self, generate_hint, Hint}; #[derive(PartialEq, Debug)] @@ -101,24 +99,6 @@ impl<'a> AutoComplete<'a> { } } -/// Moves cursor of TextEdit `te_id` to the end -pub fn move_cursor_to_end(ctx: &egui::Context, te_id: egui::Id) { - let mut state = unsafe { TextEdit::load_state(ctx, te_id).unwrap_unchecked() }; - state.set_cursor_range(Some(CursorRange::one(Cursor { - ccursor: CCursor { - index: 0, - prefer_next_row: false, - }, - rcursor: RCursor { row: 0, column: 0 }, - pcursor: PCursor { - paragraph: 0, - offset: 10000, - prefer_next_row: false, - }, - }))); - TextEdit::store_state(ctx, te_id, state); -} - pub fn widgets_ontop( ui: &egui::Ui, id: String, re: &egui::Response, y_offset: f32, add_contents: impl FnOnce(&mut egui::Ui) -> R,