umya_spreadsheet/structs/
chart_type.rs1use std::str::FromStr;
2
3use super::EnumTrait;
4#[derive(Clone, Debug, Default)]
5pub enum ChartType {
6 #[default]
7 LineChart,
8 Line3DChart,
9 PieChart,
10 Pie3DChart,
11 DoughnutChart,
12 ScatterChart,
13 BarChart,
14 Bar3DChart,
15 RadarChart,
16 BubbleChart,
17 AreaChart,
18 Area3DChart,
19 OfPieChart,
20}
21impl EnumTrait for ChartType {
22 #[inline]
23 fn value_string(&self) -> &str {
24 match &self {
25 Self::LineChart => "line_chart",
26 Self::Line3DChart => "line_3d_chart",
27 Self::PieChart => "pie_chart",
28 Self::Pie3DChart => "pie_3d_chart",
29 Self::DoughnutChart => "doughnut_chart",
30 Self::ScatterChart => "scatter_chart",
31 Self::BarChart => "bar_chart",
32 Self::Bar3DChart => "bar_3d_chart",
33 Self::RadarChart => "radar_chart",
34 Self::BubbleChart => "bubble_chart",
35 Self::AreaChart => "area_chart",
36 Self::Area3DChart => "area_3d_chart",
37 Self::OfPieChart => "of_pie_chart",
38 }
39 }
40}
41impl FromStr for ChartType {
42 type Err = ();
43
44 #[inline]
45 fn from_str(input: &str) -> Result<Self, Self::Err> {
46 match input {
47 "line_chart" => Ok(Self::LineChart),
48 "line_3d_chart" => Ok(Self::Line3DChart),
49 "pie_chart" => Ok(Self::PieChart),
50 "pie_3d_chart" => Ok(Self::Pie3DChart),
51 "doughnut_chart" => Ok(Self::DoughnutChart),
52 "scatter_chart" => Ok(Self::ScatterChart),
53 "bar_chart" => Ok(Self::BarChart),
54 "bar_3d_chart" => Ok(Self::Bar3DChart),
55 "radar_chart" => Ok(Self::RadarChart),
56 "bubble_chart" => Ok(Self::BubbleChart),
57 "area_chart" => Ok(Self::AreaChart),
58 "area_3d_chart" => Ok(Self::Area3DChart),
59 "of_pie_chart" => Ok(Self::OfPieChart),
60 _ => Err(()),
61 }
62 }
63}