Skip to main content

ohos_arkui_binding/component/built_in_component/
checkbox.rs

1//! Module component::built_in_component::checkbox wrappers and related types.
2
3// BEGIN_GENERATED_COMPONENT_METHODS_Checkbox
4impl super::Checkbox {
5    pub fn set_checkbox_select<T: Into<crate::ArkUINodeAttributeItem>>(
6        &self,
7        value: T,
8    ) -> crate::ArkUIResult<()> {
9        <Self as crate::ArkUICommonAttribute>::set_attribute(
10            self,
11            crate::ArkUINodeAttributeType::CheckboxSelect,
12            value.into(),
13        )
14    }
15
16    pub fn get_checkbox_select(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
17        <Self as crate::ArkUICommonAttribute>::get_attribute(
18            self,
19            crate::ArkUINodeAttributeType::CheckboxSelect,
20        )
21    }
22
23    pub fn set_checkbox_select_color<T: Into<crate::ArkUINodeAttributeItem>>(
24        &self,
25        value: T,
26    ) -> crate::ArkUIResult<()> {
27        <Self as crate::ArkUICommonAttribute>::set_attribute(
28            self,
29            crate::ArkUINodeAttributeType::CheckboxSelectColor,
30            value.into(),
31        )
32    }
33
34    pub fn get_checkbox_select_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
35        <Self as crate::ArkUICommonAttribute>::get_attribute(
36            self,
37            crate::ArkUINodeAttributeType::CheckboxSelectColor,
38        )
39    }
40
41    pub fn set_checkbox_unselect_color<T: Into<crate::ArkUINodeAttributeItem>>(
42        &self,
43        value: T,
44    ) -> crate::ArkUIResult<()> {
45        <Self as crate::ArkUICommonAttribute>::set_attribute(
46            self,
47            crate::ArkUINodeAttributeType::CheckboxUnselectColor,
48            value.into(),
49        )
50    }
51
52    pub fn get_checkbox_unselect_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
53        <Self as crate::ArkUICommonAttribute>::get_attribute(
54            self,
55            crate::ArkUINodeAttributeType::CheckboxUnselectColor,
56        )
57    }
58
59    pub fn set_checkbox_mark<T: Into<crate::ArkUINodeAttributeItem>>(
60        &self,
61        value: T,
62    ) -> crate::ArkUIResult<()> {
63        <Self as crate::ArkUICommonAttribute>::set_attribute(
64            self,
65            crate::ArkUINodeAttributeType::CheckboxMark,
66            value.into(),
67        )
68    }
69
70    pub fn get_checkbox_mark(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
71        <Self as crate::ArkUICommonAttribute>::get_attribute(
72            self,
73            crate::ArkUINodeAttributeType::CheckboxMark,
74        )
75    }
76
77    pub fn set_checkbox_shape<T: Into<crate::ArkUINodeAttributeItem>>(
78        &self,
79        value: T,
80    ) -> crate::ArkUIResult<()> {
81        <Self as crate::ArkUICommonAttribute>::set_attribute(
82            self,
83            crate::ArkUINodeAttributeType::CheckboxShape,
84            value.into(),
85        )
86    }
87
88    pub fn get_checkbox_shape(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
89        <Self as crate::ArkUICommonAttribute>::get_attribute(
90            self,
91            crate::ArkUINodeAttributeType::CheckboxShape,
92        )
93    }
94
95    #[cfg(feature = "api-15")]
96    pub fn set_checkbox_name<T: Into<crate::ArkUINodeAttributeItem>>(
97        &self,
98        value: T,
99    ) -> crate::ArkUIResult<()> {
100        <Self as crate::ArkUICommonAttribute>::set_attribute(
101            self,
102            crate::ArkUINodeAttributeType::CheckboxName,
103            value.into(),
104        )
105    }
106
107    #[cfg(feature = "api-15")]
108    pub fn get_checkbox_name(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
109        <Self as crate::ArkUICommonAttribute>::get_attribute(
110            self,
111            crate::ArkUINodeAttributeType::CheckboxName,
112        )
113    }
114}
115// END_GENERATED_COMPONENT_METHODS_Checkbox
116
117impl super::Checkbox {
118    pub fn on_checkbox_change<T: Fn(bool) + 'static>(&mut self, cb: T) {
119        crate::ArkUIEvent::on_event(
120            self,
121            crate::NodeEventType::CheckboxEventOnChange,
122            move |event| {
123                cb(event.i32_value(0).unwrap_or_default() != 0);
124            },
125        );
126    }
127}