umya_spreadsheet/structs/
auto_filter.rs

1use super::Range;
2use crate::traits::AdjustmentCoordinate;
3
4#[derive(Clone, Default, Debug)]
5pub struct AutoFilter {
6    range: Range,
7}
8
9impl AutoFilter {
10    #[inline]
11    pub fn get_range(&self) -> &Range {
12        &self.range
13    }
14
15    #[inline]
16    pub fn get_range_mut(&mut self) -> &mut Range {
17        &mut self.range
18    }
19
20    #[inline]
21    pub(crate) fn set_range<S: Into<String>>(&mut self, value: S) {
22        let mut range = Range::default();
23        range.set_range(value.into());
24        self.range = range;
25    }
26}
27impl AdjustmentCoordinate for AutoFilter {
28    #[inline]
29    fn adjustment_insert_coordinate(
30        &mut self,
31        root_col_num: &u32,
32        offset_col_num: &u32,
33        root_row_num: &u32,
34        offset_row_num: &u32,
35    ) {
36        self.range.adjustment_insert_coordinate(
37            root_col_num,
38            offset_col_num,
39            root_row_num,
40            offset_row_num,
41        );
42    }
43
44    #[inline]
45    fn adjustment_remove_coordinate(
46        &mut self,
47        root_col_num: &u32,
48        offset_col_num: &u32,
49        root_row_num: &u32,
50        offset_row_num: &u32,
51    ) {
52        self.range.adjustment_remove_coordinate(
53            root_col_num,
54            offset_col_num,
55            root_row_num,
56            offset_row_num,
57        );
58    }
59}