#[derive(Clone, Debug, Default)]
pub struct AccessibleState {
pub disabled: bool,
pub expanded: Option<bool>,
pub selected: bool,
pub checked: Option<bool>,
pub pressed: Option<bool>,
pub focused: bool,
pub hidden: bool,
pub value_now: Option<f64>,
pub value_min: Option<f64>,
pub value_max: Option<f64>,
pub value_text: Option<String>,
pub pos_in_set: Option<usize>,
pub set_size: Option<usize>,
pub level: Option<usize>,
pub error_message: Option<String>,
}
impl AccessibleState {
pub fn new() -> Self {
Self::default()
}
pub fn disabled(mut self, value: bool) -> Self {
self.disabled = value;
self
}
pub fn expanded(mut self, value: bool) -> Self {
self.expanded = Some(value);
self
}
pub fn selected(mut self, value: bool) -> Self {
self.selected = value;
self
}
pub fn checked(mut self, value: bool) -> Self {
self.checked = Some(value);
self
}
pub fn pressed(mut self, value: bool) -> Self {
self.pressed = Some(value);
self
}
pub fn focused(mut self, value: bool) -> Self {
self.focused = value;
self
}
pub fn value_range(mut self, now: f64, min: f64, max: f64) -> Self {
self.value_now = Some(now);
self.value_min = Some(min);
self.value_max = Some(max);
self
}
pub fn position(mut self, pos: usize, size: usize) -> Self {
self.pos_in_set = Some(pos);
self.set_size = Some(size);
self
}
pub fn level(mut self, level: usize) -> Self {
self.level = Some(level);
self
}
pub fn error(mut self, message: impl Into<String>) -> Self {
self.error_message = Some(message.into());
self
}
}