#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct SubtotalOptions {
pub totals_visibility: ::std::option::Option<crate::types::Visibility>,
pub custom_label: ::std::option::Option<::std::string::String>,
pub field_level: ::std::option::Option<crate::types::PivotTableSubtotalLevel>,
pub field_level_options: ::std::option::Option<::std::vec::Vec<crate::types::PivotTableFieldSubtotalOptions>>,
pub total_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub value_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub metric_header_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub style_targets: ::std::option::Option<::std::vec::Vec<crate::types::TableStyleTarget>>,
}
impl SubtotalOptions {
pub fn totals_visibility(&self) -> ::std::option::Option<&crate::types::Visibility> {
self.totals_visibility.as_ref()
}
pub fn custom_label(&self) -> ::std::option::Option<&str> {
self.custom_label.as_deref()
}
pub fn field_level(&self) -> ::std::option::Option<&crate::types::PivotTableSubtotalLevel> {
self.field_level.as_ref()
}
pub fn field_level_options(&self) -> ::std::option::Option<&[crate::types::PivotTableFieldSubtotalOptions]> {
self.field_level_options.as_deref()
}
pub fn total_cell_style(&self) -> ::std::option::Option<&crate::types::TableCellStyle> {
self.total_cell_style.as_ref()
}
pub fn value_cell_style(&self) -> ::std::option::Option<&crate::types::TableCellStyle> {
self.value_cell_style.as_ref()
}
pub fn metric_header_cell_style(&self) -> ::std::option::Option<&crate::types::TableCellStyle> {
self.metric_header_cell_style.as_ref()
}
pub fn style_targets(&self) -> ::std::option::Option<&[crate::types::TableStyleTarget]> {
self.style_targets.as_deref()
}
}
impl SubtotalOptions {
pub fn builder() -> crate::types::builders::SubtotalOptionsBuilder {
crate::types::builders::SubtotalOptionsBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct SubtotalOptionsBuilder {
pub(crate) totals_visibility: ::std::option::Option<crate::types::Visibility>,
pub(crate) custom_label: ::std::option::Option<::std::string::String>,
pub(crate) field_level: ::std::option::Option<crate::types::PivotTableSubtotalLevel>,
pub(crate) field_level_options: ::std::option::Option<::std::vec::Vec<crate::types::PivotTableFieldSubtotalOptions>>,
pub(crate) total_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub(crate) value_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub(crate) metric_header_cell_style: ::std::option::Option<crate::types::TableCellStyle>,
pub(crate) style_targets: ::std::option::Option<::std::vec::Vec<crate::types::TableStyleTarget>>,
}
impl SubtotalOptionsBuilder {
pub fn totals_visibility(mut self, input: crate::types::Visibility) -> Self {
self.totals_visibility = ::std::option::Option::Some(input);
self
}
pub fn set_totals_visibility(mut self, input: ::std::option::Option<crate::types::Visibility>) -> Self {
self.totals_visibility = input;
self
}
pub fn get_totals_visibility(&self) -> &::std::option::Option<crate::types::Visibility> {
&self.totals_visibility
}
pub fn custom_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.custom_label = ::std::option::Option::Some(input.into());
self
}
pub fn set_custom_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.custom_label = input;
self
}
pub fn get_custom_label(&self) -> &::std::option::Option<::std::string::String> {
&self.custom_label
}
pub fn field_level(mut self, input: crate::types::PivotTableSubtotalLevel) -> Self {
self.field_level = ::std::option::Option::Some(input);
self
}
pub fn set_field_level(mut self, input: ::std::option::Option<crate::types::PivotTableSubtotalLevel>) -> Self {
self.field_level = input;
self
}
pub fn get_field_level(&self) -> &::std::option::Option<crate::types::PivotTableSubtotalLevel> {
&self.field_level
}
pub fn field_level_options(mut self, input: crate::types::PivotTableFieldSubtotalOptions) -> Self {
let mut v = self.field_level_options.unwrap_or_default();
v.push(input);
self.field_level_options = ::std::option::Option::Some(v);
self
}
pub fn set_field_level_options(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PivotTableFieldSubtotalOptions>>) -> Self {
self.field_level_options = input;
self
}
pub fn get_field_level_options(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PivotTableFieldSubtotalOptions>> {
&self.field_level_options
}
pub fn total_cell_style(mut self, input: crate::types::TableCellStyle) -> Self {
self.total_cell_style = ::std::option::Option::Some(input);
self
}
pub fn set_total_cell_style(mut self, input: ::std::option::Option<crate::types::TableCellStyle>) -> Self {
self.total_cell_style = input;
self
}
pub fn get_total_cell_style(&self) -> &::std::option::Option<crate::types::TableCellStyle> {
&self.total_cell_style
}
pub fn value_cell_style(mut self, input: crate::types::TableCellStyle) -> Self {
self.value_cell_style = ::std::option::Option::Some(input);
self
}
pub fn set_value_cell_style(mut self, input: ::std::option::Option<crate::types::TableCellStyle>) -> Self {
self.value_cell_style = input;
self
}
pub fn get_value_cell_style(&self) -> &::std::option::Option<crate::types::TableCellStyle> {
&self.value_cell_style
}
pub fn metric_header_cell_style(mut self, input: crate::types::TableCellStyle) -> Self {
self.metric_header_cell_style = ::std::option::Option::Some(input);
self
}
pub fn set_metric_header_cell_style(mut self, input: ::std::option::Option<crate::types::TableCellStyle>) -> Self {
self.metric_header_cell_style = input;
self
}
pub fn get_metric_header_cell_style(&self) -> &::std::option::Option<crate::types::TableCellStyle> {
&self.metric_header_cell_style
}
pub fn style_targets(mut self, input: crate::types::TableStyleTarget) -> Self {
let mut v = self.style_targets.unwrap_or_default();
v.push(input);
self.style_targets = ::std::option::Option::Some(v);
self
}
pub fn set_style_targets(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TableStyleTarget>>) -> Self {
self.style_targets = input;
self
}
pub fn get_style_targets(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TableStyleTarget>> {
&self.style_targets
}
pub fn build(self) -> crate::types::SubtotalOptions {
crate::types::SubtotalOptions {
totals_visibility: self.totals_visibility,
custom_label: self.custom_label,
field_level: self.field_level,
field_level_options: self.field_level_options,
total_cell_style: self.total_cell_style,
value_cell_style: self.value_cell_style,
metric_header_cell_style: self.metric_header_cell_style,
style_targets: self.style_targets,
}
}
}