Skip to main content

ohos_arkui_binding/component/built_in_component/
toggle.rs

1//! Module component::built_in_component::toggle wrappers and related types.
2
3// BEGIN_GENERATED_COMPONENT_METHODS_Toggle
4impl super::Toggle {
5    pub fn set_toggle_selected_color<T: Into<crate::ArkUINodeAttributeItem>>(
6        &self,
7        value: T,
8    ) -> crate::ArkUIResult<()> {
9        <Self as crate::ArkUICommonAttribute>::set_attribute(
10            self,
11            crate::ArkUINodeAttributeType::ToggleSelectedColor,
12            value.into(),
13        )
14    }
15
16    pub fn get_toggle_selected_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
17        <Self as crate::ArkUICommonAttribute>::get_attribute(
18            self,
19            crate::ArkUINodeAttributeType::ToggleSelectedColor,
20        )
21    }
22
23    pub fn set_toggle_switch_point_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::ToggleSwitchPointColor,
30            value.into(),
31        )
32    }
33
34    pub fn get_toggle_switch_point_color(
35        &self,
36    ) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
37        <Self as crate::ArkUICommonAttribute>::get_attribute(
38            self,
39            crate::ArkUINodeAttributeType::ToggleSwitchPointColor,
40        )
41    }
42
43    pub fn set_toggle_value<T: Into<crate::ArkUINodeAttributeItem>>(
44        &self,
45        value: T,
46    ) -> crate::ArkUIResult<()> {
47        <Self as crate::ArkUICommonAttribute>::set_attribute(
48            self,
49            crate::ArkUINodeAttributeType::ToggleValue,
50            value.into(),
51        )
52    }
53
54    pub fn get_toggle_value(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
55        <Self as crate::ArkUICommonAttribute>::get_attribute(
56            self,
57            crate::ArkUINodeAttributeType::ToggleValue,
58        )
59    }
60
61    pub fn set_toggle_unselected_color<T: Into<crate::ArkUINodeAttributeItem>>(
62        &self,
63        value: T,
64    ) -> crate::ArkUIResult<()> {
65        <Self as crate::ArkUICommonAttribute>::set_attribute(
66            self,
67            crate::ArkUINodeAttributeType::ToggleUnselectedColor,
68            value.into(),
69        )
70    }
71
72    pub fn get_toggle_unselected_color(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
73        <Self as crate::ArkUICommonAttribute>::get_attribute(
74            self,
75            crate::ArkUINodeAttributeType::ToggleUnselectedColor,
76        )
77    }
78}
79// END_GENERATED_COMPONENT_METHODS_Toggle
80
81impl super::Toggle {
82    pub fn on_toggle_change<T: Fn(bool) + 'static>(&mut self, cb: T) {
83        crate::ArkUIEvent::on_event(self, crate::NodeEventType::ToggleOnChange, move |event| {
84            cb(event.i32_value(0).unwrap_or_default() != 0);
85        });
86    }
87}