docx_reader/documents/elements/
level_override.rs

1use super::*;
2
3use serde::Serialize;
4
5/*
617.9.8 lvlOverride (Numbering Level Definition Override)
7This element specifies an optional override which shall be applied in place of zero or more levels from the abstract numbering definition for a given numbering definition instance. Each instance of this element is used to override the appearance and behavior of a given numbering level definition within the given abstract numbering definition.
8*/
9#[derive(Debug, Clone, PartialEq, Serialize)]
10#[serde(rename_all = "camelCase")]
11pub struct LevelOverride {
12	pub level: usize,
13	pub override_start: Option<usize>,
14	pub override_level: Option<Level>,
15}
16
17impl LevelOverride {
18	pub fn new(level: usize) -> LevelOverride {
19		LevelOverride {
20			level,
21			override_start: None,
22			override_level: None,
23		}
24	}
25
26	pub fn start(mut self, start: usize) -> LevelOverride {
27		self.override_start = Some(start);
28		self
29	}
30
31	pub fn level(mut self, override_level: Level) -> LevelOverride {
32		self.override_level = Some(override_level);
33		self
34	}
35}