Skip to main content

ohos_arkui_binding/component/built_in_component/
refresh.rs

1//! Module component::built_in_component::refresh wrappers and related types.
2
3// BEGIN_GENERATED_COMPONENT_METHODS_Refresh
4impl super::Refresh {
5    pub fn set_refresh_refreshing<T: Into<crate::ArkUINodeAttributeItem>>(
6        &self,
7        value: T,
8    ) -> crate::ArkUIResult<()> {
9        <Self as crate::ArkUICommonAttribute>::set_attribute(
10            self,
11            crate::ArkUINodeAttributeType::RefreshRefreshing,
12            value.into(),
13        )
14    }
15
16    pub fn get_refresh_refreshing(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
17        <Self as crate::ArkUICommonAttribute>::get_attribute(
18            self,
19            crate::ArkUINodeAttributeType::RefreshRefreshing,
20        )
21    }
22
23    pub fn set_refresh_content<T: Into<crate::ArkUINodeAttributeItem>>(
24        &self,
25        value: T,
26    ) -> crate::ArkUIResult<()> {
27        <Self as crate::ArkUICommonAttribute>::set_attribute(
28            self,
29            crate::ArkUINodeAttributeType::RefreshContent,
30            value.into(),
31        )
32    }
33
34    pub fn get_refresh_content(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
35        <Self as crate::ArkUICommonAttribute>::get_attribute(
36            self,
37            crate::ArkUINodeAttributeType::RefreshContent,
38        )
39    }
40
41    pub fn set_refresh_pull_down_ratio<T: Into<crate::ArkUINodeAttributeItem>>(
42        &self,
43        value: T,
44    ) -> crate::ArkUIResult<()> {
45        <Self as crate::ArkUICommonAttribute>::set_attribute(
46            self,
47            crate::ArkUINodeAttributeType::RefreshPullDownRatio,
48            value.into(),
49        )
50    }
51
52    pub fn get_refresh_pull_down_ratio(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
53        <Self as crate::ArkUICommonAttribute>::get_attribute(
54            self,
55            crate::ArkUINodeAttributeType::RefreshPullDownRatio,
56        )
57    }
58
59    pub fn set_refresh_offset<T: Into<crate::ArkUINodeAttributeItem>>(
60        &self,
61        value: T,
62    ) -> crate::ArkUIResult<()> {
63        <Self as crate::ArkUICommonAttribute>::set_attribute(
64            self,
65            crate::ArkUINodeAttributeType::RefreshOffset,
66            value.into(),
67        )
68    }
69
70    pub fn get_refresh_offset(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
71        <Self as crate::ArkUICommonAttribute>::get_attribute(
72            self,
73            crate::ArkUINodeAttributeType::RefreshOffset,
74        )
75    }
76
77    pub fn set_refresh_pull_to_refresh<T: Into<crate::ArkUINodeAttributeItem>>(
78        &self,
79        value: T,
80    ) -> crate::ArkUIResult<()> {
81        <Self as crate::ArkUICommonAttribute>::set_attribute(
82            self,
83            crate::ArkUINodeAttributeType::RefreshPullToRefresh,
84            value.into(),
85        )
86    }
87
88    pub fn get_refresh_pull_to_refresh(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
89        <Self as crate::ArkUICommonAttribute>::get_attribute(
90            self,
91            crate::ArkUINodeAttributeType::RefreshPullToRefresh,
92        )
93    }
94
95    #[cfg(feature = "api-20")]
96    pub fn set_refresh_max_pull_down_distance<T: Into<crate::ArkUINodeAttributeItem>>(
97        &self,
98        value: T,
99    ) -> crate::ArkUIResult<()> {
100        <Self as crate::ArkUICommonAttribute>::set_attribute(
101            self,
102            crate::ArkUINodeAttributeType::RefreshMaxPullDownDistance,
103            value.into(),
104        )
105    }
106
107    #[cfg(feature = "api-20")]
108    pub fn get_refresh_max_pull_down_distance(
109        &self,
110    ) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
111        <Self as crate::ArkUICommonAttribute>::get_attribute(
112            self,
113            crate::ArkUINodeAttributeType::RefreshMaxPullDownDistance,
114        )
115    }
116}
117// END_GENERATED_COMPONENT_METHODS_Refresh
118
119impl super::Refresh {
120    pub fn on_refresh<T: Fn() + 'static>(&mut self, cb: T) {
121        crate::ArkUIEvent::on_event_no_param(self, crate::NodeEventType::RefreshOnRefresh, cb);
122    }
123
124    pub fn on_refresh_state_change<T: Fn(i32) + 'static>(&mut self, cb: T) {
125        crate::ArkUIEvent::on_event(
126            self,
127            crate::NodeEventType::RefreshStateChange,
128            move |event| {
129                cb(event.i32_value(0).unwrap_or_default());
130            },
131        );
132    }
133
134    pub fn on_refresh_offset_change<T: Fn(f32) + 'static>(&mut self, cb: T) {
135        crate::ArkUIEvent::on_event(
136            self,
137            crate::NodeEventType::RefreshOnOffsetChange,
138            move |event| {
139                cb(event.f32_value(0).unwrap_or_default());
140            },
141        );
142    }
143}