Skip to main content

nominal_api/conjure/objects/scout/chartdefinition/api/
geo_plot_visualization_options.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    PartialEq,
7    Eq,
8    PartialOrd,
9    Ord,
10    Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct GeoPlotVisualizationOptions {
16    #[serde(rename = "color")]
17    color: super::super::super::api::HexColor,
18    #[serde(rename = "lineStyle")]
19    line_style: super::GeoLineStyle,
20    #[builder(
21        default,
22        custom(
23            type = impl
24            Into<Option<super::GeoPlotSecondaryVisibilityConfig>>,
25            convert = |v|v.into().map(Box::new)
26        )
27    )]
28    #[serde(
29        rename = "secondaryColorVisualization",
30        skip_serializing_if = "Option::is_none",
31        default
32    )]
33    secondary_color_visualization: Option<Box<super::GeoPlotSecondaryVisibilityConfig>>,
34}
35impl GeoPlotVisualizationOptions {
36    /// Constructs a new instance of the type.
37    #[inline]
38    pub fn new(
39        color: super::super::super::api::HexColor,
40        line_style: super::GeoLineStyle,
41    ) -> Self {
42        Self::builder().color(color).line_style(line_style).build()
43    }
44    #[inline]
45    pub fn color(&self) -> &super::super::super::api::HexColor {
46        &self.color
47    }
48    #[inline]
49    pub fn line_style(&self) -> &super::GeoLineStyle {
50        &self.line_style
51    }
52    /// If visible, overwrites any existing visualization options on the geo plot.
53    #[inline]
54    pub fn secondary_color_visualization(
55        &self,
56    ) -> Option<&super::GeoPlotSecondaryVisibilityConfig> {
57        self.secondary_color_visualization.as_ref().map(|o| &**o)
58    }
59}