#[derive(Copy, Clone, Debug, PartialEq)]
enum TargetType {
- Graph,
Labeling,
- Interval,
MajorTicks,
}
graph: &Graph,
major_ticks: &HashMap<&str, &MajorTicks>,
) -> Option<Self> {
- if let Some(id) = &graph.id
- && id == target
- {
- Some(Self::Graph)
- } else if let Some(id) = &graph.interval.labeling.id
+ if let Some(id) = &graph.interval.labeling.id
&& id == target
{
Some(Self::Labeling)
- } else if let Some(id) = &graph.interval.id
- && id == target
- {
- Some(Self::Interval)
} else if major_ticks.contains_key(target) {
Some(Self::MajorTicks)
} else {
#[derive(Debug)]
struct Target<'a> {
- format: (&'a SetFormat, Option<TargetType>),
+ sf: &'a SetFormat,
+ target_type: TargetType,
}
impl<'a> Target<'a> {
fn decode(
}
}
- match self {
- Self {
- format: (_, Some(TargetType::MajorTicks)),
- ..
- } if !wheres.is_empty() => {
+ match self.target_type {
+ TargetType::MajorTicks => {
// Formatting for individual row or column labels.
for w in &wheres {
let Some(s) = series.get(w.variable.as_str()) else {
{
Style::apply_to_value(
category.name_mut(),
- Some(&self.format.0),
+ Some(&self.sf),
None,
None,
&look.areas[Area::Labels(axis)],
}
}
}
- Self {
- format: (_, Some(TargetType::Labeling)),
- ..
- } => {
+ TargetType::Labeling => {
// Formatting for individual cells or groups of them
// with some dimensions in common.
let mut include = vec![HashSet::new(); dims.len()];
if !skip {
Style::apply_to_value(
value,
- Some(&self.format.0),
+ Some(&self.sf),
None,
None,
&look.areas[Area::Data(RowParity::Even)],
}
}
}
- _ => (),
}
}
}
for set in &scp.sets {
match set {
Set::SetFormat(sf) => {
- let target_type = TargetType::from_id(&sf.target, graph, &major_ticks);
- targets.push(Target {
- format: (sf, target_type),
- });
+ if let Some(target_type) =
+ TargetType::from_id(&sf.target, graph, &major_ticks)
+ {
+ targets.push(Target { sf, target_type });
+ }
}
Set::Other => (),
}
}
(None, true) => {
for target in &targets {
- if target.format.1 == Some(TargetType::Labeling) {
+ if target.target_type == TargetType::Labeling {
for value in data.values_mut() {
Style::apply_to_value(
value,
- Some(target.format.0),
+ Some(&target.sf),
None,
None,
&look.areas[Area::Data(RowParity::Even)],