rust_widgets 1.0.0

Pure Rust cross-platform native GUI library with hardware-adaptive rendering, 60+ widgets, touch/gesture support, i18n, and SVG-pipeline-accurate output
#[cfg(not(feature = "mini"))]
pub fn write_dialog_props(
    widget: &mut dyn Widget,
    property_name: &str,
    value: CapabilityValue,
) -> Result<(), CapabilityAccessError> {
    match widget.kind() {
        WidgetKind::ColorDialog => {
        if let Some(color_picker) = widget_as_mut::<ColorPicker>(widget) {
        match property_name {
        "hex_rgba" => {
        let hex = expect_string(value)?;
        if color_picker.set_hex(&hex) {
        Ok(())
        } else {
        Err(CapabilityAccessError::TypeMismatch)
        }
        }
        "show_alpha" => {
        color_picker.set_show_alpha(expect_bool(value)?);
        Ok(())
        }
        _ => Err(CapabilityAccessError::UnsupportedOnWidget),
        }
        } else {
        Err(CapabilityAccessError::UnsupportedOnWidget)
        }
        }
        _ => Err(CapabilityAccessError::UnsupportedOnWidget),
    }
}