2025-08-10 07:54:03 +09:00
|
|
|
// Debug version to check input issues
|
|
|
|
|
use eframe::egui;
|
|
|
|
|
|
|
|
|
|
fn main() -> eframe::Result {
|
|
|
|
|
env_logger::init(); // Enable logging
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
let options = eframe::NativeOptions {
|
|
|
|
|
viewport: egui::ViewportBuilder::default()
|
|
|
|
|
.with_inner_size([640.0, 480.0])
|
|
|
|
|
.with_title("Debug Notepad"),
|
|
|
|
|
..Default::default()
|
|
|
|
|
};
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
eframe::run_native(
|
|
|
|
|
"Debug Notepad",
|
|
|
|
|
options,
|
|
|
|
|
Box::new(|_cc| Ok(Box::new(DebugApp::default()))),
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Default)]
|
|
|
|
|
struct DebugApp {
|
|
|
|
|
text: String,
|
|
|
|
|
single_line: String,
|
|
|
|
|
event_log: Vec<String>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl eframe::App for DebugApp {
|
|
|
|
|
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
|
|
|
|
egui::CentralPanel::default().show(ctx, |ui| {
|
|
|
|
|
ui.heading("Debug Text Input Test");
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
// Single line input
|
|
|
|
|
ui.horizontal(|ui| {
|
|
|
|
|
ui.label("Single Line:");
|
|
|
|
|
let response = ui.text_edit_singleline(&mut self.single_line);
|
|
|
|
|
if response.changed() {
|
2025-09-16 23:49:36 +09:00
|
|
|
self.event_log
|
|
|
|
|
.push(format!("Single line changed: '{}'", self.single_line));
|
2025-08-10 07:54:03 +09:00
|
|
|
}
|
|
|
|
|
});
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
ui.separator();
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
// Multi line input
|
|
|
|
|
ui.label("Multi Line:");
|
|
|
|
|
let response = ui.add(
|
|
|
|
|
egui::TextEdit::multiline(&mut self.text)
|
|
|
|
|
.desired_width(f32::INFINITY)
|
2025-09-16 23:49:36 +09:00
|
|
|
.desired_rows(10),
|
2025-08-10 07:54:03 +09:00
|
|
|
);
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
if response.changed() {
|
2025-09-16 23:49:36 +09:00
|
|
|
self.event_log
|
|
|
|
|
.push(format!("Multi line changed: {} chars", self.text.len()));
|
2025-08-10 07:54:03 +09:00
|
|
|
}
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
ui.separator();
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
// Show input events
|
|
|
|
|
ui.label("Event Log:");
|
|
|
|
|
egui::ScrollArea::vertical()
|
|
|
|
|
.max_height(100.0)
|
|
|
|
|
.show(ui, |ui| {
|
|
|
|
|
for event in &self.event_log {
|
|
|
|
|
ui.label(event);
|
|
|
|
|
}
|
|
|
|
|
});
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
// Debug info
|
|
|
|
|
ui.separator();
|
|
|
|
|
ui.label(format!("Text length: {}", self.text.len()));
|
|
|
|
|
ui.label(format!("Single line length: {}", self.single_line.len()));
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
// Test buttons
|
|
|
|
|
if ui.button("Add Test Text").clicked() {
|
|
|
|
|
self.text.push_str("Test ");
|
|
|
|
|
self.event_log.push("Button: Added test text".to_string());
|
|
|
|
|
}
|
2025-09-16 23:49:36 +09:00
|
|
|
|
2025-08-10 07:54:03 +09:00
|
|
|
if ui.button("Clear All").clicked() {
|
|
|
|
|
self.text.clear();
|
|
|
|
|
self.single_line.clear();
|
|
|
|
|
self.event_log.push("Button: Cleared all".to_string());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
2025-09-16 23:49:36 +09:00
|
|
|
}
|