mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-08 16:30:41 +00:00
Accessibility: a whole-number dialog slider rounds a set value
This commit is contained in:
@@ -790,7 +790,8 @@ pub(super) fn slider_rail_named(
|
||||
range: std::ops::RangeInclusive<f64>,
|
||||
track: &dyn Fn(f32) -> egui::Color32,
|
||||
) {
|
||||
let shown = crate::widgets::SliderValue::number(d.f64(key, 0.0), range.clone());
|
||||
// Whole numbers, as a drag sets them.
|
||||
let shown = crate::widgets::SliderValue { decimals: Some(0), ..crate::widgets::SliderValue::number(d.f64(key, 0.0), range.clone()) };
|
||||
slider_rail_valued(ui, d, key, name, range, Some(shown), track);
|
||||
}
|
||||
|
||||
|
||||
@@ -2098,6 +2098,17 @@ fn screen_readers_set_a_dialog_slider_number() {
|
||||
f.run(&mut app, vec![egui::Event::AccessKitActionRequest(request)]);
|
||||
let moved = app.ui.dialog.as_ref().expect("Transform Each is open").f64("moveH", f64::NAN);
|
||||
assert!((moved - 400.0 * 72.0 / 25.4).abs() < 1e-6, "{moved} pt");
|
||||
// A slider without a field's places, Roughen's Detail, sets whole numbers as a drag does.
|
||||
app.ui.dialog = None;
|
||||
app.run("effect.dialog", json!({"effect": "distort.roughen"})).unwrap();
|
||||
let mut f = Frames::new();
|
||||
f.run(&mut app, vec![]);
|
||||
let out = f.run(&mut app, vec![]);
|
||||
let (node, ..) = slider_node(&out, "Detail:");
|
||||
let request =
|
||||
ActionRequest { action: Action::SetValue, target_node: node, target_tree: TreeId::ROOT, data: Some(ActionData::NumericValue(12.4)) };
|
||||
f.run(&mut app, vec![egui::Event::AccessKitActionRequest(request)]);
|
||||
assert_eq!(app.ui.dialog.as_ref().expect("Roughen is open").f64("detail", f64::NAN), 12.0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user