Skip to main content

umya_spreadsheet/structs/
conditional_format_values.rs

1use std::str::FromStr;
2
3use super::EnumTrait;
4#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)]
5pub enum ConditionalFormatValues {
6    AboveAverage,
7    BeginsWith,
8    CellIs,
9    ColorScale,
10    ContainsBlanks,
11    ContainsErrors,
12    ContainsText,
13    DataBar,
14    DuplicateValues,
15    EndsWith,
16    Expression,
17    IconSet,
18    NotContainsBlanks,
19    NotContainsErrors,
20    NotContainsText,
21    TimePeriod,
22    Top10,
23    UniqueValues,
24}
25impl Default for ConditionalFormatValues {
26    #[inline]
27    fn default() -> Self {
28        Self::Expression
29    }
30}
31impl EnumTrait for ConditionalFormatValues {
32    #[inline]
33    fn value_string(&self) -> &str {
34        match &self {
35            Self::AboveAverage => "aboveAverage",
36            Self::BeginsWith => "beginsWith",
37            Self::CellIs => "cellIs",
38            Self::ColorScale => "colorScale",
39            Self::ContainsBlanks => "containsBlanks",
40            Self::ContainsErrors => "containsErrors",
41            Self::ContainsText => "containsText",
42            Self::DataBar => "dataBar",
43            Self::DuplicateValues => "duplicateValues",
44            Self::EndsWith => "endsWith",
45            Self::Expression => "expression",
46            Self::IconSet => "iconSet",
47            Self::NotContainsBlanks => "notContainsBlanks",
48            Self::NotContainsErrors => "notContainsErrors",
49            Self::NotContainsText => "notContainsText",
50            Self::TimePeriod => "timePeriod",
51            Self::Top10 => "top10",
52            Self::UniqueValues => "uniqueValues",
53        }
54    }
55}
56impl FromStr for ConditionalFormatValues {
57    type Err = ();
58
59    #[inline]
60    fn from_str(input: &str) -> Result<Self, Self::Err> {
61        match input {
62            "aboveAverage" => Ok(Self::AboveAverage),
63            "beginsWith" => Ok(Self::BeginsWith),
64            "cellIs" => Ok(Self::CellIs),
65            "colorScale" => Ok(Self::ColorScale),
66            "containsBlanks" => Ok(Self::ContainsBlanks),
67            "containsErrors" => Ok(Self::ContainsErrors),
68            "containsText" => Ok(Self::ContainsText),
69            "dataBar" => Ok(Self::DataBar),
70            "duplicateValues" => Ok(Self::DuplicateValues),
71            "endsWith" => Ok(Self::EndsWith),
72            "expression" => Ok(Self::Expression),
73            "iconSet" => Ok(Self::IconSet),
74            "notContainsBlanks" => Ok(Self::NotContainsBlanks),
75            "notContainsErrors" => Ok(Self::NotContainsErrors),
76            "notContainsText" => Ok(Self::NotContainsText),
77            "timePeriod" => Ok(Self::TimePeriod),
78            "top10" => Ok(Self::Top10),
79            "uniqueValues" => Ok(Self::UniqueValues),
80            _ => Err(()),
81        }
82    }
83}