egui_field_editor 0.6.0

Easily creating UI to edit and preview data
Documentation
use egui_field_editor::{EguiInspect, EguiInspector};
use eframe::egui;

#[derive(EguiInspect, Default)]
struct MyApp {
	#[inspect(read_only)]
	string: String,
	#[inspect(multiline)]
	code: String,
	#[inspect(range(min = 12.0, max = 53.0))]
	unsigned32: u32,
	#[inspect(hidden)]
	#[allow(dead_code)]
	skipped: bool,
	#[inspect(tooltip = "A boolean")]
	boolean: bool,
	raw_string: &'static str,
	#[inspect(slider(min = "-43.0", max = 125.0))]
	float64: f64,
	#[inspect(slider(min = 43.0, max = 10e15))]
	large_float64: f64,
	#[inspect(name = "A proper field name")]
	ugly_internal_field_name: u16,
}

impl eframe::App for MyApp {
	fn ui(&mut self, ui: &mut egui::Ui, _frame: &mut eframe::Frame) {
		egui::CentralPanel::default().show(ui, |ui| {
			if ui.add(EguiInspector::new(self)).changed() {
				println!("Changed!!!")
			}
		});
	}
}