Skip to main content

ohos_arkui_binding/component/built_in_component/
button.rs

1//! Module component::built_in_component::button wrappers and related types.
2
3use crate::ArkUICommonFontAttribute;
4
5impl ArkUICommonFontAttribute for super::Button {}
6
7// BEGIN_GENERATED_COMPONENT_METHODS_Button
8impl super::Button {
9    pub fn set_button_label<T: Into<crate::ArkUINodeAttributeItem>>(
10        &self,
11        value: T,
12    ) -> crate::ArkUIResult<()> {
13        <Self as crate::ArkUICommonAttribute>::set_attribute(
14            self,
15            crate::ArkUINodeAttributeType::ButtonLabel,
16            value.into(),
17        )
18    }
19
20    pub fn get_button_label(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
21        <Self as crate::ArkUICommonAttribute>::get_attribute(
22            self,
23            crate::ArkUINodeAttributeType::ButtonLabel,
24        )
25    }
26
27    pub fn set_button_type<T: Into<crate::ArkUINodeAttributeItem>>(
28        &self,
29        value: T,
30    ) -> crate::ArkUIResult<()> {
31        <Self as crate::ArkUICommonAttribute>::set_attribute(
32            self,
33            crate::ArkUINodeAttributeType::ButtonType,
34            value.into(),
35        )
36    }
37
38    pub fn get_button_type(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
39        <Self as crate::ArkUICommonAttribute>::get_attribute(
40            self,
41            crate::ArkUINodeAttributeType::ButtonType,
42        )
43    }
44
45    #[cfg(feature = "api-18")]
46    pub fn set_button_max_font_scale<T: Into<crate::ArkUINodeAttributeItem>>(
47        &self,
48        value: T,
49    ) -> crate::ArkUIResult<()> {
50        <Self as crate::ArkUICommonAttribute>::set_attribute(
51            self,
52            crate::ArkUINodeAttributeType::ButtonMaxFontScale,
53            value.into(),
54        )
55    }
56
57    #[cfg(feature = "api-18")]
58    pub fn get_button_max_font_scale(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
59        <Self as crate::ArkUICommonAttribute>::get_attribute(
60            self,
61            crate::ArkUINodeAttributeType::ButtonMaxFontScale,
62        )
63    }
64
65    #[cfg(feature = "api-18")]
66    pub fn set_button_min_font_scale<T: Into<crate::ArkUINodeAttributeItem>>(
67        &self,
68        value: T,
69    ) -> crate::ArkUIResult<()> {
70        <Self as crate::ArkUICommonAttribute>::set_attribute(
71            self,
72            crate::ArkUINodeAttributeType::ButtonMinFontScale,
73            value.into(),
74        )
75    }
76
77    #[cfg(feature = "api-18")]
78    pub fn get_button_min_font_scale(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
79        <Self as crate::ArkUICommonAttribute>::get_attribute(
80            self,
81            crate::ArkUINodeAttributeType::ButtonMinFontScale,
82        )
83    }
84}
85// END_GENERATED_COMPONENT_METHODS_Button