From 2a17262f708be326a9130f80531d65f399637594 Mon Sep 17 00:00:00 2001 From: hheik <4469778+hheik@users.noreply.github.com> Date: Tue, 21 Mar 2023 04:16:43 +0200 Subject: [PATCH] added input clearing on focus --- src/ui.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/ui.rs b/src/ui.rs index 41028c5..45936d9 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -111,7 +111,10 @@ fn ui_system( }); ui.horizontal(|ui| { ui.set_width(INPUT_TEXT_WIDTH); - ui.text_edit_singleline(&mut ui_state.name); + let input = ui.text_edit_singleline(&mut ui_state.name); + if input.gained_focus() { + ui_state.name = String::from(""); + } }); }); ui.add_space(2.); @@ -205,12 +208,16 @@ fn ui_system( match i { 4 => { let value = &mut ui_state.level; - if ui.add(egui::TextEdit::singleline(value)).changed() { + let input = ui.add(egui::TextEdit::singleline(value)); + if input.changed() { *value = digit_filter(value); if let Ok(value) = value.parse::() { inspector.derived_stats.level = Some(value); } } + if input.gained_focus() { + *value = String::from(""); + } } _ => (), } @@ -310,10 +317,11 @@ fn ui_system( ui.set_width(*width); } if !ui_state.derived_stats.contains_key(&stat) { - ui_state.derived_stats.insert(stat, "0".to_string()); + ui_state.derived_stats.insert(stat, "".to_string()); } let value = ui_state.derived_stats.get_mut(&stat).unwrap(); - if ui.add(egui::TextEdit::singleline(value)).changed() { + let input = ui.add(egui::TextEdit::singleline(value)); + if input.changed() { *value = digit_filter(value); if let (Ok(value), derived) = ( value.parse::(), @@ -322,6 +330,9 @@ fn ui_system( *derived = Some(value); } } + if input.gained_focus() { + *value = String::from(""); + } }); let possible_ivs = if let (Some(pokemon), Some(level), Some(derived_stat)) = (