ohos-arkui-binding 0.2.0

OpenHarmony's arkui binding for rust
Documentation
//! Module component::built_in_component::checkbox wrappers and related types.

// BEGIN_GENERATED_COMPONENT_METHODS_Checkbox
impl super::Checkbox {
    pub fn set_checkbox_select<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxSelect,
            value.into(),
        )
    }

    pub fn get_checkbox_select(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxSelect,
        )
    }

    pub fn set_checkbox_select_color<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxSelectColor,
            value.into(),
        )
    }

    pub fn get_checkbox_select_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxSelectColor,
        )
    }

    pub fn set_checkbox_unselect_color<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxUnselectColor,
            value.into(),
        )
    }

    pub fn get_checkbox_unselect_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxUnselectColor,
        )
    }

    pub fn set_checkbox_mark<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxMark,
            value.into(),
        )
    }

    pub fn get_checkbox_mark(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxMark,
        )
    }

    pub fn set_checkbox_shape<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxShape,
            value.into(),
        )
    }

    pub fn get_checkbox_shape(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxShape,
        )
    }

    #[cfg(feature = "api-15")]
    pub fn set_checkbox_name<T: Into<crate::ArkUINodeAttributeItem>>(
        &self,
        value: T,
    ) -> crate::ArkUIResult<()> {
        <Self as crate::ArkUICommonAttribute>::set_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxName,
            value.into(),
        )
    }

    #[cfg(feature = "api-15")]
    pub fn get_checkbox_name(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
        <Self as crate::ArkUICommonAttribute>::get_attribute(
            self,
            crate::ArkUINodeAttributeType::CheckboxName,
        )
    }
}
// END_GENERATED_COMPONENT_METHODS_Checkbox

impl super::Checkbox {
    pub fn on_checkbox_change<T: Fn(bool) + 'static>(&mut self, cb: T) {
        crate::ArkUIEvent::on_event(
            self,
            crate::NodeEventType::CheckboxEventOnChange,
            move |event| {
                cb(event.i32_value(0).unwrap_or_default() != 0);
            },
        );
    }
}