1#![allow(unused_variables, unused_assignments, unreachable_code, unused_imports)]
5#![allow(clippy::single_match)]
6#![allow(clippy::match_single_binding)]
7#![allow(clippy::explicit_counter_loop)]
8
9use super::generated::*;
10pub use ooxml_xml::{SerializeError, ToXml};
11use quick_xml::Writer;
12use quick_xml::events::{BytesEnd, BytesStart, BytesText, Event};
13use std::io::Write;
14
15#[allow(dead_code)]
16fn encode_hex(bytes: &[u8]) -> String {
18 bytes.iter().map(|b| format!("{:02X}", b)).collect()
19}
20
21#[allow(dead_code)]
22fn encode_base64(bytes: &[u8]) -> String {
24 use base64::Engine;
25 base64::engine::general_purpose::STANDARD.encode(bytes)
26}
27
28impl ToXml for CTAudioFile {
29 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
30 #[allow(unused_mut)]
31 let mut start = start;
32 #[cfg(feature = "dml-media")]
33 {
34 let val = &self.link;
35 start.push_attribute(("r:link", val.as_str()));
36 }
37 #[cfg(feature = "dml-media")]
38 if let Some(ref val) = self.content_type {
39 start.push_attribute(("contentType", val.as_str()));
40 }
41 #[cfg(feature = "extra-attrs")]
42 for (key, value) in &self.extra_attrs {
43 start.push_attribute((key.as_str(), value.as_str()));
44 }
45 start
46 }
47
48 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
49 #[cfg(feature = "extra-children")]
50 let mut extra_iter = self.extra_children.iter().peekable();
51 #[cfg(feature = "extra-children")]
52 let mut emit_idx: usize = 0;
53 #[cfg(feature = "extra-children")]
54 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
55 extra_iter
56 .next()
57 .unwrap()
58 .node
59 .write_to(writer)
60 .map_err(SerializeError::from)?;
61 }
62 if let Some(ref val) = self.ext_lst {
63 val.write_element("a:extLst", writer)?;
64 }
65 #[cfg(feature = "extra-children")]
66 {
67 emit_idx += 1;
68 }
69 #[cfg(feature = "extra-children")]
70 for extra in extra_iter {
71 extra.node.write_to(writer).map_err(SerializeError::from)?;
72 }
73 Ok(())
74 }
75
76 fn is_empty_element(&self) -> bool {
77 if self.ext_lst.is_some() {
78 return false;
79 }
80 #[cfg(feature = "extra-children")]
81 if !self.extra_children.is_empty() {
82 return false;
83 }
84 true
85 }
86}
87
88impl ToXml for CTVideoFile {
89 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
90 #[allow(unused_mut)]
91 let mut start = start;
92 #[cfg(feature = "dml-media")]
93 {
94 let val = &self.link;
95 start.push_attribute(("r:link", val.as_str()));
96 }
97 #[cfg(feature = "dml-media")]
98 if let Some(ref val) = self.content_type {
99 start.push_attribute(("contentType", val.as_str()));
100 }
101 #[cfg(feature = "extra-attrs")]
102 for (key, value) in &self.extra_attrs {
103 start.push_attribute((key.as_str(), value.as_str()));
104 }
105 start
106 }
107
108 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
109 #[cfg(feature = "extra-children")]
110 let mut extra_iter = self.extra_children.iter().peekable();
111 #[cfg(feature = "extra-children")]
112 let mut emit_idx: usize = 0;
113 #[cfg(feature = "extra-children")]
114 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
115 extra_iter
116 .next()
117 .unwrap()
118 .node
119 .write_to(writer)
120 .map_err(SerializeError::from)?;
121 }
122 if let Some(ref val) = self.ext_lst {
123 val.write_element("a:extLst", writer)?;
124 }
125 #[cfg(feature = "extra-children")]
126 {
127 emit_idx += 1;
128 }
129 #[cfg(feature = "extra-children")]
130 for extra in extra_iter {
131 extra.node.write_to(writer).map_err(SerializeError::from)?;
132 }
133 Ok(())
134 }
135
136 fn is_empty_element(&self) -> bool {
137 if self.ext_lst.is_some() {
138 return false;
139 }
140 #[cfg(feature = "extra-children")]
141 if !self.extra_children.is_empty() {
142 return false;
143 }
144 true
145 }
146}
147
148impl ToXml for CTQuickTimeFile {
149 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
150 #[allow(unused_mut)]
151 let mut start = start;
152 {
153 let val = &self.link;
154 start.push_attribute(("r:link", val.as_str()));
155 }
156 #[cfg(feature = "extra-attrs")]
157 for (key, value) in &self.extra_attrs {
158 start.push_attribute((key.as_str(), value.as_str()));
159 }
160 start
161 }
162
163 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
164 #[cfg(feature = "extra-children")]
165 let mut extra_iter = self.extra_children.iter().peekable();
166 #[cfg(feature = "extra-children")]
167 let mut emit_idx: usize = 0;
168 #[cfg(feature = "extra-children")]
169 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
170 extra_iter
171 .next()
172 .unwrap()
173 .node
174 .write_to(writer)
175 .map_err(SerializeError::from)?;
176 }
177 if let Some(ref val) = self.ext_lst {
178 val.write_element("a:extLst", writer)?;
179 }
180 #[cfg(feature = "extra-children")]
181 {
182 emit_idx += 1;
183 }
184 #[cfg(feature = "extra-children")]
185 for extra in extra_iter {
186 extra.node.write_to(writer).map_err(SerializeError::from)?;
187 }
188 Ok(())
189 }
190
191 fn is_empty_element(&self) -> bool {
192 if self.ext_lst.is_some() {
193 return false;
194 }
195 #[cfg(feature = "extra-children")]
196 if !self.extra_children.is_empty() {
197 return false;
198 }
199 true
200 }
201}
202
203impl ToXml for CTAudioCDTime {
204 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
205 #[allow(unused_mut)]
206 let mut start = start;
207 {
208 let val = &self.track;
209 {
210 let s = val.to_string();
211 start.push_attribute(("track", s.as_str()));
212 }
213 }
214 if let Some(ref val) = self.time {
215 {
216 let s = val.to_string();
217 start.push_attribute(("time", s.as_str()));
218 }
219 }
220 #[cfg(feature = "extra-attrs")]
221 for (key, value) in &self.extra_attrs {
222 start.push_attribute((key.as_str(), value.as_str()));
223 }
224 start
225 }
226
227 fn is_empty_element(&self) -> bool {
228 true
229 }
230}
231
232impl ToXml for CTAudioCD {
233 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
234 #[cfg(feature = "extra-children")]
235 let mut extra_iter = self.extra_children.iter().peekable();
236 #[cfg(feature = "extra-children")]
237 let mut emit_idx: usize = 0;
238 #[cfg(feature = "extra-children")]
239 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
240 extra_iter
241 .next()
242 .unwrap()
243 .node
244 .write_to(writer)
245 .map_err(SerializeError::from)?;
246 }
247 {
248 let val = &self.st;
249 val.write_element("a:st", writer)?;
250 }
251 #[cfg(feature = "extra-children")]
252 {
253 emit_idx += 1;
254 }
255 #[cfg(feature = "extra-children")]
256 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
257 extra_iter
258 .next()
259 .unwrap()
260 .node
261 .write_to(writer)
262 .map_err(SerializeError::from)?;
263 }
264 {
265 let val = &self.end;
266 val.write_element("a:end", writer)?;
267 }
268 #[cfg(feature = "extra-children")]
269 {
270 emit_idx += 1;
271 }
272 #[cfg(feature = "extra-children")]
273 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
274 extra_iter
275 .next()
276 .unwrap()
277 .node
278 .write_to(writer)
279 .map_err(SerializeError::from)?;
280 }
281 if let Some(ref val) = self.ext_lst {
282 val.write_element("a:extLst", writer)?;
283 }
284 #[cfg(feature = "extra-children")]
285 {
286 emit_idx += 1;
287 }
288 #[cfg(feature = "extra-children")]
289 for extra in extra_iter {
290 extra.node.write_to(writer).map_err(SerializeError::from)?;
291 }
292 Ok(())
293 }
294
295 fn is_empty_element(&self) -> bool {
296 false
297 }
298}
299
300impl ToXml for EGMedia {
301 fn write_element<W: Write>(
302 &self,
303 _tag: &str,
304 writer: &mut Writer<W>,
305 ) -> Result<(), SerializeError> {
306 match self {
307 Self::AudioCd(inner) => inner.write_element("a:audioCd", writer)?,
308 Self::WavAudioFile(inner) => inner.write_element("a:wavAudioFile", writer)?,
309 Self::AudioFile(inner) => inner.write_element("a:audioFile", writer)?,
310 Self::VideoFile(inner) => inner.write_element("a:videoFile", writer)?,
311 Self::QuickTimeFile(inner) => inner.write_element("a:quickTimeFile", writer)?,
312 }
313 Ok(())
314 }
315}
316
317impl ToXml for ColorScheme {
318 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
319 #[allow(unused_mut)]
320 let mut start = start;
321 #[cfg(feature = "dml-themes")]
322 {
323 let val = &self.name;
324 start.push_attribute(("name", val.as_str()));
325 }
326 #[cfg(feature = "extra-attrs")]
327 for (key, value) in &self.extra_attrs {
328 start.push_attribute((key.as_str(), value.as_str()));
329 }
330 start
331 }
332
333 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
334 #[cfg(feature = "extra-children")]
335 let mut extra_iter = self.extra_children.iter().peekable();
336 #[cfg(feature = "extra-children")]
337 let mut emit_idx: usize = 0;
338 #[cfg(feature = "extra-children")]
339 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
340 extra_iter
341 .next()
342 .unwrap()
343 .node
344 .write_to(writer)
345 .map_err(SerializeError::from)?;
346 }
347 #[cfg(feature = "dml-colors")]
348 {
349 let val = &self.dk1;
350 val.write_element("a:dk1", writer)?;
351 }
352 #[cfg(feature = "extra-children")]
353 {
354 emit_idx += 1;
355 }
356 #[cfg(feature = "extra-children")]
357 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
358 extra_iter
359 .next()
360 .unwrap()
361 .node
362 .write_to(writer)
363 .map_err(SerializeError::from)?;
364 }
365 #[cfg(feature = "dml-colors")]
366 {
367 let val = &self.lt1;
368 val.write_element("a:lt1", writer)?;
369 }
370 #[cfg(feature = "extra-children")]
371 {
372 emit_idx += 1;
373 }
374 #[cfg(feature = "extra-children")]
375 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
376 extra_iter
377 .next()
378 .unwrap()
379 .node
380 .write_to(writer)
381 .map_err(SerializeError::from)?;
382 }
383 #[cfg(feature = "dml-colors")]
384 {
385 let val = &self.dk2;
386 val.write_element("a:dk2", writer)?;
387 }
388 #[cfg(feature = "extra-children")]
389 {
390 emit_idx += 1;
391 }
392 #[cfg(feature = "extra-children")]
393 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
394 extra_iter
395 .next()
396 .unwrap()
397 .node
398 .write_to(writer)
399 .map_err(SerializeError::from)?;
400 }
401 #[cfg(feature = "dml-colors")]
402 {
403 let val = &self.lt2;
404 val.write_element("a:lt2", writer)?;
405 }
406 #[cfg(feature = "extra-children")]
407 {
408 emit_idx += 1;
409 }
410 #[cfg(feature = "extra-children")]
411 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
412 extra_iter
413 .next()
414 .unwrap()
415 .node
416 .write_to(writer)
417 .map_err(SerializeError::from)?;
418 }
419 #[cfg(feature = "dml-colors")]
420 {
421 let val = &self.accent1;
422 val.write_element("a:accent1", writer)?;
423 }
424 #[cfg(feature = "extra-children")]
425 {
426 emit_idx += 1;
427 }
428 #[cfg(feature = "extra-children")]
429 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
430 extra_iter
431 .next()
432 .unwrap()
433 .node
434 .write_to(writer)
435 .map_err(SerializeError::from)?;
436 }
437 #[cfg(feature = "dml-colors")]
438 {
439 let val = &self.accent2;
440 val.write_element("a:accent2", writer)?;
441 }
442 #[cfg(feature = "extra-children")]
443 {
444 emit_idx += 1;
445 }
446 #[cfg(feature = "extra-children")]
447 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
448 extra_iter
449 .next()
450 .unwrap()
451 .node
452 .write_to(writer)
453 .map_err(SerializeError::from)?;
454 }
455 #[cfg(feature = "dml-colors")]
456 {
457 let val = &self.accent3;
458 val.write_element("a:accent3", writer)?;
459 }
460 #[cfg(feature = "extra-children")]
461 {
462 emit_idx += 1;
463 }
464 #[cfg(feature = "extra-children")]
465 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
466 extra_iter
467 .next()
468 .unwrap()
469 .node
470 .write_to(writer)
471 .map_err(SerializeError::from)?;
472 }
473 #[cfg(feature = "dml-colors")]
474 {
475 let val = &self.accent4;
476 val.write_element("a:accent4", writer)?;
477 }
478 #[cfg(feature = "extra-children")]
479 {
480 emit_idx += 1;
481 }
482 #[cfg(feature = "extra-children")]
483 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
484 extra_iter
485 .next()
486 .unwrap()
487 .node
488 .write_to(writer)
489 .map_err(SerializeError::from)?;
490 }
491 #[cfg(feature = "dml-colors")]
492 {
493 let val = &self.accent5;
494 val.write_element("a:accent5", writer)?;
495 }
496 #[cfg(feature = "extra-children")]
497 {
498 emit_idx += 1;
499 }
500 #[cfg(feature = "extra-children")]
501 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
502 extra_iter
503 .next()
504 .unwrap()
505 .node
506 .write_to(writer)
507 .map_err(SerializeError::from)?;
508 }
509 #[cfg(feature = "dml-colors")]
510 {
511 let val = &self.accent6;
512 val.write_element("a:accent6", writer)?;
513 }
514 #[cfg(feature = "extra-children")]
515 {
516 emit_idx += 1;
517 }
518 #[cfg(feature = "extra-children")]
519 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
520 extra_iter
521 .next()
522 .unwrap()
523 .node
524 .write_to(writer)
525 .map_err(SerializeError::from)?;
526 }
527 #[cfg(feature = "dml-colors")]
528 {
529 let val = &self.hlink;
530 val.write_element("a:hlink", writer)?;
531 }
532 #[cfg(feature = "extra-children")]
533 {
534 emit_idx += 1;
535 }
536 #[cfg(feature = "extra-children")]
537 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
538 extra_iter
539 .next()
540 .unwrap()
541 .node
542 .write_to(writer)
543 .map_err(SerializeError::from)?;
544 }
545 #[cfg(feature = "dml-colors")]
546 {
547 let val = &self.fol_hlink;
548 val.write_element("a:folHlink", writer)?;
549 }
550 #[cfg(feature = "extra-children")]
551 {
552 emit_idx += 1;
553 }
554 #[cfg(feature = "extra-children")]
555 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
556 extra_iter
557 .next()
558 .unwrap()
559 .node
560 .write_to(writer)
561 .map_err(SerializeError::from)?;
562 }
563 #[cfg(feature = "dml-extensions")]
564 if let Some(ref val) = self.ext_lst {
565 val.write_element("a:extLst", writer)?;
566 }
567 #[cfg(feature = "extra-children")]
568 {
569 emit_idx += 1;
570 }
571 #[cfg(feature = "extra-children")]
572 for extra in extra_iter {
573 extra.node.write_to(writer).map_err(SerializeError::from)?;
574 }
575 Ok(())
576 }
577
578 fn is_empty_element(&self) -> bool {
579 #[cfg(feature = "dml-colors")]
580 return false;
581 #[cfg(feature = "dml-colors")]
582 return false;
583 #[cfg(feature = "dml-colors")]
584 return false;
585 #[cfg(feature = "dml-colors")]
586 return false;
587 #[cfg(feature = "dml-colors")]
588 return false;
589 #[cfg(feature = "dml-colors")]
590 return false;
591 #[cfg(feature = "dml-colors")]
592 return false;
593 #[cfg(feature = "dml-colors")]
594 return false;
595 #[cfg(feature = "dml-colors")]
596 return false;
597 #[cfg(feature = "dml-colors")]
598 return false;
599 #[cfg(feature = "dml-colors")]
600 return false;
601 #[cfg(feature = "dml-colors")]
602 return false;
603 #[cfg(feature = "dml-extensions")]
604 if self.ext_lst.is_some() {
605 return false;
606 }
607 #[cfg(feature = "extra-children")]
608 if !self.extra_children.is_empty() {
609 return false;
610 }
611 true
612 }
613}
614
615impl ToXml for CTCustomColor {
616 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
617 #[allow(unused_mut)]
618 let mut start = start;
619 if let Some(ref val) = self.name {
620 start.push_attribute(("name", val.as_str()));
621 }
622 #[cfg(feature = "extra-attrs")]
623 for (key, value) in &self.extra_attrs {
624 start.push_attribute((key.as_str(), value.as_str()));
625 }
626 start
627 }
628
629 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
630 #[cfg(feature = "extra-children")]
631 let mut extra_iter = self.extra_children.iter().peekable();
632 #[cfg(feature = "extra-children")]
633 let mut emit_idx: usize = 0;
634 #[cfg(feature = "extra-children")]
635 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
636 extra_iter
637 .next()
638 .unwrap()
639 .node
640 .write_to(writer)
641 .map_err(SerializeError::from)?;
642 }
643 if let Some(ref val) = self.color_choice {
644 val.write_element("", writer)?;
645 }
646 #[cfg(feature = "extra-children")]
647 {
648 emit_idx += 1;
649 }
650 #[cfg(feature = "extra-children")]
651 for extra in extra_iter {
652 extra.node.write_to(writer).map_err(SerializeError::from)?;
653 }
654 Ok(())
655 }
656
657 fn is_empty_element(&self) -> bool {
658 false
659 }
660}
661
662impl ToXml for CTSupplementalFont {
663 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
664 #[allow(unused_mut)]
665 let mut start = start;
666 {
667 let val = &self.script;
668 start.push_attribute(("script", val.as_str()));
669 }
670 {
671 let val = &self.typeface;
672 start.push_attribute(("typeface", val.as_str()));
673 }
674 #[cfg(feature = "extra-attrs")]
675 for (key, value) in &self.extra_attrs {
676 start.push_attribute((key.as_str(), value.as_str()));
677 }
678 start
679 }
680
681 fn is_empty_element(&self) -> bool {
682 true
683 }
684}
685
686impl ToXml for CTCustomColorList {
687 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
688 #[cfg(feature = "extra-children")]
689 let mut extra_iter = self.extra_children.iter().peekable();
690 #[cfg(feature = "extra-children")]
691 let mut emit_idx: usize = 0;
692 for item in &self.cust_clr {
693 #[cfg(feature = "extra-children")]
694 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
695 extra_iter
696 .next()
697 .unwrap()
698 .node
699 .write_to(writer)
700 .map_err(SerializeError::from)?;
701 }
702 item.write_element("a:custClr", writer)?;
703 #[cfg(feature = "extra-children")]
704 {
705 emit_idx += 1;
706 }
707 }
708 #[cfg(feature = "extra-children")]
709 for extra in extra_iter {
710 extra.node.write_to(writer).map_err(SerializeError::from)?;
711 }
712 Ok(())
713 }
714
715 fn is_empty_element(&self) -> bool {
716 if !self.cust_clr.is_empty() {
717 return false;
718 }
719 #[cfg(feature = "extra-children")]
720 if !self.extra_children.is_empty() {
721 return false;
722 }
723 true
724 }
725}
726
727impl ToXml for CTFontCollection {
728 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
729 #[cfg(feature = "extra-children")]
730 let mut extra_iter = self.extra_children.iter().peekable();
731 #[cfg(feature = "extra-children")]
732 let mut emit_idx: usize = 0;
733 #[cfg(feature = "extra-children")]
734 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
735 extra_iter
736 .next()
737 .unwrap()
738 .node
739 .write_to(writer)
740 .map_err(SerializeError::from)?;
741 }
742 {
743 let val = &self.latin;
744 val.write_element("a:latin", writer)?;
745 }
746 #[cfg(feature = "extra-children")]
747 {
748 emit_idx += 1;
749 }
750 #[cfg(feature = "extra-children")]
751 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
752 extra_iter
753 .next()
754 .unwrap()
755 .node
756 .write_to(writer)
757 .map_err(SerializeError::from)?;
758 }
759 {
760 let val = &self.ea;
761 val.write_element("a:ea", writer)?;
762 }
763 #[cfg(feature = "extra-children")]
764 {
765 emit_idx += 1;
766 }
767 #[cfg(feature = "extra-children")]
768 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
769 extra_iter
770 .next()
771 .unwrap()
772 .node
773 .write_to(writer)
774 .map_err(SerializeError::from)?;
775 }
776 {
777 let val = &self.cs;
778 val.write_element("a:cs", writer)?;
779 }
780 #[cfg(feature = "extra-children")]
781 {
782 emit_idx += 1;
783 }
784 for item in &self.font {
785 #[cfg(feature = "extra-children")]
786 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
787 extra_iter
788 .next()
789 .unwrap()
790 .node
791 .write_to(writer)
792 .map_err(SerializeError::from)?;
793 }
794 item.write_element("a:font", writer)?;
795 #[cfg(feature = "extra-children")]
796 {
797 emit_idx += 1;
798 }
799 }
800 #[cfg(feature = "extra-children")]
801 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
802 extra_iter
803 .next()
804 .unwrap()
805 .node
806 .write_to(writer)
807 .map_err(SerializeError::from)?;
808 }
809 if let Some(ref val) = self.ext_lst {
810 val.write_element("a:extLst", writer)?;
811 }
812 #[cfg(feature = "extra-children")]
813 {
814 emit_idx += 1;
815 }
816 #[cfg(feature = "extra-children")]
817 for extra in extra_iter {
818 extra.node.write_to(writer).map_err(SerializeError::from)?;
819 }
820 Ok(())
821 }
822
823 fn is_empty_element(&self) -> bool {
824 false
825 }
826}
827
828impl ToXml for CTEffectStyleItem {
829 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
830 #[cfg(feature = "extra-children")]
831 let mut extra_iter = self.extra_children.iter().peekable();
832 #[cfg(feature = "extra-children")]
833 let mut emit_idx: usize = 0;
834 #[cfg(feature = "extra-children")]
835 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
836 extra_iter
837 .next()
838 .unwrap()
839 .node
840 .write_to(writer)
841 .map_err(SerializeError::from)?;
842 }
843 if let Some(ref val) = self.effect_properties {
844 val.write_element("", writer)?;
845 }
846 #[cfg(feature = "extra-children")]
847 {
848 emit_idx += 1;
849 }
850 #[cfg(feature = "extra-children")]
851 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
852 extra_iter
853 .next()
854 .unwrap()
855 .node
856 .write_to(writer)
857 .map_err(SerializeError::from)?;
858 }
859 if let Some(ref val) = self.scene3d {
860 val.write_element("a:scene3d", writer)?;
861 }
862 #[cfg(feature = "extra-children")]
863 {
864 emit_idx += 1;
865 }
866 #[cfg(feature = "extra-children")]
867 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
868 extra_iter
869 .next()
870 .unwrap()
871 .node
872 .write_to(writer)
873 .map_err(SerializeError::from)?;
874 }
875 if let Some(ref val) = self.sp3d {
876 val.write_element("a:sp3d", writer)?;
877 }
878 #[cfg(feature = "extra-children")]
879 {
880 emit_idx += 1;
881 }
882 #[cfg(feature = "extra-children")]
883 for extra in extra_iter {
884 extra.node.write_to(writer).map_err(SerializeError::from)?;
885 }
886 Ok(())
887 }
888
889 fn is_empty_element(&self) -> bool {
890 false
891 }
892}
893
894impl ToXml for FontScheme {
895 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
896 #[allow(unused_mut)]
897 let mut start = start;
898 #[cfg(feature = "dml-themes")]
899 {
900 let val = &self.name;
901 start.push_attribute(("name", val.as_str()));
902 }
903 #[cfg(feature = "extra-attrs")]
904 for (key, value) in &self.extra_attrs {
905 start.push_attribute((key.as_str(), value.as_str()));
906 }
907 start
908 }
909
910 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
911 #[cfg(feature = "extra-children")]
912 let mut extra_iter = self.extra_children.iter().peekable();
913 #[cfg(feature = "extra-children")]
914 let mut emit_idx: usize = 0;
915 #[cfg(feature = "extra-children")]
916 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
917 extra_iter
918 .next()
919 .unwrap()
920 .node
921 .write_to(writer)
922 .map_err(SerializeError::from)?;
923 }
924 #[cfg(feature = "dml-themes")]
925 {
926 let val = &self.major_font;
927 val.write_element("a:majorFont", writer)?;
928 }
929 #[cfg(feature = "extra-children")]
930 {
931 emit_idx += 1;
932 }
933 #[cfg(feature = "extra-children")]
934 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
935 extra_iter
936 .next()
937 .unwrap()
938 .node
939 .write_to(writer)
940 .map_err(SerializeError::from)?;
941 }
942 #[cfg(feature = "dml-themes")]
943 {
944 let val = &self.minor_font;
945 val.write_element("a:minorFont", writer)?;
946 }
947 #[cfg(feature = "extra-children")]
948 {
949 emit_idx += 1;
950 }
951 #[cfg(feature = "extra-children")]
952 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
953 extra_iter
954 .next()
955 .unwrap()
956 .node
957 .write_to(writer)
958 .map_err(SerializeError::from)?;
959 }
960 #[cfg(feature = "dml-extensions")]
961 if let Some(ref val) = self.ext_lst {
962 val.write_element("a:extLst", writer)?;
963 }
964 #[cfg(feature = "extra-children")]
965 {
966 emit_idx += 1;
967 }
968 #[cfg(feature = "extra-children")]
969 for extra in extra_iter {
970 extra.node.write_to(writer).map_err(SerializeError::from)?;
971 }
972 Ok(())
973 }
974
975 fn is_empty_element(&self) -> bool {
976 #[cfg(feature = "dml-themes")]
977 return false;
978 #[cfg(feature = "dml-themes")]
979 return false;
980 #[cfg(feature = "dml-extensions")]
981 if self.ext_lst.is_some() {
982 return false;
983 }
984 #[cfg(feature = "extra-children")]
985 if !self.extra_children.is_empty() {
986 return false;
987 }
988 true
989 }
990}
991
992impl ToXml for CTFillStyleList {
993 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
994 #[cfg(feature = "extra-children")]
995 let mut extra_iter = self.extra_children.iter().peekable();
996 #[cfg(feature = "extra-children")]
997 let mut emit_idx: usize = 0;
998 for item in &self.fill_properties {
999 #[cfg(feature = "extra-children")]
1000 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1001 extra_iter
1002 .next()
1003 .unwrap()
1004 .node
1005 .write_to(writer)
1006 .map_err(SerializeError::from)?;
1007 }
1008 item.write_element("", writer)?;
1009 #[cfg(feature = "extra-children")]
1010 {
1011 emit_idx += 1;
1012 }
1013 }
1014 #[cfg(feature = "extra-children")]
1015 for extra in extra_iter {
1016 extra.node.write_to(writer).map_err(SerializeError::from)?;
1017 }
1018 Ok(())
1019 }
1020
1021 fn is_empty_element(&self) -> bool {
1022 if !self.fill_properties.is_empty() {
1023 return false;
1024 }
1025 #[cfg(feature = "extra-children")]
1026 if !self.extra_children.is_empty() {
1027 return false;
1028 }
1029 true
1030 }
1031}
1032
1033impl ToXml for CTLineStyleList {
1034 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1035 #[cfg(feature = "extra-children")]
1036 let mut extra_iter = self.extra_children.iter().peekable();
1037 #[cfg(feature = "extra-children")]
1038 let mut emit_idx: usize = 0;
1039 for item in &self.line {
1040 #[cfg(feature = "extra-children")]
1041 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1042 extra_iter
1043 .next()
1044 .unwrap()
1045 .node
1046 .write_to(writer)
1047 .map_err(SerializeError::from)?;
1048 }
1049 item.write_element("a:ln", writer)?;
1050 #[cfg(feature = "extra-children")]
1051 {
1052 emit_idx += 1;
1053 }
1054 }
1055 #[cfg(feature = "extra-children")]
1056 for extra in extra_iter {
1057 extra.node.write_to(writer).map_err(SerializeError::from)?;
1058 }
1059 Ok(())
1060 }
1061
1062 fn is_empty_element(&self) -> bool {
1063 if !self.line.is_empty() {
1064 return false;
1065 }
1066 #[cfg(feature = "extra-children")]
1067 if !self.extra_children.is_empty() {
1068 return false;
1069 }
1070 true
1071 }
1072}
1073
1074impl ToXml for CTEffectStyleList {
1075 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1076 #[cfg(feature = "extra-children")]
1077 let mut extra_iter = self.extra_children.iter().peekable();
1078 #[cfg(feature = "extra-children")]
1079 let mut emit_idx: usize = 0;
1080 for item in &self.effect_style {
1081 #[cfg(feature = "extra-children")]
1082 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1083 extra_iter
1084 .next()
1085 .unwrap()
1086 .node
1087 .write_to(writer)
1088 .map_err(SerializeError::from)?;
1089 }
1090 item.write_element("a:effectStyle", writer)?;
1091 #[cfg(feature = "extra-children")]
1092 {
1093 emit_idx += 1;
1094 }
1095 }
1096 #[cfg(feature = "extra-children")]
1097 for extra in extra_iter {
1098 extra.node.write_to(writer).map_err(SerializeError::from)?;
1099 }
1100 Ok(())
1101 }
1102
1103 fn is_empty_element(&self) -> bool {
1104 if !self.effect_style.is_empty() {
1105 return false;
1106 }
1107 #[cfg(feature = "extra-children")]
1108 if !self.extra_children.is_empty() {
1109 return false;
1110 }
1111 true
1112 }
1113}
1114
1115impl ToXml for CTBackgroundFillStyleList {
1116 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1117 #[cfg(feature = "extra-children")]
1118 let mut extra_iter = self.extra_children.iter().peekable();
1119 #[cfg(feature = "extra-children")]
1120 let mut emit_idx: usize = 0;
1121 for item in &self.fill_properties {
1122 #[cfg(feature = "extra-children")]
1123 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1124 extra_iter
1125 .next()
1126 .unwrap()
1127 .node
1128 .write_to(writer)
1129 .map_err(SerializeError::from)?;
1130 }
1131 item.write_element("", writer)?;
1132 #[cfg(feature = "extra-children")]
1133 {
1134 emit_idx += 1;
1135 }
1136 }
1137 #[cfg(feature = "extra-children")]
1138 for extra in extra_iter {
1139 extra.node.write_to(writer).map_err(SerializeError::from)?;
1140 }
1141 Ok(())
1142 }
1143
1144 fn is_empty_element(&self) -> bool {
1145 if !self.fill_properties.is_empty() {
1146 return false;
1147 }
1148 #[cfg(feature = "extra-children")]
1149 if !self.extra_children.is_empty() {
1150 return false;
1151 }
1152 true
1153 }
1154}
1155
1156impl ToXml for CTStyleMatrix {
1157 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1158 #[allow(unused_mut)]
1159 let mut start = start;
1160 #[cfg(feature = "dml-themes")]
1161 if let Some(ref val) = self.name {
1162 start.push_attribute(("name", val.as_str()));
1163 }
1164 #[cfg(feature = "extra-attrs")]
1165 for (key, value) in &self.extra_attrs {
1166 start.push_attribute((key.as_str(), value.as_str()));
1167 }
1168 start
1169 }
1170
1171 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1172 #[cfg(feature = "extra-children")]
1173 let mut extra_iter = self.extra_children.iter().peekable();
1174 #[cfg(feature = "extra-children")]
1175 let mut emit_idx: usize = 0;
1176 #[cfg(feature = "extra-children")]
1177 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1178 extra_iter
1179 .next()
1180 .unwrap()
1181 .node
1182 .write_to(writer)
1183 .map_err(SerializeError::from)?;
1184 }
1185 #[cfg(feature = "dml-themes")]
1186 {
1187 let val = &self.fill_style_lst;
1188 val.write_element("a:fillStyleLst", writer)?;
1189 }
1190 #[cfg(feature = "extra-children")]
1191 {
1192 emit_idx += 1;
1193 }
1194 #[cfg(feature = "extra-children")]
1195 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1196 extra_iter
1197 .next()
1198 .unwrap()
1199 .node
1200 .write_to(writer)
1201 .map_err(SerializeError::from)?;
1202 }
1203 #[cfg(feature = "dml-themes")]
1204 {
1205 let val = &self.ln_style_lst;
1206 val.write_element("a:lnStyleLst", writer)?;
1207 }
1208 #[cfg(feature = "extra-children")]
1209 {
1210 emit_idx += 1;
1211 }
1212 #[cfg(feature = "extra-children")]
1213 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1214 extra_iter
1215 .next()
1216 .unwrap()
1217 .node
1218 .write_to(writer)
1219 .map_err(SerializeError::from)?;
1220 }
1221 #[cfg(feature = "dml-themes")]
1222 {
1223 let val = &self.effect_style_lst;
1224 val.write_element("a:effectStyleLst", writer)?;
1225 }
1226 #[cfg(feature = "extra-children")]
1227 {
1228 emit_idx += 1;
1229 }
1230 #[cfg(feature = "extra-children")]
1231 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1232 extra_iter
1233 .next()
1234 .unwrap()
1235 .node
1236 .write_to(writer)
1237 .map_err(SerializeError::from)?;
1238 }
1239 #[cfg(feature = "dml-themes")]
1240 {
1241 let val = &self.bg_fill_style_lst;
1242 val.write_element("a:bgFillStyleLst", writer)?;
1243 }
1244 #[cfg(feature = "extra-children")]
1245 {
1246 emit_idx += 1;
1247 }
1248 #[cfg(feature = "extra-children")]
1249 for extra in extra_iter {
1250 extra.node.write_to(writer).map_err(SerializeError::from)?;
1251 }
1252 Ok(())
1253 }
1254
1255 fn is_empty_element(&self) -> bool {
1256 #[cfg(feature = "dml-themes")]
1257 return false;
1258 #[cfg(feature = "dml-themes")]
1259 return false;
1260 #[cfg(feature = "dml-themes")]
1261 return false;
1262 #[cfg(feature = "dml-themes")]
1263 return false;
1264 #[cfg(feature = "extra-children")]
1265 if !self.extra_children.is_empty() {
1266 return false;
1267 }
1268 true
1269 }
1270}
1271
1272impl ToXml for CTBaseStyles {
1273 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1274 #[cfg(feature = "extra-children")]
1275 let mut extra_iter = self.extra_children.iter().peekable();
1276 #[cfg(feature = "extra-children")]
1277 let mut emit_idx: usize = 0;
1278 #[cfg(feature = "extra-children")]
1279 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1280 extra_iter
1281 .next()
1282 .unwrap()
1283 .node
1284 .write_to(writer)
1285 .map_err(SerializeError::from)?;
1286 }
1287 #[cfg(feature = "dml-colors")]
1288 {
1289 let val = &self.clr_scheme;
1290 val.write_element("a:clrScheme", writer)?;
1291 }
1292 #[cfg(feature = "extra-children")]
1293 {
1294 emit_idx += 1;
1295 }
1296 #[cfg(feature = "extra-children")]
1297 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1298 extra_iter
1299 .next()
1300 .unwrap()
1301 .node
1302 .write_to(writer)
1303 .map_err(SerializeError::from)?;
1304 }
1305 #[cfg(feature = "dml-themes")]
1306 {
1307 let val = &self.font_scheme;
1308 val.write_element("a:fontScheme", writer)?;
1309 }
1310 #[cfg(feature = "extra-children")]
1311 {
1312 emit_idx += 1;
1313 }
1314 #[cfg(feature = "extra-children")]
1315 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1316 extra_iter
1317 .next()
1318 .unwrap()
1319 .node
1320 .write_to(writer)
1321 .map_err(SerializeError::from)?;
1322 }
1323 #[cfg(feature = "dml-themes")]
1324 {
1325 let val = &self.fmt_scheme;
1326 val.write_element("a:fmtScheme", writer)?;
1327 }
1328 #[cfg(feature = "extra-children")]
1329 {
1330 emit_idx += 1;
1331 }
1332 #[cfg(feature = "extra-children")]
1333 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1334 extra_iter
1335 .next()
1336 .unwrap()
1337 .node
1338 .write_to(writer)
1339 .map_err(SerializeError::from)?;
1340 }
1341 #[cfg(feature = "dml-extensions")]
1342 if let Some(ref val) = self.ext_lst {
1343 val.write_element("a:extLst", writer)?;
1344 }
1345 #[cfg(feature = "extra-children")]
1346 {
1347 emit_idx += 1;
1348 }
1349 #[cfg(feature = "extra-children")]
1350 for extra in extra_iter {
1351 extra.node.write_to(writer).map_err(SerializeError::from)?;
1352 }
1353 Ok(())
1354 }
1355
1356 fn is_empty_element(&self) -> bool {
1357 #[cfg(feature = "dml-colors")]
1358 return false;
1359 #[cfg(feature = "dml-themes")]
1360 return false;
1361 #[cfg(feature = "dml-themes")]
1362 return false;
1363 #[cfg(feature = "dml-extensions")]
1364 if self.ext_lst.is_some() {
1365 return false;
1366 }
1367 #[cfg(feature = "extra-children")]
1368 if !self.extra_children.is_empty() {
1369 return false;
1370 }
1371 true
1372 }
1373}
1374
1375impl ToXml for CTOfficeArtExtension {
1376 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1377 #[allow(unused_mut)]
1378 let mut start = start;
1379 {
1380 let val = &self.uri;
1381 start.push_attribute(("uri", val.as_str()));
1382 }
1383 #[cfg(feature = "extra-attrs")]
1384 for (key, value) in &self.extra_attrs {
1385 start.push_attribute((key.as_str(), value.as_str()));
1386 }
1387 start
1388 }
1389
1390 fn is_empty_element(&self) -> bool {
1391 true
1392 }
1393}
1394
1395impl ToXml for CTAngle {
1396 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1397 #[allow(unused_mut)]
1398 let mut start = start;
1399 {
1400 let val = &self.value;
1401 {
1402 let s = val.to_string();
1403 start.push_attribute(("val", s.as_str()));
1404 }
1405 }
1406 #[cfg(feature = "extra-attrs")]
1407 for (key, value) in &self.extra_attrs {
1408 start.push_attribute((key.as_str(), value.as_str()));
1409 }
1410 start
1411 }
1412
1413 fn is_empty_element(&self) -> bool {
1414 true
1415 }
1416}
1417
1418impl ToXml for CTPositiveFixedAngle {
1419 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1420 #[allow(unused_mut)]
1421 let mut start = start;
1422 {
1423 let val = &self.value;
1424 {
1425 let s = val.to_string();
1426 start.push_attribute(("val", s.as_str()));
1427 }
1428 }
1429 #[cfg(feature = "extra-attrs")]
1430 for (key, value) in &self.extra_attrs {
1431 start.push_attribute((key.as_str(), value.as_str()));
1432 }
1433 start
1434 }
1435
1436 fn is_empty_element(&self) -> bool {
1437 true
1438 }
1439}
1440
1441impl ToXml for CTPercentage {
1442 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1443 #[allow(unused_mut)]
1444 let mut start = start;
1445 {
1446 let val = &self.value;
1447 {
1448 let s = val.to_string();
1449 start.push_attribute(("val", s.as_str()));
1450 }
1451 }
1452 #[cfg(feature = "extra-attrs")]
1453 for (key, value) in &self.extra_attrs {
1454 start.push_attribute((key.as_str(), value.as_str()));
1455 }
1456 start
1457 }
1458
1459 fn is_empty_element(&self) -> bool {
1460 true
1461 }
1462}
1463
1464impl ToXml for PositivePercentageElement {
1465 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1466 #[allow(unused_mut)]
1467 let mut start = start;
1468 {
1469 let val = &self.value;
1470 {
1471 let s = val.to_string();
1472 start.push_attribute(("val", s.as_str()));
1473 }
1474 }
1475 #[cfg(feature = "extra-attrs")]
1476 for (key, value) in &self.extra_attrs {
1477 start.push_attribute((key.as_str(), value.as_str()));
1478 }
1479 start
1480 }
1481
1482 fn is_empty_element(&self) -> bool {
1483 true
1484 }
1485}
1486
1487impl ToXml for FixedPercentageElement {
1488 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1489 #[allow(unused_mut)]
1490 let mut start = start;
1491 {
1492 let val = &self.value;
1493 {
1494 let s = val.to_string();
1495 start.push_attribute(("val", s.as_str()));
1496 }
1497 }
1498 #[cfg(feature = "extra-attrs")]
1499 for (key, value) in &self.extra_attrs {
1500 start.push_attribute((key.as_str(), value.as_str()));
1501 }
1502 start
1503 }
1504
1505 fn is_empty_element(&self) -> bool {
1506 true
1507 }
1508}
1509
1510impl ToXml for PositiveFixedPercentageElement {
1511 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1512 #[allow(unused_mut)]
1513 let mut start = start;
1514 {
1515 let val = &self.value;
1516 {
1517 let s = val.to_string();
1518 start.push_attribute(("val", s.as_str()));
1519 }
1520 }
1521 #[cfg(feature = "extra-attrs")]
1522 for (key, value) in &self.extra_attrs {
1523 start.push_attribute((key.as_str(), value.as_str()));
1524 }
1525 start
1526 }
1527
1528 fn is_empty_element(&self) -> bool {
1529 true
1530 }
1531}
1532
1533impl ToXml for CTRatio {
1534 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1535 #[allow(unused_mut)]
1536 let mut start = start;
1537 {
1538 let val = &self.n;
1539 {
1540 let s = val.to_string();
1541 start.push_attribute(("n", s.as_str()));
1542 }
1543 }
1544 {
1545 let val = &self.d;
1546 {
1547 let s = val.to_string();
1548 start.push_attribute(("d", s.as_str()));
1549 }
1550 }
1551 #[cfg(feature = "extra-attrs")]
1552 for (key, value) in &self.extra_attrs {
1553 start.push_attribute((key.as_str(), value.as_str()));
1554 }
1555 start
1556 }
1557
1558 fn is_empty_element(&self) -> bool {
1559 true
1560 }
1561}
1562
1563impl ToXml for Point2D {
1564 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1565 #[allow(unused_mut)]
1566 let mut start = start;
1567 {
1568 let val = &self.x;
1569 {
1570 let s = val.to_string();
1571 start.push_attribute(("x", s.as_str()));
1572 }
1573 }
1574 {
1575 let val = &self.y;
1576 {
1577 let s = val.to_string();
1578 start.push_attribute(("y", s.as_str()));
1579 }
1580 }
1581 #[cfg(feature = "extra-attrs")]
1582 for (key, value) in &self.extra_attrs {
1583 start.push_attribute((key.as_str(), value.as_str()));
1584 }
1585 start
1586 }
1587
1588 fn is_empty_element(&self) -> bool {
1589 true
1590 }
1591}
1592
1593impl ToXml for PositiveSize2D {
1594 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1595 #[allow(unused_mut)]
1596 let mut start = start;
1597 {
1598 let val = &self.cx;
1599 {
1600 let s = val.to_string();
1601 start.push_attribute(("cx", s.as_str()));
1602 }
1603 }
1604 {
1605 let val = &self.cy;
1606 {
1607 let s = val.to_string();
1608 start.push_attribute(("cy", s.as_str()));
1609 }
1610 }
1611 #[cfg(feature = "extra-attrs")]
1612 for (key, value) in &self.extra_attrs {
1613 start.push_attribute((key.as_str(), value.as_str()));
1614 }
1615 start
1616 }
1617
1618 fn is_empty_element(&self) -> bool {
1619 true
1620 }
1621}
1622
1623impl ToXml for CTComplementTransform {
1624 fn is_empty_element(&self) -> bool {
1625 true
1626 }
1627}
1628
1629impl ToXml for CTInverseTransform {
1630 fn is_empty_element(&self) -> bool {
1631 true
1632 }
1633}
1634
1635impl ToXml for CTGrayscaleTransform {
1636 fn is_empty_element(&self) -> bool {
1637 true
1638 }
1639}
1640
1641impl ToXml for CTGammaTransform {
1642 fn is_empty_element(&self) -> bool {
1643 true
1644 }
1645}
1646
1647impl ToXml for CTInverseGammaTransform {
1648 fn is_empty_element(&self) -> bool {
1649 true
1650 }
1651}
1652
1653impl ToXml for EGColorTransform {
1654 fn write_element<W: Write>(
1655 &self,
1656 _tag: &str,
1657 writer: &mut Writer<W>,
1658 ) -> Result<(), SerializeError> {
1659 match self {
1660 Self::Tint(inner) => inner.write_element("a:tint", writer)?,
1661 Self::Shade(inner) => inner.write_element("a:shade", writer)?,
1662 Self::Comp(inner) => inner.write_element("a:comp", writer)?,
1663 Self::Inv(inner) => inner.write_element("a:inv", writer)?,
1664 Self::Gray(inner) => inner.write_element("a:gray", writer)?,
1665 Self::Alpha(inner) => inner.write_element("a:alpha", writer)?,
1666 Self::AlphaOff(inner) => inner.write_element("a:alphaOff", writer)?,
1667 Self::AlphaMod(inner) => inner.write_element("a:alphaMod", writer)?,
1668 Self::Hue(inner) => inner.write_element("a:hue", writer)?,
1669 Self::HueOff(inner) => inner.write_element("a:hueOff", writer)?,
1670 Self::HueMod(inner) => inner.write_element("a:hueMod", writer)?,
1671 Self::Sat(inner) => inner.write_element("a:sat", writer)?,
1672 Self::SatOff(inner) => inner.write_element("a:satOff", writer)?,
1673 Self::SatMod(inner) => inner.write_element("a:satMod", writer)?,
1674 Self::Lum(inner) => inner.write_element("a:lum", writer)?,
1675 Self::LumOff(inner) => inner.write_element("a:lumOff", writer)?,
1676 Self::LumMod(inner) => inner.write_element("a:lumMod", writer)?,
1677 Self::Red(inner) => inner.write_element("a:red", writer)?,
1678 Self::RedOff(inner) => inner.write_element("a:redOff", writer)?,
1679 Self::RedMod(inner) => inner.write_element("a:redMod", writer)?,
1680 Self::Green(inner) => inner.write_element("a:green", writer)?,
1681 Self::GreenOff(inner) => inner.write_element("a:greenOff", writer)?,
1682 Self::GreenMod(inner) => inner.write_element("a:greenMod", writer)?,
1683 Self::Blue(inner) => inner.write_element("a:blue", writer)?,
1684 Self::BlueOff(inner) => inner.write_element("a:blueOff", writer)?,
1685 Self::BlueMod(inner) => inner.write_element("a:blueMod", writer)?,
1686 Self::Gamma(inner) => inner.write_element("a:gamma", writer)?,
1687 Self::InvGamma(inner) => inner.write_element("a:invGamma", writer)?,
1688 }
1689 Ok(())
1690 }
1691}
1692
1693impl ToXml for CTScRgbColor {
1694 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1695 #[allow(unused_mut)]
1696 let mut start = start;
1697 {
1698 let val = &self.relationship_id;
1699 {
1700 let s = val.to_string();
1701 start.push_attribute(("r", s.as_str()));
1702 }
1703 }
1704 {
1705 let val = &self.g;
1706 {
1707 let s = val.to_string();
1708 start.push_attribute(("g", s.as_str()));
1709 }
1710 }
1711 {
1712 let val = &self.b;
1713 {
1714 let s = val.to_string();
1715 start.push_attribute(("b", s.as_str()));
1716 }
1717 }
1718 #[cfg(feature = "extra-attrs")]
1719 for (key, value) in &self.extra_attrs {
1720 start.push_attribute((key.as_str(), value.as_str()));
1721 }
1722 start
1723 }
1724
1725 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1726 #[cfg(feature = "extra-children")]
1727 let mut extra_iter = self.extra_children.iter().peekable();
1728 #[cfg(feature = "extra-children")]
1729 let mut emit_idx: usize = 0;
1730 for item in &self.color_transform {
1731 #[cfg(feature = "extra-children")]
1732 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1733 extra_iter
1734 .next()
1735 .unwrap()
1736 .node
1737 .write_to(writer)
1738 .map_err(SerializeError::from)?;
1739 }
1740 item.write_element("", writer)?;
1741 #[cfg(feature = "extra-children")]
1742 {
1743 emit_idx += 1;
1744 }
1745 }
1746 #[cfg(feature = "extra-children")]
1747 for extra in extra_iter {
1748 extra.node.write_to(writer).map_err(SerializeError::from)?;
1749 }
1750 Ok(())
1751 }
1752
1753 fn is_empty_element(&self) -> bool {
1754 if !self.color_transform.is_empty() {
1755 return false;
1756 }
1757 #[cfg(feature = "extra-children")]
1758 if !self.extra_children.is_empty() {
1759 return false;
1760 }
1761 true
1762 }
1763}
1764
1765impl ToXml for SrgbColor {
1766 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1767 #[allow(unused_mut)]
1768 let mut start = start;
1769 #[cfg(feature = "dml-colors")]
1770 {
1771 let val = &self.value;
1772 {
1773 let hex = encode_hex(val);
1774 start.push_attribute(("val", hex.as_str()));
1775 }
1776 }
1777 #[cfg(feature = "extra-attrs")]
1778 for (key, value) in &self.extra_attrs {
1779 start.push_attribute((key.as_str(), value.as_str()));
1780 }
1781 start
1782 }
1783
1784 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1785 #[cfg(feature = "extra-children")]
1786 let mut extra_iter = self.extra_children.iter().peekable();
1787 #[cfg(feature = "extra-children")]
1788 let mut emit_idx: usize = 0;
1789 for item in &self.color_transform {
1790 #[cfg(feature = "extra-children")]
1791 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1792 extra_iter
1793 .next()
1794 .unwrap()
1795 .node
1796 .write_to(writer)
1797 .map_err(SerializeError::from)?;
1798 }
1799 item.write_element("", writer)?;
1800 #[cfg(feature = "extra-children")]
1801 {
1802 emit_idx += 1;
1803 }
1804 }
1805 #[cfg(feature = "extra-children")]
1806 for extra in extra_iter {
1807 extra.node.write_to(writer).map_err(SerializeError::from)?;
1808 }
1809 Ok(())
1810 }
1811
1812 fn is_empty_element(&self) -> bool {
1813 if !self.color_transform.is_empty() {
1814 return false;
1815 }
1816 #[cfg(feature = "extra-children")]
1817 if !self.extra_children.is_empty() {
1818 return false;
1819 }
1820 true
1821 }
1822}
1823
1824impl ToXml for HslColor {
1825 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1826 #[allow(unused_mut)]
1827 let mut start = start;
1828 #[cfg(feature = "dml-colors")]
1829 {
1830 let val = &self.hue;
1831 {
1832 let s = val.to_string();
1833 start.push_attribute(("hue", s.as_str()));
1834 }
1835 }
1836 #[cfg(feature = "dml-colors")]
1837 {
1838 let val = &self.sat;
1839 {
1840 let s = val.to_string();
1841 start.push_attribute(("sat", s.as_str()));
1842 }
1843 }
1844 #[cfg(feature = "dml-colors")]
1845 {
1846 let val = &self.lum;
1847 {
1848 let s = val.to_string();
1849 start.push_attribute(("lum", s.as_str()));
1850 }
1851 }
1852 #[cfg(feature = "extra-attrs")]
1853 for (key, value) in &self.extra_attrs {
1854 start.push_attribute((key.as_str(), value.as_str()));
1855 }
1856 start
1857 }
1858
1859 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1860 #[cfg(feature = "extra-children")]
1861 let mut extra_iter = self.extra_children.iter().peekable();
1862 #[cfg(feature = "extra-children")]
1863 let mut emit_idx: usize = 0;
1864 for item in &self.color_transform {
1865 #[cfg(feature = "extra-children")]
1866 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1867 extra_iter
1868 .next()
1869 .unwrap()
1870 .node
1871 .write_to(writer)
1872 .map_err(SerializeError::from)?;
1873 }
1874 item.write_element("", writer)?;
1875 #[cfg(feature = "extra-children")]
1876 {
1877 emit_idx += 1;
1878 }
1879 }
1880 #[cfg(feature = "extra-children")]
1881 for extra in extra_iter {
1882 extra.node.write_to(writer).map_err(SerializeError::from)?;
1883 }
1884 Ok(())
1885 }
1886
1887 fn is_empty_element(&self) -> bool {
1888 if !self.color_transform.is_empty() {
1889 return false;
1890 }
1891 #[cfg(feature = "extra-children")]
1892 if !self.extra_children.is_empty() {
1893 return false;
1894 }
1895 true
1896 }
1897}
1898
1899impl ToXml for SystemColor {
1900 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1901 #[allow(unused_mut)]
1902 let mut start = start;
1903 {
1904 let val = &self.value;
1905 {
1906 let s = val.to_string();
1907 start.push_attribute(("val", s.as_str()));
1908 }
1909 }
1910 if let Some(ref val) = self.last_clr {
1911 {
1912 let hex = encode_hex(val);
1913 start.push_attribute(("lastClr", hex.as_str()));
1914 }
1915 }
1916 #[cfg(feature = "extra-attrs")]
1917 for (key, value) in &self.extra_attrs {
1918 start.push_attribute((key.as_str(), value.as_str()));
1919 }
1920 start
1921 }
1922
1923 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1924 #[cfg(feature = "extra-children")]
1925 let mut extra_iter = self.extra_children.iter().peekable();
1926 #[cfg(feature = "extra-children")]
1927 let mut emit_idx: usize = 0;
1928 for item in &self.color_transform {
1929 #[cfg(feature = "extra-children")]
1930 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1931 extra_iter
1932 .next()
1933 .unwrap()
1934 .node
1935 .write_to(writer)
1936 .map_err(SerializeError::from)?;
1937 }
1938 item.write_element("", writer)?;
1939 #[cfg(feature = "extra-children")]
1940 {
1941 emit_idx += 1;
1942 }
1943 }
1944 #[cfg(feature = "extra-children")]
1945 for extra in extra_iter {
1946 extra.node.write_to(writer).map_err(SerializeError::from)?;
1947 }
1948 Ok(())
1949 }
1950
1951 fn is_empty_element(&self) -> bool {
1952 if !self.color_transform.is_empty() {
1953 return false;
1954 }
1955 #[cfg(feature = "extra-children")]
1956 if !self.extra_children.is_empty() {
1957 return false;
1958 }
1959 true
1960 }
1961}
1962
1963impl ToXml for SchemeColor {
1964 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
1965 #[allow(unused_mut)]
1966 let mut start = start;
1967 #[cfg(feature = "dml-colors")]
1968 {
1969 let val = &self.value;
1970 {
1971 let s = val.to_string();
1972 start.push_attribute(("val", s.as_str()));
1973 }
1974 }
1975 #[cfg(feature = "extra-attrs")]
1976 for (key, value) in &self.extra_attrs {
1977 start.push_attribute((key.as_str(), value.as_str()));
1978 }
1979 start
1980 }
1981
1982 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
1983 #[cfg(feature = "extra-children")]
1984 let mut extra_iter = self.extra_children.iter().peekable();
1985 #[cfg(feature = "extra-children")]
1986 let mut emit_idx: usize = 0;
1987 for item in &self.color_transform {
1988 #[cfg(feature = "extra-children")]
1989 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
1990 extra_iter
1991 .next()
1992 .unwrap()
1993 .node
1994 .write_to(writer)
1995 .map_err(SerializeError::from)?;
1996 }
1997 item.write_element("", writer)?;
1998 #[cfg(feature = "extra-children")]
1999 {
2000 emit_idx += 1;
2001 }
2002 }
2003 #[cfg(feature = "extra-children")]
2004 for extra in extra_iter {
2005 extra.node.write_to(writer).map_err(SerializeError::from)?;
2006 }
2007 Ok(())
2008 }
2009
2010 fn is_empty_element(&self) -> bool {
2011 if !self.color_transform.is_empty() {
2012 return false;
2013 }
2014 #[cfg(feature = "extra-children")]
2015 if !self.extra_children.is_empty() {
2016 return false;
2017 }
2018 true
2019 }
2020}
2021
2022impl ToXml for PresetColor {
2023 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2024 #[allow(unused_mut)]
2025 let mut start = start;
2026 {
2027 let val = &self.value;
2028 {
2029 let s = val.to_string();
2030 start.push_attribute(("val", s.as_str()));
2031 }
2032 }
2033 #[cfg(feature = "extra-attrs")]
2034 for (key, value) in &self.extra_attrs {
2035 start.push_attribute((key.as_str(), value.as_str()));
2036 }
2037 start
2038 }
2039
2040 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2041 #[cfg(feature = "extra-children")]
2042 let mut extra_iter = self.extra_children.iter().peekable();
2043 #[cfg(feature = "extra-children")]
2044 let mut emit_idx: usize = 0;
2045 for item in &self.color_transform {
2046 #[cfg(feature = "extra-children")]
2047 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2048 extra_iter
2049 .next()
2050 .unwrap()
2051 .node
2052 .write_to(writer)
2053 .map_err(SerializeError::from)?;
2054 }
2055 item.write_element("", writer)?;
2056 #[cfg(feature = "extra-children")]
2057 {
2058 emit_idx += 1;
2059 }
2060 }
2061 #[cfg(feature = "extra-children")]
2062 for extra in extra_iter {
2063 extra.node.write_to(writer).map_err(SerializeError::from)?;
2064 }
2065 Ok(())
2066 }
2067
2068 fn is_empty_element(&self) -> bool {
2069 if !self.color_transform.is_empty() {
2070 return false;
2071 }
2072 #[cfg(feature = "extra-children")]
2073 if !self.extra_children.is_empty() {
2074 return false;
2075 }
2076 true
2077 }
2078}
2079
2080impl ToXml for EGOfficeArtExtensionList {
2081 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2082 #[cfg(feature = "extra-children")]
2083 let mut extra_iter = self.extra_children.iter().peekable();
2084 #[cfg(feature = "extra-children")]
2085 let mut emit_idx: usize = 0;
2086 for item in &self.extents {
2087 #[cfg(feature = "extra-children")]
2088 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2089 extra_iter
2090 .next()
2091 .unwrap()
2092 .node
2093 .write_to(writer)
2094 .map_err(SerializeError::from)?;
2095 }
2096 item.write_element("a:ext", writer)?;
2097 #[cfg(feature = "extra-children")]
2098 {
2099 emit_idx += 1;
2100 }
2101 }
2102 #[cfg(feature = "extra-children")]
2103 for extra in extra_iter {
2104 extra.node.write_to(writer).map_err(SerializeError::from)?;
2105 }
2106 Ok(())
2107 }
2108
2109 fn is_empty_element(&self) -> bool {
2110 if !self.extents.is_empty() {
2111 return false;
2112 }
2113 #[cfg(feature = "extra-children")]
2114 if !self.extra_children.is_empty() {
2115 return false;
2116 }
2117 true
2118 }
2119}
2120
2121impl ToXml for CTOfficeArtExtensionList {
2122 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2123 #[cfg(feature = "extra-children")]
2124 let mut extra_iter = self.extra_children.iter().peekable();
2125 #[cfg(feature = "extra-children")]
2126 let mut emit_idx: usize = 0;
2127 for item in &self.extents {
2128 #[cfg(feature = "extra-children")]
2129 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2130 extra_iter
2131 .next()
2132 .unwrap()
2133 .node
2134 .write_to(writer)
2135 .map_err(SerializeError::from)?;
2136 }
2137 item.write_element("a:ext", writer)?;
2138 #[cfg(feature = "extra-children")]
2139 {
2140 emit_idx += 1;
2141 }
2142 }
2143 #[cfg(feature = "extra-children")]
2144 for extra in extra_iter {
2145 extra.node.write_to(writer).map_err(SerializeError::from)?;
2146 }
2147 Ok(())
2148 }
2149
2150 fn is_empty_element(&self) -> bool {
2151 if !self.extents.is_empty() {
2152 return false;
2153 }
2154 #[cfg(feature = "extra-children")]
2155 if !self.extra_children.is_empty() {
2156 return false;
2157 }
2158 true
2159 }
2160}
2161
2162impl ToXml for CTScale2D {
2163 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2164 #[cfg(feature = "extra-children")]
2165 let mut extra_iter = self.extra_children.iter().peekable();
2166 #[cfg(feature = "extra-children")]
2167 let mut emit_idx: usize = 0;
2168 #[cfg(feature = "extra-children")]
2169 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2170 extra_iter
2171 .next()
2172 .unwrap()
2173 .node
2174 .write_to(writer)
2175 .map_err(SerializeError::from)?;
2176 }
2177 {
2178 let val = &self.sx;
2179 val.write_element("a:sx", writer)?;
2180 }
2181 #[cfg(feature = "extra-children")]
2182 {
2183 emit_idx += 1;
2184 }
2185 #[cfg(feature = "extra-children")]
2186 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2187 extra_iter
2188 .next()
2189 .unwrap()
2190 .node
2191 .write_to(writer)
2192 .map_err(SerializeError::from)?;
2193 }
2194 {
2195 let val = &self.sy;
2196 val.write_element("a:sy", writer)?;
2197 }
2198 #[cfg(feature = "extra-children")]
2199 {
2200 emit_idx += 1;
2201 }
2202 #[cfg(feature = "extra-children")]
2203 for extra in extra_iter {
2204 extra.node.write_to(writer).map_err(SerializeError::from)?;
2205 }
2206 Ok(())
2207 }
2208
2209 fn is_empty_element(&self) -> bool {
2210 false
2211 }
2212}
2213
2214impl ToXml for Transform2D {
2215 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2216 #[allow(unused_mut)]
2217 let mut start = start;
2218 if let Some(ref val) = self.rot {
2219 {
2220 let s = val.to_string();
2221 start.push_attribute(("rot", s.as_str()));
2222 }
2223 }
2224 if let Some(ref val) = self.flip_h {
2225 start.push_attribute(("flipH", if *val { "1" } else { "0" }));
2226 }
2227 if let Some(ref val) = self.flip_v {
2228 start.push_attribute(("flipV", if *val { "1" } else { "0" }));
2229 }
2230 #[cfg(feature = "extra-attrs")]
2231 for (key, value) in &self.extra_attrs {
2232 start.push_attribute((key.as_str(), value.as_str()));
2233 }
2234 start
2235 }
2236
2237 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2238 #[cfg(feature = "extra-children")]
2239 let mut extra_iter = self.extra_children.iter().peekable();
2240 #[cfg(feature = "extra-children")]
2241 let mut emit_idx: usize = 0;
2242 #[cfg(feature = "extra-children")]
2243 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2244 extra_iter
2245 .next()
2246 .unwrap()
2247 .node
2248 .write_to(writer)
2249 .map_err(SerializeError::from)?;
2250 }
2251 if let Some(ref val) = self.offset {
2252 val.write_element("a:off", writer)?;
2253 }
2254 #[cfg(feature = "extra-children")]
2255 {
2256 emit_idx += 1;
2257 }
2258 #[cfg(feature = "extra-children")]
2259 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2260 extra_iter
2261 .next()
2262 .unwrap()
2263 .node
2264 .write_to(writer)
2265 .map_err(SerializeError::from)?;
2266 }
2267 if let Some(ref val) = self.extents {
2268 val.write_element("a:ext", writer)?;
2269 }
2270 #[cfg(feature = "extra-children")]
2271 {
2272 emit_idx += 1;
2273 }
2274 #[cfg(feature = "extra-children")]
2275 for extra in extra_iter {
2276 extra.node.write_to(writer).map_err(SerializeError::from)?;
2277 }
2278 Ok(())
2279 }
2280
2281 fn is_empty_element(&self) -> bool {
2282 if self.offset.is_some() {
2283 return false;
2284 }
2285 if self.extents.is_some() {
2286 return false;
2287 }
2288 #[cfg(feature = "extra-children")]
2289 if !self.extra_children.is_empty() {
2290 return false;
2291 }
2292 true
2293 }
2294}
2295
2296impl ToXml for CTGroupTransform2D {
2297 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2298 #[allow(unused_mut)]
2299 let mut start = start;
2300 if let Some(ref val) = self.rot {
2301 {
2302 let s = val.to_string();
2303 start.push_attribute(("rot", s.as_str()));
2304 }
2305 }
2306 if let Some(ref val) = self.flip_h {
2307 start.push_attribute(("flipH", if *val { "1" } else { "0" }));
2308 }
2309 if let Some(ref val) = self.flip_v {
2310 start.push_attribute(("flipV", if *val { "1" } else { "0" }));
2311 }
2312 #[cfg(feature = "extra-attrs")]
2313 for (key, value) in &self.extra_attrs {
2314 start.push_attribute((key.as_str(), value.as_str()));
2315 }
2316 start
2317 }
2318
2319 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2320 #[cfg(feature = "extra-children")]
2321 let mut extra_iter = self.extra_children.iter().peekable();
2322 #[cfg(feature = "extra-children")]
2323 let mut emit_idx: usize = 0;
2324 #[cfg(feature = "extra-children")]
2325 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2326 extra_iter
2327 .next()
2328 .unwrap()
2329 .node
2330 .write_to(writer)
2331 .map_err(SerializeError::from)?;
2332 }
2333 if let Some(ref val) = self.offset {
2334 val.write_element("a:off", writer)?;
2335 }
2336 #[cfg(feature = "extra-children")]
2337 {
2338 emit_idx += 1;
2339 }
2340 #[cfg(feature = "extra-children")]
2341 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2342 extra_iter
2343 .next()
2344 .unwrap()
2345 .node
2346 .write_to(writer)
2347 .map_err(SerializeError::from)?;
2348 }
2349 if let Some(ref val) = self.extents {
2350 val.write_element("a:ext", writer)?;
2351 }
2352 #[cfg(feature = "extra-children")]
2353 {
2354 emit_idx += 1;
2355 }
2356 #[cfg(feature = "extra-children")]
2357 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2358 extra_iter
2359 .next()
2360 .unwrap()
2361 .node
2362 .write_to(writer)
2363 .map_err(SerializeError::from)?;
2364 }
2365 if let Some(ref val) = self.child_offset {
2366 val.write_element("a:chOff", writer)?;
2367 }
2368 #[cfg(feature = "extra-children")]
2369 {
2370 emit_idx += 1;
2371 }
2372 #[cfg(feature = "extra-children")]
2373 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2374 extra_iter
2375 .next()
2376 .unwrap()
2377 .node
2378 .write_to(writer)
2379 .map_err(SerializeError::from)?;
2380 }
2381 if let Some(ref val) = self.child_extents {
2382 val.write_element("a:chExt", writer)?;
2383 }
2384 #[cfg(feature = "extra-children")]
2385 {
2386 emit_idx += 1;
2387 }
2388 #[cfg(feature = "extra-children")]
2389 for extra in extra_iter {
2390 extra.node.write_to(writer).map_err(SerializeError::from)?;
2391 }
2392 Ok(())
2393 }
2394
2395 fn is_empty_element(&self) -> bool {
2396 if self.offset.is_some() {
2397 return false;
2398 }
2399 if self.extents.is_some() {
2400 return false;
2401 }
2402 if self.child_offset.is_some() {
2403 return false;
2404 }
2405 if self.child_extents.is_some() {
2406 return false;
2407 }
2408 #[cfg(feature = "extra-children")]
2409 if !self.extra_children.is_empty() {
2410 return false;
2411 }
2412 true
2413 }
2414}
2415
2416impl ToXml for CTPoint3D {
2417 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2418 #[allow(unused_mut)]
2419 let mut start = start;
2420 {
2421 let val = &self.x;
2422 {
2423 let s = val.to_string();
2424 start.push_attribute(("x", s.as_str()));
2425 }
2426 }
2427 {
2428 let val = &self.y;
2429 {
2430 let s = val.to_string();
2431 start.push_attribute(("y", s.as_str()));
2432 }
2433 }
2434 {
2435 let val = &self.z;
2436 {
2437 let s = val.to_string();
2438 start.push_attribute(("z", s.as_str()));
2439 }
2440 }
2441 #[cfg(feature = "extra-attrs")]
2442 for (key, value) in &self.extra_attrs {
2443 start.push_attribute((key.as_str(), value.as_str()));
2444 }
2445 start
2446 }
2447
2448 fn is_empty_element(&self) -> bool {
2449 true
2450 }
2451}
2452
2453impl ToXml for CTVector3D {
2454 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2455 #[allow(unused_mut)]
2456 let mut start = start;
2457 {
2458 let val = &self.dx;
2459 {
2460 let s = val.to_string();
2461 start.push_attribute(("dx", s.as_str()));
2462 }
2463 }
2464 {
2465 let val = &self.dy;
2466 {
2467 let s = val.to_string();
2468 start.push_attribute(("dy", s.as_str()));
2469 }
2470 }
2471 {
2472 let val = &self.dz;
2473 {
2474 let s = val.to_string();
2475 start.push_attribute(("dz", s.as_str()));
2476 }
2477 }
2478 #[cfg(feature = "extra-attrs")]
2479 for (key, value) in &self.extra_attrs {
2480 start.push_attribute((key.as_str(), value.as_str()));
2481 }
2482 start
2483 }
2484
2485 fn is_empty_element(&self) -> bool {
2486 true
2487 }
2488}
2489
2490impl ToXml for CTSphereCoords {
2491 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2492 #[allow(unused_mut)]
2493 let mut start = start;
2494 {
2495 let val = &self.lat;
2496 {
2497 let s = val.to_string();
2498 start.push_attribute(("lat", s.as_str()));
2499 }
2500 }
2501 {
2502 let val = &self.lon;
2503 {
2504 let s = val.to_string();
2505 start.push_attribute(("lon", s.as_str()));
2506 }
2507 }
2508 {
2509 let val = &self.rev;
2510 {
2511 let s = val.to_string();
2512 start.push_attribute(("rev", s.as_str()));
2513 }
2514 }
2515 #[cfg(feature = "extra-attrs")]
2516 for (key, value) in &self.extra_attrs {
2517 start.push_attribute((key.as_str(), value.as_str()));
2518 }
2519 start
2520 }
2521
2522 fn is_empty_element(&self) -> bool {
2523 true
2524 }
2525}
2526
2527impl ToXml for CTRelativeRect {
2528 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2529 #[allow(unused_mut)]
2530 let mut start = start;
2531 if let Some(ref val) = self.l {
2532 {
2533 let s = val.to_string();
2534 start.push_attribute(("l", s.as_str()));
2535 }
2536 }
2537 if let Some(ref val) = self.t {
2538 {
2539 let s = val.to_string();
2540 start.push_attribute(("t", s.as_str()));
2541 }
2542 }
2543 if let Some(ref val) = self.relationship_id {
2544 {
2545 let s = val.to_string();
2546 start.push_attribute(("r", s.as_str()));
2547 }
2548 }
2549 if let Some(ref val) = self.b {
2550 {
2551 let s = val.to_string();
2552 start.push_attribute(("b", s.as_str()));
2553 }
2554 }
2555 #[cfg(feature = "extra-attrs")]
2556 for (key, value) in &self.extra_attrs {
2557 start.push_attribute((key.as_str(), value.as_str()));
2558 }
2559 start
2560 }
2561
2562 fn is_empty_element(&self) -> bool {
2563 true
2564 }
2565}
2566
2567impl ToXml for EGColorChoice {
2568 fn write_element<W: Write>(
2569 &self,
2570 _tag: &str,
2571 writer: &mut Writer<W>,
2572 ) -> Result<(), SerializeError> {
2573 match self {
2574 Self::ScrgbClr(inner) => inner.write_element("a:scrgbClr", writer)?,
2575 Self::SrgbClr(inner) => inner.write_element("a:srgbClr", writer)?,
2576 Self::HslClr(inner) => inner.write_element("a:hslClr", writer)?,
2577 Self::SysClr(inner) => inner.write_element("a:sysClr", writer)?,
2578 Self::SchemeClr(inner) => inner.write_element("a:schemeClr", writer)?,
2579 Self::PrstClr(inner) => inner.write_element("a:prstClr", writer)?,
2580 }
2581 Ok(())
2582 }
2583}
2584
2585impl ToXml for CTColor {
2586 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2587 #[cfg(feature = "extra-children")]
2588 let mut extra_iter = self.extra_children.iter().peekable();
2589 #[cfg(feature = "extra-children")]
2590 let mut emit_idx: usize = 0;
2591 #[cfg(feature = "extra-children")]
2592 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2593 extra_iter
2594 .next()
2595 .unwrap()
2596 .node
2597 .write_to(writer)
2598 .map_err(SerializeError::from)?;
2599 }
2600 if let Some(ref val) = self.color_choice {
2601 val.write_element("", writer)?;
2602 }
2603 #[cfg(feature = "extra-children")]
2604 {
2605 emit_idx += 1;
2606 }
2607 #[cfg(feature = "extra-children")]
2608 for extra in extra_iter {
2609 extra.node.write_to(writer).map_err(SerializeError::from)?;
2610 }
2611 Ok(())
2612 }
2613
2614 fn is_empty_element(&self) -> bool {
2615 false
2616 }
2617}
2618
2619impl ToXml for CTColorMRU {
2620 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2621 #[cfg(feature = "extra-children")]
2622 let mut extra_iter = self.extra_children.iter().peekable();
2623 #[cfg(feature = "extra-children")]
2624 let mut emit_idx: usize = 0;
2625 for item in &self.color_choice {
2626 #[cfg(feature = "extra-children")]
2627 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2628 extra_iter
2629 .next()
2630 .unwrap()
2631 .node
2632 .write_to(writer)
2633 .map_err(SerializeError::from)?;
2634 }
2635 item.write_element("", writer)?;
2636 #[cfg(feature = "extra-children")]
2637 {
2638 emit_idx += 1;
2639 }
2640 }
2641 #[cfg(feature = "extra-children")]
2642 for extra in extra_iter {
2643 extra.node.write_to(writer).map_err(SerializeError::from)?;
2644 }
2645 Ok(())
2646 }
2647
2648 fn is_empty_element(&self) -> bool {
2649 if !self.color_choice.is_empty() {
2650 return false;
2651 }
2652 #[cfg(feature = "extra-children")]
2653 if !self.extra_children.is_empty() {
2654 return false;
2655 }
2656 true
2657 }
2658}
2659
2660impl ToXml for AAGBlob {
2661 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2662 #[allow(unused_mut)]
2663 let mut start = start;
2664 if let Some(ref val) = self.embed {
2665 start.push_attribute(("r:embed", val.as_str()));
2666 }
2667 if let Some(ref val) = self.link {
2668 start.push_attribute(("r:link", val.as_str()));
2669 }
2670 #[cfg(feature = "extra-attrs")]
2671 for (key, value) in &self.extra_attrs {
2672 start.push_attribute((key.as_str(), value.as_str()));
2673 }
2674 start
2675 }
2676
2677 fn is_empty_element(&self) -> bool {
2678 true
2679 }
2680}
2681
2682impl ToXml for CTEmbeddedWAVAudioFile {
2683 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2684 #[allow(unused_mut)]
2685 let mut start = start;
2686 {
2687 let val = &self.embed;
2688 start.push_attribute(("r:embed", val.as_str()));
2689 }
2690 if let Some(ref val) = self.name {
2691 start.push_attribute(("name", val.as_str()));
2692 }
2693 #[cfg(feature = "extra-attrs")]
2694 for (key, value) in &self.extra_attrs {
2695 start.push_attribute((key.as_str(), value.as_str()));
2696 }
2697 start
2698 }
2699
2700 fn is_empty_element(&self) -> bool {
2701 true
2702 }
2703}
2704
2705impl ToXml for CTHyperlink {
2706 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2707 #[allow(unused_mut)]
2708 let mut start = start;
2709 #[cfg(feature = "dml-text")]
2710 if let Some(ref val) = self.id {
2711 start.push_attribute(("r:id", val.as_str()));
2712 }
2713 #[cfg(feature = "dml-text")]
2714 if let Some(ref val) = self.invalid_url {
2715 start.push_attribute(("invalidUrl", val.as_str()));
2716 }
2717 #[cfg(feature = "dml-text")]
2718 if let Some(ref val) = self.action {
2719 start.push_attribute(("action", val.as_str()));
2720 }
2721 #[cfg(feature = "dml-text")]
2722 if let Some(ref val) = self.tgt_frame {
2723 start.push_attribute(("tgtFrame", val.as_str()));
2724 }
2725 #[cfg(feature = "dml-text")]
2726 if let Some(ref val) = self.tooltip {
2727 start.push_attribute(("tooltip", val.as_str()));
2728 }
2729 #[cfg(feature = "dml-text")]
2730 if let Some(ref val) = self.history {
2731 start.push_attribute(("history", if *val { "1" } else { "0" }));
2732 }
2733 #[cfg(feature = "dml-text")]
2734 if let Some(ref val) = self.highlight_click {
2735 start.push_attribute(("highlightClick", if *val { "1" } else { "0" }));
2736 }
2737 #[cfg(feature = "dml-text")]
2738 if let Some(ref val) = self.end_snd {
2739 start.push_attribute(("endSnd", if *val { "1" } else { "0" }));
2740 }
2741 #[cfg(feature = "extra-attrs")]
2742 for (key, value) in &self.extra_attrs {
2743 start.push_attribute((key.as_str(), value.as_str()));
2744 }
2745 start
2746 }
2747
2748 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2749 #[cfg(feature = "extra-children")]
2750 let mut extra_iter = self.extra_children.iter().peekable();
2751 #[cfg(feature = "extra-children")]
2752 let mut emit_idx: usize = 0;
2753 #[cfg(feature = "extra-children")]
2754 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2755 extra_iter
2756 .next()
2757 .unwrap()
2758 .node
2759 .write_to(writer)
2760 .map_err(SerializeError::from)?;
2761 }
2762 #[cfg(feature = "dml-text")]
2763 if let Some(ref val) = self.snd {
2764 val.write_element("a:snd", writer)?;
2765 }
2766 #[cfg(feature = "extra-children")]
2767 {
2768 emit_idx += 1;
2769 }
2770 #[cfg(feature = "extra-children")]
2771 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2772 extra_iter
2773 .next()
2774 .unwrap()
2775 .node
2776 .write_to(writer)
2777 .map_err(SerializeError::from)?;
2778 }
2779 #[cfg(feature = "dml-extensions")]
2780 if let Some(ref val) = self.ext_lst {
2781 val.write_element("a:extLst", writer)?;
2782 }
2783 #[cfg(feature = "extra-children")]
2784 {
2785 emit_idx += 1;
2786 }
2787 #[cfg(feature = "extra-children")]
2788 for extra in extra_iter {
2789 extra.node.write_to(writer).map_err(SerializeError::from)?;
2790 }
2791 Ok(())
2792 }
2793
2794 fn is_empty_element(&self) -> bool {
2795 #[cfg(feature = "dml-text")]
2796 if self.snd.is_some() {
2797 return false;
2798 }
2799 #[cfg(feature = "dml-extensions")]
2800 if self.ext_lst.is_some() {
2801 return false;
2802 }
2803 #[cfg(feature = "extra-children")]
2804 if !self.extra_children.is_empty() {
2805 return false;
2806 }
2807 true
2808 }
2809}
2810
2811impl ToXml for AAGLocking {
2812 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2813 #[allow(unused_mut)]
2814 let mut start = start;
2815 if let Some(ref val) = self.no_grp {
2816 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
2817 }
2818 if let Some(ref val) = self.no_select {
2819 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
2820 }
2821 if let Some(ref val) = self.no_rot {
2822 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
2823 }
2824 if let Some(ref val) = self.no_change_aspect {
2825 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
2826 }
2827 if let Some(ref val) = self.no_move {
2828 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
2829 }
2830 if let Some(ref val) = self.no_resize {
2831 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
2832 }
2833 if let Some(ref val) = self.no_edit_points {
2834 start.push_attribute(("noEditPoints", if *val { "1" } else { "0" }));
2835 }
2836 if let Some(ref val) = self.no_adjust_handles {
2837 start.push_attribute(("noAdjustHandles", if *val { "1" } else { "0" }));
2838 }
2839 if let Some(ref val) = self.no_change_arrowheads {
2840 start.push_attribute(("noChangeArrowheads", if *val { "1" } else { "0" }));
2841 }
2842 if let Some(ref val) = self.no_change_shape_type {
2843 start.push_attribute(("noChangeShapeType", if *val { "1" } else { "0" }));
2844 }
2845 #[cfg(feature = "extra-attrs")]
2846 for (key, value) in &self.extra_attrs {
2847 start.push_attribute((key.as_str(), value.as_str()));
2848 }
2849 start
2850 }
2851
2852 fn is_empty_element(&self) -> bool {
2853 true
2854 }
2855}
2856
2857impl ToXml for CTConnectorLocking {
2858 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2859 #[allow(unused_mut)]
2860 let mut start = start;
2861 if let Some(ref val) = self.no_grp {
2862 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
2863 }
2864 if let Some(ref val) = self.no_select {
2865 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
2866 }
2867 if let Some(ref val) = self.no_rot {
2868 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
2869 }
2870 if let Some(ref val) = self.no_change_aspect {
2871 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
2872 }
2873 if let Some(ref val) = self.no_move {
2874 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
2875 }
2876 if let Some(ref val) = self.no_resize {
2877 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
2878 }
2879 if let Some(ref val) = self.no_edit_points {
2880 start.push_attribute(("noEditPoints", if *val { "1" } else { "0" }));
2881 }
2882 if let Some(ref val) = self.no_adjust_handles {
2883 start.push_attribute(("noAdjustHandles", if *val { "1" } else { "0" }));
2884 }
2885 if let Some(ref val) = self.no_change_arrowheads {
2886 start.push_attribute(("noChangeArrowheads", if *val { "1" } else { "0" }));
2887 }
2888 if let Some(ref val) = self.no_change_shape_type {
2889 start.push_attribute(("noChangeShapeType", if *val { "1" } else { "0" }));
2890 }
2891 #[cfg(feature = "extra-attrs")]
2892 for (key, value) in &self.extra_attrs {
2893 start.push_attribute((key.as_str(), value.as_str()));
2894 }
2895 start
2896 }
2897
2898 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2899 #[cfg(feature = "extra-children")]
2900 let mut extra_iter = self.extra_children.iter().peekable();
2901 #[cfg(feature = "extra-children")]
2902 let mut emit_idx: usize = 0;
2903 #[cfg(feature = "extra-children")]
2904 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2905 extra_iter
2906 .next()
2907 .unwrap()
2908 .node
2909 .write_to(writer)
2910 .map_err(SerializeError::from)?;
2911 }
2912 if let Some(ref val) = self.ext_lst {
2913 val.write_element("a:extLst", writer)?;
2914 }
2915 #[cfg(feature = "extra-children")]
2916 {
2917 emit_idx += 1;
2918 }
2919 #[cfg(feature = "extra-children")]
2920 for extra in extra_iter {
2921 extra.node.write_to(writer).map_err(SerializeError::from)?;
2922 }
2923 Ok(())
2924 }
2925
2926 fn is_empty_element(&self) -> bool {
2927 if self.ext_lst.is_some() {
2928 return false;
2929 }
2930 #[cfg(feature = "extra-children")]
2931 if !self.extra_children.is_empty() {
2932 return false;
2933 }
2934 true
2935 }
2936}
2937
2938impl ToXml for CTShapeLocking {
2939 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
2940 #[allow(unused_mut)]
2941 let mut start = start;
2942 if let Some(ref val) = self.no_grp {
2943 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
2944 }
2945 if let Some(ref val) = self.no_select {
2946 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
2947 }
2948 if let Some(ref val) = self.no_rot {
2949 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
2950 }
2951 if let Some(ref val) = self.no_change_aspect {
2952 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
2953 }
2954 if let Some(ref val) = self.no_move {
2955 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
2956 }
2957 if let Some(ref val) = self.no_resize {
2958 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
2959 }
2960 if let Some(ref val) = self.no_edit_points {
2961 start.push_attribute(("noEditPoints", if *val { "1" } else { "0" }));
2962 }
2963 if let Some(ref val) = self.no_adjust_handles {
2964 start.push_attribute(("noAdjustHandles", if *val { "1" } else { "0" }));
2965 }
2966 if let Some(ref val) = self.no_change_arrowheads {
2967 start.push_attribute(("noChangeArrowheads", if *val { "1" } else { "0" }));
2968 }
2969 if let Some(ref val) = self.no_change_shape_type {
2970 start.push_attribute(("noChangeShapeType", if *val { "1" } else { "0" }));
2971 }
2972 if let Some(ref val) = self.no_text_edit {
2973 start.push_attribute(("noTextEdit", if *val { "1" } else { "0" }));
2974 }
2975 #[cfg(feature = "extra-attrs")]
2976 for (key, value) in &self.extra_attrs {
2977 start.push_attribute((key.as_str(), value.as_str()));
2978 }
2979 start
2980 }
2981
2982 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
2983 #[cfg(feature = "extra-children")]
2984 let mut extra_iter = self.extra_children.iter().peekable();
2985 #[cfg(feature = "extra-children")]
2986 let mut emit_idx: usize = 0;
2987 #[cfg(feature = "extra-children")]
2988 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
2989 extra_iter
2990 .next()
2991 .unwrap()
2992 .node
2993 .write_to(writer)
2994 .map_err(SerializeError::from)?;
2995 }
2996 if let Some(ref val) = self.ext_lst {
2997 val.write_element("a:extLst", writer)?;
2998 }
2999 #[cfg(feature = "extra-children")]
3000 {
3001 emit_idx += 1;
3002 }
3003 #[cfg(feature = "extra-children")]
3004 for extra in extra_iter {
3005 extra.node.write_to(writer).map_err(SerializeError::from)?;
3006 }
3007 Ok(())
3008 }
3009
3010 fn is_empty_element(&self) -> bool {
3011 if self.ext_lst.is_some() {
3012 return false;
3013 }
3014 #[cfg(feature = "extra-children")]
3015 if !self.extra_children.is_empty() {
3016 return false;
3017 }
3018 true
3019 }
3020}
3021
3022impl ToXml for CTPictureLocking {
3023 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3024 #[allow(unused_mut)]
3025 let mut start = start;
3026 if let Some(ref val) = self.no_grp {
3027 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
3028 }
3029 if let Some(ref val) = self.no_select {
3030 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
3031 }
3032 if let Some(ref val) = self.no_rot {
3033 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
3034 }
3035 if let Some(ref val) = self.no_change_aspect {
3036 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
3037 }
3038 if let Some(ref val) = self.no_move {
3039 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
3040 }
3041 if let Some(ref val) = self.no_resize {
3042 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
3043 }
3044 if let Some(ref val) = self.no_edit_points {
3045 start.push_attribute(("noEditPoints", if *val { "1" } else { "0" }));
3046 }
3047 if let Some(ref val) = self.no_adjust_handles {
3048 start.push_attribute(("noAdjustHandles", if *val { "1" } else { "0" }));
3049 }
3050 if let Some(ref val) = self.no_change_arrowheads {
3051 start.push_attribute(("noChangeArrowheads", if *val { "1" } else { "0" }));
3052 }
3053 if let Some(ref val) = self.no_change_shape_type {
3054 start.push_attribute(("noChangeShapeType", if *val { "1" } else { "0" }));
3055 }
3056 if let Some(ref val) = self.no_crop {
3057 start.push_attribute(("noCrop", if *val { "1" } else { "0" }));
3058 }
3059 #[cfg(feature = "extra-attrs")]
3060 for (key, value) in &self.extra_attrs {
3061 start.push_attribute((key.as_str(), value.as_str()));
3062 }
3063 start
3064 }
3065
3066 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3067 #[cfg(feature = "extra-children")]
3068 let mut extra_iter = self.extra_children.iter().peekable();
3069 #[cfg(feature = "extra-children")]
3070 let mut emit_idx: usize = 0;
3071 #[cfg(feature = "extra-children")]
3072 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3073 extra_iter
3074 .next()
3075 .unwrap()
3076 .node
3077 .write_to(writer)
3078 .map_err(SerializeError::from)?;
3079 }
3080 if let Some(ref val) = self.ext_lst {
3081 val.write_element("a:extLst", writer)?;
3082 }
3083 #[cfg(feature = "extra-children")]
3084 {
3085 emit_idx += 1;
3086 }
3087 #[cfg(feature = "extra-children")]
3088 for extra in extra_iter {
3089 extra.node.write_to(writer).map_err(SerializeError::from)?;
3090 }
3091 Ok(())
3092 }
3093
3094 fn is_empty_element(&self) -> bool {
3095 if self.ext_lst.is_some() {
3096 return false;
3097 }
3098 #[cfg(feature = "extra-children")]
3099 if !self.extra_children.is_empty() {
3100 return false;
3101 }
3102 true
3103 }
3104}
3105
3106impl ToXml for CTGroupLocking {
3107 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3108 #[allow(unused_mut)]
3109 let mut start = start;
3110 if let Some(ref val) = self.no_grp {
3111 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
3112 }
3113 if let Some(ref val) = self.no_ungrp {
3114 start.push_attribute(("noUngrp", if *val { "1" } else { "0" }));
3115 }
3116 if let Some(ref val) = self.no_select {
3117 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
3118 }
3119 if let Some(ref val) = self.no_rot {
3120 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
3121 }
3122 if let Some(ref val) = self.no_change_aspect {
3123 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
3124 }
3125 if let Some(ref val) = self.no_move {
3126 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
3127 }
3128 if let Some(ref val) = self.no_resize {
3129 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
3130 }
3131 #[cfg(feature = "extra-attrs")]
3132 for (key, value) in &self.extra_attrs {
3133 start.push_attribute((key.as_str(), value.as_str()));
3134 }
3135 start
3136 }
3137
3138 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3139 #[cfg(feature = "extra-children")]
3140 let mut extra_iter = self.extra_children.iter().peekable();
3141 #[cfg(feature = "extra-children")]
3142 let mut emit_idx: usize = 0;
3143 #[cfg(feature = "extra-children")]
3144 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3145 extra_iter
3146 .next()
3147 .unwrap()
3148 .node
3149 .write_to(writer)
3150 .map_err(SerializeError::from)?;
3151 }
3152 if let Some(ref val) = self.ext_lst {
3153 val.write_element("a:extLst", writer)?;
3154 }
3155 #[cfg(feature = "extra-children")]
3156 {
3157 emit_idx += 1;
3158 }
3159 #[cfg(feature = "extra-children")]
3160 for extra in extra_iter {
3161 extra.node.write_to(writer).map_err(SerializeError::from)?;
3162 }
3163 Ok(())
3164 }
3165
3166 fn is_empty_element(&self) -> bool {
3167 if self.ext_lst.is_some() {
3168 return false;
3169 }
3170 #[cfg(feature = "extra-children")]
3171 if !self.extra_children.is_empty() {
3172 return false;
3173 }
3174 true
3175 }
3176}
3177
3178impl ToXml for CTGraphicalObjectFrameLocking {
3179 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3180 #[allow(unused_mut)]
3181 let mut start = start;
3182 if let Some(ref val) = self.no_grp {
3183 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
3184 }
3185 if let Some(ref val) = self.no_drilldown {
3186 start.push_attribute(("noDrilldown", if *val { "1" } else { "0" }));
3187 }
3188 if let Some(ref val) = self.no_select {
3189 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
3190 }
3191 if let Some(ref val) = self.no_change_aspect {
3192 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
3193 }
3194 if let Some(ref val) = self.no_move {
3195 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
3196 }
3197 if let Some(ref val) = self.no_resize {
3198 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
3199 }
3200 #[cfg(feature = "extra-attrs")]
3201 for (key, value) in &self.extra_attrs {
3202 start.push_attribute((key.as_str(), value.as_str()));
3203 }
3204 start
3205 }
3206
3207 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3208 #[cfg(feature = "extra-children")]
3209 let mut extra_iter = self.extra_children.iter().peekable();
3210 #[cfg(feature = "extra-children")]
3211 let mut emit_idx: usize = 0;
3212 #[cfg(feature = "extra-children")]
3213 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3214 extra_iter
3215 .next()
3216 .unwrap()
3217 .node
3218 .write_to(writer)
3219 .map_err(SerializeError::from)?;
3220 }
3221 if let Some(ref val) = self.ext_lst {
3222 val.write_element("a:extLst", writer)?;
3223 }
3224 #[cfg(feature = "extra-children")]
3225 {
3226 emit_idx += 1;
3227 }
3228 #[cfg(feature = "extra-children")]
3229 for extra in extra_iter {
3230 extra.node.write_to(writer).map_err(SerializeError::from)?;
3231 }
3232 Ok(())
3233 }
3234
3235 fn is_empty_element(&self) -> bool {
3236 if self.ext_lst.is_some() {
3237 return false;
3238 }
3239 #[cfg(feature = "extra-children")]
3240 if !self.extra_children.is_empty() {
3241 return false;
3242 }
3243 true
3244 }
3245}
3246
3247impl ToXml for CTContentPartLocking {
3248 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3249 #[allow(unused_mut)]
3250 let mut start = start;
3251 if let Some(ref val) = self.no_grp {
3252 start.push_attribute(("noGrp", if *val { "1" } else { "0" }));
3253 }
3254 if let Some(ref val) = self.no_select {
3255 start.push_attribute(("noSelect", if *val { "1" } else { "0" }));
3256 }
3257 if let Some(ref val) = self.no_rot {
3258 start.push_attribute(("noRot", if *val { "1" } else { "0" }));
3259 }
3260 if let Some(ref val) = self.no_change_aspect {
3261 start.push_attribute(("noChangeAspect", if *val { "1" } else { "0" }));
3262 }
3263 if let Some(ref val) = self.no_move {
3264 start.push_attribute(("noMove", if *val { "1" } else { "0" }));
3265 }
3266 if let Some(ref val) = self.no_resize {
3267 start.push_attribute(("noResize", if *val { "1" } else { "0" }));
3268 }
3269 if let Some(ref val) = self.no_edit_points {
3270 start.push_attribute(("noEditPoints", if *val { "1" } else { "0" }));
3271 }
3272 if let Some(ref val) = self.no_adjust_handles {
3273 start.push_attribute(("noAdjustHandles", if *val { "1" } else { "0" }));
3274 }
3275 if let Some(ref val) = self.no_change_arrowheads {
3276 start.push_attribute(("noChangeArrowheads", if *val { "1" } else { "0" }));
3277 }
3278 if let Some(ref val) = self.no_change_shape_type {
3279 start.push_attribute(("noChangeShapeType", if *val { "1" } else { "0" }));
3280 }
3281 #[cfg(feature = "extra-attrs")]
3282 for (key, value) in &self.extra_attrs {
3283 start.push_attribute((key.as_str(), value.as_str()));
3284 }
3285 start
3286 }
3287
3288 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3289 #[cfg(feature = "extra-children")]
3290 let mut extra_iter = self.extra_children.iter().peekable();
3291 #[cfg(feature = "extra-children")]
3292 let mut emit_idx: usize = 0;
3293 #[cfg(feature = "extra-children")]
3294 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3295 extra_iter
3296 .next()
3297 .unwrap()
3298 .node
3299 .write_to(writer)
3300 .map_err(SerializeError::from)?;
3301 }
3302 if let Some(ref val) = self.ext_lst {
3303 val.write_element("a:extLst", writer)?;
3304 }
3305 #[cfg(feature = "extra-children")]
3306 {
3307 emit_idx += 1;
3308 }
3309 #[cfg(feature = "extra-children")]
3310 for extra in extra_iter {
3311 extra.node.write_to(writer).map_err(SerializeError::from)?;
3312 }
3313 Ok(())
3314 }
3315
3316 fn is_empty_element(&self) -> bool {
3317 if self.ext_lst.is_some() {
3318 return false;
3319 }
3320 #[cfg(feature = "extra-children")]
3321 if !self.extra_children.is_empty() {
3322 return false;
3323 }
3324 true
3325 }
3326}
3327
3328impl ToXml for CTNonVisualDrawingProps {
3329 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3330 #[allow(unused_mut)]
3331 let mut start = start;
3332 {
3333 let val = &self.id;
3334 {
3335 let s = val.to_string();
3336 start.push_attribute(("id", s.as_str()));
3337 }
3338 }
3339 {
3340 let val = &self.name;
3341 start.push_attribute(("name", val.as_str()));
3342 }
3343 if let Some(ref val) = self.descr {
3344 start.push_attribute(("descr", val.as_str()));
3345 }
3346 if let Some(ref val) = self.hidden {
3347 start.push_attribute(("hidden", if *val { "1" } else { "0" }));
3348 }
3349 if let Some(ref val) = self.title {
3350 start.push_attribute(("title", val.as_str()));
3351 }
3352 #[cfg(feature = "extra-attrs")]
3353 for (key, value) in &self.extra_attrs {
3354 start.push_attribute((key.as_str(), value.as_str()));
3355 }
3356 start
3357 }
3358
3359 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3360 #[cfg(feature = "extra-children")]
3361 let mut extra_iter = self.extra_children.iter().peekable();
3362 #[cfg(feature = "extra-children")]
3363 let mut emit_idx: usize = 0;
3364 #[cfg(feature = "extra-children")]
3365 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3366 extra_iter
3367 .next()
3368 .unwrap()
3369 .node
3370 .write_to(writer)
3371 .map_err(SerializeError::from)?;
3372 }
3373 #[cfg(feature = "dml-text")]
3374 if let Some(ref val) = self.hlink_click {
3375 val.write_element("a:hlinkClick", writer)?;
3376 }
3377 #[cfg(feature = "extra-children")]
3378 {
3379 emit_idx += 1;
3380 }
3381 #[cfg(feature = "extra-children")]
3382 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3383 extra_iter
3384 .next()
3385 .unwrap()
3386 .node
3387 .write_to(writer)
3388 .map_err(SerializeError::from)?;
3389 }
3390 #[cfg(feature = "dml-text")]
3391 if let Some(ref val) = self.hlink_hover {
3392 val.write_element("a:hlinkHover", writer)?;
3393 }
3394 #[cfg(feature = "extra-children")]
3395 {
3396 emit_idx += 1;
3397 }
3398 #[cfg(feature = "extra-children")]
3399 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3400 extra_iter
3401 .next()
3402 .unwrap()
3403 .node
3404 .write_to(writer)
3405 .map_err(SerializeError::from)?;
3406 }
3407 #[cfg(feature = "dml-extensions")]
3408 if let Some(ref val) = self.ext_lst {
3409 val.write_element("a:extLst", writer)?;
3410 }
3411 #[cfg(feature = "extra-children")]
3412 {
3413 emit_idx += 1;
3414 }
3415 #[cfg(feature = "extra-children")]
3416 for extra in extra_iter {
3417 extra.node.write_to(writer).map_err(SerializeError::from)?;
3418 }
3419 Ok(())
3420 }
3421
3422 fn is_empty_element(&self) -> bool {
3423 #[cfg(feature = "dml-text")]
3424 if self.hlink_click.is_some() {
3425 return false;
3426 }
3427 #[cfg(feature = "dml-text")]
3428 if self.hlink_hover.is_some() {
3429 return false;
3430 }
3431 #[cfg(feature = "dml-extensions")]
3432 if self.ext_lst.is_some() {
3433 return false;
3434 }
3435 #[cfg(feature = "extra-children")]
3436 if !self.extra_children.is_empty() {
3437 return false;
3438 }
3439 true
3440 }
3441}
3442
3443impl ToXml for CTNonVisualDrawingShapeProps {
3444 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3445 #[allow(unused_mut)]
3446 let mut start = start;
3447 if let Some(ref val) = self.tx_box {
3448 start.push_attribute(("txBox", if *val { "1" } else { "0" }));
3449 }
3450 #[cfg(feature = "extra-attrs")]
3451 for (key, value) in &self.extra_attrs {
3452 start.push_attribute((key.as_str(), value.as_str()));
3453 }
3454 start
3455 }
3456
3457 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3458 #[cfg(feature = "extra-children")]
3459 let mut extra_iter = self.extra_children.iter().peekable();
3460 #[cfg(feature = "extra-children")]
3461 let mut emit_idx: usize = 0;
3462 #[cfg(feature = "extra-children")]
3463 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3464 extra_iter
3465 .next()
3466 .unwrap()
3467 .node
3468 .write_to(writer)
3469 .map_err(SerializeError::from)?;
3470 }
3471 if let Some(ref val) = self.sp_locks {
3472 val.write_element("a:spLocks", writer)?;
3473 }
3474 #[cfg(feature = "extra-children")]
3475 {
3476 emit_idx += 1;
3477 }
3478 #[cfg(feature = "extra-children")]
3479 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3480 extra_iter
3481 .next()
3482 .unwrap()
3483 .node
3484 .write_to(writer)
3485 .map_err(SerializeError::from)?;
3486 }
3487 if let Some(ref val) = self.ext_lst {
3488 val.write_element("a:extLst", writer)?;
3489 }
3490 #[cfg(feature = "extra-children")]
3491 {
3492 emit_idx += 1;
3493 }
3494 #[cfg(feature = "extra-children")]
3495 for extra in extra_iter {
3496 extra.node.write_to(writer).map_err(SerializeError::from)?;
3497 }
3498 Ok(())
3499 }
3500
3501 fn is_empty_element(&self) -> bool {
3502 if self.sp_locks.is_some() {
3503 return false;
3504 }
3505 if self.ext_lst.is_some() {
3506 return false;
3507 }
3508 #[cfg(feature = "extra-children")]
3509 if !self.extra_children.is_empty() {
3510 return false;
3511 }
3512 true
3513 }
3514}
3515
3516impl ToXml for CTNonVisualConnectorProperties {
3517 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3518 #[cfg(feature = "extra-children")]
3519 let mut extra_iter = self.extra_children.iter().peekable();
3520 #[cfg(feature = "extra-children")]
3521 let mut emit_idx: usize = 0;
3522 #[cfg(feature = "extra-children")]
3523 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3524 extra_iter
3525 .next()
3526 .unwrap()
3527 .node
3528 .write_to(writer)
3529 .map_err(SerializeError::from)?;
3530 }
3531 #[cfg(feature = "dml-shapes")]
3532 if let Some(ref val) = self.cxn_sp_locks {
3533 val.write_element("a:cxnSpLocks", writer)?;
3534 }
3535 #[cfg(feature = "extra-children")]
3536 {
3537 emit_idx += 1;
3538 }
3539 #[cfg(feature = "extra-children")]
3540 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3541 extra_iter
3542 .next()
3543 .unwrap()
3544 .node
3545 .write_to(writer)
3546 .map_err(SerializeError::from)?;
3547 }
3548 #[cfg(feature = "dml-shapes")]
3549 if let Some(ref val) = self.st_cxn {
3550 val.write_element("a:stCxn", writer)?;
3551 }
3552 #[cfg(feature = "extra-children")]
3553 {
3554 emit_idx += 1;
3555 }
3556 #[cfg(feature = "extra-children")]
3557 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3558 extra_iter
3559 .next()
3560 .unwrap()
3561 .node
3562 .write_to(writer)
3563 .map_err(SerializeError::from)?;
3564 }
3565 #[cfg(feature = "dml-shapes")]
3566 if let Some(ref val) = self.end_cxn {
3567 val.write_element("a:endCxn", writer)?;
3568 }
3569 #[cfg(feature = "extra-children")]
3570 {
3571 emit_idx += 1;
3572 }
3573 #[cfg(feature = "extra-children")]
3574 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3575 extra_iter
3576 .next()
3577 .unwrap()
3578 .node
3579 .write_to(writer)
3580 .map_err(SerializeError::from)?;
3581 }
3582 #[cfg(feature = "dml-extensions")]
3583 if let Some(ref val) = self.ext_lst {
3584 val.write_element("a:extLst", writer)?;
3585 }
3586 #[cfg(feature = "extra-children")]
3587 {
3588 emit_idx += 1;
3589 }
3590 #[cfg(feature = "extra-children")]
3591 for extra in extra_iter {
3592 extra.node.write_to(writer).map_err(SerializeError::from)?;
3593 }
3594 Ok(())
3595 }
3596
3597 fn is_empty_element(&self) -> bool {
3598 #[cfg(feature = "dml-shapes")]
3599 if self.cxn_sp_locks.is_some() {
3600 return false;
3601 }
3602 #[cfg(feature = "dml-shapes")]
3603 if self.st_cxn.is_some() {
3604 return false;
3605 }
3606 #[cfg(feature = "dml-shapes")]
3607 if self.end_cxn.is_some() {
3608 return false;
3609 }
3610 #[cfg(feature = "dml-extensions")]
3611 if self.ext_lst.is_some() {
3612 return false;
3613 }
3614 #[cfg(feature = "extra-children")]
3615 if !self.extra_children.is_empty() {
3616 return false;
3617 }
3618 true
3619 }
3620}
3621
3622impl ToXml for CTNonVisualPictureProperties {
3623 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3624 #[allow(unused_mut)]
3625 let mut start = start;
3626 #[cfg(feature = "dml-shapes")]
3627 if let Some(ref val) = self.prefer_relative_resize {
3628 start.push_attribute(("preferRelativeResize", if *val { "1" } else { "0" }));
3629 }
3630 #[cfg(feature = "extra-attrs")]
3631 for (key, value) in &self.extra_attrs {
3632 start.push_attribute((key.as_str(), value.as_str()));
3633 }
3634 start
3635 }
3636
3637 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3638 #[cfg(feature = "extra-children")]
3639 let mut extra_iter = self.extra_children.iter().peekable();
3640 #[cfg(feature = "extra-children")]
3641 let mut emit_idx: usize = 0;
3642 #[cfg(feature = "extra-children")]
3643 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3644 extra_iter
3645 .next()
3646 .unwrap()
3647 .node
3648 .write_to(writer)
3649 .map_err(SerializeError::from)?;
3650 }
3651 #[cfg(feature = "dml-shapes")]
3652 if let Some(ref val) = self.pic_locks {
3653 val.write_element("a:picLocks", writer)?;
3654 }
3655 #[cfg(feature = "extra-children")]
3656 {
3657 emit_idx += 1;
3658 }
3659 #[cfg(feature = "extra-children")]
3660 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3661 extra_iter
3662 .next()
3663 .unwrap()
3664 .node
3665 .write_to(writer)
3666 .map_err(SerializeError::from)?;
3667 }
3668 #[cfg(feature = "dml-extensions")]
3669 if let Some(ref val) = self.ext_lst {
3670 val.write_element("a:extLst", writer)?;
3671 }
3672 #[cfg(feature = "extra-children")]
3673 {
3674 emit_idx += 1;
3675 }
3676 #[cfg(feature = "extra-children")]
3677 for extra in extra_iter {
3678 extra.node.write_to(writer).map_err(SerializeError::from)?;
3679 }
3680 Ok(())
3681 }
3682
3683 fn is_empty_element(&self) -> bool {
3684 #[cfg(feature = "dml-shapes")]
3685 if self.pic_locks.is_some() {
3686 return false;
3687 }
3688 #[cfg(feature = "dml-extensions")]
3689 if self.ext_lst.is_some() {
3690 return false;
3691 }
3692 #[cfg(feature = "extra-children")]
3693 if !self.extra_children.is_empty() {
3694 return false;
3695 }
3696 true
3697 }
3698}
3699
3700impl ToXml for CTNonVisualGroupDrawingShapeProps {
3701 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3702 #[cfg(feature = "extra-children")]
3703 let mut extra_iter = self.extra_children.iter().peekable();
3704 #[cfg(feature = "extra-children")]
3705 let mut emit_idx: usize = 0;
3706 #[cfg(feature = "extra-children")]
3707 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3708 extra_iter
3709 .next()
3710 .unwrap()
3711 .node
3712 .write_to(writer)
3713 .map_err(SerializeError::from)?;
3714 }
3715 #[cfg(feature = "dml-shapes")]
3716 if let Some(ref val) = self.grp_sp_locks {
3717 val.write_element("a:grpSpLocks", writer)?;
3718 }
3719 #[cfg(feature = "extra-children")]
3720 {
3721 emit_idx += 1;
3722 }
3723 #[cfg(feature = "extra-children")]
3724 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3725 extra_iter
3726 .next()
3727 .unwrap()
3728 .node
3729 .write_to(writer)
3730 .map_err(SerializeError::from)?;
3731 }
3732 #[cfg(feature = "dml-extensions")]
3733 if let Some(ref val) = self.ext_lst {
3734 val.write_element("a:extLst", writer)?;
3735 }
3736 #[cfg(feature = "extra-children")]
3737 {
3738 emit_idx += 1;
3739 }
3740 #[cfg(feature = "extra-children")]
3741 for extra in extra_iter {
3742 extra.node.write_to(writer).map_err(SerializeError::from)?;
3743 }
3744 Ok(())
3745 }
3746
3747 fn is_empty_element(&self) -> bool {
3748 #[cfg(feature = "dml-shapes")]
3749 if self.grp_sp_locks.is_some() {
3750 return false;
3751 }
3752 #[cfg(feature = "dml-extensions")]
3753 if self.ext_lst.is_some() {
3754 return false;
3755 }
3756 #[cfg(feature = "extra-children")]
3757 if !self.extra_children.is_empty() {
3758 return false;
3759 }
3760 true
3761 }
3762}
3763
3764impl ToXml for CTNonVisualGraphicFrameProperties {
3765 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3766 #[cfg(feature = "extra-children")]
3767 let mut extra_iter = self.extra_children.iter().peekable();
3768 #[cfg(feature = "extra-children")]
3769 let mut emit_idx: usize = 0;
3770 #[cfg(feature = "extra-children")]
3771 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3772 extra_iter
3773 .next()
3774 .unwrap()
3775 .node
3776 .write_to(writer)
3777 .map_err(SerializeError::from)?;
3778 }
3779 #[cfg(feature = "dml-shapes")]
3780 if let Some(ref val) = self.graphic_frame_locks {
3781 val.write_element("a:graphicFrameLocks", writer)?;
3782 }
3783 #[cfg(feature = "extra-children")]
3784 {
3785 emit_idx += 1;
3786 }
3787 #[cfg(feature = "extra-children")]
3788 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3789 extra_iter
3790 .next()
3791 .unwrap()
3792 .node
3793 .write_to(writer)
3794 .map_err(SerializeError::from)?;
3795 }
3796 #[cfg(feature = "dml-extensions")]
3797 if let Some(ref val) = self.ext_lst {
3798 val.write_element("a:extLst", writer)?;
3799 }
3800 #[cfg(feature = "extra-children")]
3801 {
3802 emit_idx += 1;
3803 }
3804 #[cfg(feature = "extra-children")]
3805 for extra in extra_iter {
3806 extra.node.write_to(writer).map_err(SerializeError::from)?;
3807 }
3808 Ok(())
3809 }
3810
3811 fn is_empty_element(&self) -> bool {
3812 #[cfg(feature = "dml-shapes")]
3813 if self.graphic_frame_locks.is_some() {
3814 return false;
3815 }
3816 #[cfg(feature = "dml-extensions")]
3817 if self.ext_lst.is_some() {
3818 return false;
3819 }
3820 #[cfg(feature = "extra-children")]
3821 if !self.extra_children.is_empty() {
3822 return false;
3823 }
3824 true
3825 }
3826}
3827
3828impl ToXml for CTNonVisualContentPartProperties {
3829 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3830 #[allow(unused_mut)]
3831 let mut start = start;
3832 if let Some(ref val) = self.is_comment {
3833 start.push_attribute(("isComment", if *val { "1" } else { "0" }));
3834 }
3835 #[cfg(feature = "extra-attrs")]
3836 for (key, value) in &self.extra_attrs {
3837 start.push_attribute((key.as_str(), value.as_str()));
3838 }
3839 start
3840 }
3841
3842 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3843 #[cfg(feature = "extra-children")]
3844 let mut extra_iter = self.extra_children.iter().peekable();
3845 #[cfg(feature = "extra-children")]
3846 let mut emit_idx: usize = 0;
3847 #[cfg(feature = "extra-children")]
3848 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3849 extra_iter
3850 .next()
3851 .unwrap()
3852 .node
3853 .write_to(writer)
3854 .map_err(SerializeError::from)?;
3855 }
3856 if let Some(ref val) = self.cp_locks {
3857 val.write_element("a:cpLocks", writer)?;
3858 }
3859 #[cfg(feature = "extra-children")]
3860 {
3861 emit_idx += 1;
3862 }
3863 #[cfg(feature = "extra-children")]
3864 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3865 extra_iter
3866 .next()
3867 .unwrap()
3868 .node
3869 .write_to(writer)
3870 .map_err(SerializeError::from)?;
3871 }
3872 if let Some(ref val) = self.ext_lst {
3873 val.write_element("a:extLst", writer)?;
3874 }
3875 #[cfg(feature = "extra-children")]
3876 {
3877 emit_idx += 1;
3878 }
3879 #[cfg(feature = "extra-children")]
3880 for extra in extra_iter {
3881 extra.node.write_to(writer).map_err(SerializeError::from)?;
3882 }
3883 Ok(())
3884 }
3885
3886 fn is_empty_element(&self) -> bool {
3887 if self.cp_locks.is_some() {
3888 return false;
3889 }
3890 if self.ext_lst.is_some() {
3891 return false;
3892 }
3893 #[cfg(feature = "extra-children")]
3894 if !self.extra_children.is_empty() {
3895 return false;
3896 }
3897 true
3898 }
3899}
3900
3901impl ToXml for CTGraphicalObjectData {
3902 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3903 #[allow(unused_mut)]
3904 let mut start = start;
3905 {
3906 let val = &self.uri;
3907 start.push_attribute(("uri", val.as_str()));
3908 }
3909 #[cfg(feature = "extra-attrs")]
3910 for (key, value) in &self.extra_attrs {
3911 start.push_attribute((key.as_str(), value.as_str()));
3912 }
3913 start
3914 }
3915
3916 fn is_empty_element(&self) -> bool {
3917 true
3918 }
3919}
3920
3921impl ToXml for CTAnimationDgmElement {
3922 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3923 #[allow(unused_mut)]
3924 let mut start = start;
3925 if let Some(ref val) = self.id {
3926 start.push_attribute(("id", val.as_str()));
3927 }
3928 if let Some(ref val) = self.bld_step {
3929 {
3930 let s = val.to_string();
3931 start.push_attribute(("bldStep", s.as_str()));
3932 }
3933 }
3934 #[cfg(feature = "extra-attrs")]
3935 for (key, value) in &self.extra_attrs {
3936 start.push_attribute((key.as_str(), value.as_str()));
3937 }
3938 start
3939 }
3940
3941 fn is_empty_element(&self) -> bool {
3942 true
3943 }
3944}
3945
3946impl ToXml for CTAnimationChartElement {
3947 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
3948 #[allow(unused_mut)]
3949 let mut start = start;
3950 if let Some(ref val) = self.series_idx {
3951 {
3952 let s = val.to_string();
3953 start.push_attribute(("seriesIdx", s.as_str()));
3954 }
3955 }
3956 if let Some(ref val) = self.category_idx {
3957 {
3958 let s = val.to_string();
3959 start.push_attribute(("categoryIdx", s.as_str()));
3960 }
3961 }
3962 {
3963 let val = &self.bld_step;
3964 {
3965 let s = val.to_string();
3966 start.push_attribute(("bldStep", s.as_str()));
3967 }
3968 }
3969 #[cfg(feature = "extra-attrs")]
3970 for (key, value) in &self.extra_attrs {
3971 start.push_attribute((key.as_str(), value.as_str()));
3972 }
3973 start
3974 }
3975
3976 fn is_empty_element(&self) -> bool {
3977 true
3978 }
3979}
3980
3981impl ToXml for CTAnimationElementChoice {
3982 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
3983 #[cfg(feature = "extra-children")]
3984 let mut extra_iter = self.extra_children.iter().peekable();
3985 #[cfg(feature = "extra-children")]
3986 let mut emit_idx: usize = 0;
3987 #[cfg(feature = "extra-children")]
3988 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
3989 extra_iter
3990 .next()
3991 .unwrap()
3992 .node
3993 .write_to(writer)
3994 .map_err(SerializeError::from)?;
3995 }
3996 if let Some(ref val) = self.dgm {
3997 val.write_element("a:dgm", writer)?;
3998 }
3999 #[cfg(feature = "extra-children")]
4000 {
4001 emit_idx += 1;
4002 }
4003 #[cfg(feature = "extra-children")]
4004 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4005 extra_iter
4006 .next()
4007 .unwrap()
4008 .node
4009 .write_to(writer)
4010 .map_err(SerializeError::from)?;
4011 }
4012 if let Some(ref val) = self.chart {
4013 val.write_element("a:chart", writer)?;
4014 }
4015 #[cfg(feature = "extra-children")]
4016 {
4017 emit_idx += 1;
4018 }
4019 #[cfg(feature = "extra-children")]
4020 for extra in extra_iter {
4021 extra.node.write_to(writer).map_err(SerializeError::from)?;
4022 }
4023 Ok(())
4024 }
4025
4026 fn is_empty_element(&self) -> bool {
4027 if self.dgm.is_some() {
4028 return false;
4029 }
4030 if self.chart.is_some() {
4031 return false;
4032 }
4033 #[cfg(feature = "extra-children")]
4034 if !self.extra_children.is_empty() {
4035 return false;
4036 }
4037 true
4038 }
4039}
4040
4041impl ToXml for CTAnimationDgmBuildProperties {
4042 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
4043 #[allow(unused_mut)]
4044 let mut start = start;
4045 if let Some(ref val) = self.bld {
4046 {
4047 let s = val.to_string();
4048 start.push_attribute(("bld", s.as_str()));
4049 }
4050 }
4051 if let Some(ref val) = self.rev {
4052 start.push_attribute(("rev", if *val { "1" } else { "0" }));
4053 }
4054 #[cfg(feature = "extra-attrs")]
4055 for (key, value) in &self.extra_attrs {
4056 start.push_attribute((key.as_str(), value.as_str()));
4057 }
4058 start
4059 }
4060
4061 fn is_empty_element(&self) -> bool {
4062 true
4063 }
4064}
4065
4066impl ToXml for CTAnimationChartBuildProperties {
4067 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
4068 #[allow(unused_mut)]
4069 let mut start = start;
4070 if let Some(ref val) = self.bld {
4071 {
4072 let s = val.to_string();
4073 start.push_attribute(("bld", s.as_str()));
4074 }
4075 }
4076 if let Some(ref val) = self.anim_bg {
4077 start.push_attribute(("animBg", if *val { "1" } else { "0" }));
4078 }
4079 #[cfg(feature = "extra-attrs")]
4080 for (key, value) in &self.extra_attrs {
4081 start.push_attribute((key.as_str(), value.as_str()));
4082 }
4083 start
4084 }
4085
4086 fn is_empty_element(&self) -> bool {
4087 true
4088 }
4089}
4090
4091impl ToXml for CTAnimationGraphicalObjectBuildProperties {
4092 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4093 #[cfg(feature = "extra-children")]
4094 let mut extra_iter = self.extra_children.iter().peekable();
4095 #[cfg(feature = "extra-children")]
4096 let mut emit_idx: usize = 0;
4097 #[cfg(feature = "extra-children")]
4098 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4099 extra_iter
4100 .next()
4101 .unwrap()
4102 .node
4103 .write_to(writer)
4104 .map_err(SerializeError::from)?;
4105 }
4106 if let Some(ref val) = self.bld_dgm {
4107 val.write_element("a:bldDgm", writer)?;
4108 }
4109 #[cfg(feature = "extra-children")]
4110 {
4111 emit_idx += 1;
4112 }
4113 #[cfg(feature = "extra-children")]
4114 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4115 extra_iter
4116 .next()
4117 .unwrap()
4118 .node
4119 .write_to(writer)
4120 .map_err(SerializeError::from)?;
4121 }
4122 if let Some(ref val) = self.bld_chart {
4123 val.write_element("a:bldChart", writer)?;
4124 }
4125 #[cfg(feature = "extra-children")]
4126 {
4127 emit_idx += 1;
4128 }
4129 #[cfg(feature = "extra-children")]
4130 for extra in extra_iter {
4131 extra.node.write_to(writer).map_err(SerializeError::from)?;
4132 }
4133 Ok(())
4134 }
4135
4136 fn is_empty_element(&self) -> bool {
4137 if self.bld_dgm.is_some() {
4138 return false;
4139 }
4140 if self.bld_chart.is_some() {
4141 return false;
4142 }
4143 #[cfg(feature = "extra-children")]
4144 if !self.extra_children.is_empty() {
4145 return false;
4146 }
4147 true
4148 }
4149}
4150
4151impl ToXml for CTBackgroundFormatting {
4152 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4153 #[cfg(feature = "extra-children")]
4154 let mut extra_iter = self.extra_children.iter().peekable();
4155 #[cfg(feature = "extra-children")]
4156 let mut emit_idx: usize = 0;
4157 #[cfg(feature = "extra-children")]
4158 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4159 extra_iter
4160 .next()
4161 .unwrap()
4162 .node
4163 .write_to(writer)
4164 .map_err(SerializeError::from)?;
4165 }
4166 if let Some(ref val) = self.fill_properties {
4167 val.write_element("", writer)?;
4168 }
4169 #[cfg(feature = "extra-children")]
4170 {
4171 emit_idx += 1;
4172 }
4173 #[cfg(feature = "extra-children")]
4174 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4175 extra_iter
4176 .next()
4177 .unwrap()
4178 .node
4179 .write_to(writer)
4180 .map_err(SerializeError::from)?;
4181 }
4182 if let Some(ref val) = self.effect_properties {
4183 val.write_element("", writer)?;
4184 }
4185 #[cfg(feature = "extra-children")]
4186 {
4187 emit_idx += 1;
4188 }
4189 #[cfg(feature = "extra-children")]
4190 for extra in extra_iter {
4191 extra.node.write_to(writer).map_err(SerializeError::from)?;
4192 }
4193 Ok(())
4194 }
4195
4196 fn is_empty_element(&self) -> bool {
4197 if self.fill_properties.is_some() {
4198 return false;
4199 }
4200 if self.effect_properties.is_some() {
4201 return false;
4202 }
4203 #[cfg(feature = "extra-children")]
4204 if !self.extra_children.is_empty() {
4205 return false;
4206 }
4207 true
4208 }
4209}
4210
4211impl ToXml for CTWholeE2oFormatting {
4212 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4213 #[cfg(feature = "extra-children")]
4214 let mut extra_iter = self.extra_children.iter().peekable();
4215 #[cfg(feature = "extra-children")]
4216 let mut emit_idx: usize = 0;
4217 #[cfg(feature = "extra-children")]
4218 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4219 extra_iter
4220 .next()
4221 .unwrap()
4222 .node
4223 .write_to(writer)
4224 .map_err(SerializeError::from)?;
4225 }
4226 if let Some(ref val) = self.line {
4227 val.write_element("a:ln", writer)?;
4228 }
4229 #[cfg(feature = "extra-children")]
4230 {
4231 emit_idx += 1;
4232 }
4233 #[cfg(feature = "extra-children")]
4234 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4235 extra_iter
4236 .next()
4237 .unwrap()
4238 .node
4239 .write_to(writer)
4240 .map_err(SerializeError::from)?;
4241 }
4242 if let Some(ref val) = self.effect_properties {
4243 val.write_element("", writer)?;
4244 }
4245 #[cfg(feature = "extra-children")]
4246 {
4247 emit_idx += 1;
4248 }
4249 #[cfg(feature = "extra-children")]
4250 for extra in extra_iter {
4251 extra.node.write_to(writer).map_err(SerializeError::from)?;
4252 }
4253 Ok(())
4254 }
4255
4256 fn is_empty_element(&self) -> bool {
4257 if self.line.is_some() {
4258 return false;
4259 }
4260 if self.effect_properties.is_some() {
4261 return false;
4262 }
4263 #[cfg(feature = "extra-children")]
4264 if !self.extra_children.is_empty() {
4265 return false;
4266 }
4267 true
4268 }
4269}
4270
4271impl ToXml for CTGvmlUseShapeRectangle {
4272 fn is_empty_element(&self) -> bool {
4273 true
4274 }
4275}
4276
4277impl ToXml for CTGvmlTextShape {
4278 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4279 #[cfg(feature = "extra-children")]
4280 let mut extra_iter = self.extra_children.iter().peekable();
4281 #[cfg(feature = "extra-children")]
4282 let mut emit_idx: usize = 0;
4283 #[cfg(feature = "extra-children")]
4284 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4285 extra_iter
4286 .next()
4287 .unwrap()
4288 .node
4289 .write_to(writer)
4290 .map_err(SerializeError::from)?;
4291 }
4292 {
4293 let val = &self.tx_body;
4294 val.write_element("a:txBody", writer)?;
4295 }
4296 #[cfg(feature = "extra-children")]
4297 {
4298 emit_idx += 1;
4299 }
4300 #[cfg(feature = "extra-children")]
4301 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4302 extra_iter
4303 .next()
4304 .unwrap()
4305 .node
4306 .write_to(writer)
4307 .map_err(SerializeError::from)?;
4308 }
4309 if let Some(ref val) = self.use_sp_rect {
4310 val.write_element("a:useSpRect", writer)?;
4311 }
4312 #[cfg(feature = "extra-children")]
4313 {
4314 emit_idx += 1;
4315 }
4316 #[cfg(feature = "extra-children")]
4317 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4318 extra_iter
4319 .next()
4320 .unwrap()
4321 .node
4322 .write_to(writer)
4323 .map_err(SerializeError::from)?;
4324 }
4325 if let Some(ref val) = self.transform {
4326 val.write_element("a:xfrm", writer)?;
4327 }
4328 #[cfg(feature = "extra-children")]
4329 {
4330 emit_idx += 1;
4331 }
4332 #[cfg(feature = "extra-children")]
4333 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4334 extra_iter
4335 .next()
4336 .unwrap()
4337 .node
4338 .write_to(writer)
4339 .map_err(SerializeError::from)?;
4340 }
4341 if let Some(ref val) = self.ext_lst {
4342 val.write_element("a:extLst", writer)?;
4343 }
4344 #[cfg(feature = "extra-children")]
4345 {
4346 emit_idx += 1;
4347 }
4348 #[cfg(feature = "extra-children")]
4349 for extra in extra_iter {
4350 extra.node.write_to(writer).map_err(SerializeError::from)?;
4351 }
4352 Ok(())
4353 }
4354
4355 fn is_empty_element(&self) -> bool {
4356 false
4357 }
4358}
4359
4360impl ToXml for CTGvmlShapeNonVisual {
4361 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4362 #[cfg(feature = "extra-children")]
4363 let mut extra_iter = self.extra_children.iter().peekable();
4364 #[cfg(feature = "extra-children")]
4365 let mut emit_idx: usize = 0;
4366 #[cfg(feature = "extra-children")]
4367 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4368 extra_iter
4369 .next()
4370 .unwrap()
4371 .node
4372 .write_to(writer)
4373 .map_err(SerializeError::from)?;
4374 }
4375 {
4376 let val = &self.common_non_visual_properties;
4377 val.write_element("a:cNvPr", writer)?;
4378 }
4379 #[cfg(feature = "extra-children")]
4380 {
4381 emit_idx += 1;
4382 }
4383 #[cfg(feature = "extra-children")]
4384 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4385 extra_iter
4386 .next()
4387 .unwrap()
4388 .node
4389 .write_to(writer)
4390 .map_err(SerializeError::from)?;
4391 }
4392 {
4393 let val = &self.common_non_visual_shape_properties;
4394 val.write_element("a:cNvSpPr", writer)?;
4395 }
4396 #[cfg(feature = "extra-children")]
4397 {
4398 emit_idx += 1;
4399 }
4400 #[cfg(feature = "extra-children")]
4401 for extra in extra_iter {
4402 extra.node.write_to(writer).map_err(SerializeError::from)?;
4403 }
4404 Ok(())
4405 }
4406
4407 fn is_empty_element(&self) -> bool {
4408 false
4409 }
4410}
4411
4412impl ToXml for CTGvmlShape {
4413 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4414 #[cfg(feature = "extra-children")]
4415 let mut extra_iter = self.extra_children.iter().peekable();
4416 #[cfg(feature = "extra-children")]
4417 let mut emit_idx: usize = 0;
4418 #[cfg(feature = "extra-children")]
4419 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4420 extra_iter
4421 .next()
4422 .unwrap()
4423 .node
4424 .write_to(writer)
4425 .map_err(SerializeError::from)?;
4426 }
4427 {
4428 let val = &self.nv_sp_pr;
4429 val.write_element("a:nvSpPr", writer)?;
4430 }
4431 #[cfg(feature = "extra-children")]
4432 {
4433 emit_idx += 1;
4434 }
4435 #[cfg(feature = "extra-children")]
4436 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4437 extra_iter
4438 .next()
4439 .unwrap()
4440 .node
4441 .write_to(writer)
4442 .map_err(SerializeError::from)?;
4443 }
4444 {
4445 let val = &self.sp_pr;
4446 val.write_element("a:spPr", writer)?;
4447 }
4448 #[cfg(feature = "extra-children")]
4449 {
4450 emit_idx += 1;
4451 }
4452 #[cfg(feature = "extra-children")]
4453 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4454 extra_iter
4455 .next()
4456 .unwrap()
4457 .node
4458 .write_to(writer)
4459 .map_err(SerializeError::from)?;
4460 }
4461 if let Some(ref val) = self.tx_sp {
4462 val.write_element("a:txSp", writer)?;
4463 }
4464 #[cfg(feature = "extra-children")]
4465 {
4466 emit_idx += 1;
4467 }
4468 #[cfg(feature = "extra-children")]
4469 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4470 extra_iter
4471 .next()
4472 .unwrap()
4473 .node
4474 .write_to(writer)
4475 .map_err(SerializeError::from)?;
4476 }
4477 if let Some(ref val) = self.style {
4478 val.write_element("a:style", writer)?;
4479 }
4480 #[cfg(feature = "extra-children")]
4481 {
4482 emit_idx += 1;
4483 }
4484 #[cfg(feature = "extra-children")]
4485 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4486 extra_iter
4487 .next()
4488 .unwrap()
4489 .node
4490 .write_to(writer)
4491 .map_err(SerializeError::from)?;
4492 }
4493 if let Some(ref val) = self.ext_lst {
4494 val.write_element("a:extLst", writer)?;
4495 }
4496 #[cfg(feature = "extra-children")]
4497 {
4498 emit_idx += 1;
4499 }
4500 #[cfg(feature = "extra-children")]
4501 for extra in extra_iter {
4502 extra.node.write_to(writer).map_err(SerializeError::from)?;
4503 }
4504 Ok(())
4505 }
4506
4507 fn is_empty_element(&self) -> bool {
4508 false
4509 }
4510}
4511
4512impl ToXml for CTGvmlConnectorNonVisual {
4513 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4514 #[cfg(feature = "extra-children")]
4515 let mut extra_iter = self.extra_children.iter().peekable();
4516 #[cfg(feature = "extra-children")]
4517 let mut emit_idx: usize = 0;
4518 #[cfg(feature = "extra-children")]
4519 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4520 extra_iter
4521 .next()
4522 .unwrap()
4523 .node
4524 .write_to(writer)
4525 .map_err(SerializeError::from)?;
4526 }
4527 {
4528 let val = &self.common_non_visual_properties;
4529 val.write_element("a:cNvPr", writer)?;
4530 }
4531 #[cfg(feature = "extra-children")]
4532 {
4533 emit_idx += 1;
4534 }
4535 #[cfg(feature = "extra-children")]
4536 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4537 extra_iter
4538 .next()
4539 .unwrap()
4540 .node
4541 .write_to(writer)
4542 .map_err(SerializeError::from)?;
4543 }
4544 {
4545 let val = &self.c_nv_cxn_sp_pr;
4546 val.write_element("a:cNvCxnSpPr", writer)?;
4547 }
4548 #[cfg(feature = "extra-children")]
4549 {
4550 emit_idx += 1;
4551 }
4552 #[cfg(feature = "extra-children")]
4553 for extra in extra_iter {
4554 extra.node.write_to(writer).map_err(SerializeError::from)?;
4555 }
4556 Ok(())
4557 }
4558
4559 fn is_empty_element(&self) -> bool {
4560 false
4561 }
4562}
4563
4564impl ToXml for CTGvmlConnector {
4565 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4566 #[cfg(feature = "extra-children")]
4567 let mut extra_iter = self.extra_children.iter().peekable();
4568 #[cfg(feature = "extra-children")]
4569 let mut emit_idx: usize = 0;
4570 #[cfg(feature = "extra-children")]
4571 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4572 extra_iter
4573 .next()
4574 .unwrap()
4575 .node
4576 .write_to(writer)
4577 .map_err(SerializeError::from)?;
4578 }
4579 {
4580 let val = &self.nv_cxn_sp_pr;
4581 val.write_element("a:nvCxnSpPr", writer)?;
4582 }
4583 #[cfg(feature = "extra-children")]
4584 {
4585 emit_idx += 1;
4586 }
4587 #[cfg(feature = "extra-children")]
4588 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4589 extra_iter
4590 .next()
4591 .unwrap()
4592 .node
4593 .write_to(writer)
4594 .map_err(SerializeError::from)?;
4595 }
4596 {
4597 let val = &self.sp_pr;
4598 val.write_element("a:spPr", writer)?;
4599 }
4600 #[cfg(feature = "extra-children")]
4601 {
4602 emit_idx += 1;
4603 }
4604 #[cfg(feature = "extra-children")]
4605 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4606 extra_iter
4607 .next()
4608 .unwrap()
4609 .node
4610 .write_to(writer)
4611 .map_err(SerializeError::from)?;
4612 }
4613 if let Some(ref val) = self.style {
4614 val.write_element("a:style", writer)?;
4615 }
4616 #[cfg(feature = "extra-children")]
4617 {
4618 emit_idx += 1;
4619 }
4620 #[cfg(feature = "extra-children")]
4621 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4622 extra_iter
4623 .next()
4624 .unwrap()
4625 .node
4626 .write_to(writer)
4627 .map_err(SerializeError::from)?;
4628 }
4629 if let Some(ref val) = self.ext_lst {
4630 val.write_element("a:extLst", writer)?;
4631 }
4632 #[cfg(feature = "extra-children")]
4633 {
4634 emit_idx += 1;
4635 }
4636 #[cfg(feature = "extra-children")]
4637 for extra in extra_iter {
4638 extra.node.write_to(writer).map_err(SerializeError::from)?;
4639 }
4640 Ok(())
4641 }
4642
4643 fn is_empty_element(&self) -> bool {
4644 false
4645 }
4646}
4647
4648impl ToXml for CTGvmlPictureNonVisual {
4649 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4650 #[cfg(feature = "extra-children")]
4651 let mut extra_iter = self.extra_children.iter().peekable();
4652 #[cfg(feature = "extra-children")]
4653 let mut emit_idx: usize = 0;
4654 #[cfg(feature = "extra-children")]
4655 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4656 extra_iter
4657 .next()
4658 .unwrap()
4659 .node
4660 .write_to(writer)
4661 .map_err(SerializeError::from)?;
4662 }
4663 {
4664 let val = &self.common_non_visual_properties;
4665 val.write_element("a:cNvPr", writer)?;
4666 }
4667 #[cfg(feature = "extra-children")]
4668 {
4669 emit_idx += 1;
4670 }
4671 #[cfg(feature = "extra-children")]
4672 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4673 extra_iter
4674 .next()
4675 .unwrap()
4676 .node
4677 .write_to(writer)
4678 .map_err(SerializeError::from)?;
4679 }
4680 {
4681 let val = &self.common_non_visual_picture_properties;
4682 val.write_element("a:cNvPicPr", writer)?;
4683 }
4684 #[cfg(feature = "extra-children")]
4685 {
4686 emit_idx += 1;
4687 }
4688 #[cfg(feature = "extra-children")]
4689 for extra in extra_iter {
4690 extra.node.write_to(writer).map_err(SerializeError::from)?;
4691 }
4692 Ok(())
4693 }
4694
4695 fn is_empty_element(&self) -> bool {
4696 false
4697 }
4698}
4699
4700impl ToXml for CTGvmlPicture {
4701 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4702 #[cfg(feature = "extra-children")]
4703 let mut extra_iter = self.extra_children.iter().peekable();
4704 #[cfg(feature = "extra-children")]
4705 let mut emit_idx: usize = 0;
4706 #[cfg(feature = "extra-children")]
4707 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4708 extra_iter
4709 .next()
4710 .unwrap()
4711 .node
4712 .write_to(writer)
4713 .map_err(SerializeError::from)?;
4714 }
4715 {
4716 let val = &self.nv_pic_pr;
4717 val.write_element("a:nvPicPr", writer)?;
4718 }
4719 #[cfg(feature = "extra-children")]
4720 {
4721 emit_idx += 1;
4722 }
4723 #[cfg(feature = "extra-children")]
4724 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4725 extra_iter
4726 .next()
4727 .unwrap()
4728 .node
4729 .write_to(writer)
4730 .map_err(SerializeError::from)?;
4731 }
4732 {
4733 let val = &self.blip_fill;
4734 val.write_element("a:blipFill", writer)?;
4735 }
4736 #[cfg(feature = "extra-children")]
4737 {
4738 emit_idx += 1;
4739 }
4740 #[cfg(feature = "extra-children")]
4741 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4742 extra_iter
4743 .next()
4744 .unwrap()
4745 .node
4746 .write_to(writer)
4747 .map_err(SerializeError::from)?;
4748 }
4749 {
4750 let val = &self.sp_pr;
4751 val.write_element("a:spPr", writer)?;
4752 }
4753 #[cfg(feature = "extra-children")]
4754 {
4755 emit_idx += 1;
4756 }
4757 #[cfg(feature = "extra-children")]
4758 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4759 extra_iter
4760 .next()
4761 .unwrap()
4762 .node
4763 .write_to(writer)
4764 .map_err(SerializeError::from)?;
4765 }
4766 if let Some(ref val) = self.style {
4767 val.write_element("a:style", writer)?;
4768 }
4769 #[cfg(feature = "extra-children")]
4770 {
4771 emit_idx += 1;
4772 }
4773 #[cfg(feature = "extra-children")]
4774 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4775 extra_iter
4776 .next()
4777 .unwrap()
4778 .node
4779 .write_to(writer)
4780 .map_err(SerializeError::from)?;
4781 }
4782 if let Some(ref val) = self.ext_lst {
4783 val.write_element("a:extLst", writer)?;
4784 }
4785 #[cfg(feature = "extra-children")]
4786 {
4787 emit_idx += 1;
4788 }
4789 #[cfg(feature = "extra-children")]
4790 for extra in extra_iter {
4791 extra.node.write_to(writer).map_err(SerializeError::from)?;
4792 }
4793 Ok(())
4794 }
4795
4796 fn is_empty_element(&self) -> bool {
4797 false
4798 }
4799}
4800
4801impl ToXml for CTGvmlGraphicFrameNonVisual {
4802 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4803 #[cfg(feature = "extra-children")]
4804 let mut extra_iter = self.extra_children.iter().peekable();
4805 #[cfg(feature = "extra-children")]
4806 let mut emit_idx: usize = 0;
4807 #[cfg(feature = "extra-children")]
4808 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4809 extra_iter
4810 .next()
4811 .unwrap()
4812 .node
4813 .write_to(writer)
4814 .map_err(SerializeError::from)?;
4815 }
4816 {
4817 let val = &self.common_non_visual_properties;
4818 val.write_element("a:cNvPr", writer)?;
4819 }
4820 #[cfg(feature = "extra-children")]
4821 {
4822 emit_idx += 1;
4823 }
4824 #[cfg(feature = "extra-children")]
4825 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4826 extra_iter
4827 .next()
4828 .unwrap()
4829 .node
4830 .write_to(writer)
4831 .map_err(SerializeError::from)?;
4832 }
4833 {
4834 let val = &self.c_nv_graphic_frame_pr;
4835 val.write_element("a:cNvGraphicFramePr", writer)?;
4836 }
4837 #[cfg(feature = "extra-children")]
4838 {
4839 emit_idx += 1;
4840 }
4841 #[cfg(feature = "extra-children")]
4842 for extra in extra_iter {
4843 extra.node.write_to(writer).map_err(SerializeError::from)?;
4844 }
4845 Ok(())
4846 }
4847
4848 fn is_empty_element(&self) -> bool {
4849 false
4850 }
4851}
4852
4853impl ToXml for CTGvmlGraphicalObjectFrame {
4854 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4855 #[cfg(feature = "extra-children")]
4856 let mut extra_iter = self.extra_children.iter().peekable();
4857 #[cfg(feature = "extra-children")]
4858 let mut emit_idx: usize = 0;
4859 #[cfg(feature = "extra-children")]
4860 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4861 extra_iter
4862 .next()
4863 .unwrap()
4864 .node
4865 .write_to(writer)
4866 .map_err(SerializeError::from)?;
4867 }
4868 {
4869 let val = &self.nv_graphic_frame_pr;
4870 val.write_element("a:nvGraphicFramePr", writer)?;
4871 }
4872 #[cfg(feature = "extra-children")]
4873 {
4874 emit_idx += 1;
4875 }
4876 #[cfg(feature = "extra-children")]
4877 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4878 extra_iter
4879 .next()
4880 .unwrap()
4881 .node
4882 .write_to(writer)
4883 .map_err(SerializeError::from)?;
4884 }
4885 {
4886 let val = &self.graphic;
4887 val.write_element("a:graphic", writer)?;
4888 }
4889 #[cfg(feature = "extra-children")]
4890 {
4891 emit_idx += 1;
4892 }
4893 #[cfg(feature = "extra-children")]
4894 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4895 extra_iter
4896 .next()
4897 .unwrap()
4898 .node
4899 .write_to(writer)
4900 .map_err(SerializeError::from)?;
4901 }
4902 {
4903 let val = &self.transform;
4904 val.write_element("a:xfrm", writer)?;
4905 }
4906 #[cfg(feature = "extra-children")]
4907 {
4908 emit_idx += 1;
4909 }
4910 #[cfg(feature = "extra-children")]
4911 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4912 extra_iter
4913 .next()
4914 .unwrap()
4915 .node
4916 .write_to(writer)
4917 .map_err(SerializeError::from)?;
4918 }
4919 if let Some(ref val) = self.ext_lst {
4920 val.write_element("a:extLst", writer)?;
4921 }
4922 #[cfg(feature = "extra-children")]
4923 {
4924 emit_idx += 1;
4925 }
4926 #[cfg(feature = "extra-children")]
4927 for extra in extra_iter {
4928 extra.node.write_to(writer).map_err(SerializeError::from)?;
4929 }
4930 Ok(())
4931 }
4932
4933 fn is_empty_element(&self) -> bool {
4934 false
4935 }
4936}
4937
4938impl ToXml for CTGvmlGroupShapeNonVisual {
4939 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4940 #[cfg(feature = "extra-children")]
4941 let mut extra_iter = self.extra_children.iter().peekable();
4942 #[cfg(feature = "extra-children")]
4943 let mut emit_idx: usize = 0;
4944 #[cfg(feature = "extra-children")]
4945 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4946 extra_iter
4947 .next()
4948 .unwrap()
4949 .node
4950 .write_to(writer)
4951 .map_err(SerializeError::from)?;
4952 }
4953 {
4954 let val = &self.common_non_visual_properties;
4955 val.write_element("a:cNvPr", writer)?;
4956 }
4957 #[cfg(feature = "extra-children")]
4958 {
4959 emit_idx += 1;
4960 }
4961 #[cfg(feature = "extra-children")]
4962 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4963 extra_iter
4964 .next()
4965 .unwrap()
4966 .node
4967 .write_to(writer)
4968 .map_err(SerializeError::from)?;
4969 }
4970 {
4971 let val = &self.c_nv_grp_sp_pr;
4972 val.write_element("a:cNvGrpSpPr", writer)?;
4973 }
4974 #[cfg(feature = "extra-children")]
4975 {
4976 emit_idx += 1;
4977 }
4978 #[cfg(feature = "extra-children")]
4979 for extra in extra_iter {
4980 extra.node.write_to(writer).map_err(SerializeError::from)?;
4981 }
4982 Ok(())
4983 }
4984
4985 fn is_empty_element(&self) -> bool {
4986 false
4987 }
4988}
4989
4990impl ToXml for CTGvmlGroupShape {
4991 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
4992 #[cfg(feature = "extra-children")]
4993 let mut extra_iter = self.extra_children.iter().peekable();
4994 #[cfg(feature = "extra-children")]
4995 let mut emit_idx: usize = 0;
4996 #[cfg(feature = "extra-children")]
4997 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
4998 extra_iter
4999 .next()
5000 .unwrap()
5001 .node
5002 .write_to(writer)
5003 .map_err(SerializeError::from)?;
5004 }
5005 {
5006 let val = &self.nv_grp_sp_pr;
5007 val.write_element("a:nvGrpSpPr", writer)?;
5008 }
5009 #[cfg(feature = "extra-children")]
5010 {
5011 emit_idx += 1;
5012 }
5013 #[cfg(feature = "extra-children")]
5014 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5015 extra_iter
5016 .next()
5017 .unwrap()
5018 .node
5019 .write_to(writer)
5020 .map_err(SerializeError::from)?;
5021 }
5022 {
5023 let val = &self.grp_sp_pr;
5024 val.write_element("a:grpSpPr", writer)?;
5025 }
5026 #[cfg(feature = "extra-children")]
5027 {
5028 emit_idx += 1;
5029 }
5030 for item in &self.tx_sp {
5031 #[cfg(feature = "extra-children")]
5032 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5033 extra_iter
5034 .next()
5035 .unwrap()
5036 .node
5037 .write_to(writer)
5038 .map_err(SerializeError::from)?;
5039 }
5040 item.write_element("a:txSp", writer)?;
5041 #[cfg(feature = "extra-children")]
5042 {
5043 emit_idx += 1;
5044 }
5045 }
5046 for item in &self.sp {
5047 #[cfg(feature = "extra-children")]
5048 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5049 extra_iter
5050 .next()
5051 .unwrap()
5052 .node
5053 .write_to(writer)
5054 .map_err(SerializeError::from)?;
5055 }
5056 item.write_element("a:sp", writer)?;
5057 #[cfg(feature = "extra-children")]
5058 {
5059 emit_idx += 1;
5060 }
5061 }
5062 for item in &self.cxn_sp {
5063 #[cfg(feature = "extra-children")]
5064 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5065 extra_iter
5066 .next()
5067 .unwrap()
5068 .node
5069 .write_to(writer)
5070 .map_err(SerializeError::from)?;
5071 }
5072 item.write_element("a:cxnSp", writer)?;
5073 #[cfg(feature = "extra-children")]
5074 {
5075 emit_idx += 1;
5076 }
5077 }
5078 for item in &self.pic {
5079 #[cfg(feature = "extra-children")]
5080 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5081 extra_iter
5082 .next()
5083 .unwrap()
5084 .node
5085 .write_to(writer)
5086 .map_err(SerializeError::from)?;
5087 }
5088 item.write_element("a:pic", writer)?;
5089 #[cfg(feature = "extra-children")]
5090 {
5091 emit_idx += 1;
5092 }
5093 }
5094 for item in &self.graphic_frame {
5095 #[cfg(feature = "extra-children")]
5096 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5097 extra_iter
5098 .next()
5099 .unwrap()
5100 .node
5101 .write_to(writer)
5102 .map_err(SerializeError::from)?;
5103 }
5104 item.write_element("a:graphicFrame", writer)?;
5105 #[cfg(feature = "extra-children")]
5106 {
5107 emit_idx += 1;
5108 }
5109 }
5110 for item in &self.grp_sp {
5111 #[cfg(feature = "extra-children")]
5112 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5113 extra_iter
5114 .next()
5115 .unwrap()
5116 .node
5117 .write_to(writer)
5118 .map_err(SerializeError::from)?;
5119 }
5120 item.write_element("a:grpSp", writer)?;
5121 #[cfg(feature = "extra-children")]
5122 {
5123 emit_idx += 1;
5124 }
5125 }
5126 #[cfg(feature = "extra-children")]
5127 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5128 extra_iter
5129 .next()
5130 .unwrap()
5131 .node
5132 .write_to(writer)
5133 .map_err(SerializeError::from)?;
5134 }
5135 if let Some(ref val) = self.ext_lst {
5136 val.write_element("a:extLst", writer)?;
5137 }
5138 #[cfg(feature = "extra-children")]
5139 {
5140 emit_idx += 1;
5141 }
5142 #[cfg(feature = "extra-children")]
5143 for extra in extra_iter {
5144 extra.node.write_to(writer).map_err(SerializeError::from)?;
5145 }
5146 Ok(())
5147 }
5148
5149 fn is_empty_element(&self) -> bool {
5150 false
5151 }
5152}
5153
5154impl ToXml for CTCamera {
5155 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5156 #[allow(unused_mut)]
5157 let mut start = start;
5158 #[cfg(feature = "dml-3d")]
5159 {
5160 let val = &self.preset;
5161 {
5162 let s = val.to_string();
5163 start.push_attribute(("prst", s.as_str()));
5164 }
5165 }
5166 #[cfg(feature = "dml-3d")]
5167 if let Some(ref val) = self.fov {
5168 {
5169 let s = val.to_string();
5170 start.push_attribute(("fov", s.as_str()));
5171 }
5172 }
5173 #[cfg(feature = "dml-3d")]
5174 if let Some(ref val) = self.zoom {
5175 {
5176 let s = val.to_string();
5177 start.push_attribute(("zoom", s.as_str()));
5178 }
5179 }
5180 #[cfg(feature = "extra-attrs")]
5181 for (key, value) in &self.extra_attrs {
5182 start.push_attribute((key.as_str(), value.as_str()));
5183 }
5184 start
5185 }
5186
5187 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5188 #[cfg(feature = "extra-children")]
5189 let mut extra_iter = self.extra_children.iter().peekable();
5190 #[cfg(feature = "extra-children")]
5191 let mut emit_idx: usize = 0;
5192 #[cfg(feature = "extra-children")]
5193 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5194 extra_iter
5195 .next()
5196 .unwrap()
5197 .node
5198 .write_to(writer)
5199 .map_err(SerializeError::from)?;
5200 }
5201 #[cfg(feature = "dml-3d")]
5202 if let Some(ref val) = self.rot {
5203 val.write_element("a:rot", writer)?;
5204 }
5205 #[cfg(feature = "extra-children")]
5206 {
5207 emit_idx += 1;
5208 }
5209 #[cfg(feature = "extra-children")]
5210 for extra in extra_iter {
5211 extra.node.write_to(writer).map_err(SerializeError::from)?;
5212 }
5213 Ok(())
5214 }
5215
5216 fn is_empty_element(&self) -> bool {
5217 #[cfg(feature = "dml-3d")]
5218 if self.rot.is_some() {
5219 return false;
5220 }
5221 #[cfg(feature = "extra-children")]
5222 if !self.extra_children.is_empty() {
5223 return false;
5224 }
5225 true
5226 }
5227}
5228
5229impl ToXml for CTLightRig {
5230 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5231 #[allow(unused_mut)]
5232 let mut start = start;
5233 #[cfg(feature = "dml-3d")]
5234 {
5235 let val = &self.rig;
5236 {
5237 let s = val.to_string();
5238 start.push_attribute(("rig", s.as_str()));
5239 }
5240 }
5241 #[cfg(feature = "dml-3d")]
5242 {
5243 let val = &self.dir;
5244 {
5245 let s = val.to_string();
5246 start.push_attribute(("dir", s.as_str()));
5247 }
5248 }
5249 #[cfg(feature = "extra-attrs")]
5250 for (key, value) in &self.extra_attrs {
5251 start.push_attribute((key.as_str(), value.as_str()));
5252 }
5253 start
5254 }
5255
5256 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5257 #[cfg(feature = "extra-children")]
5258 let mut extra_iter = self.extra_children.iter().peekable();
5259 #[cfg(feature = "extra-children")]
5260 let mut emit_idx: usize = 0;
5261 #[cfg(feature = "extra-children")]
5262 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5263 extra_iter
5264 .next()
5265 .unwrap()
5266 .node
5267 .write_to(writer)
5268 .map_err(SerializeError::from)?;
5269 }
5270 #[cfg(feature = "dml-3d")]
5271 if let Some(ref val) = self.rot {
5272 val.write_element("a:rot", writer)?;
5273 }
5274 #[cfg(feature = "extra-children")]
5275 {
5276 emit_idx += 1;
5277 }
5278 #[cfg(feature = "extra-children")]
5279 for extra in extra_iter {
5280 extra.node.write_to(writer).map_err(SerializeError::from)?;
5281 }
5282 Ok(())
5283 }
5284
5285 fn is_empty_element(&self) -> bool {
5286 #[cfg(feature = "dml-3d")]
5287 if self.rot.is_some() {
5288 return false;
5289 }
5290 #[cfg(feature = "extra-children")]
5291 if !self.extra_children.is_empty() {
5292 return false;
5293 }
5294 true
5295 }
5296}
5297
5298impl ToXml for CTScene3D {
5299 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5300 #[cfg(feature = "extra-children")]
5301 let mut extra_iter = self.extra_children.iter().peekable();
5302 #[cfg(feature = "extra-children")]
5303 let mut emit_idx: usize = 0;
5304 #[cfg(feature = "extra-children")]
5305 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5306 extra_iter
5307 .next()
5308 .unwrap()
5309 .node
5310 .write_to(writer)
5311 .map_err(SerializeError::from)?;
5312 }
5313 #[cfg(feature = "dml-3d")]
5314 {
5315 let val = &self.camera;
5316 val.write_element("a:camera", writer)?;
5317 }
5318 #[cfg(feature = "extra-children")]
5319 {
5320 emit_idx += 1;
5321 }
5322 #[cfg(feature = "extra-children")]
5323 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5324 extra_iter
5325 .next()
5326 .unwrap()
5327 .node
5328 .write_to(writer)
5329 .map_err(SerializeError::from)?;
5330 }
5331 #[cfg(feature = "dml-3d")]
5332 {
5333 let val = &self.light_rig;
5334 val.write_element("a:lightRig", writer)?;
5335 }
5336 #[cfg(feature = "extra-children")]
5337 {
5338 emit_idx += 1;
5339 }
5340 #[cfg(feature = "extra-children")]
5341 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5342 extra_iter
5343 .next()
5344 .unwrap()
5345 .node
5346 .write_to(writer)
5347 .map_err(SerializeError::from)?;
5348 }
5349 #[cfg(feature = "dml-3d")]
5350 if let Some(ref val) = self.backdrop {
5351 val.write_element("a:backdrop", writer)?;
5352 }
5353 #[cfg(feature = "extra-children")]
5354 {
5355 emit_idx += 1;
5356 }
5357 #[cfg(feature = "extra-children")]
5358 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5359 extra_iter
5360 .next()
5361 .unwrap()
5362 .node
5363 .write_to(writer)
5364 .map_err(SerializeError::from)?;
5365 }
5366 #[cfg(feature = "dml-extensions")]
5367 if let Some(ref val) = self.ext_lst {
5368 val.write_element("a:extLst", writer)?;
5369 }
5370 #[cfg(feature = "extra-children")]
5371 {
5372 emit_idx += 1;
5373 }
5374 #[cfg(feature = "extra-children")]
5375 for extra in extra_iter {
5376 extra.node.write_to(writer).map_err(SerializeError::from)?;
5377 }
5378 Ok(())
5379 }
5380
5381 fn is_empty_element(&self) -> bool {
5382 #[cfg(feature = "dml-3d")]
5383 return false;
5384 #[cfg(feature = "dml-3d")]
5385 return false;
5386 #[cfg(feature = "dml-3d")]
5387 if self.backdrop.is_some() {
5388 return false;
5389 }
5390 #[cfg(feature = "dml-extensions")]
5391 if self.ext_lst.is_some() {
5392 return false;
5393 }
5394 #[cfg(feature = "extra-children")]
5395 if !self.extra_children.is_empty() {
5396 return false;
5397 }
5398 true
5399 }
5400}
5401
5402impl ToXml for CTBackdrop {
5403 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5404 #[cfg(feature = "extra-children")]
5405 let mut extra_iter = self.extra_children.iter().peekable();
5406 #[cfg(feature = "extra-children")]
5407 let mut emit_idx: usize = 0;
5408 #[cfg(feature = "extra-children")]
5409 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5410 extra_iter
5411 .next()
5412 .unwrap()
5413 .node
5414 .write_to(writer)
5415 .map_err(SerializeError::from)?;
5416 }
5417 {
5418 let val = &self.anchor;
5419 val.write_element("a:anchor", writer)?;
5420 }
5421 #[cfg(feature = "extra-children")]
5422 {
5423 emit_idx += 1;
5424 }
5425 #[cfg(feature = "extra-children")]
5426 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5427 extra_iter
5428 .next()
5429 .unwrap()
5430 .node
5431 .write_to(writer)
5432 .map_err(SerializeError::from)?;
5433 }
5434 {
5435 let val = &self.norm;
5436 val.write_element("a:norm", writer)?;
5437 }
5438 #[cfg(feature = "extra-children")]
5439 {
5440 emit_idx += 1;
5441 }
5442 #[cfg(feature = "extra-children")]
5443 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5444 extra_iter
5445 .next()
5446 .unwrap()
5447 .node
5448 .write_to(writer)
5449 .map_err(SerializeError::from)?;
5450 }
5451 {
5452 let val = &self.up;
5453 val.write_element("a:up", writer)?;
5454 }
5455 #[cfg(feature = "extra-children")]
5456 {
5457 emit_idx += 1;
5458 }
5459 #[cfg(feature = "extra-children")]
5460 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5461 extra_iter
5462 .next()
5463 .unwrap()
5464 .node
5465 .write_to(writer)
5466 .map_err(SerializeError::from)?;
5467 }
5468 if let Some(ref val) = self.ext_lst {
5469 val.write_element("a:extLst", writer)?;
5470 }
5471 #[cfg(feature = "extra-children")]
5472 {
5473 emit_idx += 1;
5474 }
5475 #[cfg(feature = "extra-children")]
5476 for extra in extra_iter {
5477 extra.node.write_to(writer).map_err(SerializeError::from)?;
5478 }
5479 Ok(())
5480 }
5481
5482 fn is_empty_element(&self) -> bool {
5483 false
5484 }
5485}
5486
5487impl ToXml for CTBevel {
5488 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5489 #[allow(unused_mut)]
5490 let mut start = start;
5491 #[cfg(feature = "dml-3d")]
5492 if let Some(ref val) = self.width {
5493 {
5494 let s = val.to_string();
5495 start.push_attribute(("w", s.as_str()));
5496 }
5497 }
5498 #[cfg(feature = "dml-3d")]
5499 if let Some(ref val) = self.height {
5500 {
5501 let s = val.to_string();
5502 start.push_attribute(("h", s.as_str()));
5503 }
5504 }
5505 #[cfg(feature = "dml-3d")]
5506 if let Some(ref val) = self.preset {
5507 {
5508 let s = val.to_string();
5509 start.push_attribute(("prst", s.as_str()));
5510 }
5511 }
5512 #[cfg(feature = "extra-attrs")]
5513 for (key, value) in &self.extra_attrs {
5514 start.push_attribute((key.as_str(), value.as_str()));
5515 }
5516 start
5517 }
5518
5519 fn is_empty_element(&self) -> bool {
5520 true
5521 }
5522}
5523
5524impl ToXml for CTShape3D {
5525 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5526 #[allow(unused_mut)]
5527 let mut start = start;
5528 #[cfg(feature = "dml-3d")]
5529 if let Some(ref val) = self.z {
5530 {
5531 let s = val.to_string();
5532 start.push_attribute(("z", s.as_str()));
5533 }
5534 }
5535 #[cfg(feature = "dml-3d")]
5536 if let Some(ref val) = self.extrusion_h {
5537 {
5538 let s = val.to_string();
5539 start.push_attribute(("extrusionH", s.as_str()));
5540 }
5541 }
5542 #[cfg(feature = "dml-3d")]
5543 if let Some(ref val) = self.contour_w {
5544 {
5545 let s = val.to_string();
5546 start.push_attribute(("contourW", s.as_str()));
5547 }
5548 }
5549 #[cfg(feature = "dml-3d")]
5550 if let Some(ref val) = self.prst_material {
5551 {
5552 let s = val.to_string();
5553 start.push_attribute(("prstMaterial", s.as_str()));
5554 }
5555 }
5556 #[cfg(feature = "extra-attrs")]
5557 for (key, value) in &self.extra_attrs {
5558 start.push_attribute((key.as_str(), value.as_str()));
5559 }
5560 start
5561 }
5562
5563 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5564 #[cfg(feature = "extra-children")]
5565 let mut extra_iter = self.extra_children.iter().peekable();
5566 #[cfg(feature = "extra-children")]
5567 let mut emit_idx: usize = 0;
5568 #[cfg(feature = "extra-children")]
5569 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5570 extra_iter
5571 .next()
5572 .unwrap()
5573 .node
5574 .write_to(writer)
5575 .map_err(SerializeError::from)?;
5576 }
5577 #[cfg(feature = "dml-3d")]
5578 if let Some(ref val) = self.bevel_t {
5579 val.write_element("a:bevelT", writer)?;
5580 }
5581 #[cfg(feature = "extra-children")]
5582 {
5583 emit_idx += 1;
5584 }
5585 #[cfg(feature = "extra-children")]
5586 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5587 extra_iter
5588 .next()
5589 .unwrap()
5590 .node
5591 .write_to(writer)
5592 .map_err(SerializeError::from)?;
5593 }
5594 #[cfg(feature = "dml-3d")]
5595 if let Some(ref val) = self.bevel_b {
5596 val.write_element("a:bevelB", writer)?;
5597 }
5598 #[cfg(feature = "extra-children")]
5599 {
5600 emit_idx += 1;
5601 }
5602 #[cfg(feature = "extra-children")]
5603 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5604 extra_iter
5605 .next()
5606 .unwrap()
5607 .node
5608 .write_to(writer)
5609 .map_err(SerializeError::from)?;
5610 }
5611 #[cfg(feature = "dml-3d")]
5612 if let Some(ref val) = self.extrusion_clr {
5613 val.write_element("a:extrusionClr", writer)?;
5614 }
5615 #[cfg(feature = "extra-children")]
5616 {
5617 emit_idx += 1;
5618 }
5619 #[cfg(feature = "extra-children")]
5620 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5621 extra_iter
5622 .next()
5623 .unwrap()
5624 .node
5625 .write_to(writer)
5626 .map_err(SerializeError::from)?;
5627 }
5628 #[cfg(feature = "dml-3d")]
5629 if let Some(ref val) = self.contour_clr {
5630 val.write_element("a:contourClr", writer)?;
5631 }
5632 #[cfg(feature = "extra-children")]
5633 {
5634 emit_idx += 1;
5635 }
5636 #[cfg(feature = "extra-children")]
5637 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5638 extra_iter
5639 .next()
5640 .unwrap()
5641 .node
5642 .write_to(writer)
5643 .map_err(SerializeError::from)?;
5644 }
5645 #[cfg(feature = "dml-extensions")]
5646 if let Some(ref val) = self.ext_lst {
5647 val.write_element("a:extLst", writer)?;
5648 }
5649 #[cfg(feature = "extra-children")]
5650 {
5651 emit_idx += 1;
5652 }
5653 #[cfg(feature = "extra-children")]
5654 for extra in extra_iter {
5655 extra.node.write_to(writer).map_err(SerializeError::from)?;
5656 }
5657 Ok(())
5658 }
5659
5660 fn is_empty_element(&self) -> bool {
5661 #[cfg(feature = "dml-3d")]
5662 if self.bevel_t.is_some() {
5663 return false;
5664 }
5665 #[cfg(feature = "dml-3d")]
5666 if self.bevel_b.is_some() {
5667 return false;
5668 }
5669 #[cfg(feature = "dml-3d")]
5670 if self.extrusion_clr.is_some() {
5671 return false;
5672 }
5673 #[cfg(feature = "dml-3d")]
5674 if self.contour_clr.is_some() {
5675 return false;
5676 }
5677 #[cfg(feature = "dml-extensions")]
5678 if self.ext_lst.is_some() {
5679 return false;
5680 }
5681 #[cfg(feature = "extra-children")]
5682 if !self.extra_children.is_empty() {
5683 return false;
5684 }
5685 true
5686 }
5687}
5688
5689impl ToXml for CTFlatText {
5690 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5691 #[allow(unused_mut)]
5692 let mut start = start;
5693 if let Some(ref val) = self.z {
5694 {
5695 let s = val.to_string();
5696 start.push_attribute(("z", s.as_str()));
5697 }
5698 }
5699 #[cfg(feature = "extra-attrs")]
5700 for (key, value) in &self.extra_attrs {
5701 start.push_attribute((key.as_str(), value.as_str()));
5702 }
5703 start
5704 }
5705
5706 fn is_empty_element(&self) -> bool {
5707 true
5708 }
5709}
5710
5711impl ToXml for EGText3D {
5712 fn write_element<W: Write>(
5713 &self,
5714 _tag: &str,
5715 writer: &mut Writer<W>,
5716 ) -> Result<(), SerializeError> {
5717 match self {
5718 Self::Sp3d(inner) => inner.write_element("a:sp3d", writer)?,
5719 Self::FlatTx(inner) => inner.write_element("a:flatTx", writer)?,
5720 }
5721 Ok(())
5722 }
5723}
5724
5725impl ToXml for CTAlphaBiLevelEffect {
5726 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5727 #[allow(unused_mut)]
5728 let mut start = start;
5729 {
5730 let val = &self.thresh;
5731 {
5732 let s = val.to_string();
5733 start.push_attribute(("thresh", s.as_str()));
5734 }
5735 }
5736 #[cfg(feature = "extra-attrs")]
5737 for (key, value) in &self.extra_attrs {
5738 start.push_attribute((key.as_str(), value.as_str()));
5739 }
5740 start
5741 }
5742
5743 fn is_empty_element(&self) -> bool {
5744 true
5745 }
5746}
5747
5748impl ToXml for CTAlphaCeilingEffect {
5749 fn is_empty_element(&self) -> bool {
5750 true
5751 }
5752}
5753
5754impl ToXml for CTAlphaFloorEffect {
5755 fn is_empty_element(&self) -> bool {
5756 true
5757 }
5758}
5759
5760impl ToXml for CTAlphaInverseEffect {
5761 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5762 #[cfg(feature = "extra-children")]
5763 let mut extra_iter = self.extra_children.iter().peekable();
5764 #[cfg(feature = "extra-children")]
5765 let mut emit_idx: usize = 0;
5766 #[cfg(feature = "extra-children")]
5767 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5768 extra_iter
5769 .next()
5770 .unwrap()
5771 .node
5772 .write_to(writer)
5773 .map_err(SerializeError::from)?;
5774 }
5775 if let Some(ref val) = self.color_choice {
5776 val.write_element("", writer)?;
5777 }
5778 #[cfg(feature = "extra-children")]
5779 {
5780 emit_idx += 1;
5781 }
5782 #[cfg(feature = "extra-children")]
5783 for extra in extra_iter {
5784 extra.node.write_to(writer).map_err(SerializeError::from)?;
5785 }
5786 Ok(())
5787 }
5788
5789 fn is_empty_element(&self) -> bool {
5790 if self.color_choice.is_some() {
5791 return false;
5792 }
5793 #[cfg(feature = "extra-children")]
5794 if !self.extra_children.is_empty() {
5795 return false;
5796 }
5797 true
5798 }
5799}
5800
5801impl ToXml for CTAlphaModulateFixedEffect {
5802 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5803 #[allow(unused_mut)]
5804 let mut start = start;
5805 if let Some(ref val) = self.amt {
5806 {
5807 let s = val.to_string();
5808 start.push_attribute(("amt", s.as_str()));
5809 }
5810 }
5811 #[cfg(feature = "extra-attrs")]
5812 for (key, value) in &self.extra_attrs {
5813 start.push_attribute((key.as_str(), value.as_str()));
5814 }
5815 start
5816 }
5817
5818 fn is_empty_element(&self) -> bool {
5819 true
5820 }
5821}
5822
5823impl ToXml for CTAlphaOutsetEffect {
5824 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5825 #[allow(unused_mut)]
5826 let mut start = start;
5827 if let Some(ref val) = self.rad {
5828 {
5829 let s = val.to_string();
5830 start.push_attribute(("rad", s.as_str()));
5831 }
5832 }
5833 #[cfg(feature = "extra-attrs")]
5834 for (key, value) in &self.extra_attrs {
5835 start.push_attribute((key.as_str(), value.as_str()));
5836 }
5837 start
5838 }
5839
5840 fn is_empty_element(&self) -> bool {
5841 true
5842 }
5843}
5844
5845impl ToXml for CTAlphaReplaceEffect {
5846 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5847 #[allow(unused_mut)]
5848 let mut start = start;
5849 {
5850 let val = &self.anchor;
5851 {
5852 let s = val.to_string();
5853 start.push_attribute(("a", s.as_str()));
5854 }
5855 }
5856 #[cfg(feature = "extra-attrs")]
5857 for (key, value) in &self.extra_attrs {
5858 start.push_attribute((key.as_str(), value.as_str()));
5859 }
5860 start
5861 }
5862
5863 fn is_empty_element(&self) -> bool {
5864 true
5865 }
5866}
5867
5868impl ToXml for CTBiLevelEffect {
5869 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5870 #[allow(unused_mut)]
5871 let mut start = start;
5872 {
5873 let val = &self.thresh;
5874 {
5875 let s = val.to_string();
5876 start.push_attribute(("thresh", s.as_str()));
5877 }
5878 }
5879 #[cfg(feature = "extra-attrs")]
5880 for (key, value) in &self.extra_attrs {
5881 start.push_attribute((key.as_str(), value.as_str()));
5882 }
5883 start
5884 }
5885
5886 fn is_empty_element(&self) -> bool {
5887 true
5888 }
5889}
5890
5891impl ToXml for CTBlurEffect {
5892 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5893 #[allow(unused_mut)]
5894 let mut start = start;
5895 #[cfg(feature = "dml-effects")]
5896 if let Some(ref val) = self.rad {
5897 {
5898 let s = val.to_string();
5899 start.push_attribute(("rad", s.as_str()));
5900 }
5901 }
5902 #[cfg(feature = "dml-effects")]
5903 if let Some(ref val) = self.grow {
5904 start.push_attribute(("grow", if *val { "1" } else { "0" }));
5905 }
5906 #[cfg(feature = "extra-attrs")]
5907 for (key, value) in &self.extra_attrs {
5908 start.push_attribute((key.as_str(), value.as_str()));
5909 }
5910 start
5911 }
5912
5913 fn is_empty_element(&self) -> bool {
5914 true
5915 }
5916}
5917
5918impl ToXml for CTColorChangeEffect {
5919 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
5920 #[allow(unused_mut)]
5921 let mut start = start;
5922 if let Some(ref val) = self.use_a {
5923 start.push_attribute(("useA", if *val { "1" } else { "0" }));
5924 }
5925 #[cfg(feature = "extra-attrs")]
5926 for (key, value) in &self.extra_attrs {
5927 start.push_attribute((key.as_str(), value.as_str()));
5928 }
5929 start
5930 }
5931
5932 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5933 #[cfg(feature = "extra-children")]
5934 let mut extra_iter = self.extra_children.iter().peekable();
5935 #[cfg(feature = "extra-children")]
5936 let mut emit_idx: usize = 0;
5937 #[cfg(feature = "extra-children")]
5938 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5939 extra_iter
5940 .next()
5941 .unwrap()
5942 .node
5943 .write_to(writer)
5944 .map_err(SerializeError::from)?;
5945 }
5946 {
5947 let val = &self.clr_from;
5948 val.write_element("a:clrFrom", writer)?;
5949 }
5950 #[cfg(feature = "extra-children")]
5951 {
5952 emit_idx += 1;
5953 }
5954 #[cfg(feature = "extra-children")]
5955 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5956 extra_iter
5957 .next()
5958 .unwrap()
5959 .node
5960 .write_to(writer)
5961 .map_err(SerializeError::from)?;
5962 }
5963 {
5964 let val = &self.clr_to;
5965 val.write_element("a:clrTo", writer)?;
5966 }
5967 #[cfg(feature = "extra-children")]
5968 {
5969 emit_idx += 1;
5970 }
5971 #[cfg(feature = "extra-children")]
5972 for extra in extra_iter {
5973 extra.node.write_to(writer).map_err(SerializeError::from)?;
5974 }
5975 Ok(())
5976 }
5977
5978 fn is_empty_element(&self) -> bool {
5979 false
5980 }
5981}
5982
5983impl ToXml for CTColorReplaceEffect {
5984 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
5985 #[cfg(feature = "extra-children")]
5986 let mut extra_iter = self.extra_children.iter().peekable();
5987 #[cfg(feature = "extra-children")]
5988 let mut emit_idx: usize = 0;
5989 #[cfg(feature = "extra-children")]
5990 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
5991 extra_iter
5992 .next()
5993 .unwrap()
5994 .node
5995 .write_to(writer)
5996 .map_err(SerializeError::from)?;
5997 }
5998 if let Some(ref val) = self.color_choice {
5999 val.write_element("", writer)?;
6000 }
6001 #[cfg(feature = "extra-children")]
6002 {
6003 emit_idx += 1;
6004 }
6005 #[cfg(feature = "extra-children")]
6006 for extra in extra_iter {
6007 extra.node.write_to(writer).map_err(SerializeError::from)?;
6008 }
6009 Ok(())
6010 }
6011
6012 fn is_empty_element(&self) -> bool {
6013 false
6014 }
6015}
6016
6017impl ToXml for CTDuotoneEffect {
6018 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6019 #[cfg(feature = "extra-children")]
6020 let mut extra_iter = self.extra_children.iter().peekable();
6021 #[cfg(feature = "extra-children")]
6022 let mut emit_idx: usize = 0;
6023 for item in &self.color_choice {
6024 #[cfg(feature = "extra-children")]
6025 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6026 extra_iter
6027 .next()
6028 .unwrap()
6029 .node
6030 .write_to(writer)
6031 .map_err(SerializeError::from)?;
6032 }
6033 item.write_element("", writer)?;
6034 #[cfg(feature = "extra-children")]
6035 {
6036 emit_idx += 1;
6037 }
6038 }
6039 #[cfg(feature = "extra-children")]
6040 for extra in extra_iter {
6041 extra.node.write_to(writer).map_err(SerializeError::from)?;
6042 }
6043 Ok(())
6044 }
6045
6046 fn is_empty_element(&self) -> bool {
6047 if !self.color_choice.is_empty() {
6048 return false;
6049 }
6050 #[cfg(feature = "extra-children")]
6051 if !self.extra_children.is_empty() {
6052 return false;
6053 }
6054 true
6055 }
6056}
6057
6058impl ToXml for CTGlowEffect {
6059 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6060 #[allow(unused_mut)]
6061 let mut start = start;
6062 #[cfg(feature = "dml-effects")]
6063 if let Some(ref val) = self.rad {
6064 {
6065 let s = val.to_string();
6066 start.push_attribute(("rad", s.as_str()));
6067 }
6068 }
6069 #[cfg(feature = "extra-attrs")]
6070 for (key, value) in &self.extra_attrs {
6071 start.push_attribute((key.as_str(), value.as_str()));
6072 }
6073 start
6074 }
6075
6076 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6077 #[cfg(feature = "extra-children")]
6078 let mut extra_iter = self.extra_children.iter().peekable();
6079 #[cfg(feature = "extra-children")]
6080 let mut emit_idx: usize = 0;
6081 #[cfg(feature = "extra-children")]
6082 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6083 extra_iter
6084 .next()
6085 .unwrap()
6086 .node
6087 .write_to(writer)
6088 .map_err(SerializeError::from)?;
6089 }
6090 if let Some(ref val) = self.color_choice {
6091 val.write_element("", writer)?;
6092 }
6093 #[cfg(feature = "extra-children")]
6094 {
6095 emit_idx += 1;
6096 }
6097 #[cfg(feature = "extra-children")]
6098 for extra in extra_iter {
6099 extra.node.write_to(writer).map_err(SerializeError::from)?;
6100 }
6101 Ok(())
6102 }
6103
6104 fn is_empty_element(&self) -> bool {
6105 false
6106 }
6107}
6108
6109impl ToXml for CTGrayscaleEffect {
6110 fn is_empty_element(&self) -> bool {
6111 true
6112 }
6113}
6114
6115impl ToXml for CTHSLEffect {
6116 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6117 #[allow(unused_mut)]
6118 let mut start = start;
6119 if let Some(ref val) = self.hue {
6120 {
6121 let s = val.to_string();
6122 start.push_attribute(("hue", s.as_str()));
6123 }
6124 }
6125 if let Some(ref val) = self.sat {
6126 {
6127 let s = val.to_string();
6128 start.push_attribute(("sat", s.as_str()));
6129 }
6130 }
6131 if let Some(ref val) = self.lum {
6132 {
6133 let s = val.to_string();
6134 start.push_attribute(("lum", s.as_str()));
6135 }
6136 }
6137 #[cfg(feature = "extra-attrs")]
6138 for (key, value) in &self.extra_attrs {
6139 start.push_attribute((key.as_str(), value.as_str()));
6140 }
6141 start
6142 }
6143
6144 fn is_empty_element(&self) -> bool {
6145 true
6146 }
6147}
6148
6149impl ToXml for CTInnerShadowEffect {
6150 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6151 #[allow(unused_mut)]
6152 let mut start = start;
6153 #[cfg(feature = "dml-effects")]
6154 if let Some(ref val) = self.blur_rad {
6155 {
6156 let s = val.to_string();
6157 start.push_attribute(("blurRad", s.as_str()));
6158 }
6159 }
6160 #[cfg(feature = "dml-effects")]
6161 if let Some(ref val) = self.dist {
6162 {
6163 let s = val.to_string();
6164 start.push_attribute(("dist", s.as_str()));
6165 }
6166 }
6167 #[cfg(feature = "dml-effects")]
6168 if let Some(ref val) = self.dir {
6169 {
6170 let s = val.to_string();
6171 start.push_attribute(("dir", s.as_str()));
6172 }
6173 }
6174 #[cfg(feature = "extra-attrs")]
6175 for (key, value) in &self.extra_attrs {
6176 start.push_attribute((key.as_str(), value.as_str()));
6177 }
6178 start
6179 }
6180
6181 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6182 #[cfg(feature = "extra-children")]
6183 let mut extra_iter = self.extra_children.iter().peekable();
6184 #[cfg(feature = "extra-children")]
6185 let mut emit_idx: usize = 0;
6186 #[cfg(feature = "extra-children")]
6187 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6188 extra_iter
6189 .next()
6190 .unwrap()
6191 .node
6192 .write_to(writer)
6193 .map_err(SerializeError::from)?;
6194 }
6195 if let Some(ref val) = self.color_choice {
6196 val.write_element("", writer)?;
6197 }
6198 #[cfg(feature = "extra-children")]
6199 {
6200 emit_idx += 1;
6201 }
6202 #[cfg(feature = "extra-children")]
6203 for extra in extra_iter {
6204 extra.node.write_to(writer).map_err(SerializeError::from)?;
6205 }
6206 Ok(())
6207 }
6208
6209 fn is_empty_element(&self) -> bool {
6210 false
6211 }
6212}
6213
6214impl ToXml for CTLuminanceEffect {
6215 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6216 #[allow(unused_mut)]
6217 let mut start = start;
6218 if let Some(ref val) = self.bright {
6219 {
6220 let s = val.to_string();
6221 start.push_attribute(("bright", s.as_str()));
6222 }
6223 }
6224 if let Some(ref val) = self.contrast {
6225 {
6226 let s = val.to_string();
6227 start.push_attribute(("contrast", s.as_str()));
6228 }
6229 }
6230 #[cfg(feature = "extra-attrs")]
6231 for (key, value) in &self.extra_attrs {
6232 start.push_attribute((key.as_str(), value.as_str()));
6233 }
6234 start
6235 }
6236
6237 fn is_empty_element(&self) -> bool {
6238 true
6239 }
6240}
6241
6242impl ToXml for CTOuterShadowEffect {
6243 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6244 #[allow(unused_mut)]
6245 let mut start = start;
6246 #[cfg(feature = "dml-effects")]
6247 if let Some(ref val) = self.blur_rad {
6248 {
6249 let s = val.to_string();
6250 start.push_attribute(("blurRad", s.as_str()));
6251 }
6252 }
6253 #[cfg(feature = "dml-effects")]
6254 if let Some(ref val) = self.dist {
6255 {
6256 let s = val.to_string();
6257 start.push_attribute(("dist", s.as_str()));
6258 }
6259 }
6260 #[cfg(feature = "dml-effects")]
6261 if let Some(ref val) = self.dir {
6262 {
6263 let s = val.to_string();
6264 start.push_attribute(("dir", s.as_str()));
6265 }
6266 }
6267 #[cfg(feature = "dml-effects")]
6268 if let Some(ref val) = self.sx {
6269 {
6270 let s = val.to_string();
6271 start.push_attribute(("sx", s.as_str()));
6272 }
6273 }
6274 #[cfg(feature = "dml-effects")]
6275 if let Some(ref val) = self.sy {
6276 {
6277 let s = val.to_string();
6278 start.push_attribute(("sy", s.as_str()));
6279 }
6280 }
6281 #[cfg(feature = "dml-effects")]
6282 if let Some(ref val) = self.kx {
6283 {
6284 let s = val.to_string();
6285 start.push_attribute(("kx", s.as_str()));
6286 }
6287 }
6288 #[cfg(feature = "dml-effects")]
6289 if let Some(ref val) = self.ky {
6290 {
6291 let s = val.to_string();
6292 start.push_attribute(("ky", s.as_str()));
6293 }
6294 }
6295 #[cfg(feature = "dml-effects")]
6296 if let Some(ref val) = self.algn {
6297 {
6298 let s = val.to_string();
6299 start.push_attribute(("algn", s.as_str()));
6300 }
6301 }
6302 #[cfg(feature = "dml-effects")]
6303 if let Some(ref val) = self.rot_with_shape {
6304 start.push_attribute(("rotWithShape", if *val { "1" } else { "0" }));
6305 }
6306 #[cfg(feature = "extra-attrs")]
6307 for (key, value) in &self.extra_attrs {
6308 start.push_attribute((key.as_str(), value.as_str()));
6309 }
6310 start
6311 }
6312
6313 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6314 #[cfg(feature = "extra-children")]
6315 let mut extra_iter = self.extra_children.iter().peekable();
6316 #[cfg(feature = "extra-children")]
6317 let mut emit_idx: usize = 0;
6318 #[cfg(feature = "extra-children")]
6319 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6320 extra_iter
6321 .next()
6322 .unwrap()
6323 .node
6324 .write_to(writer)
6325 .map_err(SerializeError::from)?;
6326 }
6327 if let Some(ref val) = self.color_choice {
6328 val.write_element("", writer)?;
6329 }
6330 #[cfg(feature = "extra-children")]
6331 {
6332 emit_idx += 1;
6333 }
6334 #[cfg(feature = "extra-children")]
6335 for extra in extra_iter {
6336 extra.node.write_to(writer).map_err(SerializeError::from)?;
6337 }
6338 Ok(())
6339 }
6340
6341 fn is_empty_element(&self) -> bool {
6342 false
6343 }
6344}
6345
6346impl ToXml for CTPresetShadowEffect {
6347 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6348 #[allow(unused_mut)]
6349 let mut start = start;
6350 {
6351 let val = &self.preset;
6352 {
6353 let s = val.to_string();
6354 start.push_attribute(("prst", s.as_str()));
6355 }
6356 }
6357 if let Some(ref val) = self.dist {
6358 {
6359 let s = val.to_string();
6360 start.push_attribute(("dist", s.as_str()));
6361 }
6362 }
6363 if let Some(ref val) = self.dir {
6364 {
6365 let s = val.to_string();
6366 start.push_attribute(("dir", s.as_str()));
6367 }
6368 }
6369 #[cfg(feature = "extra-attrs")]
6370 for (key, value) in &self.extra_attrs {
6371 start.push_attribute((key.as_str(), value.as_str()));
6372 }
6373 start
6374 }
6375
6376 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6377 #[cfg(feature = "extra-children")]
6378 let mut extra_iter = self.extra_children.iter().peekable();
6379 #[cfg(feature = "extra-children")]
6380 let mut emit_idx: usize = 0;
6381 #[cfg(feature = "extra-children")]
6382 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6383 extra_iter
6384 .next()
6385 .unwrap()
6386 .node
6387 .write_to(writer)
6388 .map_err(SerializeError::from)?;
6389 }
6390 if let Some(ref val) = self.color_choice {
6391 val.write_element("", writer)?;
6392 }
6393 #[cfg(feature = "extra-children")]
6394 {
6395 emit_idx += 1;
6396 }
6397 #[cfg(feature = "extra-children")]
6398 for extra in extra_iter {
6399 extra.node.write_to(writer).map_err(SerializeError::from)?;
6400 }
6401 Ok(())
6402 }
6403
6404 fn is_empty_element(&self) -> bool {
6405 false
6406 }
6407}
6408
6409impl ToXml for CTReflectionEffect {
6410 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6411 #[allow(unused_mut)]
6412 let mut start = start;
6413 #[cfg(feature = "dml-effects")]
6414 if let Some(ref val) = self.blur_rad {
6415 {
6416 let s = val.to_string();
6417 start.push_attribute(("blurRad", s.as_str()));
6418 }
6419 }
6420 #[cfg(feature = "dml-effects")]
6421 if let Some(ref val) = self.st_a {
6422 {
6423 let s = val.to_string();
6424 start.push_attribute(("stA", s.as_str()));
6425 }
6426 }
6427 #[cfg(feature = "dml-effects")]
6428 if let Some(ref val) = self.st_pos {
6429 {
6430 let s = val.to_string();
6431 start.push_attribute(("stPos", s.as_str()));
6432 }
6433 }
6434 #[cfg(feature = "dml-effects")]
6435 if let Some(ref val) = self.end_a {
6436 {
6437 let s = val.to_string();
6438 start.push_attribute(("endA", s.as_str()));
6439 }
6440 }
6441 #[cfg(feature = "dml-effects")]
6442 if let Some(ref val) = self.end_pos {
6443 {
6444 let s = val.to_string();
6445 start.push_attribute(("endPos", s.as_str()));
6446 }
6447 }
6448 #[cfg(feature = "dml-effects")]
6449 if let Some(ref val) = self.dist {
6450 {
6451 let s = val.to_string();
6452 start.push_attribute(("dist", s.as_str()));
6453 }
6454 }
6455 #[cfg(feature = "dml-effects")]
6456 if let Some(ref val) = self.dir {
6457 {
6458 let s = val.to_string();
6459 start.push_attribute(("dir", s.as_str()));
6460 }
6461 }
6462 #[cfg(feature = "dml-effects")]
6463 if let Some(ref val) = self.fade_dir {
6464 {
6465 let s = val.to_string();
6466 start.push_attribute(("fadeDir", s.as_str()));
6467 }
6468 }
6469 #[cfg(feature = "dml-effects")]
6470 if let Some(ref val) = self.sx {
6471 {
6472 let s = val.to_string();
6473 start.push_attribute(("sx", s.as_str()));
6474 }
6475 }
6476 #[cfg(feature = "dml-effects")]
6477 if let Some(ref val) = self.sy {
6478 {
6479 let s = val.to_string();
6480 start.push_attribute(("sy", s.as_str()));
6481 }
6482 }
6483 #[cfg(feature = "dml-effects")]
6484 if let Some(ref val) = self.kx {
6485 {
6486 let s = val.to_string();
6487 start.push_attribute(("kx", s.as_str()));
6488 }
6489 }
6490 #[cfg(feature = "dml-effects")]
6491 if let Some(ref val) = self.ky {
6492 {
6493 let s = val.to_string();
6494 start.push_attribute(("ky", s.as_str()));
6495 }
6496 }
6497 #[cfg(feature = "dml-effects")]
6498 if let Some(ref val) = self.algn {
6499 {
6500 let s = val.to_string();
6501 start.push_attribute(("algn", s.as_str()));
6502 }
6503 }
6504 #[cfg(feature = "dml-effects")]
6505 if let Some(ref val) = self.rot_with_shape {
6506 start.push_attribute(("rotWithShape", if *val { "1" } else { "0" }));
6507 }
6508 #[cfg(feature = "extra-attrs")]
6509 for (key, value) in &self.extra_attrs {
6510 start.push_attribute((key.as_str(), value.as_str()));
6511 }
6512 start
6513 }
6514
6515 fn is_empty_element(&self) -> bool {
6516 true
6517 }
6518}
6519
6520impl ToXml for CTRelativeOffsetEffect {
6521 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6522 #[allow(unused_mut)]
6523 let mut start = start;
6524 if let Some(ref val) = self.tx {
6525 {
6526 let s = val.to_string();
6527 start.push_attribute(("tx", s.as_str()));
6528 }
6529 }
6530 if let Some(ref val) = self.ty {
6531 {
6532 let s = val.to_string();
6533 start.push_attribute(("ty", s.as_str()));
6534 }
6535 }
6536 #[cfg(feature = "extra-attrs")]
6537 for (key, value) in &self.extra_attrs {
6538 start.push_attribute((key.as_str(), value.as_str()));
6539 }
6540 start
6541 }
6542
6543 fn is_empty_element(&self) -> bool {
6544 true
6545 }
6546}
6547
6548impl ToXml for CTSoftEdgesEffect {
6549 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6550 #[allow(unused_mut)]
6551 let mut start = start;
6552 #[cfg(feature = "dml-effects")]
6553 {
6554 let val = &self.rad;
6555 {
6556 let s = val.to_string();
6557 start.push_attribute(("rad", s.as_str()));
6558 }
6559 }
6560 #[cfg(feature = "extra-attrs")]
6561 for (key, value) in &self.extra_attrs {
6562 start.push_attribute((key.as_str(), value.as_str()));
6563 }
6564 start
6565 }
6566
6567 fn is_empty_element(&self) -> bool {
6568 true
6569 }
6570}
6571
6572impl ToXml for CTTintEffect {
6573 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6574 #[allow(unused_mut)]
6575 let mut start = start;
6576 if let Some(ref val) = self.hue {
6577 {
6578 let s = val.to_string();
6579 start.push_attribute(("hue", s.as_str()));
6580 }
6581 }
6582 if let Some(ref val) = self.amt {
6583 {
6584 let s = val.to_string();
6585 start.push_attribute(("amt", s.as_str()));
6586 }
6587 }
6588 #[cfg(feature = "extra-attrs")]
6589 for (key, value) in &self.extra_attrs {
6590 start.push_attribute((key.as_str(), value.as_str()));
6591 }
6592 start
6593 }
6594
6595 fn is_empty_element(&self) -> bool {
6596 true
6597 }
6598}
6599
6600impl ToXml for CTTransformEffect {
6601 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6602 #[allow(unused_mut)]
6603 let mut start = start;
6604 if let Some(ref val) = self.sx {
6605 {
6606 let s = val.to_string();
6607 start.push_attribute(("sx", s.as_str()));
6608 }
6609 }
6610 if let Some(ref val) = self.sy {
6611 {
6612 let s = val.to_string();
6613 start.push_attribute(("sy", s.as_str()));
6614 }
6615 }
6616 if let Some(ref val) = self.kx {
6617 {
6618 let s = val.to_string();
6619 start.push_attribute(("kx", s.as_str()));
6620 }
6621 }
6622 if let Some(ref val) = self.ky {
6623 {
6624 let s = val.to_string();
6625 start.push_attribute(("ky", s.as_str()));
6626 }
6627 }
6628 if let Some(ref val) = self.tx {
6629 {
6630 let s = val.to_string();
6631 start.push_attribute(("tx", s.as_str()));
6632 }
6633 }
6634 if let Some(ref val) = self.ty {
6635 {
6636 let s = val.to_string();
6637 start.push_attribute(("ty", s.as_str()));
6638 }
6639 }
6640 #[cfg(feature = "extra-attrs")]
6641 for (key, value) in &self.extra_attrs {
6642 start.push_attribute((key.as_str(), value.as_str()));
6643 }
6644 start
6645 }
6646
6647 fn is_empty_element(&self) -> bool {
6648 true
6649 }
6650}
6651
6652impl ToXml for NoFill {
6653 fn is_empty_element(&self) -> bool {
6654 true
6655 }
6656}
6657
6658impl ToXml for SolidColorFill {
6659 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6660 #[cfg(feature = "extra-children")]
6661 let mut extra_iter = self.extra_children.iter().peekable();
6662 #[cfg(feature = "extra-children")]
6663 let mut emit_idx: usize = 0;
6664 #[cfg(feature = "extra-children")]
6665 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6666 extra_iter
6667 .next()
6668 .unwrap()
6669 .node
6670 .write_to(writer)
6671 .map_err(SerializeError::from)?;
6672 }
6673 if let Some(ref val) = self.color_choice {
6674 val.write_element("", writer)?;
6675 }
6676 #[cfg(feature = "extra-children")]
6677 {
6678 emit_idx += 1;
6679 }
6680 #[cfg(feature = "extra-children")]
6681 for extra in extra_iter {
6682 extra.node.write_to(writer).map_err(SerializeError::from)?;
6683 }
6684 Ok(())
6685 }
6686
6687 fn is_empty_element(&self) -> bool {
6688 if self.color_choice.is_some() {
6689 return false;
6690 }
6691 #[cfg(feature = "extra-children")]
6692 if !self.extra_children.is_empty() {
6693 return false;
6694 }
6695 true
6696 }
6697}
6698
6699impl ToXml for CTLinearShadeProperties {
6700 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6701 #[allow(unused_mut)]
6702 let mut start = start;
6703 if let Some(ref val) = self.ang {
6704 {
6705 let s = val.to_string();
6706 start.push_attribute(("ang", s.as_str()));
6707 }
6708 }
6709 if let Some(ref val) = self.scaled {
6710 start.push_attribute(("scaled", if *val { "1" } else { "0" }));
6711 }
6712 #[cfg(feature = "extra-attrs")]
6713 for (key, value) in &self.extra_attrs {
6714 start.push_attribute((key.as_str(), value.as_str()));
6715 }
6716 start
6717 }
6718
6719 fn is_empty_element(&self) -> bool {
6720 true
6721 }
6722}
6723
6724impl ToXml for CTPathShadeProperties {
6725 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6726 #[allow(unused_mut)]
6727 let mut start = start;
6728 if let Some(ref val) = self.path {
6729 {
6730 let s = val.to_string();
6731 start.push_attribute(("path", s.as_str()));
6732 }
6733 }
6734 #[cfg(feature = "extra-attrs")]
6735 for (key, value) in &self.extra_attrs {
6736 start.push_attribute((key.as_str(), value.as_str()));
6737 }
6738 start
6739 }
6740
6741 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6742 #[cfg(feature = "extra-children")]
6743 let mut extra_iter = self.extra_children.iter().peekable();
6744 #[cfg(feature = "extra-children")]
6745 let mut emit_idx: usize = 0;
6746 #[cfg(feature = "extra-children")]
6747 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6748 extra_iter
6749 .next()
6750 .unwrap()
6751 .node
6752 .write_to(writer)
6753 .map_err(SerializeError::from)?;
6754 }
6755 if let Some(ref val) = self.fill_to_rect {
6756 val.write_element("a:fillToRect", writer)?;
6757 }
6758 #[cfg(feature = "extra-children")]
6759 {
6760 emit_idx += 1;
6761 }
6762 #[cfg(feature = "extra-children")]
6763 for extra in extra_iter {
6764 extra.node.write_to(writer).map_err(SerializeError::from)?;
6765 }
6766 Ok(())
6767 }
6768
6769 fn is_empty_element(&self) -> bool {
6770 if self.fill_to_rect.is_some() {
6771 return false;
6772 }
6773 #[cfg(feature = "extra-children")]
6774 if !self.extra_children.is_empty() {
6775 return false;
6776 }
6777 true
6778 }
6779}
6780
6781impl ToXml for EGShadeProperties {
6782 fn write_element<W: Write>(
6783 &self,
6784 _tag: &str,
6785 writer: &mut Writer<W>,
6786 ) -> Result<(), SerializeError> {
6787 match self {
6788 Self::Lin(inner) => inner.write_element("a:lin", writer)?,
6789 Self::Path(inner) => inner.write_element("a:path", writer)?,
6790 }
6791 Ok(())
6792 }
6793}
6794
6795impl ToXml for CTGradientStop {
6796 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6797 #[allow(unused_mut)]
6798 let mut start = start;
6799 {
6800 let val = &self.pos;
6801 {
6802 let s = val.to_string();
6803 start.push_attribute(("pos", s.as_str()));
6804 }
6805 }
6806 #[cfg(feature = "extra-attrs")]
6807 for (key, value) in &self.extra_attrs {
6808 start.push_attribute((key.as_str(), value.as_str()));
6809 }
6810 start
6811 }
6812
6813 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6814 #[cfg(feature = "extra-children")]
6815 let mut extra_iter = self.extra_children.iter().peekable();
6816 #[cfg(feature = "extra-children")]
6817 let mut emit_idx: usize = 0;
6818 #[cfg(feature = "extra-children")]
6819 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6820 extra_iter
6821 .next()
6822 .unwrap()
6823 .node
6824 .write_to(writer)
6825 .map_err(SerializeError::from)?;
6826 }
6827 if let Some(ref val) = self.color_choice {
6828 val.write_element("", writer)?;
6829 }
6830 #[cfg(feature = "extra-children")]
6831 {
6832 emit_idx += 1;
6833 }
6834 #[cfg(feature = "extra-children")]
6835 for extra in extra_iter {
6836 extra.node.write_to(writer).map_err(SerializeError::from)?;
6837 }
6838 Ok(())
6839 }
6840
6841 fn is_empty_element(&self) -> bool {
6842 false
6843 }
6844}
6845
6846impl ToXml for CTGradientStopList {
6847 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6848 #[cfg(feature = "extra-children")]
6849 let mut extra_iter = self.extra_children.iter().peekable();
6850 #[cfg(feature = "extra-children")]
6851 let mut emit_idx: usize = 0;
6852 for item in &self.gs {
6853 #[cfg(feature = "extra-children")]
6854 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6855 extra_iter
6856 .next()
6857 .unwrap()
6858 .node
6859 .write_to(writer)
6860 .map_err(SerializeError::from)?;
6861 }
6862 item.write_element("a:gs", writer)?;
6863 #[cfg(feature = "extra-children")]
6864 {
6865 emit_idx += 1;
6866 }
6867 }
6868 #[cfg(feature = "extra-children")]
6869 for extra in extra_iter {
6870 extra.node.write_to(writer).map_err(SerializeError::from)?;
6871 }
6872 Ok(())
6873 }
6874
6875 fn is_empty_element(&self) -> bool {
6876 if !self.gs.is_empty() {
6877 return false;
6878 }
6879 #[cfg(feature = "extra-children")]
6880 if !self.extra_children.is_empty() {
6881 return false;
6882 }
6883 true
6884 }
6885}
6886
6887impl ToXml for GradientFill {
6888 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6889 #[allow(unused_mut)]
6890 let mut start = start;
6891 #[cfg(feature = "dml-fills")]
6892 if let Some(ref val) = self.flip {
6893 {
6894 let s = val.to_string();
6895 start.push_attribute(("flip", s.as_str()));
6896 }
6897 }
6898 #[cfg(feature = "dml-fills")]
6899 if let Some(ref val) = self.rot_with_shape {
6900 start.push_attribute(("rotWithShape", if *val { "1" } else { "0" }));
6901 }
6902 #[cfg(feature = "extra-attrs")]
6903 for (key, value) in &self.extra_attrs {
6904 start.push_attribute((key.as_str(), value.as_str()));
6905 }
6906 start
6907 }
6908
6909 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
6910 #[cfg(feature = "extra-children")]
6911 let mut extra_iter = self.extra_children.iter().peekable();
6912 #[cfg(feature = "extra-children")]
6913 let mut emit_idx: usize = 0;
6914 #[cfg(feature = "extra-children")]
6915 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6916 extra_iter
6917 .next()
6918 .unwrap()
6919 .node
6920 .write_to(writer)
6921 .map_err(SerializeError::from)?;
6922 }
6923 #[cfg(feature = "dml-fills")]
6924 if let Some(ref val) = self.gs_lst {
6925 val.write_element("a:gsLst", writer)?;
6926 }
6927 #[cfg(feature = "extra-children")]
6928 {
6929 emit_idx += 1;
6930 }
6931 #[cfg(feature = "extra-children")]
6932 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6933 extra_iter
6934 .next()
6935 .unwrap()
6936 .node
6937 .write_to(writer)
6938 .map_err(SerializeError::from)?;
6939 }
6940 if let Some(ref val) = self.shade_properties {
6941 val.write_element("", writer)?;
6942 }
6943 #[cfg(feature = "extra-children")]
6944 {
6945 emit_idx += 1;
6946 }
6947 #[cfg(feature = "extra-children")]
6948 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
6949 extra_iter
6950 .next()
6951 .unwrap()
6952 .node
6953 .write_to(writer)
6954 .map_err(SerializeError::from)?;
6955 }
6956 #[cfg(feature = "dml-fills")]
6957 if let Some(ref val) = self.tile_rect {
6958 val.write_element("a:tileRect", writer)?;
6959 }
6960 #[cfg(feature = "extra-children")]
6961 {
6962 emit_idx += 1;
6963 }
6964 #[cfg(feature = "extra-children")]
6965 for extra in extra_iter {
6966 extra.node.write_to(writer).map_err(SerializeError::from)?;
6967 }
6968 Ok(())
6969 }
6970
6971 fn is_empty_element(&self) -> bool {
6972 #[cfg(feature = "dml-fills")]
6973 if self.gs_lst.is_some() {
6974 return false;
6975 }
6976 if self.shade_properties.is_some() {
6977 return false;
6978 }
6979 #[cfg(feature = "dml-fills")]
6980 if self.tile_rect.is_some() {
6981 return false;
6982 }
6983 #[cfg(feature = "extra-children")]
6984 if !self.extra_children.is_empty() {
6985 return false;
6986 }
6987 true
6988 }
6989}
6990
6991impl ToXml for CTTileInfoProperties {
6992 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
6993 #[allow(unused_mut)]
6994 let mut start = start;
6995 if let Some(ref val) = self.tx {
6996 {
6997 let s = val.to_string();
6998 start.push_attribute(("tx", s.as_str()));
6999 }
7000 }
7001 if let Some(ref val) = self.ty {
7002 {
7003 let s = val.to_string();
7004 start.push_attribute(("ty", s.as_str()));
7005 }
7006 }
7007 if let Some(ref val) = self.sx {
7008 {
7009 let s = val.to_string();
7010 start.push_attribute(("sx", s.as_str()));
7011 }
7012 }
7013 if let Some(ref val) = self.sy {
7014 {
7015 let s = val.to_string();
7016 start.push_attribute(("sy", s.as_str()));
7017 }
7018 }
7019 if let Some(ref val) = self.flip {
7020 {
7021 let s = val.to_string();
7022 start.push_attribute(("flip", s.as_str()));
7023 }
7024 }
7025 if let Some(ref val) = self.algn {
7026 {
7027 let s = val.to_string();
7028 start.push_attribute(("algn", s.as_str()));
7029 }
7030 }
7031 #[cfg(feature = "extra-attrs")]
7032 for (key, value) in &self.extra_attrs {
7033 start.push_attribute((key.as_str(), value.as_str()));
7034 }
7035 start
7036 }
7037
7038 fn is_empty_element(&self) -> bool {
7039 true
7040 }
7041}
7042
7043impl ToXml for CTStretchInfoProperties {
7044 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7045 #[cfg(feature = "extra-children")]
7046 let mut extra_iter = self.extra_children.iter().peekable();
7047 #[cfg(feature = "extra-children")]
7048 let mut emit_idx: usize = 0;
7049 #[cfg(feature = "extra-children")]
7050 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7051 extra_iter
7052 .next()
7053 .unwrap()
7054 .node
7055 .write_to(writer)
7056 .map_err(SerializeError::from)?;
7057 }
7058 if let Some(ref val) = self.fill_rect {
7059 val.write_element("a:fillRect", writer)?;
7060 }
7061 #[cfg(feature = "extra-children")]
7062 {
7063 emit_idx += 1;
7064 }
7065 #[cfg(feature = "extra-children")]
7066 for extra in extra_iter {
7067 extra.node.write_to(writer).map_err(SerializeError::from)?;
7068 }
7069 Ok(())
7070 }
7071
7072 fn is_empty_element(&self) -> bool {
7073 if self.fill_rect.is_some() {
7074 return false;
7075 }
7076 #[cfg(feature = "extra-children")]
7077 if !self.extra_children.is_empty() {
7078 return false;
7079 }
7080 true
7081 }
7082}
7083
7084impl ToXml for EGFillModeProperties {
7085 fn write_element<W: Write>(
7086 &self,
7087 _tag: &str,
7088 writer: &mut Writer<W>,
7089 ) -> Result<(), SerializeError> {
7090 match self {
7091 Self::Tile(inner) => inner.write_element("a:tile", writer)?,
7092 Self::Stretch(inner) => inner.write_element("a:stretch", writer)?,
7093 }
7094 Ok(())
7095 }
7096}
7097
7098impl ToXml for Blip {
7099 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7100 #[allow(unused_mut)]
7101 let mut start = start;
7102 #[cfg(feature = "dml-fills")]
7103 if let Some(ref val) = self.embed {
7104 start.push_attribute(("r:embed", val.as_str()));
7105 }
7106 #[cfg(feature = "dml-fills")]
7107 if let Some(ref val) = self.link {
7108 start.push_attribute(("r:link", val.as_str()));
7109 }
7110 #[cfg(feature = "dml-fills")]
7111 if let Some(ref val) = self.cstate {
7112 {
7113 let s = val.to_string();
7114 start.push_attribute(("cstate", s.as_str()));
7115 }
7116 }
7117 #[cfg(feature = "extra-attrs")]
7118 for (key, value) in &self.extra_attrs {
7119 start.push_attribute((key.as_str(), value.as_str()));
7120 }
7121 start
7122 }
7123
7124 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7125 #[cfg(feature = "extra-children")]
7126 let mut extra_iter = self.extra_children.iter().peekable();
7127 #[cfg(feature = "extra-children")]
7128 let mut emit_idx: usize = 0;
7129 #[cfg(feature = "dml-fills")]
7130 for item in &self.alpha_bi_level {
7131 #[cfg(feature = "extra-children")]
7132 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7133 extra_iter
7134 .next()
7135 .unwrap()
7136 .node
7137 .write_to(writer)
7138 .map_err(SerializeError::from)?;
7139 }
7140 item.write_element("a:alphaBiLevel", writer)?;
7141 #[cfg(feature = "extra-children")]
7142 {
7143 emit_idx += 1;
7144 }
7145 }
7146 #[cfg(feature = "dml-fills")]
7147 for item in &self.alpha_ceiling {
7148 #[cfg(feature = "extra-children")]
7149 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7150 extra_iter
7151 .next()
7152 .unwrap()
7153 .node
7154 .write_to(writer)
7155 .map_err(SerializeError::from)?;
7156 }
7157 item.write_element("a:alphaCeiling", writer)?;
7158 #[cfg(feature = "extra-children")]
7159 {
7160 emit_idx += 1;
7161 }
7162 }
7163 #[cfg(feature = "dml-fills")]
7164 for item in &self.alpha_floor {
7165 #[cfg(feature = "extra-children")]
7166 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7167 extra_iter
7168 .next()
7169 .unwrap()
7170 .node
7171 .write_to(writer)
7172 .map_err(SerializeError::from)?;
7173 }
7174 item.write_element("a:alphaFloor", writer)?;
7175 #[cfg(feature = "extra-children")]
7176 {
7177 emit_idx += 1;
7178 }
7179 }
7180 #[cfg(feature = "dml-fills")]
7181 for item in &self.alpha_inv {
7182 #[cfg(feature = "extra-children")]
7183 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7184 extra_iter
7185 .next()
7186 .unwrap()
7187 .node
7188 .write_to(writer)
7189 .map_err(SerializeError::from)?;
7190 }
7191 item.write_element("a:alphaInv", writer)?;
7192 #[cfg(feature = "extra-children")]
7193 {
7194 emit_idx += 1;
7195 }
7196 }
7197 #[cfg(feature = "dml-fills")]
7198 for item in &self.alpha_mod {
7199 #[cfg(feature = "extra-children")]
7200 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7201 extra_iter
7202 .next()
7203 .unwrap()
7204 .node
7205 .write_to(writer)
7206 .map_err(SerializeError::from)?;
7207 }
7208 item.write_element("a:alphaMod", writer)?;
7209 #[cfg(feature = "extra-children")]
7210 {
7211 emit_idx += 1;
7212 }
7213 }
7214 #[cfg(feature = "dml-fills")]
7215 for item in &self.alpha_mod_fix {
7216 #[cfg(feature = "extra-children")]
7217 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7218 extra_iter
7219 .next()
7220 .unwrap()
7221 .node
7222 .write_to(writer)
7223 .map_err(SerializeError::from)?;
7224 }
7225 item.write_element("a:alphaModFix", writer)?;
7226 #[cfg(feature = "extra-children")]
7227 {
7228 emit_idx += 1;
7229 }
7230 }
7231 #[cfg(feature = "dml-fills")]
7232 for item in &self.alpha_repl {
7233 #[cfg(feature = "extra-children")]
7234 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7235 extra_iter
7236 .next()
7237 .unwrap()
7238 .node
7239 .write_to(writer)
7240 .map_err(SerializeError::from)?;
7241 }
7242 item.write_element("a:alphaRepl", writer)?;
7243 #[cfg(feature = "extra-children")]
7244 {
7245 emit_idx += 1;
7246 }
7247 }
7248 #[cfg(feature = "dml-fills")]
7249 for item in &self.bi_level {
7250 #[cfg(feature = "extra-children")]
7251 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7252 extra_iter
7253 .next()
7254 .unwrap()
7255 .node
7256 .write_to(writer)
7257 .map_err(SerializeError::from)?;
7258 }
7259 item.write_element("a:biLevel", writer)?;
7260 #[cfg(feature = "extra-children")]
7261 {
7262 emit_idx += 1;
7263 }
7264 }
7265 #[cfg(feature = "dml-fills")]
7266 for item in &self.blur {
7267 #[cfg(feature = "extra-children")]
7268 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7269 extra_iter
7270 .next()
7271 .unwrap()
7272 .node
7273 .write_to(writer)
7274 .map_err(SerializeError::from)?;
7275 }
7276 item.write_element("a:blur", writer)?;
7277 #[cfg(feature = "extra-children")]
7278 {
7279 emit_idx += 1;
7280 }
7281 }
7282 #[cfg(feature = "dml-fills")]
7283 for item in &self.clr_change {
7284 #[cfg(feature = "extra-children")]
7285 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7286 extra_iter
7287 .next()
7288 .unwrap()
7289 .node
7290 .write_to(writer)
7291 .map_err(SerializeError::from)?;
7292 }
7293 item.write_element("a:clrChange", writer)?;
7294 #[cfg(feature = "extra-children")]
7295 {
7296 emit_idx += 1;
7297 }
7298 }
7299 #[cfg(feature = "dml-fills")]
7300 for item in &self.clr_repl {
7301 #[cfg(feature = "extra-children")]
7302 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7303 extra_iter
7304 .next()
7305 .unwrap()
7306 .node
7307 .write_to(writer)
7308 .map_err(SerializeError::from)?;
7309 }
7310 item.write_element("a:clrRepl", writer)?;
7311 #[cfg(feature = "extra-children")]
7312 {
7313 emit_idx += 1;
7314 }
7315 }
7316 #[cfg(feature = "dml-fills")]
7317 for item in &self.duotone {
7318 #[cfg(feature = "extra-children")]
7319 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7320 extra_iter
7321 .next()
7322 .unwrap()
7323 .node
7324 .write_to(writer)
7325 .map_err(SerializeError::from)?;
7326 }
7327 item.write_element("a:duotone", writer)?;
7328 #[cfg(feature = "extra-children")]
7329 {
7330 emit_idx += 1;
7331 }
7332 }
7333 #[cfg(feature = "dml-fills")]
7334 for item in &self.fill_overlay {
7335 #[cfg(feature = "extra-children")]
7336 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7337 extra_iter
7338 .next()
7339 .unwrap()
7340 .node
7341 .write_to(writer)
7342 .map_err(SerializeError::from)?;
7343 }
7344 item.write_element("a:fillOverlay", writer)?;
7345 #[cfg(feature = "extra-children")]
7346 {
7347 emit_idx += 1;
7348 }
7349 }
7350 #[cfg(feature = "dml-fills")]
7351 for item in &self.grayscl {
7352 #[cfg(feature = "extra-children")]
7353 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7354 extra_iter
7355 .next()
7356 .unwrap()
7357 .node
7358 .write_to(writer)
7359 .map_err(SerializeError::from)?;
7360 }
7361 item.write_element("a:grayscl", writer)?;
7362 #[cfg(feature = "extra-children")]
7363 {
7364 emit_idx += 1;
7365 }
7366 }
7367 #[cfg(feature = "dml-fills")]
7368 for item in &self.hsl {
7369 #[cfg(feature = "extra-children")]
7370 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7371 extra_iter
7372 .next()
7373 .unwrap()
7374 .node
7375 .write_to(writer)
7376 .map_err(SerializeError::from)?;
7377 }
7378 item.write_element("a:hsl", writer)?;
7379 #[cfg(feature = "extra-children")]
7380 {
7381 emit_idx += 1;
7382 }
7383 }
7384 #[cfg(feature = "dml-fills")]
7385 for item in &self.lum {
7386 #[cfg(feature = "extra-children")]
7387 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7388 extra_iter
7389 .next()
7390 .unwrap()
7391 .node
7392 .write_to(writer)
7393 .map_err(SerializeError::from)?;
7394 }
7395 item.write_element("a:lum", writer)?;
7396 #[cfg(feature = "extra-children")]
7397 {
7398 emit_idx += 1;
7399 }
7400 }
7401 #[cfg(feature = "dml-fills")]
7402 for item in &self.tint {
7403 #[cfg(feature = "extra-children")]
7404 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7405 extra_iter
7406 .next()
7407 .unwrap()
7408 .node
7409 .write_to(writer)
7410 .map_err(SerializeError::from)?;
7411 }
7412 item.write_element("a:tint", writer)?;
7413 #[cfg(feature = "extra-children")]
7414 {
7415 emit_idx += 1;
7416 }
7417 }
7418 #[cfg(feature = "extra-children")]
7419 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7420 extra_iter
7421 .next()
7422 .unwrap()
7423 .node
7424 .write_to(writer)
7425 .map_err(SerializeError::from)?;
7426 }
7427 #[cfg(feature = "dml-extensions")]
7428 if let Some(ref val) = self.ext_lst {
7429 val.write_element("a:extLst", writer)?;
7430 }
7431 #[cfg(feature = "extra-children")]
7432 {
7433 emit_idx += 1;
7434 }
7435 #[cfg(feature = "extra-children")]
7436 for extra in extra_iter {
7437 extra.node.write_to(writer).map_err(SerializeError::from)?;
7438 }
7439 Ok(())
7440 }
7441
7442 fn is_empty_element(&self) -> bool {
7443 #[cfg(feature = "dml-fills")]
7444 if !self.alpha_bi_level.is_empty() {
7445 return false;
7446 }
7447 #[cfg(feature = "dml-fills")]
7448 if !self.alpha_ceiling.is_empty() {
7449 return false;
7450 }
7451 #[cfg(feature = "dml-fills")]
7452 if !self.alpha_floor.is_empty() {
7453 return false;
7454 }
7455 #[cfg(feature = "dml-fills")]
7456 if !self.alpha_inv.is_empty() {
7457 return false;
7458 }
7459 #[cfg(feature = "dml-fills")]
7460 if !self.alpha_mod.is_empty() {
7461 return false;
7462 }
7463 #[cfg(feature = "dml-fills")]
7464 if !self.alpha_mod_fix.is_empty() {
7465 return false;
7466 }
7467 #[cfg(feature = "dml-fills")]
7468 if !self.alpha_repl.is_empty() {
7469 return false;
7470 }
7471 #[cfg(feature = "dml-fills")]
7472 if !self.bi_level.is_empty() {
7473 return false;
7474 }
7475 #[cfg(feature = "dml-fills")]
7476 if !self.blur.is_empty() {
7477 return false;
7478 }
7479 #[cfg(feature = "dml-fills")]
7480 if !self.clr_change.is_empty() {
7481 return false;
7482 }
7483 #[cfg(feature = "dml-fills")]
7484 if !self.clr_repl.is_empty() {
7485 return false;
7486 }
7487 #[cfg(feature = "dml-fills")]
7488 if !self.duotone.is_empty() {
7489 return false;
7490 }
7491 #[cfg(feature = "dml-fills")]
7492 if !self.fill_overlay.is_empty() {
7493 return false;
7494 }
7495 #[cfg(feature = "dml-fills")]
7496 if !self.grayscl.is_empty() {
7497 return false;
7498 }
7499 #[cfg(feature = "dml-fills")]
7500 if !self.hsl.is_empty() {
7501 return false;
7502 }
7503 #[cfg(feature = "dml-fills")]
7504 if !self.lum.is_empty() {
7505 return false;
7506 }
7507 #[cfg(feature = "dml-fills")]
7508 if !self.tint.is_empty() {
7509 return false;
7510 }
7511 #[cfg(feature = "dml-extensions")]
7512 if self.ext_lst.is_some() {
7513 return false;
7514 }
7515 #[cfg(feature = "extra-children")]
7516 if !self.extra_children.is_empty() {
7517 return false;
7518 }
7519 true
7520 }
7521}
7522
7523impl ToXml for BlipFillProperties {
7524 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7525 #[allow(unused_mut)]
7526 let mut start = start;
7527 #[cfg(feature = "dml-fills")]
7528 if let Some(ref val) = self.dpi {
7529 {
7530 let s = val.to_string();
7531 start.push_attribute(("dpi", s.as_str()));
7532 }
7533 }
7534 #[cfg(feature = "dml-fills")]
7535 if let Some(ref val) = self.rot_with_shape {
7536 start.push_attribute(("rotWithShape", if *val { "1" } else { "0" }));
7537 }
7538 #[cfg(feature = "extra-attrs")]
7539 for (key, value) in &self.extra_attrs {
7540 start.push_attribute((key.as_str(), value.as_str()));
7541 }
7542 start
7543 }
7544
7545 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7546 #[cfg(feature = "extra-children")]
7547 let mut extra_iter = self.extra_children.iter().peekable();
7548 #[cfg(feature = "extra-children")]
7549 let mut emit_idx: usize = 0;
7550 #[cfg(feature = "extra-children")]
7551 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7552 extra_iter
7553 .next()
7554 .unwrap()
7555 .node
7556 .write_to(writer)
7557 .map_err(SerializeError::from)?;
7558 }
7559 #[cfg(feature = "dml-fills")]
7560 if let Some(ref val) = self.blip {
7561 val.write_element("a:blip", writer)?;
7562 }
7563 #[cfg(feature = "extra-children")]
7564 {
7565 emit_idx += 1;
7566 }
7567 #[cfg(feature = "extra-children")]
7568 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7569 extra_iter
7570 .next()
7571 .unwrap()
7572 .node
7573 .write_to(writer)
7574 .map_err(SerializeError::from)?;
7575 }
7576 #[cfg(feature = "dml-fills")]
7577 if let Some(ref val) = self.src_rect {
7578 val.write_element("a:srcRect", writer)?;
7579 }
7580 #[cfg(feature = "extra-children")]
7581 {
7582 emit_idx += 1;
7583 }
7584 #[cfg(feature = "extra-children")]
7585 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7586 extra_iter
7587 .next()
7588 .unwrap()
7589 .node
7590 .write_to(writer)
7591 .map_err(SerializeError::from)?;
7592 }
7593 if let Some(ref val) = self.fill_mode_properties {
7594 val.write_element("", writer)?;
7595 }
7596 #[cfg(feature = "extra-children")]
7597 {
7598 emit_idx += 1;
7599 }
7600 #[cfg(feature = "extra-children")]
7601 for extra in extra_iter {
7602 extra.node.write_to(writer).map_err(SerializeError::from)?;
7603 }
7604 Ok(())
7605 }
7606
7607 fn is_empty_element(&self) -> bool {
7608 #[cfg(feature = "dml-fills")]
7609 if self.blip.is_some() {
7610 return false;
7611 }
7612 #[cfg(feature = "dml-fills")]
7613 if self.src_rect.is_some() {
7614 return false;
7615 }
7616 if self.fill_mode_properties.is_some() {
7617 return false;
7618 }
7619 #[cfg(feature = "extra-children")]
7620 if !self.extra_children.is_empty() {
7621 return false;
7622 }
7623 true
7624 }
7625}
7626
7627impl ToXml for PatternFill {
7628 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7629 #[allow(unused_mut)]
7630 let mut start = start;
7631 #[cfg(feature = "dml-fills")]
7632 if let Some(ref val) = self.preset {
7633 {
7634 let s = val.to_string();
7635 start.push_attribute(("prst", s.as_str()));
7636 }
7637 }
7638 #[cfg(feature = "extra-attrs")]
7639 for (key, value) in &self.extra_attrs {
7640 start.push_attribute((key.as_str(), value.as_str()));
7641 }
7642 start
7643 }
7644
7645 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7646 #[cfg(feature = "extra-children")]
7647 let mut extra_iter = self.extra_children.iter().peekable();
7648 #[cfg(feature = "extra-children")]
7649 let mut emit_idx: usize = 0;
7650 #[cfg(feature = "extra-children")]
7651 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7652 extra_iter
7653 .next()
7654 .unwrap()
7655 .node
7656 .write_to(writer)
7657 .map_err(SerializeError::from)?;
7658 }
7659 #[cfg(feature = "dml-fills")]
7660 if let Some(ref val) = self.fg_clr {
7661 val.write_element("a:fgClr", writer)?;
7662 }
7663 #[cfg(feature = "extra-children")]
7664 {
7665 emit_idx += 1;
7666 }
7667 #[cfg(feature = "extra-children")]
7668 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7669 extra_iter
7670 .next()
7671 .unwrap()
7672 .node
7673 .write_to(writer)
7674 .map_err(SerializeError::from)?;
7675 }
7676 #[cfg(feature = "dml-fills")]
7677 if let Some(ref val) = self.bg_clr {
7678 val.write_element("a:bgClr", writer)?;
7679 }
7680 #[cfg(feature = "extra-children")]
7681 {
7682 emit_idx += 1;
7683 }
7684 #[cfg(feature = "extra-children")]
7685 for extra in extra_iter {
7686 extra.node.write_to(writer).map_err(SerializeError::from)?;
7687 }
7688 Ok(())
7689 }
7690
7691 fn is_empty_element(&self) -> bool {
7692 #[cfg(feature = "dml-fills")]
7693 if self.fg_clr.is_some() {
7694 return false;
7695 }
7696 #[cfg(feature = "dml-fills")]
7697 if self.bg_clr.is_some() {
7698 return false;
7699 }
7700 #[cfg(feature = "extra-children")]
7701 if !self.extra_children.is_empty() {
7702 return false;
7703 }
7704 true
7705 }
7706}
7707
7708impl ToXml for CTGroupFillProperties {
7709 fn is_empty_element(&self) -> bool {
7710 true
7711 }
7712}
7713
7714impl ToXml for EGFillProperties {
7715 fn write_element<W: Write>(
7716 &self,
7717 _tag: &str,
7718 writer: &mut Writer<W>,
7719 ) -> Result<(), SerializeError> {
7720 match self {
7721 Self::NoFill(inner) => inner.write_element("a:noFill", writer)?,
7722 Self::SolidFill(inner) => inner.write_element("a:solidFill", writer)?,
7723 Self::GradFill(inner) => inner.write_element("a:gradFill", writer)?,
7724 Self::BlipFill(inner) => inner.write_element("a:blipFill", writer)?,
7725 Self::PattFill(inner) => inner.write_element("a:pattFill", writer)?,
7726 Self::GrpFill(inner) => inner.write_element("a:grpFill", writer)?,
7727 }
7728 Ok(())
7729 }
7730}
7731
7732impl ToXml for CTFillProperties {
7733 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7734 #[cfg(feature = "extra-children")]
7735 let mut extra_iter = self.extra_children.iter().peekable();
7736 #[cfg(feature = "extra-children")]
7737 let mut emit_idx: usize = 0;
7738 #[cfg(feature = "extra-children")]
7739 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7740 extra_iter
7741 .next()
7742 .unwrap()
7743 .node
7744 .write_to(writer)
7745 .map_err(SerializeError::from)?;
7746 }
7747 if let Some(ref val) = self.fill_properties {
7748 val.write_element("", writer)?;
7749 }
7750 #[cfg(feature = "extra-children")]
7751 {
7752 emit_idx += 1;
7753 }
7754 #[cfg(feature = "extra-children")]
7755 for extra in extra_iter {
7756 extra.node.write_to(writer).map_err(SerializeError::from)?;
7757 }
7758 Ok(())
7759 }
7760
7761 fn is_empty_element(&self) -> bool {
7762 false
7763 }
7764}
7765
7766impl ToXml for CTFillEffect {
7767 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7768 #[cfg(feature = "extra-children")]
7769 let mut extra_iter = self.extra_children.iter().peekable();
7770 #[cfg(feature = "extra-children")]
7771 let mut emit_idx: usize = 0;
7772 #[cfg(feature = "extra-children")]
7773 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7774 extra_iter
7775 .next()
7776 .unwrap()
7777 .node
7778 .write_to(writer)
7779 .map_err(SerializeError::from)?;
7780 }
7781 if let Some(ref val) = self.fill_properties {
7782 val.write_element("", writer)?;
7783 }
7784 #[cfg(feature = "extra-children")]
7785 {
7786 emit_idx += 1;
7787 }
7788 #[cfg(feature = "extra-children")]
7789 for extra in extra_iter {
7790 extra.node.write_to(writer).map_err(SerializeError::from)?;
7791 }
7792 Ok(())
7793 }
7794
7795 fn is_empty_element(&self) -> bool {
7796 false
7797 }
7798}
7799
7800impl ToXml for CTFillOverlayEffect {
7801 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7802 #[allow(unused_mut)]
7803 let mut start = start;
7804 {
7805 let val = &self.blend;
7806 {
7807 let s = val.to_string();
7808 start.push_attribute(("blend", s.as_str()));
7809 }
7810 }
7811 #[cfg(feature = "extra-attrs")]
7812 for (key, value) in &self.extra_attrs {
7813 start.push_attribute((key.as_str(), value.as_str()));
7814 }
7815 start
7816 }
7817
7818 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7819 #[cfg(feature = "extra-children")]
7820 let mut extra_iter = self.extra_children.iter().peekable();
7821 #[cfg(feature = "extra-children")]
7822 let mut emit_idx: usize = 0;
7823 #[cfg(feature = "extra-children")]
7824 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7825 extra_iter
7826 .next()
7827 .unwrap()
7828 .node
7829 .write_to(writer)
7830 .map_err(SerializeError::from)?;
7831 }
7832 if let Some(ref val) = self.fill_properties {
7833 val.write_element("", writer)?;
7834 }
7835 #[cfg(feature = "extra-children")]
7836 {
7837 emit_idx += 1;
7838 }
7839 #[cfg(feature = "extra-children")]
7840 for extra in extra_iter {
7841 extra.node.write_to(writer).map_err(SerializeError::from)?;
7842 }
7843 Ok(())
7844 }
7845
7846 fn is_empty_element(&self) -> bool {
7847 false
7848 }
7849}
7850
7851impl ToXml for CTEffectReference {
7852 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7853 #[allow(unused_mut)]
7854 let mut start = start;
7855 {
7856 let val = &self.r#ref;
7857 start.push_attribute(("ref", val.as_str()));
7858 }
7859 #[cfg(feature = "extra-attrs")]
7860 for (key, value) in &self.extra_attrs {
7861 start.push_attribute((key.as_str(), value.as_str()));
7862 }
7863 start
7864 }
7865
7866 fn is_empty_element(&self) -> bool {
7867 true
7868 }
7869}
7870
7871impl ToXml for EGEffect {
7872 fn write_element<W: Write>(
7873 &self,
7874 _tag: &str,
7875 writer: &mut Writer<W>,
7876 ) -> Result<(), SerializeError> {
7877 match self {
7878 Self::Cont(inner) => inner.write_element("a:cont", writer)?,
7879 Self::Effect(inner) => inner.write_element("a:effect", writer)?,
7880 Self::AlphaBiLevel(inner) => inner.write_element("a:alphaBiLevel", writer)?,
7881 Self::AlphaCeiling(inner) => inner.write_element("a:alphaCeiling", writer)?,
7882 Self::AlphaFloor(inner) => inner.write_element("a:alphaFloor", writer)?,
7883 Self::AlphaInv(inner) => inner.write_element("a:alphaInv", writer)?,
7884 Self::AlphaMod(inner) => inner.write_element("a:alphaMod", writer)?,
7885 Self::AlphaModFix(inner) => inner.write_element("a:alphaModFix", writer)?,
7886 Self::AlphaOutset(inner) => inner.write_element("a:alphaOutset", writer)?,
7887 Self::AlphaRepl(inner) => inner.write_element("a:alphaRepl", writer)?,
7888 Self::BiLevel(inner) => inner.write_element("a:biLevel", writer)?,
7889 Self::Blend(inner) => inner.write_element("a:blend", writer)?,
7890 Self::Blur(inner) => inner.write_element("a:blur", writer)?,
7891 Self::ClrChange(inner) => inner.write_element("a:clrChange", writer)?,
7892 Self::ClrRepl(inner) => inner.write_element("a:clrRepl", writer)?,
7893 Self::Duotone(inner) => inner.write_element("a:duotone", writer)?,
7894 Self::Fill(inner) => inner.write_element("a:fill", writer)?,
7895 Self::FillOverlay(inner) => inner.write_element("a:fillOverlay", writer)?,
7896 Self::Glow(inner) => inner.write_element("a:glow", writer)?,
7897 Self::Grayscl(inner) => inner.write_element("a:grayscl", writer)?,
7898 Self::Hsl(inner) => inner.write_element("a:hsl", writer)?,
7899 Self::InnerShdw(inner) => inner.write_element("a:innerShdw", writer)?,
7900 Self::Lum(inner) => inner.write_element("a:lum", writer)?,
7901 Self::OuterShdw(inner) => inner.write_element("a:outerShdw", writer)?,
7902 Self::PrstShdw(inner) => inner.write_element("a:prstShdw", writer)?,
7903 Self::Reflection(inner) => inner.write_element("a:reflection", writer)?,
7904 Self::RelOff(inner) => inner.write_element("a:relOff", writer)?,
7905 Self::SoftEdge(inner) => inner.write_element("a:softEdge", writer)?,
7906 Self::Tint(inner) => inner.write_element("a:tint", writer)?,
7907 Self::Xfrm(inner) => inner.write_element("a:xfrm", writer)?,
7908 }
7909 Ok(())
7910 }
7911}
7912
7913impl ToXml for EffectContainer {
7914 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7915 #[allow(unused_mut)]
7916 let mut start = start;
7917 if let Some(ref val) = self.r#type {
7918 {
7919 let s = val.to_string();
7920 start.push_attribute(("type", s.as_str()));
7921 }
7922 }
7923 if let Some(ref val) = self.name {
7924 start.push_attribute(("name", val.as_str()));
7925 }
7926 #[cfg(feature = "extra-attrs")]
7927 for (key, value) in &self.extra_attrs {
7928 start.push_attribute((key.as_str(), value.as_str()));
7929 }
7930 start
7931 }
7932
7933 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7934 #[cfg(feature = "extra-children")]
7935 let mut extra_iter = self.extra_children.iter().peekable();
7936 #[cfg(feature = "extra-children")]
7937 let mut emit_idx: usize = 0;
7938 for item in &self.effect {
7939 #[cfg(feature = "extra-children")]
7940 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7941 extra_iter
7942 .next()
7943 .unwrap()
7944 .node
7945 .write_to(writer)
7946 .map_err(SerializeError::from)?;
7947 }
7948 item.write_element("", writer)?;
7949 #[cfg(feature = "extra-children")]
7950 {
7951 emit_idx += 1;
7952 }
7953 }
7954 #[cfg(feature = "extra-children")]
7955 for extra in extra_iter {
7956 extra.node.write_to(writer).map_err(SerializeError::from)?;
7957 }
7958 Ok(())
7959 }
7960
7961 fn is_empty_element(&self) -> bool {
7962 if !self.effect.is_empty() {
7963 return false;
7964 }
7965 #[cfg(feature = "extra-children")]
7966 if !self.extra_children.is_empty() {
7967 return false;
7968 }
7969 true
7970 }
7971}
7972
7973impl ToXml for CTBlendEffect {
7974 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
7975 #[allow(unused_mut)]
7976 let mut start = start;
7977 {
7978 let val = &self.blend;
7979 {
7980 let s = val.to_string();
7981 start.push_attribute(("blend", s.as_str()));
7982 }
7983 }
7984 #[cfg(feature = "extra-attrs")]
7985 for (key, value) in &self.extra_attrs {
7986 start.push_attribute((key.as_str(), value.as_str()));
7987 }
7988 start
7989 }
7990
7991 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
7992 #[cfg(feature = "extra-children")]
7993 let mut extra_iter = self.extra_children.iter().peekable();
7994 #[cfg(feature = "extra-children")]
7995 let mut emit_idx: usize = 0;
7996 #[cfg(feature = "extra-children")]
7997 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
7998 extra_iter
7999 .next()
8000 .unwrap()
8001 .node
8002 .write_to(writer)
8003 .map_err(SerializeError::from)?;
8004 }
8005 {
8006 let val = &self.cont;
8007 val.write_element("a:cont", writer)?;
8008 }
8009 #[cfg(feature = "extra-children")]
8010 {
8011 emit_idx += 1;
8012 }
8013 #[cfg(feature = "extra-children")]
8014 for extra in extra_iter {
8015 extra.node.write_to(writer).map_err(SerializeError::from)?;
8016 }
8017 Ok(())
8018 }
8019
8020 fn is_empty_element(&self) -> bool {
8021 false
8022 }
8023}
8024
8025impl ToXml for EffectList {
8026 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8027 #[cfg(feature = "extra-children")]
8028 let mut extra_iter = self.extra_children.iter().peekable();
8029 #[cfg(feature = "extra-children")]
8030 let mut emit_idx: usize = 0;
8031 #[cfg(feature = "extra-children")]
8032 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8033 extra_iter
8034 .next()
8035 .unwrap()
8036 .node
8037 .write_to(writer)
8038 .map_err(SerializeError::from)?;
8039 }
8040 #[cfg(feature = "dml-effects")]
8041 if let Some(ref val) = self.blur {
8042 val.write_element("a:blur", writer)?;
8043 }
8044 #[cfg(feature = "extra-children")]
8045 {
8046 emit_idx += 1;
8047 }
8048 #[cfg(feature = "extra-children")]
8049 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8050 extra_iter
8051 .next()
8052 .unwrap()
8053 .node
8054 .write_to(writer)
8055 .map_err(SerializeError::from)?;
8056 }
8057 #[cfg(feature = "dml-effects")]
8058 if let Some(ref val) = self.fill_overlay {
8059 val.write_element("a:fillOverlay", writer)?;
8060 }
8061 #[cfg(feature = "extra-children")]
8062 {
8063 emit_idx += 1;
8064 }
8065 #[cfg(feature = "extra-children")]
8066 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8067 extra_iter
8068 .next()
8069 .unwrap()
8070 .node
8071 .write_to(writer)
8072 .map_err(SerializeError::from)?;
8073 }
8074 #[cfg(feature = "dml-effects")]
8075 if let Some(ref val) = self.glow {
8076 val.write_element("a:glow", writer)?;
8077 }
8078 #[cfg(feature = "extra-children")]
8079 {
8080 emit_idx += 1;
8081 }
8082 #[cfg(feature = "extra-children")]
8083 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8084 extra_iter
8085 .next()
8086 .unwrap()
8087 .node
8088 .write_to(writer)
8089 .map_err(SerializeError::from)?;
8090 }
8091 #[cfg(feature = "dml-effects")]
8092 if let Some(ref val) = self.inner_shdw {
8093 val.write_element("a:innerShdw", writer)?;
8094 }
8095 #[cfg(feature = "extra-children")]
8096 {
8097 emit_idx += 1;
8098 }
8099 #[cfg(feature = "extra-children")]
8100 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8101 extra_iter
8102 .next()
8103 .unwrap()
8104 .node
8105 .write_to(writer)
8106 .map_err(SerializeError::from)?;
8107 }
8108 #[cfg(feature = "dml-effects")]
8109 if let Some(ref val) = self.outer_shdw {
8110 val.write_element("a:outerShdw", writer)?;
8111 }
8112 #[cfg(feature = "extra-children")]
8113 {
8114 emit_idx += 1;
8115 }
8116 #[cfg(feature = "extra-children")]
8117 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8118 extra_iter
8119 .next()
8120 .unwrap()
8121 .node
8122 .write_to(writer)
8123 .map_err(SerializeError::from)?;
8124 }
8125 #[cfg(feature = "dml-effects")]
8126 if let Some(ref val) = self.prst_shdw {
8127 val.write_element("a:prstShdw", writer)?;
8128 }
8129 #[cfg(feature = "extra-children")]
8130 {
8131 emit_idx += 1;
8132 }
8133 #[cfg(feature = "extra-children")]
8134 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8135 extra_iter
8136 .next()
8137 .unwrap()
8138 .node
8139 .write_to(writer)
8140 .map_err(SerializeError::from)?;
8141 }
8142 #[cfg(feature = "dml-effects")]
8143 if let Some(ref val) = self.reflection {
8144 val.write_element("a:reflection", writer)?;
8145 }
8146 #[cfg(feature = "extra-children")]
8147 {
8148 emit_idx += 1;
8149 }
8150 #[cfg(feature = "extra-children")]
8151 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8152 extra_iter
8153 .next()
8154 .unwrap()
8155 .node
8156 .write_to(writer)
8157 .map_err(SerializeError::from)?;
8158 }
8159 #[cfg(feature = "dml-effects")]
8160 if let Some(ref val) = self.soft_edge {
8161 val.write_element("a:softEdge", writer)?;
8162 }
8163 #[cfg(feature = "extra-children")]
8164 {
8165 emit_idx += 1;
8166 }
8167 #[cfg(feature = "extra-children")]
8168 for extra in extra_iter {
8169 extra.node.write_to(writer).map_err(SerializeError::from)?;
8170 }
8171 Ok(())
8172 }
8173
8174 fn is_empty_element(&self) -> bool {
8175 #[cfg(feature = "dml-effects")]
8176 if self.blur.is_some() {
8177 return false;
8178 }
8179 #[cfg(feature = "dml-effects")]
8180 if self.fill_overlay.is_some() {
8181 return false;
8182 }
8183 #[cfg(feature = "dml-effects")]
8184 if self.glow.is_some() {
8185 return false;
8186 }
8187 #[cfg(feature = "dml-effects")]
8188 if self.inner_shdw.is_some() {
8189 return false;
8190 }
8191 #[cfg(feature = "dml-effects")]
8192 if self.outer_shdw.is_some() {
8193 return false;
8194 }
8195 #[cfg(feature = "dml-effects")]
8196 if self.prst_shdw.is_some() {
8197 return false;
8198 }
8199 #[cfg(feature = "dml-effects")]
8200 if self.reflection.is_some() {
8201 return false;
8202 }
8203 #[cfg(feature = "dml-effects")]
8204 if self.soft_edge.is_some() {
8205 return false;
8206 }
8207 #[cfg(feature = "extra-children")]
8208 if !self.extra_children.is_empty() {
8209 return false;
8210 }
8211 true
8212 }
8213}
8214
8215impl ToXml for EGEffectProperties {
8216 fn write_element<W: Write>(
8217 &self,
8218 _tag: &str,
8219 writer: &mut Writer<W>,
8220 ) -> Result<(), SerializeError> {
8221 match self {
8222 Self::EffectLst(inner) => inner.write_element("a:effectLst", writer)?,
8223 Self::EffectDag(inner) => inner.write_element("a:effectDag", writer)?,
8224 }
8225 Ok(())
8226 }
8227}
8228
8229impl ToXml for CTEffectProperties {
8230 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8231 #[cfg(feature = "extra-children")]
8232 let mut extra_iter = self.extra_children.iter().peekable();
8233 #[cfg(feature = "extra-children")]
8234 let mut emit_idx: usize = 0;
8235 #[cfg(feature = "extra-children")]
8236 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8237 extra_iter
8238 .next()
8239 .unwrap()
8240 .node
8241 .write_to(writer)
8242 .map_err(SerializeError::from)?;
8243 }
8244 if let Some(ref val) = self.effect_properties {
8245 val.write_element("", writer)?;
8246 }
8247 #[cfg(feature = "extra-children")]
8248 {
8249 emit_idx += 1;
8250 }
8251 #[cfg(feature = "extra-children")]
8252 for extra in extra_iter {
8253 extra.node.write_to(writer).map_err(SerializeError::from)?;
8254 }
8255 Ok(())
8256 }
8257
8258 fn is_empty_element(&self) -> bool {
8259 false
8260 }
8261}
8262
8263impl ToXml for CTGeomGuide {
8264 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8265 #[allow(unused_mut)]
8266 let mut start = start;
8267 {
8268 let val = &self.name;
8269 start.push_attribute(("name", val.as_str()));
8270 }
8271 {
8272 let val = &self.fmla;
8273 start.push_attribute(("fmla", val.as_str()));
8274 }
8275 #[cfg(feature = "extra-attrs")]
8276 for (key, value) in &self.extra_attrs {
8277 start.push_attribute((key.as_str(), value.as_str()));
8278 }
8279 start
8280 }
8281
8282 fn is_empty_element(&self) -> bool {
8283 true
8284 }
8285}
8286
8287impl ToXml for CTGeomGuideList {
8288 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8289 #[cfg(feature = "extra-children")]
8290 let mut extra_iter = self.extra_children.iter().peekable();
8291 #[cfg(feature = "extra-children")]
8292 let mut emit_idx: usize = 0;
8293 for item in &self.gd {
8294 #[cfg(feature = "extra-children")]
8295 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8296 extra_iter
8297 .next()
8298 .unwrap()
8299 .node
8300 .write_to(writer)
8301 .map_err(SerializeError::from)?;
8302 }
8303 item.write_element("a:gd", writer)?;
8304 #[cfg(feature = "extra-children")]
8305 {
8306 emit_idx += 1;
8307 }
8308 }
8309 #[cfg(feature = "extra-children")]
8310 for extra in extra_iter {
8311 extra.node.write_to(writer).map_err(SerializeError::from)?;
8312 }
8313 Ok(())
8314 }
8315
8316 fn is_empty_element(&self) -> bool {
8317 if !self.gd.is_empty() {
8318 return false;
8319 }
8320 #[cfg(feature = "extra-children")]
8321 if !self.extra_children.is_empty() {
8322 return false;
8323 }
8324 true
8325 }
8326}
8327
8328impl ToXml for CTAdjPoint2D {
8329 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8330 #[allow(unused_mut)]
8331 let mut start = start;
8332 {
8333 let val = &self.x;
8334 {
8335 let s = val.to_string();
8336 start.push_attribute(("x", s.as_str()));
8337 }
8338 }
8339 {
8340 let val = &self.y;
8341 {
8342 let s = val.to_string();
8343 start.push_attribute(("y", s.as_str()));
8344 }
8345 }
8346 #[cfg(feature = "extra-attrs")]
8347 for (key, value) in &self.extra_attrs {
8348 start.push_attribute((key.as_str(), value.as_str()));
8349 }
8350 start
8351 }
8352
8353 fn is_empty_element(&self) -> bool {
8354 true
8355 }
8356}
8357
8358impl ToXml for CTGeomRect {
8359 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8360 #[allow(unused_mut)]
8361 let mut start = start;
8362 {
8363 let val = &self.l;
8364 {
8365 let s = val.to_string();
8366 start.push_attribute(("l", s.as_str()));
8367 }
8368 }
8369 {
8370 let val = &self.t;
8371 {
8372 let s = val.to_string();
8373 start.push_attribute(("t", s.as_str()));
8374 }
8375 }
8376 {
8377 let val = &self.relationship_id;
8378 {
8379 let s = val.to_string();
8380 start.push_attribute(("r", s.as_str()));
8381 }
8382 }
8383 {
8384 let val = &self.b;
8385 {
8386 let s = val.to_string();
8387 start.push_attribute(("b", s.as_str()));
8388 }
8389 }
8390 #[cfg(feature = "extra-attrs")]
8391 for (key, value) in &self.extra_attrs {
8392 start.push_attribute((key.as_str(), value.as_str()));
8393 }
8394 start
8395 }
8396
8397 fn is_empty_element(&self) -> bool {
8398 true
8399 }
8400}
8401
8402impl ToXml for CTXYAdjustHandle {
8403 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8404 #[allow(unused_mut)]
8405 let mut start = start;
8406 if let Some(ref val) = self.gd_ref_x {
8407 start.push_attribute(("gdRefX", val.as_str()));
8408 }
8409 if let Some(ref val) = self.min_x {
8410 {
8411 let s = val.to_string();
8412 start.push_attribute(("minX", s.as_str()));
8413 }
8414 }
8415 if let Some(ref val) = self.max_x {
8416 {
8417 let s = val.to_string();
8418 start.push_attribute(("maxX", s.as_str()));
8419 }
8420 }
8421 if let Some(ref val) = self.gd_ref_y {
8422 start.push_attribute(("gdRefY", val.as_str()));
8423 }
8424 if let Some(ref val) = self.min_y {
8425 {
8426 let s = val.to_string();
8427 start.push_attribute(("minY", s.as_str()));
8428 }
8429 }
8430 if let Some(ref val) = self.max_y {
8431 {
8432 let s = val.to_string();
8433 start.push_attribute(("maxY", s.as_str()));
8434 }
8435 }
8436 #[cfg(feature = "extra-attrs")]
8437 for (key, value) in &self.extra_attrs {
8438 start.push_attribute((key.as_str(), value.as_str()));
8439 }
8440 start
8441 }
8442
8443 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8444 #[cfg(feature = "extra-children")]
8445 let mut extra_iter = self.extra_children.iter().peekable();
8446 #[cfg(feature = "extra-children")]
8447 let mut emit_idx: usize = 0;
8448 #[cfg(feature = "extra-children")]
8449 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8450 extra_iter
8451 .next()
8452 .unwrap()
8453 .node
8454 .write_to(writer)
8455 .map_err(SerializeError::from)?;
8456 }
8457 {
8458 let val = &self.pos;
8459 val.write_element("a:pos", writer)?;
8460 }
8461 #[cfg(feature = "extra-children")]
8462 {
8463 emit_idx += 1;
8464 }
8465 #[cfg(feature = "extra-children")]
8466 for extra in extra_iter {
8467 extra.node.write_to(writer).map_err(SerializeError::from)?;
8468 }
8469 Ok(())
8470 }
8471
8472 fn is_empty_element(&self) -> bool {
8473 false
8474 }
8475}
8476
8477impl ToXml for CTPolarAdjustHandle {
8478 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8479 #[allow(unused_mut)]
8480 let mut start = start;
8481 if let Some(ref val) = self.gd_ref_r {
8482 start.push_attribute(("gdRefR", val.as_str()));
8483 }
8484 if let Some(ref val) = self.min_r {
8485 {
8486 let s = val.to_string();
8487 start.push_attribute(("minR", s.as_str()));
8488 }
8489 }
8490 if let Some(ref val) = self.max_r {
8491 {
8492 let s = val.to_string();
8493 start.push_attribute(("maxR", s.as_str()));
8494 }
8495 }
8496 if let Some(ref val) = self.gd_ref_ang {
8497 start.push_attribute(("gdRefAng", val.as_str()));
8498 }
8499 if let Some(ref val) = self.min_ang {
8500 {
8501 let s = val.to_string();
8502 start.push_attribute(("minAng", s.as_str()));
8503 }
8504 }
8505 if let Some(ref val) = self.max_ang {
8506 {
8507 let s = val.to_string();
8508 start.push_attribute(("maxAng", s.as_str()));
8509 }
8510 }
8511 #[cfg(feature = "extra-attrs")]
8512 for (key, value) in &self.extra_attrs {
8513 start.push_attribute((key.as_str(), value.as_str()));
8514 }
8515 start
8516 }
8517
8518 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8519 #[cfg(feature = "extra-children")]
8520 let mut extra_iter = self.extra_children.iter().peekable();
8521 #[cfg(feature = "extra-children")]
8522 let mut emit_idx: usize = 0;
8523 #[cfg(feature = "extra-children")]
8524 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8525 extra_iter
8526 .next()
8527 .unwrap()
8528 .node
8529 .write_to(writer)
8530 .map_err(SerializeError::from)?;
8531 }
8532 {
8533 let val = &self.pos;
8534 val.write_element("a:pos", writer)?;
8535 }
8536 #[cfg(feature = "extra-children")]
8537 {
8538 emit_idx += 1;
8539 }
8540 #[cfg(feature = "extra-children")]
8541 for extra in extra_iter {
8542 extra.node.write_to(writer).map_err(SerializeError::from)?;
8543 }
8544 Ok(())
8545 }
8546
8547 fn is_empty_element(&self) -> bool {
8548 false
8549 }
8550}
8551
8552impl ToXml for CTConnectionSite {
8553 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8554 #[allow(unused_mut)]
8555 let mut start = start;
8556 {
8557 let val = &self.ang;
8558 {
8559 let s = val.to_string();
8560 start.push_attribute(("ang", s.as_str()));
8561 }
8562 }
8563 #[cfg(feature = "extra-attrs")]
8564 for (key, value) in &self.extra_attrs {
8565 start.push_attribute((key.as_str(), value.as_str()));
8566 }
8567 start
8568 }
8569
8570 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8571 #[cfg(feature = "extra-children")]
8572 let mut extra_iter = self.extra_children.iter().peekable();
8573 #[cfg(feature = "extra-children")]
8574 let mut emit_idx: usize = 0;
8575 #[cfg(feature = "extra-children")]
8576 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8577 extra_iter
8578 .next()
8579 .unwrap()
8580 .node
8581 .write_to(writer)
8582 .map_err(SerializeError::from)?;
8583 }
8584 {
8585 let val = &self.pos;
8586 val.write_element("a:pos", writer)?;
8587 }
8588 #[cfg(feature = "extra-children")]
8589 {
8590 emit_idx += 1;
8591 }
8592 #[cfg(feature = "extra-children")]
8593 for extra in extra_iter {
8594 extra.node.write_to(writer).map_err(SerializeError::from)?;
8595 }
8596 Ok(())
8597 }
8598
8599 fn is_empty_element(&self) -> bool {
8600 false
8601 }
8602}
8603
8604impl ToXml for CTAdjustHandleList {
8605 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8606 #[cfg(feature = "extra-children")]
8607 let mut extra_iter = self.extra_children.iter().peekable();
8608 #[cfg(feature = "extra-children")]
8609 let mut emit_idx: usize = 0;
8610 for item in &self.ah_x_y {
8611 #[cfg(feature = "extra-children")]
8612 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8613 extra_iter
8614 .next()
8615 .unwrap()
8616 .node
8617 .write_to(writer)
8618 .map_err(SerializeError::from)?;
8619 }
8620 item.write_element("a:ahXY", writer)?;
8621 #[cfg(feature = "extra-children")]
8622 {
8623 emit_idx += 1;
8624 }
8625 }
8626 for item in &self.ah_polar {
8627 #[cfg(feature = "extra-children")]
8628 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8629 extra_iter
8630 .next()
8631 .unwrap()
8632 .node
8633 .write_to(writer)
8634 .map_err(SerializeError::from)?;
8635 }
8636 item.write_element("a:ahPolar", writer)?;
8637 #[cfg(feature = "extra-children")]
8638 {
8639 emit_idx += 1;
8640 }
8641 }
8642 #[cfg(feature = "extra-children")]
8643 for extra in extra_iter {
8644 extra.node.write_to(writer).map_err(SerializeError::from)?;
8645 }
8646 Ok(())
8647 }
8648
8649 fn is_empty_element(&self) -> bool {
8650 if !self.ah_x_y.is_empty() {
8651 return false;
8652 }
8653 if !self.ah_polar.is_empty() {
8654 return false;
8655 }
8656 #[cfg(feature = "extra-children")]
8657 if !self.extra_children.is_empty() {
8658 return false;
8659 }
8660 true
8661 }
8662}
8663
8664impl ToXml for CTConnectionSiteList {
8665 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8666 #[cfg(feature = "extra-children")]
8667 let mut extra_iter = self.extra_children.iter().peekable();
8668 #[cfg(feature = "extra-children")]
8669 let mut emit_idx: usize = 0;
8670 for item in &self.cxn {
8671 #[cfg(feature = "extra-children")]
8672 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8673 extra_iter
8674 .next()
8675 .unwrap()
8676 .node
8677 .write_to(writer)
8678 .map_err(SerializeError::from)?;
8679 }
8680 item.write_element("a:cxn", writer)?;
8681 #[cfg(feature = "extra-children")]
8682 {
8683 emit_idx += 1;
8684 }
8685 }
8686 #[cfg(feature = "extra-children")]
8687 for extra in extra_iter {
8688 extra.node.write_to(writer).map_err(SerializeError::from)?;
8689 }
8690 Ok(())
8691 }
8692
8693 fn is_empty_element(&self) -> bool {
8694 if !self.cxn.is_empty() {
8695 return false;
8696 }
8697 #[cfg(feature = "extra-children")]
8698 if !self.extra_children.is_empty() {
8699 return false;
8700 }
8701 true
8702 }
8703}
8704
8705impl ToXml for CTConnection {
8706 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8707 #[allow(unused_mut)]
8708 let mut start = start;
8709 {
8710 let val = &self.id;
8711 {
8712 let s = val.to_string();
8713 start.push_attribute(("id", s.as_str()));
8714 }
8715 }
8716 {
8717 let val = &self.idx;
8718 {
8719 let s = val.to_string();
8720 start.push_attribute(("idx", s.as_str()));
8721 }
8722 }
8723 #[cfg(feature = "extra-attrs")]
8724 for (key, value) in &self.extra_attrs {
8725 start.push_attribute((key.as_str(), value.as_str()));
8726 }
8727 start
8728 }
8729
8730 fn is_empty_element(&self) -> bool {
8731 true
8732 }
8733}
8734
8735impl ToXml for CTPath2DArcTo {
8736 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8737 #[allow(unused_mut)]
8738 let mut start = start;
8739 {
8740 let val = &self.w_r;
8741 {
8742 let s = val.to_string();
8743 start.push_attribute(("wR", s.as_str()));
8744 }
8745 }
8746 {
8747 let val = &self.h_r;
8748 {
8749 let s = val.to_string();
8750 start.push_attribute(("hR", s.as_str()));
8751 }
8752 }
8753 {
8754 let val = &self.st_ang;
8755 {
8756 let s = val.to_string();
8757 start.push_attribute(("stAng", s.as_str()));
8758 }
8759 }
8760 {
8761 let val = &self.sw_ang;
8762 {
8763 let s = val.to_string();
8764 start.push_attribute(("swAng", s.as_str()));
8765 }
8766 }
8767 #[cfg(feature = "extra-attrs")]
8768 for (key, value) in &self.extra_attrs {
8769 start.push_attribute((key.as_str(), value.as_str()));
8770 }
8771 start
8772 }
8773
8774 fn is_empty_element(&self) -> bool {
8775 true
8776 }
8777}
8778
8779impl ToXml for CTPath2DQuadBezierTo {
8780 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8781 #[cfg(feature = "extra-children")]
8782 let mut extra_iter = self.extra_children.iter().peekable();
8783 #[cfg(feature = "extra-children")]
8784 let mut emit_idx: usize = 0;
8785 for item in &self.pt {
8786 #[cfg(feature = "extra-children")]
8787 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8788 extra_iter
8789 .next()
8790 .unwrap()
8791 .node
8792 .write_to(writer)
8793 .map_err(SerializeError::from)?;
8794 }
8795 item.write_element("a:pt", writer)?;
8796 #[cfg(feature = "extra-children")]
8797 {
8798 emit_idx += 1;
8799 }
8800 }
8801 #[cfg(feature = "extra-children")]
8802 for extra in extra_iter {
8803 extra.node.write_to(writer).map_err(SerializeError::from)?;
8804 }
8805 Ok(())
8806 }
8807
8808 fn is_empty_element(&self) -> bool {
8809 if !self.pt.is_empty() {
8810 return false;
8811 }
8812 #[cfg(feature = "extra-children")]
8813 if !self.extra_children.is_empty() {
8814 return false;
8815 }
8816 true
8817 }
8818}
8819
8820impl ToXml for CTPath2DCubicBezierTo {
8821 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8822 #[cfg(feature = "extra-children")]
8823 let mut extra_iter = self.extra_children.iter().peekable();
8824 #[cfg(feature = "extra-children")]
8825 let mut emit_idx: usize = 0;
8826 for item in &self.pt {
8827 #[cfg(feature = "extra-children")]
8828 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8829 extra_iter
8830 .next()
8831 .unwrap()
8832 .node
8833 .write_to(writer)
8834 .map_err(SerializeError::from)?;
8835 }
8836 item.write_element("a:pt", writer)?;
8837 #[cfg(feature = "extra-children")]
8838 {
8839 emit_idx += 1;
8840 }
8841 }
8842 #[cfg(feature = "extra-children")]
8843 for extra in extra_iter {
8844 extra.node.write_to(writer).map_err(SerializeError::from)?;
8845 }
8846 Ok(())
8847 }
8848
8849 fn is_empty_element(&self) -> bool {
8850 if !self.pt.is_empty() {
8851 return false;
8852 }
8853 #[cfg(feature = "extra-children")]
8854 if !self.extra_children.is_empty() {
8855 return false;
8856 }
8857 true
8858 }
8859}
8860
8861impl ToXml for CTPath2DClose {
8862 fn is_empty_element(&self) -> bool {
8863 true
8864 }
8865}
8866
8867impl ToXml for CTPath2D {
8868 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
8869 #[allow(unused_mut)]
8870 let mut start = start;
8871 if let Some(ref val) = self.width {
8872 {
8873 let s = val.to_string();
8874 start.push_attribute(("w", s.as_str()));
8875 }
8876 }
8877 if let Some(ref val) = self.height {
8878 {
8879 let s = val.to_string();
8880 start.push_attribute(("h", s.as_str()));
8881 }
8882 }
8883 if let Some(ref val) = self.fill {
8884 {
8885 let s = val.to_string();
8886 start.push_attribute(("fill", s.as_str()));
8887 }
8888 }
8889 if let Some(ref val) = self.stroke {
8890 start.push_attribute(("stroke", if *val { "1" } else { "0" }));
8891 }
8892 if let Some(ref val) = self.extrusion_ok {
8893 start.push_attribute(("extrusionOk", if *val { "1" } else { "0" }));
8894 }
8895 #[cfg(feature = "extra-attrs")]
8896 for (key, value) in &self.extra_attrs {
8897 start.push_attribute((key.as_str(), value.as_str()));
8898 }
8899 start
8900 }
8901
8902 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
8903 #[cfg(feature = "extra-children")]
8904 let mut extra_iter = self.extra_children.iter().peekable();
8905 #[cfg(feature = "extra-children")]
8906 let mut emit_idx: usize = 0;
8907 for item in &self.close {
8908 #[cfg(feature = "extra-children")]
8909 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8910 extra_iter
8911 .next()
8912 .unwrap()
8913 .node
8914 .write_to(writer)
8915 .map_err(SerializeError::from)?;
8916 }
8917 item.write_element("a:close", writer)?;
8918 #[cfg(feature = "extra-children")]
8919 {
8920 emit_idx += 1;
8921 }
8922 }
8923 for item in &self.move_to {
8924 #[cfg(feature = "extra-children")]
8925 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8926 extra_iter
8927 .next()
8928 .unwrap()
8929 .node
8930 .write_to(writer)
8931 .map_err(SerializeError::from)?;
8932 }
8933 item.write_element("a:moveTo", writer)?;
8934 #[cfg(feature = "extra-children")]
8935 {
8936 emit_idx += 1;
8937 }
8938 }
8939 for item in &self.ln_to {
8940 #[cfg(feature = "extra-children")]
8941 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8942 extra_iter
8943 .next()
8944 .unwrap()
8945 .node
8946 .write_to(writer)
8947 .map_err(SerializeError::from)?;
8948 }
8949 item.write_element("a:lnTo", writer)?;
8950 #[cfg(feature = "extra-children")]
8951 {
8952 emit_idx += 1;
8953 }
8954 }
8955 for item in &self.arc_to {
8956 #[cfg(feature = "extra-children")]
8957 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8958 extra_iter
8959 .next()
8960 .unwrap()
8961 .node
8962 .write_to(writer)
8963 .map_err(SerializeError::from)?;
8964 }
8965 item.write_element("a:arcTo", writer)?;
8966 #[cfg(feature = "extra-children")]
8967 {
8968 emit_idx += 1;
8969 }
8970 }
8971 for item in &self.quad_bez_to {
8972 #[cfg(feature = "extra-children")]
8973 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8974 extra_iter
8975 .next()
8976 .unwrap()
8977 .node
8978 .write_to(writer)
8979 .map_err(SerializeError::from)?;
8980 }
8981 item.write_element("a:quadBezTo", writer)?;
8982 #[cfg(feature = "extra-children")]
8983 {
8984 emit_idx += 1;
8985 }
8986 }
8987 for item in &self.cubic_bez_to {
8988 #[cfg(feature = "extra-children")]
8989 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
8990 extra_iter
8991 .next()
8992 .unwrap()
8993 .node
8994 .write_to(writer)
8995 .map_err(SerializeError::from)?;
8996 }
8997 item.write_element("a:cubicBezTo", writer)?;
8998 #[cfg(feature = "extra-children")]
8999 {
9000 emit_idx += 1;
9001 }
9002 }
9003 #[cfg(feature = "extra-children")]
9004 for extra in extra_iter {
9005 extra.node.write_to(writer).map_err(SerializeError::from)?;
9006 }
9007 Ok(())
9008 }
9009
9010 fn is_empty_element(&self) -> bool {
9011 if !self.close.is_empty() {
9012 return false;
9013 }
9014 if !self.move_to.is_empty() {
9015 return false;
9016 }
9017 if !self.ln_to.is_empty() {
9018 return false;
9019 }
9020 if !self.arc_to.is_empty() {
9021 return false;
9022 }
9023 if !self.quad_bez_to.is_empty() {
9024 return false;
9025 }
9026 if !self.cubic_bez_to.is_empty() {
9027 return false;
9028 }
9029 #[cfg(feature = "extra-children")]
9030 if !self.extra_children.is_empty() {
9031 return false;
9032 }
9033 true
9034 }
9035}
9036
9037impl ToXml for CTPath2DList {
9038 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9039 #[cfg(feature = "extra-children")]
9040 let mut extra_iter = self.extra_children.iter().peekable();
9041 #[cfg(feature = "extra-children")]
9042 let mut emit_idx: usize = 0;
9043 for item in &self.path {
9044 #[cfg(feature = "extra-children")]
9045 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9046 extra_iter
9047 .next()
9048 .unwrap()
9049 .node
9050 .write_to(writer)
9051 .map_err(SerializeError::from)?;
9052 }
9053 item.write_element("a:path", writer)?;
9054 #[cfg(feature = "extra-children")]
9055 {
9056 emit_idx += 1;
9057 }
9058 }
9059 #[cfg(feature = "extra-children")]
9060 for extra in extra_iter {
9061 extra.node.write_to(writer).map_err(SerializeError::from)?;
9062 }
9063 Ok(())
9064 }
9065
9066 fn is_empty_element(&self) -> bool {
9067 if !self.path.is_empty() {
9068 return false;
9069 }
9070 #[cfg(feature = "extra-children")]
9071 if !self.extra_children.is_empty() {
9072 return false;
9073 }
9074 true
9075 }
9076}
9077
9078impl ToXml for CTPresetGeometry2D {
9079 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9080 #[allow(unused_mut)]
9081 let mut start = start;
9082 {
9083 let val = &self.preset;
9084 {
9085 let s = val.to_string();
9086 start.push_attribute(("prst", s.as_str()));
9087 }
9088 }
9089 #[cfg(feature = "extra-attrs")]
9090 for (key, value) in &self.extra_attrs {
9091 start.push_attribute((key.as_str(), value.as_str()));
9092 }
9093 start
9094 }
9095
9096 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9097 #[cfg(feature = "extra-children")]
9098 let mut extra_iter = self.extra_children.iter().peekable();
9099 #[cfg(feature = "extra-children")]
9100 let mut emit_idx: usize = 0;
9101 #[cfg(feature = "extra-children")]
9102 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9103 extra_iter
9104 .next()
9105 .unwrap()
9106 .node
9107 .write_to(writer)
9108 .map_err(SerializeError::from)?;
9109 }
9110 if let Some(ref val) = self.av_lst {
9111 val.write_element("a:avLst", writer)?;
9112 }
9113 #[cfg(feature = "extra-children")]
9114 {
9115 emit_idx += 1;
9116 }
9117 #[cfg(feature = "extra-children")]
9118 for extra in extra_iter {
9119 extra.node.write_to(writer).map_err(SerializeError::from)?;
9120 }
9121 Ok(())
9122 }
9123
9124 fn is_empty_element(&self) -> bool {
9125 if self.av_lst.is_some() {
9126 return false;
9127 }
9128 #[cfg(feature = "extra-children")]
9129 if !self.extra_children.is_empty() {
9130 return false;
9131 }
9132 true
9133 }
9134}
9135
9136impl ToXml for CTPresetTextShape {
9137 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9138 #[allow(unused_mut)]
9139 let mut start = start;
9140 {
9141 let val = &self.preset;
9142 {
9143 let s = val.to_string();
9144 start.push_attribute(("prst", s.as_str()));
9145 }
9146 }
9147 #[cfg(feature = "extra-attrs")]
9148 for (key, value) in &self.extra_attrs {
9149 start.push_attribute((key.as_str(), value.as_str()));
9150 }
9151 start
9152 }
9153
9154 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9155 #[cfg(feature = "extra-children")]
9156 let mut extra_iter = self.extra_children.iter().peekable();
9157 #[cfg(feature = "extra-children")]
9158 let mut emit_idx: usize = 0;
9159 #[cfg(feature = "extra-children")]
9160 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9161 extra_iter
9162 .next()
9163 .unwrap()
9164 .node
9165 .write_to(writer)
9166 .map_err(SerializeError::from)?;
9167 }
9168 if let Some(ref val) = self.av_lst {
9169 val.write_element("a:avLst", writer)?;
9170 }
9171 #[cfg(feature = "extra-children")]
9172 {
9173 emit_idx += 1;
9174 }
9175 #[cfg(feature = "extra-children")]
9176 for extra in extra_iter {
9177 extra.node.write_to(writer).map_err(SerializeError::from)?;
9178 }
9179 Ok(())
9180 }
9181
9182 fn is_empty_element(&self) -> bool {
9183 if self.av_lst.is_some() {
9184 return false;
9185 }
9186 #[cfg(feature = "extra-children")]
9187 if !self.extra_children.is_empty() {
9188 return false;
9189 }
9190 true
9191 }
9192}
9193
9194impl ToXml for CTCustomGeometry2D {
9195 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9196 #[cfg(feature = "extra-children")]
9197 let mut extra_iter = self.extra_children.iter().peekable();
9198 #[cfg(feature = "extra-children")]
9199 let mut emit_idx: usize = 0;
9200 #[cfg(feature = "extra-children")]
9201 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9202 extra_iter
9203 .next()
9204 .unwrap()
9205 .node
9206 .write_to(writer)
9207 .map_err(SerializeError::from)?;
9208 }
9209 if let Some(ref val) = self.av_lst {
9210 val.write_element("a:avLst", writer)?;
9211 }
9212 #[cfg(feature = "extra-children")]
9213 {
9214 emit_idx += 1;
9215 }
9216 #[cfg(feature = "extra-children")]
9217 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9218 extra_iter
9219 .next()
9220 .unwrap()
9221 .node
9222 .write_to(writer)
9223 .map_err(SerializeError::from)?;
9224 }
9225 if let Some(ref val) = self.gd_lst {
9226 val.write_element("a:gdLst", writer)?;
9227 }
9228 #[cfg(feature = "extra-children")]
9229 {
9230 emit_idx += 1;
9231 }
9232 #[cfg(feature = "extra-children")]
9233 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9234 extra_iter
9235 .next()
9236 .unwrap()
9237 .node
9238 .write_to(writer)
9239 .map_err(SerializeError::from)?;
9240 }
9241 if let Some(ref val) = self.ah_lst {
9242 val.write_element("a:ahLst", writer)?;
9243 }
9244 #[cfg(feature = "extra-children")]
9245 {
9246 emit_idx += 1;
9247 }
9248 #[cfg(feature = "extra-children")]
9249 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9250 extra_iter
9251 .next()
9252 .unwrap()
9253 .node
9254 .write_to(writer)
9255 .map_err(SerializeError::from)?;
9256 }
9257 if let Some(ref val) = self.cxn_lst {
9258 val.write_element("a:cxnLst", writer)?;
9259 }
9260 #[cfg(feature = "extra-children")]
9261 {
9262 emit_idx += 1;
9263 }
9264 #[cfg(feature = "extra-children")]
9265 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9266 extra_iter
9267 .next()
9268 .unwrap()
9269 .node
9270 .write_to(writer)
9271 .map_err(SerializeError::from)?;
9272 }
9273 if let Some(ref val) = self.rect {
9274 val.write_element("a:rect", writer)?;
9275 }
9276 #[cfg(feature = "extra-children")]
9277 {
9278 emit_idx += 1;
9279 }
9280 #[cfg(feature = "extra-children")]
9281 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9282 extra_iter
9283 .next()
9284 .unwrap()
9285 .node
9286 .write_to(writer)
9287 .map_err(SerializeError::from)?;
9288 }
9289 {
9290 let val = &self.path_lst;
9291 val.write_element("a:pathLst", writer)?;
9292 }
9293 #[cfg(feature = "extra-children")]
9294 {
9295 emit_idx += 1;
9296 }
9297 #[cfg(feature = "extra-children")]
9298 for extra in extra_iter {
9299 extra.node.write_to(writer).map_err(SerializeError::from)?;
9300 }
9301 Ok(())
9302 }
9303
9304 fn is_empty_element(&self) -> bool {
9305 if self.av_lst.is_some() {
9306 return false;
9307 }
9308 if self.gd_lst.is_some() {
9309 return false;
9310 }
9311 if self.ah_lst.is_some() {
9312 return false;
9313 }
9314 if self.cxn_lst.is_some() {
9315 return false;
9316 }
9317 if self.rect.is_some() {
9318 return false;
9319 }
9320 false
9321 }
9322}
9323
9324impl ToXml for EGGeometry {
9325 fn write_element<W: Write>(
9326 &self,
9327 _tag: &str,
9328 writer: &mut Writer<W>,
9329 ) -> Result<(), SerializeError> {
9330 match self {
9331 Self::CustGeom(inner) => inner.write_element("a:custGeom", writer)?,
9332 Self::PrstGeom(inner) => inner.write_element("a:prstGeom", writer)?,
9333 }
9334 Ok(())
9335 }
9336}
9337
9338impl ToXml for EGTextGeometry {
9339 fn write_element<W: Write>(
9340 &self,
9341 _tag: &str,
9342 writer: &mut Writer<W>,
9343 ) -> Result<(), SerializeError> {
9344 match self {
9345 Self::CustGeom(inner) => inner.write_element("a:custGeom", writer)?,
9346 Self::PrstTxWarp(inner) => inner.write_element("a:prstTxWarp", writer)?,
9347 }
9348 Ok(())
9349 }
9350}
9351
9352impl ToXml for CTLineEndProperties {
9353 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9354 #[allow(unused_mut)]
9355 let mut start = start;
9356 #[cfg(feature = "dml-lines")]
9357 if let Some(ref val) = self.r#type {
9358 {
9359 let s = val.to_string();
9360 start.push_attribute(("type", s.as_str()));
9361 }
9362 }
9363 #[cfg(feature = "dml-lines")]
9364 if let Some(ref val) = self.width {
9365 {
9366 let s = val.to_string();
9367 start.push_attribute(("w", s.as_str()));
9368 }
9369 }
9370 #[cfg(feature = "dml-lines")]
9371 if let Some(ref val) = self.len {
9372 {
9373 let s = val.to_string();
9374 start.push_attribute(("len", s.as_str()));
9375 }
9376 }
9377 #[cfg(feature = "extra-attrs")]
9378 for (key, value) in &self.extra_attrs {
9379 start.push_attribute((key.as_str(), value.as_str()));
9380 }
9381 start
9382 }
9383
9384 fn is_empty_element(&self) -> bool {
9385 true
9386 }
9387}
9388
9389impl ToXml for EGLineFillProperties {
9390 fn write_element<W: Write>(
9391 &self,
9392 _tag: &str,
9393 writer: &mut Writer<W>,
9394 ) -> Result<(), SerializeError> {
9395 match self {
9396 Self::NoFill(inner) => inner.write_element("a:noFill", writer)?,
9397 Self::SolidFill(inner) => inner.write_element("a:solidFill", writer)?,
9398 Self::GradFill(inner) => inner.write_element("a:gradFill", writer)?,
9399 Self::PattFill(inner) => inner.write_element("a:pattFill", writer)?,
9400 }
9401 Ok(())
9402 }
9403}
9404
9405impl ToXml for CTLineJoinBevel {
9406 fn is_empty_element(&self) -> bool {
9407 true
9408 }
9409}
9410
9411impl ToXml for CTLineJoinRound {
9412 fn is_empty_element(&self) -> bool {
9413 true
9414 }
9415}
9416
9417impl ToXml for CTLineJoinMiterProperties {
9418 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9419 #[allow(unused_mut)]
9420 let mut start = start;
9421 if let Some(ref val) = self.lim {
9422 {
9423 let s = val.to_string();
9424 start.push_attribute(("lim", s.as_str()));
9425 }
9426 }
9427 #[cfg(feature = "extra-attrs")]
9428 for (key, value) in &self.extra_attrs {
9429 start.push_attribute((key.as_str(), value.as_str()));
9430 }
9431 start
9432 }
9433
9434 fn is_empty_element(&self) -> bool {
9435 true
9436 }
9437}
9438
9439impl ToXml for EGLineJoinProperties {
9440 fn write_element<W: Write>(
9441 &self,
9442 _tag: &str,
9443 writer: &mut Writer<W>,
9444 ) -> Result<(), SerializeError> {
9445 match self {
9446 Self::Round(inner) => inner.write_element("a:round", writer)?,
9447 Self::Bevel(inner) => inner.write_element("a:bevel", writer)?,
9448 Self::Miter(inner) => inner.write_element("a:miter", writer)?,
9449 }
9450 Ok(())
9451 }
9452}
9453
9454impl ToXml for CTPresetLineDashProperties {
9455 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9456 #[allow(unused_mut)]
9457 let mut start = start;
9458 #[cfg(feature = "dml-lines")]
9459 if let Some(ref val) = self.value {
9460 {
9461 let s = val.to_string();
9462 start.push_attribute(("val", s.as_str()));
9463 }
9464 }
9465 #[cfg(feature = "extra-attrs")]
9466 for (key, value) in &self.extra_attrs {
9467 start.push_attribute((key.as_str(), value.as_str()));
9468 }
9469 start
9470 }
9471
9472 fn is_empty_element(&self) -> bool {
9473 true
9474 }
9475}
9476
9477impl ToXml for CTDashStop {
9478 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9479 #[allow(unused_mut)]
9480 let mut start = start;
9481 #[cfg(feature = "dml-lines")]
9482 {
9483 let val = &self.d;
9484 {
9485 let s = val.to_string();
9486 start.push_attribute(("d", s.as_str()));
9487 }
9488 }
9489 #[cfg(feature = "dml-lines")]
9490 {
9491 let val = &self.sp;
9492 {
9493 let s = val.to_string();
9494 start.push_attribute(("sp", s.as_str()));
9495 }
9496 }
9497 #[cfg(feature = "extra-attrs")]
9498 for (key, value) in &self.extra_attrs {
9499 start.push_attribute((key.as_str(), value.as_str()));
9500 }
9501 start
9502 }
9503
9504 fn is_empty_element(&self) -> bool {
9505 true
9506 }
9507}
9508
9509impl ToXml for CTDashStopList {
9510 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9511 #[cfg(feature = "extra-children")]
9512 let mut extra_iter = self.extra_children.iter().peekable();
9513 #[cfg(feature = "extra-children")]
9514 let mut emit_idx: usize = 0;
9515 for item in &self.ds {
9516 #[cfg(feature = "extra-children")]
9517 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9518 extra_iter
9519 .next()
9520 .unwrap()
9521 .node
9522 .write_to(writer)
9523 .map_err(SerializeError::from)?;
9524 }
9525 item.write_element("a:ds", writer)?;
9526 #[cfg(feature = "extra-children")]
9527 {
9528 emit_idx += 1;
9529 }
9530 }
9531 #[cfg(feature = "extra-children")]
9532 for extra in extra_iter {
9533 extra.node.write_to(writer).map_err(SerializeError::from)?;
9534 }
9535 Ok(())
9536 }
9537
9538 fn is_empty_element(&self) -> bool {
9539 if !self.ds.is_empty() {
9540 return false;
9541 }
9542 #[cfg(feature = "extra-children")]
9543 if !self.extra_children.is_empty() {
9544 return false;
9545 }
9546 true
9547 }
9548}
9549
9550impl ToXml for EGLineDashProperties {
9551 fn write_element<W: Write>(
9552 &self,
9553 _tag: &str,
9554 writer: &mut Writer<W>,
9555 ) -> Result<(), SerializeError> {
9556 match self {
9557 Self::PrstDash(inner) => inner.write_element("a:prstDash", writer)?,
9558 Self::CustDash(inner) => inner.write_element("a:custDash", writer)?,
9559 }
9560 Ok(())
9561 }
9562}
9563
9564impl ToXml for LineProperties {
9565 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9566 #[allow(unused_mut)]
9567 let mut start = start;
9568 #[cfg(feature = "dml-lines")]
9569 if let Some(ref val) = self.width {
9570 {
9571 let s = val.to_string();
9572 start.push_attribute(("w", s.as_str()));
9573 }
9574 }
9575 #[cfg(feature = "dml-lines")]
9576 if let Some(ref val) = self.cap {
9577 {
9578 let s = val.to_string();
9579 start.push_attribute(("cap", s.as_str()));
9580 }
9581 }
9582 #[cfg(feature = "dml-lines")]
9583 if let Some(ref val) = self.cmpd {
9584 {
9585 let s = val.to_string();
9586 start.push_attribute(("cmpd", s.as_str()));
9587 }
9588 }
9589 #[cfg(feature = "dml-lines")]
9590 if let Some(ref val) = self.algn {
9591 {
9592 let s = val.to_string();
9593 start.push_attribute(("algn", s.as_str()));
9594 }
9595 }
9596 #[cfg(feature = "extra-attrs")]
9597 for (key, value) in &self.extra_attrs {
9598 start.push_attribute((key.as_str(), value.as_str()));
9599 }
9600 start
9601 }
9602
9603 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9604 #[cfg(feature = "extra-children")]
9605 let mut extra_iter = self.extra_children.iter().peekable();
9606 #[cfg(feature = "extra-children")]
9607 let mut emit_idx: usize = 0;
9608 #[cfg(feature = "extra-children")]
9609 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9610 extra_iter
9611 .next()
9612 .unwrap()
9613 .node
9614 .write_to(writer)
9615 .map_err(SerializeError::from)?;
9616 }
9617 if let Some(ref val) = self.line_fill_properties {
9618 val.write_element("", writer)?;
9619 }
9620 #[cfg(feature = "extra-children")]
9621 {
9622 emit_idx += 1;
9623 }
9624 #[cfg(feature = "extra-children")]
9625 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9626 extra_iter
9627 .next()
9628 .unwrap()
9629 .node
9630 .write_to(writer)
9631 .map_err(SerializeError::from)?;
9632 }
9633 if let Some(ref val) = self.line_dash_properties {
9634 val.write_element("", writer)?;
9635 }
9636 #[cfg(feature = "extra-children")]
9637 {
9638 emit_idx += 1;
9639 }
9640 #[cfg(feature = "extra-children")]
9641 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9642 extra_iter
9643 .next()
9644 .unwrap()
9645 .node
9646 .write_to(writer)
9647 .map_err(SerializeError::from)?;
9648 }
9649 if let Some(ref val) = self.line_join_properties {
9650 val.write_element("", writer)?;
9651 }
9652 #[cfg(feature = "extra-children")]
9653 {
9654 emit_idx += 1;
9655 }
9656 #[cfg(feature = "extra-children")]
9657 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9658 extra_iter
9659 .next()
9660 .unwrap()
9661 .node
9662 .write_to(writer)
9663 .map_err(SerializeError::from)?;
9664 }
9665 #[cfg(feature = "dml-lines")]
9666 if let Some(ref val) = self.head_end {
9667 val.write_element("a:headEnd", writer)?;
9668 }
9669 #[cfg(feature = "extra-children")]
9670 {
9671 emit_idx += 1;
9672 }
9673 #[cfg(feature = "extra-children")]
9674 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9675 extra_iter
9676 .next()
9677 .unwrap()
9678 .node
9679 .write_to(writer)
9680 .map_err(SerializeError::from)?;
9681 }
9682 #[cfg(feature = "dml-lines")]
9683 if let Some(ref val) = self.tail_end {
9684 val.write_element("a:tailEnd", writer)?;
9685 }
9686 #[cfg(feature = "extra-children")]
9687 {
9688 emit_idx += 1;
9689 }
9690 #[cfg(feature = "extra-children")]
9691 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9692 extra_iter
9693 .next()
9694 .unwrap()
9695 .node
9696 .write_to(writer)
9697 .map_err(SerializeError::from)?;
9698 }
9699 #[cfg(feature = "dml-extensions")]
9700 if let Some(ref val) = self.ext_lst {
9701 val.write_element("a:extLst", writer)?;
9702 }
9703 #[cfg(feature = "extra-children")]
9704 {
9705 emit_idx += 1;
9706 }
9707 #[cfg(feature = "extra-children")]
9708 for extra in extra_iter {
9709 extra.node.write_to(writer).map_err(SerializeError::from)?;
9710 }
9711 Ok(())
9712 }
9713
9714 fn is_empty_element(&self) -> bool {
9715 if self.line_fill_properties.is_some() {
9716 return false;
9717 }
9718 if self.line_dash_properties.is_some() {
9719 return false;
9720 }
9721 if self.line_join_properties.is_some() {
9722 return false;
9723 }
9724 #[cfg(feature = "dml-lines")]
9725 if self.head_end.is_some() {
9726 return false;
9727 }
9728 #[cfg(feature = "dml-lines")]
9729 if self.tail_end.is_some() {
9730 return false;
9731 }
9732 #[cfg(feature = "dml-extensions")]
9733 if self.ext_lst.is_some() {
9734 return false;
9735 }
9736 #[cfg(feature = "extra-children")]
9737 if !self.extra_children.is_empty() {
9738 return false;
9739 }
9740 true
9741 }
9742}
9743
9744impl ToXml for CTShapeProperties {
9745 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9746 #[allow(unused_mut)]
9747 let mut start = start;
9748 #[cfg(feature = "dml-shapes")]
9749 if let Some(ref val) = self.bw_mode {
9750 {
9751 let s = val.to_string();
9752 start.push_attribute(("bwMode", s.as_str()));
9753 }
9754 }
9755 #[cfg(feature = "extra-attrs")]
9756 for (key, value) in &self.extra_attrs {
9757 start.push_attribute((key.as_str(), value.as_str()));
9758 }
9759 start
9760 }
9761
9762 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9763 #[cfg(feature = "extra-children")]
9764 let mut extra_iter = self.extra_children.iter().peekable();
9765 #[cfg(feature = "extra-children")]
9766 let mut emit_idx: usize = 0;
9767 #[cfg(feature = "extra-children")]
9768 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9769 extra_iter
9770 .next()
9771 .unwrap()
9772 .node
9773 .write_to(writer)
9774 .map_err(SerializeError::from)?;
9775 }
9776 if let Some(ref val) = self.transform {
9777 val.write_element("a:xfrm", writer)?;
9778 }
9779 #[cfg(feature = "extra-children")]
9780 {
9781 emit_idx += 1;
9782 }
9783 #[cfg(feature = "extra-children")]
9784 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9785 extra_iter
9786 .next()
9787 .unwrap()
9788 .node
9789 .write_to(writer)
9790 .map_err(SerializeError::from)?;
9791 }
9792 if let Some(ref val) = self.geometry {
9793 val.write_element("", writer)?;
9794 }
9795 #[cfg(feature = "extra-children")]
9796 {
9797 emit_idx += 1;
9798 }
9799 #[cfg(feature = "extra-children")]
9800 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9801 extra_iter
9802 .next()
9803 .unwrap()
9804 .node
9805 .write_to(writer)
9806 .map_err(SerializeError::from)?;
9807 }
9808 if let Some(ref val) = self.fill_properties {
9809 val.write_element("", writer)?;
9810 }
9811 #[cfg(feature = "extra-children")]
9812 {
9813 emit_idx += 1;
9814 }
9815 #[cfg(feature = "extra-children")]
9816 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9817 extra_iter
9818 .next()
9819 .unwrap()
9820 .node
9821 .write_to(writer)
9822 .map_err(SerializeError::from)?;
9823 }
9824 #[cfg(feature = "dml-lines")]
9825 if let Some(ref val) = self.line {
9826 val.write_element("a:ln", writer)?;
9827 }
9828 #[cfg(feature = "extra-children")]
9829 {
9830 emit_idx += 1;
9831 }
9832 #[cfg(feature = "extra-children")]
9833 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9834 extra_iter
9835 .next()
9836 .unwrap()
9837 .node
9838 .write_to(writer)
9839 .map_err(SerializeError::from)?;
9840 }
9841 if let Some(ref val) = self.effect_properties {
9842 val.write_element("", writer)?;
9843 }
9844 #[cfg(feature = "extra-children")]
9845 {
9846 emit_idx += 1;
9847 }
9848 #[cfg(feature = "extra-children")]
9849 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9850 extra_iter
9851 .next()
9852 .unwrap()
9853 .node
9854 .write_to(writer)
9855 .map_err(SerializeError::from)?;
9856 }
9857 #[cfg(feature = "dml-3d")]
9858 if let Some(ref val) = self.scene3d {
9859 val.write_element("a:scene3d", writer)?;
9860 }
9861 #[cfg(feature = "extra-children")]
9862 {
9863 emit_idx += 1;
9864 }
9865 #[cfg(feature = "extra-children")]
9866 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9867 extra_iter
9868 .next()
9869 .unwrap()
9870 .node
9871 .write_to(writer)
9872 .map_err(SerializeError::from)?;
9873 }
9874 #[cfg(feature = "dml-3d")]
9875 if let Some(ref val) = self.sp3d {
9876 val.write_element("a:sp3d", writer)?;
9877 }
9878 #[cfg(feature = "extra-children")]
9879 {
9880 emit_idx += 1;
9881 }
9882 #[cfg(feature = "extra-children")]
9883 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9884 extra_iter
9885 .next()
9886 .unwrap()
9887 .node
9888 .write_to(writer)
9889 .map_err(SerializeError::from)?;
9890 }
9891 #[cfg(feature = "dml-extensions")]
9892 if let Some(ref val) = self.ext_lst {
9893 val.write_element("a:extLst", writer)?;
9894 }
9895 #[cfg(feature = "extra-children")]
9896 {
9897 emit_idx += 1;
9898 }
9899 #[cfg(feature = "extra-children")]
9900 for extra in extra_iter {
9901 extra.node.write_to(writer).map_err(SerializeError::from)?;
9902 }
9903 Ok(())
9904 }
9905
9906 fn is_empty_element(&self) -> bool {
9907 if self.transform.is_some() {
9908 return false;
9909 }
9910 if self.geometry.is_some() {
9911 return false;
9912 }
9913 if self.fill_properties.is_some() {
9914 return false;
9915 }
9916 #[cfg(feature = "dml-lines")]
9917 if self.line.is_some() {
9918 return false;
9919 }
9920 if self.effect_properties.is_some() {
9921 return false;
9922 }
9923 #[cfg(feature = "dml-3d")]
9924 if self.scene3d.is_some() {
9925 return false;
9926 }
9927 #[cfg(feature = "dml-3d")]
9928 if self.sp3d.is_some() {
9929 return false;
9930 }
9931 #[cfg(feature = "dml-extensions")]
9932 if self.ext_lst.is_some() {
9933 return false;
9934 }
9935 #[cfg(feature = "extra-children")]
9936 if !self.extra_children.is_empty() {
9937 return false;
9938 }
9939 true
9940 }
9941}
9942
9943impl ToXml for CTGroupShapeProperties {
9944 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
9945 #[allow(unused_mut)]
9946 let mut start = start;
9947 #[cfg(feature = "dml-shapes")]
9948 if let Some(ref val) = self.bw_mode {
9949 {
9950 let s = val.to_string();
9951 start.push_attribute(("bwMode", s.as_str()));
9952 }
9953 }
9954 #[cfg(feature = "extra-attrs")]
9955 for (key, value) in &self.extra_attrs {
9956 start.push_attribute((key.as_str(), value.as_str()));
9957 }
9958 start
9959 }
9960
9961 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
9962 #[cfg(feature = "extra-children")]
9963 let mut extra_iter = self.extra_children.iter().peekable();
9964 #[cfg(feature = "extra-children")]
9965 let mut emit_idx: usize = 0;
9966 #[cfg(feature = "extra-children")]
9967 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9968 extra_iter
9969 .next()
9970 .unwrap()
9971 .node
9972 .write_to(writer)
9973 .map_err(SerializeError::from)?;
9974 }
9975 if let Some(ref val) = self.transform {
9976 val.write_element("a:xfrm", writer)?;
9977 }
9978 #[cfg(feature = "extra-children")]
9979 {
9980 emit_idx += 1;
9981 }
9982 #[cfg(feature = "extra-children")]
9983 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
9984 extra_iter
9985 .next()
9986 .unwrap()
9987 .node
9988 .write_to(writer)
9989 .map_err(SerializeError::from)?;
9990 }
9991 if let Some(ref val) = self.fill_properties {
9992 val.write_element("", writer)?;
9993 }
9994 #[cfg(feature = "extra-children")]
9995 {
9996 emit_idx += 1;
9997 }
9998 #[cfg(feature = "extra-children")]
9999 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10000 extra_iter
10001 .next()
10002 .unwrap()
10003 .node
10004 .write_to(writer)
10005 .map_err(SerializeError::from)?;
10006 }
10007 if let Some(ref val) = self.effect_properties {
10008 val.write_element("", writer)?;
10009 }
10010 #[cfg(feature = "extra-children")]
10011 {
10012 emit_idx += 1;
10013 }
10014 #[cfg(feature = "extra-children")]
10015 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10016 extra_iter
10017 .next()
10018 .unwrap()
10019 .node
10020 .write_to(writer)
10021 .map_err(SerializeError::from)?;
10022 }
10023 #[cfg(feature = "dml-3d")]
10024 if let Some(ref val) = self.scene3d {
10025 val.write_element("a:scene3d", writer)?;
10026 }
10027 #[cfg(feature = "extra-children")]
10028 {
10029 emit_idx += 1;
10030 }
10031 #[cfg(feature = "extra-children")]
10032 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10033 extra_iter
10034 .next()
10035 .unwrap()
10036 .node
10037 .write_to(writer)
10038 .map_err(SerializeError::from)?;
10039 }
10040 #[cfg(feature = "dml-extensions")]
10041 if let Some(ref val) = self.ext_lst {
10042 val.write_element("a:extLst", writer)?;
10043 }
10044 #[cfg(feature = "extra-children")]
10045 {
10046 emit_idx += 1;
10047 }
10048 #[cfg(feature = "extra-children")]
10049 for extra in extra_iter {
10050 extra.node.write_to(writer).map_err(SerializeError::from)?;
10051 }
10052 Ok(())
10053 }
10054
10055 fn is_empty_element(&self) -> bool {
10056 if self.transform.is_some() {
10057 return false;
10058 }
10059 if self.fill_properties.is_some() {
10060 return false;
10061 }
10062 if self.effect_properties.is_some() {
10063 return false;
10064 }
10065 #[cfg(feature = "dml-3d")]
10066 if self.scene3d.is_some() {
10067 return false;
10068 }
10069 #[cfg(feature = "dml-extensions")]
10070 if self.ext_lst.is_some() {
10071 return false;
10072 }
10073 #[cfg(feature = "extra-children")]
10074 if !self.extra_children.is_empty() {
10075 return false;
10076 }
10077 true
10078 }
10079}
10080
10081impl ToXml for CTStyleMatrixReference {
10082 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
10083 #[allow(unused_mut)]
10084 let mut start = start;
10085 #[cfg(feature = "dml-themes")]
10086 {
10087 let val = &self.idx;
10088 {
10089 let s = val.to_string();
10090 start.push_attribute(("idx", s.as_str()));
10091 }
10092 }
10093 #[cfg(feature = "extra-attrs")]
10094 for (key, value) in &self.extra_attrs {
10095 start.push_attribute((key.as_str(), value.as_str()));
10096 }
10097 start
10098 }
10099
10100 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10101 #[cfg(feature = "extra-children")]
10102 let mut extra_iter = self.extra_children.iter().peekable();
10103 #[cfg(feature = "extra-children")]
10104 let mut emit_idx: usize = 0;
10105 #[cfg(feature = "extra-children")]
10106 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10107 extra_iter
10108 .next()
10109 .unwrap()
10110 .node
10111 .write_to(writer)
10112 .map_err(SerializeError::from)?;
10113 }
10114 if let Some(ref val) = self.color_choice {
10115 val.write_element("", writer)?;
10116 }
10117 #[cfg(feature = "extra-children")]
10118 {
10119 emit_idx += 1;
10120 }
10121 #[cfg(feature = "extra-children")]
10122 for extra in extra_iter {
10123 extra.node.write_to(writer).map_err(SerializeError::from)?;
10124 }
10125 Ok(())
10126 }
10127
10128 fn is_empty_element(&self) -> bool {
10129 if self.color_choice.is_some() {
10130 return false;
10131 }
10132 #[cfg(feature = "extra-children")]
10133 if !self.extra_children.is_empty() {
10134 return false;
10135 }
10136 true
10137 }
10138}
10139
10140impl ToXml for CTFontReference {
10141 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
10142 #[allow(unused_mut)]
10143 let mut start = start;
10144 #[cfg(feature = "dml-themes")]
10145 {
10146 let val = &self.idx;
10147 {
10148 let s = val.to_string();
10149 start.push_attribute(("idx", s.as_str()));
10150 }
10151 }
10152 #[cfg(feature = "extra-attrs")]
10153 for (key, value) in &self.extra_attrs {
10154 start.push_attribute((key.as_str(), value.as_str()));
10155 }
10156 start
10157 }
10158
10159 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10160 #[cfg(feature = "extra-children")]
10161 let mut extra_iter = self.extra_children.iter().peekable();
10162 #[cfg(feature = "extra-children")]
10163 let mut emit_idx: usize = 0;
10164 #[cfg(feature = "extra-children")]
10165 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10166 extra_iter
10167 .next()
10168 .unwrap()
10169 .node
10170 .write_to(writer)
10171 .map_err(SerializeError::from)?;
10172 }
10173 if let Some(ref val) = self.color_choice {
10174 val.write_element("", writer)?;
10175 }
10176 #[cfg(feature = "extra-children")]
10177 {
10178 emit_idx += 1;
10179 }
10180 #[cfg(feature = "extra-children")]
10181 for extra in extra_iter {
10182 extra.node.write_to(writer).map_err(SerializeError::from)?;
10183 }
10184 Ok(())
10185 }
10186
10187 fn is_empty_element(&self) -> bool {
10188 if self.color_choice.is_some() {
10189 return false;
10190 }
10191 #[cfg(feature = "extra-children")]
10192 if !self.extra_children.is_empty() {
10193 return false;
10194 }
10195 true
10196 }
10197}
10198
10199impl ToXml for ShapeStyle {
10200 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10201 #[cfg(feature = "extra-children")]
10202 let mut extra_iter = self.extra_children.iter().peekable();
10203 #[cfg(feature = "extra-children")]
10204 let mut emit_idx: usize = 0;
10205 #[cfg(feature = "extra-children")]
10206 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10207 extra_iter
10208 .next()
10209 .unwrap()
10210 .node
10211 .write_to(writer)
10212 .map_err(SerializeError::from)?;
10213 }
10214 #[cfg(feature = "dml-shapes")]
10215 {
10216 let val = &self.ln_ref;
10217 val.write_element("a:lnRef", writer)?;
10218 }
10219 #[cfg(feature = "extra-children")]
10220 {
10221 emit_idx += 1;
10222 }
10223 #[cfg(feature = "extra-children")]
10224 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10225 extra_iter
10226 .next()
10227 .unwrap()
10228 .node
10229 .write_to(writer)
10230 .map_err(SerializeError::from)?;
10231 }
10232 #[cfg(feature = "dml-shapes")]
10233 {
10234 let val = &self.fill_ref;
10235 val.write_element("a:fillRef", writer)?;
10236 }
10237 #[cfg(feature = "extra-children")]
10238 {
10239 emit_idx += 1;
10240 }
10241 #[cfg(feature = "extra-children")]
10242 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10243 extra_iter
10244 .next()
10245 .unwrap()
10246 .node
10247 .write_to(writer)
10248 .map_err(SerializeError::from)?;
10249 }
10250 #[cfg(feature = "dml-shapes")]
10251 {
10252 let val = &self.effect_ref;
10253 val.write_element("a:effectRef", writer)?;
10254 }
10255 #[cfg(feature = "extra-children")]
10256 {
10257 emit_idx += 1;
10258 }
10259 #[cfg(feature = "extra-children")]
10260 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10261 extra_iter
10262 .next()
10263 .unwrap()
10264 .node
10265 .write_to(writer)
10266 .map_err(SerializeError::from)?;
10267 }
10268 #[cfg(feature = "dml-shapes")]
10269 {
10270 let val = &self.font_ref;
10271 val.write_element("a:fontRef", writer)?;
10272 }
10273 #[cfg(feature = "extra-children")]
10274 {
10275 emit_idx += 1;
10276 }
10277 #[cfg(feature = "extra-children")]
10278 for extra in extra_iter {
10279 extra.node.write_to(writer).map_err(SerializeError::from)?;
10280 }
10281 Ok(())
10282 }
10283
10284 fn is_empty_element(&self) -> bool {
10285 #[cfg(feature = "dml-shapes")]
10286 return false;
10287 #[cfg(feature = "dml-shapes")]
10288 return false;
10289 #[cfg(feature = "dml-shapes")]
10290 return false;
10291 #[cfg(feature = "dml-shapes")]
10292 return false;
10293 #[cfg(feature = "extra-children")]
10294 if !self.extra_children.is_empty() {
10295 return false;
10296 }
10297 true
10298 }
10299}
10300
10301impl ToXml for CTDefaultShapeDefinition {
10302 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10303 #[cfg(feature = "extra-children")]
10304 let mut extra_iter = self.extra_children.iter().peekable();
10305 #[cfg(feature = "extra-children")]
10306 let mut emit_idx: usize = 0;
10307 #[cfg(feature = "extra-children")]
10308 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10309 extra_iter
10310 .next()
10311 .unwrap()
10312 .node
10313 .write_to(writer)
10314 .map_err(SerializeError::from)?;
10315 }
10316 {
10317 let val = &self.sp_pr;
10318 val.write_element("a:spPr", writer)?;
10319 }
10320 #[cfg(feature = "extra-children")]
10321 {
10322 emit_idx += 1;
10323 }
10324 #[cfg(feature = "extra-children")]
10325 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10326 extra_iter
10327 .next()
10328 .unwrap()
10329 .node
10330 .write_to(writer)
10331 .map_err(SerializeError::from)?;
10332 }
10333 {
10334 let val = &self.body_pr;
10335 val.write_element("a:bodyPr", writer)?;
10336 }
10337 #[cfg(feature = "extra-children")]
10338 {
10339 emit_idx += 1;
10340 }
10341 #[cfg(feature = "extra-children")]
10342 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10343 extra_iter
10344 .next()
10345 .unwrap()
10346 .node
10347 .write_to(writer)
10348 .map_err(SerializeError::from)?;
10349 }
10350 {
10351 let val = &self.lst_style;
10352 val.write_element("a:lstStyle", writer)?;
10353 }
10354 #[cfg(feature = "extra-children")]
10355 {
10356 emit_idx += 1;
10357 }
10358 #[cfg(feature = "extra-children")]
10359 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10360 extra_iter
10361 .next()
10362 .unwrap()
10363 .node
10364 .write_to(writer)
10365 .map_err(SerializeError::from)?;
10366 }
10367 if let Some(ref val) = self.style {
10368 val.write_element("a:style", writer)?;
10369 }
10370 #[cfg(feature = "extra-children")]
10371 {
10372 emit_idx += 1;
10373 }
10374 #[cfg(feature = "extra-children")]
10375 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10376 extra_iter
10377 .next()
10378 .unwrap()
10379 .node
10380 .write_to(writer)
10381 .map_err(SerializeError::from)?;
10382 }
10383 if let Some(ref val) = self.ext_lst {
10384 val.write_element("a:extLst", writer)?;
10385 }
10386 #[cfg(feature = "extra-children")]
10387 {
10388 emit_idx += 1;
10389 }
10390 #[cfg(feature = "extra-children")]
10391 for extra in extra_iter {
10392 extra.node.write_to(writer).map_err(SerializeError::from)?;
10393 }
10394 Ok(())
10395 }
10396
10397 fn is_empty_element(&self) -> bool {
10398 false
10399 }
10400}
10401
10402impl ToXml for CTObjectStyleDefaults {
10403 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10404 #[cfg(feature = "extra-children")]
10405 let mut extra_iter = self.extra_children.iter().peekable();
10406 #[cfg(feature = "extra-children")]
10407 let mut emit_idx: usize = 0;
10408 #[cfg(feature = "extra-children")]
10409 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10410 extra_iter
10411 .next()
10412 .unwrap()
10413 .node
10414 .write_to(writer)
10415 .map_err(SerializeError::from)?;
10416 }
10417 if let Some(ref val) = self.sp_def {
10418 val.write_element("a:spDef", writer)?;
10419 }
10420 #[cfg(feature = "extra-children")]
10421 {
10422 emit_idx += 1;
10423 }
10424 #[cfg(feature = "extra-children")]
10425 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10426 extra_iter
10427 .next()
10428 .unwrap()
10429 .node
10430 .write_to(writer)
10431 .map_err(SerializeError::from)?;
10432 }
10433 if let Some(ref val) = self.ln_def {
10434 val.write_element("a:lnDef", writer)?;
10435 }
10436 #[cfg(feature = "extra-children")]
10437 {
10438 emit_idx += 1;
10439 }
10440 #[cfg(feature = "extra-children")]
10441 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10442 extra_iter
10443 .next()
10444 .unwrap()
10445 .node
10446 .write_to(writer)
10447 .map_err(SerializeError::from)?;
10448 }
10449 if let Some(ref val) = self.tx_def {
10450 val.write_element("a:txDef", writer)?;
10451 }
10452 #[cfg(feature = "extra-children")]
10453 {
10454 emit_idx += 1;
10455 }
10456 #[cfg(feature = "extra-children")]
10457 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10458 extra_iter
10459 .next()
10460 .unwrap()
10461 .node
10462 .write_to(writer)
10463 .map_err(SerializeError::from)?;
10464 }
10465 if let Some(ref val) = self.ext_lst {
10466 val.write_element("a:extLst", writer)?;
10467 }
10468 #[cfg(feature = "extra-children")]
10469 {
10470 emit_idx += 1;
10471 }
10472 #[cfg(feature = "extra-children")]
10473 for extra in extra_iter {
10474 extra.node.write_to(writer).map_err(SerializeError::from)?;
10475 }
10476 Ok(())
10477 }
10478
10479 fn is_empty_element(&self) -> bool {
10480 if self.sp_def.is_some() {
10481 return false;
10482 }
10483 if self.ln_def.is_some() {
10484 return false;
10485 }
10486 if self.tx_def.is_some() {
10487 return false;
10488 }
10489 if self.ext_lst.is_some() {
10490 return false;
10491 }
10492 #[cfg(feature = "extra-children")]
10493 if !self.extra_children.is_empty() {
10494 return false;
10495 }
10496 true
10497 }
10498}
10499
10500impl ToXml for CTEmptyElement {
10501 fn is_empty_element(&self) -> bool {
10502 true
10503 }
10504}
10505
10506impl ToXml for CTColorMapping {
10507 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
10508 #[allow(unused_mut)]
10509 let mut start = start;
10510 {
10511 let val = &self.bg1;
10512 {
10513 let s = val.to_string();
10514 start.push_attribute(("bg1", s.as_str()));
10515 }
10516 }
10517 {
10518 let val = &self.tx1;
10519 {
10520 let s = val.to_string();
10521 start.push_attribute(("tx1", s.as_str()));
10522 }
10523 }
10524 {
10525 let val = &self.bg2;
10526 {
10527 let s = val.to_string();
10528 start.push_attribute(("bg2", s.as_str()));
10529 }
10530 }
10531 {
10532 let val = &self.tx2;
10533 {
10534 let s = val.to_string();
10535 start.push_attribute(("tx2", s.as_str()));
10536 }
10537 }
10538 {
10539 let val = &self.accent1;
10540 {
10541 let s = val.to_string();
10542 start.push_attribute(("accent1", s.as_str()));
10543 }
10544 }
10545 {
10546 let val = &self.accent2;
10547 {
10548 let s = val.to_string();
10549 start.push_attribute(("accent2", s.as_str()));
10550 }
10551 }
10552 {
10553 let val = &self.accent3;
10554 {
10555 let s = val.to_string();
10556 start.push_attribute(("accent3", s.as_str()));
10557 }
10558 }
10559 {
10560 let val = &self.accent4;
10561 {
10562 let s = val.to_string();
10563 start.push_attribute(("accent4", s.as_str()));
10564 }
10565 }
10566 {
10567 let val = &self.accent5;
10568 {
10569 let s = val.to_string();
10570 start.push_attribute(("accent5", s.as_str()));
10571 }
10572 }
10573 {
10574 let val = &self.accent6;
10575 {
10576 let s = val.to_string();
10577 start.push_attribute(("accent6", s.as_str()));
10578 }
10579 }
10580 {
10581 let val = &self.hlink;
10582 {
10583 let s = val.to_string();
10584 start.push_attribute(("hlink", s.as_str()));
10585 }
10586 }
10587 {
10588 let val = &self.fol_hlink;
10589 {
10590 let s = val.to_string();
10591 start.push_attribute(("folHlink", s.as_str()));
10592 }
10593 }
10594 #[cfg(feature = "extra-attrs")]
10595 for (key, value) in &self.extra_attrs {
10596 start.push_attribute((key.as_str(), value.as_str()));
10597 }
10598 start
10599 }
10600
10601 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10602 #[cfg(feature = "extra-children")]
10603 let mut extra_iter = self.extra_children.iter().peekable();
10604 #[cfg(feature = "extra-children")]
10605 let mut emit_idx: usize = 0;
10606 #[cfg(feature = "extra-children")]
10607 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10608 extra_iter
10609 .next()
10610 .unwrap()
10611 .node
10612 .write_to(writer)
10613 .map_err(SerializeError::from)?;
10614 }
10615 if let Some(ref val) = self.ext_lst {
10616 val.write_element("a:extLst", writer)?;
10617 }
10618 #[cfg(feature = "extra-children")]
10619 {
10620 emit_idx += 1;
10621 }
10622 #[cfg(feature = "extra-children")]
10623 for extra in extra_iter {
10624 extra.node.write_to(writer).map_err(SerializeError::from)?;
10625 }
10626 Ok(())
10627 }
10628
10629 fn is_empty_element(&self) -> bool {
10630 if self.ext_lst.is_some() {
10631 return false;
10632 }
10633 #[cfg(feature = "extra-children")]
10634 if !self.extra_children.is_empty() {
10635 return false;
10636 }
10637 true
10638 }
10639}
10640
10641impl ToXml for CTColorMappingOverride {
10642 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10643 #[cfg(feature = "extra-children")]
10644 let mut extra_iter = self.extra_children.iter().peekable();
10645 #[cfg(feature = "extra-children")]
10646 let mut emit_idx: usize = 0;
10647 #[cfg(feature = "extra-children")]
10648 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10649 extra_iter
10650 .next()
10651 .unwrap()
10652 .node
10653 .write_to(writer)
10654 .map_err(SerializeError::from)?;
10655 }
10656 #[cfg(feature = "dml-colors")]
10657 if let Some(ref val) = self.master_clr_mapping {
10658 val.write_element("a:masterClrMapping", writer)?;
10659 }
10660 #[cfg(feature = "extra-children")]
10661 {
10662 emit_idx += 1;
10663 }
10664 #[cfg(feature = "extra-children")]
10665 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10666 extra_iter
10667 .next()
10668 .unwrap()
10669 .node
10670 .write_to(writer)
10671 .map_err(SerializeError::from)?;
10672 }
10673 #[cfg(feature = "dml-colors")]
10674 if let Some(ref val) = self.override_clr_mapping {
10675 val.write_element("a:overrideClrMapping", writer)?;
10676 }
10677 #[cfg(feature = "extra-children")]
10678 {
10679 emit_idx += 1;
10680 }
10681 #[cfg(feature = "extra-children")]
10682 for extra in extra_iter {
10683 extra.node.write_to(writer).map_err(SerializeError::from)?;
10684 }
10685 Ok(())
10686 }
10687
10688 fn is_empty_element(&self) -> bool {
10689 #[cfg(feature = "dml-colors")]
10690 if self.master_clr_mapping.is_some() {
10691 return false;
10692 }
10693 #[cfg(feature = "dml-colors")]
10694 if self.override_clr_mapping.is_some() {
10695 return false;
10696 }
10697 #[cfg(feature = "extra-children")]
10698 if !self.extra_children.is_empty() {
10699 return false;
10700 }
10701 true
10702 }
10703}
10704
10705impl ToXml for CTColorSchemeAndMapping {
10706 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10707 #[cfg(feature = "extra-children")]
10708 let mut extra_iter = self.extra_children.iter().peekable();
10709 #[cfg(feature = "extra-children")]
10710 let mut emit_idx: usize = 0;
10711 #[cfg(feature = "extra-children")]
10712 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10713 extra_iter
10714 .next()
10715 .unwrap()
10716 .node
10717 .write_to(writer)
10718 .map_err(SerializeError::from)?;
10719 }
10720 {
10721 let val = &self.clr_scheme;
10722 val.write_element("a:clrScheme", writer)?;
10723 }
10724 #[cfg(feature = "extra-children")]
10725 {
10726 emit_idx += 1;
10727 }
10728 #[cfg(feature = "extra-children")]
10729 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10730 extra_iter
10731 .next()
10732 .unwrap()
10733 .node
10734 .write_to(writer)
10735 .map_err(SerializeError::from)?;
10736 }
10737 if let Some(ref val) = self.clr_map {
10738 val.write_element("a:clrMap", writer)?;
10739 }
10740 #[cfg(feature = "extra-children")]
10741 {
10742 emit_idx += 1;
10743 }
10744 #[cfg(feature = "extra-children")]
10745 for extra in extra_iter {
10746 extra.node.write_to(writer).map_err(SerializeError::from)?;
10747 }
10748 Ok(())
10749 }
10750
10751 fn is_empty_element(&self) -> bool {
10752 false
10753 }
10754}
10755
10756impl ToXml for CTColorSchemeList {
10757 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10758 #[cfg(feature = "extra-children")]
10759 let mut extra_iter = self.extra_children.iter().peekable();
10760 #[cfg(feature = "extra-children")]
10761 let mut emit_idx: usize = 0;
10762 for item in &self.extra_clr_scheme {
10763 #[cfg(feature = "extra-children")]
10764 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10765 extra_iter
10766 .next()
10767 .unwrap()
10768 .node
10769 .write_to(writer)
10770 .map_err(SerializeError::from)?;
10771 }
10772 item.write_element("a:extraClrScheme", writer)?;
10773 #[cfg(feature = "extra-children")]
10774 {
10775 emit_idx += 1;
10776 }
10777 }
10778 #[cfg(feature = "extra-children")]
10779 for extra in extra_iter {
10780 extra.node.write_to(writer).map_err(SerializeError::from)?;
10781 }
10782 Ok(())
10783 }
10784
10785 fn is_empty_element(&self) -> bool {
10786 if !self.extra_clr_scheme.is_empty() {
10787 return false;
10788 }
10789 #[cfg(feature = "extra-children")]
10790 if !self.extra_children.is_empty() {
10791 return false;
10792 }
10793 true
10794 }
10795}
10796
10797impl ToXml for CTOfficeStyleSheet {
10798 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
10799 #[allow(unused_mut)]
10800 let mut start = start;
10801 #[cfg(feature = "dml-themes")]
10802 if let Some(ref val) = self.name {
10803 start.push_attribute(("name", val.as_str()));
10804 }
10805 #[cfg(feature = "extra-attrs")]
10806 for (key, value) in &self.extra_attrs {
10807 start.push_attribute((key.as_str(), value.as_str()));
10808 }
10809 start
10810 }
10811
10812 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10813 #[cfg(feature = "extra-children")]
10814 let mut extra_iter = self.extra_children.iter().peekable();
10815 #[cfg(feature = "extra-children")]
10816 let mut emit_idx: usize = 0;
10817 #[cfg(feature = "extra-children")]
10818 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10819 extra_iter
10820 .next()
10821 .unwrap()
10822 .node
10823 .write_to(writer)
10824 .map_err(SerializeError::from)?;
10825 }
10826 #[cfg(feature = "dml-themes")]
10827 {
10828 let val = &self.theme_elements;
10829 val.write_element("a:themeElements", writer)?;
10830 }
10831 #[cfg(feature = "extra-children")]
10832 {
10833 emit_idx += 1;
10834 }
10835 #[cfg(feature = "extra-children")]
10836 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10837 extra_iter
10838 .next()
10839 .unwrap()
10840 .node
10841 .write_to(writer)
10842 .map_err(SerializeError::from)?;
10843 }
10844 #[cfg(feature = "dml-themes")]
10845 if let Some(ref val) = self.object_defaults {
10846 val.write_element("a:objectDefaults", writer)?;
10847 }
10848 #[cfg(feature = "extra-children")]
10849 {
10850 emit_idx += 1;
10851 }
10852 #[cfg(feature = "extra-children")]
10853 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10854 extra_iter
10855 .next()
10856 .unwrap()
10857 .node
10858 .write_to(writer)
10859 .map_err(SerializeError::from)?;
10860 }
10861 #[cfg(feature = "dml-themes")]
10862 if let Some(ref val) = self.extra_clr_scheme_lst {
10863 val.write_element("a:extraClrSchemeLst", writer)?;
10864 }
10865 #[cfg(feature = "extra-children")]
10866 {
10867 emit_idx += 1;
10868 }
10869 #[cfg(feature = "extra-children")]
10870 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10871 extra_iter
10872 .next()
10873 .unwrap()
10874 .node
10875 .write_to(writer)
10876 .map_err(SerializeError::from)?;
10877 }
10878 #[cfg(feature = "dml-themes")]
10879 if let Some(ref val) = self.cust_clr_lst {
10880 val.write_element("a:custClrLst", writer)?;
10881 }
10882 #[cfg(feature = "extra-children")]
10883 {
10884 emit_idx += 1;
10885 }
10886 #[cfg(feature = "extra-children")]
10887 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10888 extra_iter
10889 .next()
10890 .unwrap()
10891 .node
10892 .write_to(writer)
10893 .map_err(SerializeError::from)?;
10894 }
10895 #[cfg(feature = "dml-extensions")]
10896 if let Some(ref val) = self.ext_lst {
10897 val.write_element("a:extLst", writer)?;
10898 }
10899 #[cfg(feature = "extra-children")]
10900 {
10901 emit_idx += 1;
10902 }
10903 #[cfg(feature = "extra-children")]
10904 for extra in extra_iter {
10905 extra.node.write_to(writer).map_err(SerializeError::from)?;
10906 }
10907 Ok(())
10908 }
10909
10910 fn is_empty_element(&self) -> bool {
10911 #[cfg(feature = "dml-themes")]
10912 return false;
10913 #[cfg(feature = "dml-themes")]
10914 if self.object_defaults.is_some() {
10915 return false;
10916 }
10917 #[cfg(feature = "dml-themes")]
10918 if self.extra_clr_scheme_lst.is_some() {
10919 return false;
10920 }
10921 #[cfg(feature = "dml-themes")]
10922 if self.cust_clr_lst.is_some() {
10923 return false;
10924 }
10925 #[cfg(feature = "dml-extensions")]
10926 if self.ext_lst.is_some() {
10927 return false;
10928 }
10929 #[cfg(feature = "extra-children")]
10930 if !self.extra_children.is_empty() {
10931 return false;
10932 }
10933 true
10934 }
10935}
10936
10937impl ToXml for CTBaseStylesOverride {
10938 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
10939 #[cfg(feature = "extra-children")]
10940 let mut extra_iter = self.extra_children.iter().peekable();
10941 #[cfg(feature = "extra-children")]
10942 let mut emit_idx: usize = 0;
10943 #[cfg(feature = "extra-children")]
10944 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10945 extra_iter
10946 .next()
10947 .unwrap()
10948 .node
10949 .write_to(writer)
10950 .map_err(SerializeError::from)?;
10951 }
10952 if let Some(ref val) = self.clr_scheme {
10953 val.write_element("a:clrScheme", writer)?;
10954 }
10955 #[cfg(feature = "extra-children")]
10956 {
10957 emit_idx += 1;
10958 }
10959 #[cfg(feature = "extra-children")]
10960 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10961 extra_iter
10962 .next()
10963 .unwrap()
10964 .node
10965 .write_to(writer)
10966 .map_err(SerializeError::from)?;
10967 }
10968 if let Some(ref val) = self.font_scheme {
10969 val.write_element("a:fontScheme", writer)?;
10970 }
10971 #[cfg(feature = "extra-children")]
10972 {
10973 emit_idx += 1;
10974 }
10975 #[cfg(feature = "extra-children")]
10976 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
10977 extra_iter
10978 .next()
10979 .unwrap()
10980 .node
10981 .write_to(writer)
10982 .map_err(SerializeError::from)?;
10983 }
10984 if let Some(ref val) = self.fmt_scheme {
10985 val.write_element("a:fmtScheme", writer)?;
10986 }
10987 #[cfg(feature = "extra-children")]
10988 {
10989 emit_idx += 1;
10990 }
10991 #[cfg(feature = "extra-children")]
10992 for extra in extra_iter {
10993 extra.node.write_to(writer).map_err(SerializeError::from)?;
10994 }
10995 Ok(())
10996 }
10997
10998 fn is_empty_element(&self) -> bool {
10999 if self.clr_scheme.is_some() {
11000 return false;
11001 }
11002 if self.font_scheme.is_some() {
11003 return false;
11004 }
11005 if self.fmt_scheme.is_some() {
11006 return false;
11007 }
11008 #[cfg(feature = "extra-children")]
11009 if !self.extra_children.is_empty() {
11010 return false;
11011 }
11012 true
11013 }
11014}
11015
11016impl ToXml for CTClipboardStyleSheet {
11017 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11018 #[cfg(feature = "extra-children")]
11019 let mut extra_iter = self.extra_children.iter().peekable();
11020 #[cfg(feature = "extra-children")]
11021 let mut emit_idx: usize = 0;
11022 #[cfg(feature = "extra-children")]
11023 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11024 extra_iter
11025 .next()
11026 .unwrap()
11027 .node
11028 .write_to(writer)
11029 .map_err(SerializeError::from)?;
11030 }
11031 {
11032 let val = &self.theme_elements;
11033 val.write_element("a:themeElements", writer)?;
11034 }
11035 #[cfg(feature = "extra-children")]
11036 {
11037 emit_idx += 1;
11038 }
11039 #[cfg(feature = "extra-children")]
11040 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11041 extra_iter
11042 .next()
11043 .unwrap()
11044 .node
11045 .write_to(writer)
11046 .map_err(SerializeError::from)?;
11047 }
11048 {
11049 let val = &self.clr_map;
11050 val.write_element("a:clrMap", writer)?;
11051 }
11052 #[cfg(feature = "extra-children")]
11053 {
11054 emit_idx += 1;
11055 }
11056 #[cfg(feature = "extra-children")]
11057 for extra in extra_iter {
11058 extra.node.write_to(writer).map_err(SerializeError::from)?;
11059 }
11060 Ok(())
11061 }
11062
11063 fn is_empty_element(&self) -> bool {
11064 false
11065 }
11066}
11067
11068impl ToXml for CTTableCellProperties {
11069 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11070 #[allow(unused_mut)]
11071 let mut start = start;
11072 #[cfg(feature = "dml-tables")]
11073 if let Some(ref val) = self.mar_l {
11074 {
11075 let s = val.to_string();
11076 start.push_attribute(("marL", s.as_str()));
11077 }
11078 }
11079 #[cfg(feature = "dml-tables")]
11080 if let Some(ref val) = self.mar_r {
11081 {
11082 let s = val.to_string();
11083 start.push_attribute(("marR", s.as_str()));
11084 }
11085 }
11086 #[cfg(feature = "dml-tables")]
11087 if let Some(ref val) = self.mar_t {
11088 {
11089 let s = val.to_string();
11090 start.push_attribute(("marT", s.as_str()));
11091 }
11092 }
11093 #[cfg(feature = "dml-tables")]
11094 if let Some(ref val) = self.mar_b {
11095 {
11096 let s = val.to_string();
11097 start.push_attribute(("marB", s.as_str()));
11098 }
11099 }
11100 #[cfg(feature = "dml-tables")]
11101 if let Some(ref val) = self.vert {
11102 {
11103 let s = val.to_string();
11104 start.push_attribute(("vert", s.as_str()));
11105 }
11106 }
11107 #[cfg(feature = "dml-tables")]
11108 if let Some(ref val) = self.anchor {
11109 {
11110 let s = val.to_string();
11111 start.push_attribute(("anchor", s.as_str()));
11112 }
11113 }
11114 #[cfg(feature = "dml-tables")]
11115 if let Some(ref val) = self.anchor_ctr {
11116 start.push_attribute(("anchorCtr", if *val { "1" } else { "0" }));
11117 }
11118 #[cfg(feature = "dml-tables")]
11119 if let Some(ref val) = self.horz_overflow {
11120 {
11121 let s = val.to_string();
11122 start.push_attribute(("horzOverflow", s.as_str()));
11123 }
11124 }
11125 #[cfg(feature = "extra-attrs")]
11126 for (key, value) in &self.extra_attrs {
11127 start.push_attribute((key.as_str(), value.as_str()));
11128 }
11129 start
11130 }
11131
11132 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11133 #[cfg(feature = "extra-children")]
11134 let mut extra_iter = self.extra_children.iter().peekable();
11135 #[cfg(feature = "extra-children")]
11136 let mut emit_idx: usize = 0;
11137 #[cfg(feature = "extra-children")]
11138 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11139 extra_iter
11140 .next()
11141 .unwrap()
11142 .node
11143 .write_to(writer)
11144 .map_err(SerializeError::from)?;
11145 }
11146 #[cfg(feature = "dml-tables")]
11147 if let Some(ref val) = self.ln_l {
11148 val.write_element("a:lnL", writer)?;
11149 }
11150 #[cfg(feature = "extra-children")]
11151 {
11152 emit_idx += 1;
11153 }
11154 #[cfg(feature = "extra-children")]
11155 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11156 extra_iter
11157 .next()
11158 .unwrap()
11159 .node
11160 .write_to(writer)
11161 .map_err(SerializeError::from)?;
11162 }
11163 #[cfg(feature = "dml-tables")]
11164 if let Some(ref val) = self.ln_r {
11165 val.write_element("a:lnR", writer)?;
11166 }
11167 #[cfg(feature = "extra-children")]
11168 {
11169 emit_idx += 1;
11170 }
11171 #[cfg(feature = "extra-children")]
11172 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11173 extra_iter
11174 .next()
11175 .unwrap()
11176 .node
11177 .write_to(writer)
11178 .map_err(SerializeError::from)?;
11179 }
11180 #[cfg(feature = "dml-tables")]
11181 if let Some(ref val) = self.ln_t {
11182 val.write_element("a:lnT", writer)?;
11183 }
11184 #[cfg(feature = "extra-children")]
11185 {
11186 emit_idx += 1;
11187 }
11188 #[cfg(feature = "extra-children")]
11189 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11190 extra_iter
11191 .next()
11192 .unwrap()
11193 .node
11194 .write_to(writer)
11195 .map_err(SerializeError::from)?;
11196 }
11197 #[cfg(feature = "dml-tables")]
11198 if let Some(ref val) = self.ln_b {
11199 val.write_element("a:lnB", writer)?;
11200 }
11201 #[cfg(feature = "extra-children")]
11202 {
11203 emit_idx += 1;
11204 }
11205 #[cfg(feature = "extra-children")]
11206 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11207 extra_iter
11208 .next()
11209 .unwrap()
11210 .node
11211 .write_to(writer)
11212 .map_err(SerializeError::from)?;
11213 }
11214 #[cfg(feature = "dml-tables")]
11215 if let Some(ref val) = self.ln_tl_to_br {
11216 val.write_element("a:lnTlToBr", writer)?;
11217 }
11218 #[cfg(feature = "extra-children")]
11219 {
11220 emit_idx += 1;
11221 }
11222 #[cfg(feature = "extra-children")]
11223 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11224 extra_iter
11225 .next()
11226 .unwrap()
11227 .node
11228 .write_to(writer)
11229 .map_err(SerializeError::from)?;
11230 }
11231 #[cfg(feature = "dml-tables")]
11232 if let Some(ref val) = self.ln_bl_to_tr {
11233 val.write_element("a:lnBlToTr", writer)?;
11234 }
11235 #[cfg(feature = "extra-children")]
11236 {
11237 emit_idx += 1;
11238 }
11239 #[cfg(feature = "extra-children")]
11240 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11241 extra_iter
11242 .next()
11243 .unwrap()
11244 .node
11245 .write_to(writer)
11246 .map_err(SerializeError::from)?;
11247 }
11248 #[cfg(feature = "dml-tables")]
11249 if let Some(ref val) = self.cell3_d {
11250 val.write_element("a:cell3D", writer)?;
11251 }
11252 #[cfg(feature = "extra-children")]
11253 {
11254 emit_idx += 1;
11255 }
11256 #[cfg(feature = "extra-children")]
11257 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11258 extra_iter
11259 .next()
11260 .unwrap()
11261 .node
11262 .write_to(writer)
11263 .map_err(SerializeError::from)?;
11264 }
11265 if let Some(ref val) = self.fill_properties {
11266 val.write_element("", writer)?;
11267 }
11268 #[cfg(feature = "extra-children")]
11269 {
11270 emit_idx += 1;
11271 }
11272 #[cfg(feature = "extra-children")]
11273 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11274 extra_iter
11275 .next()
11276 .unwrap()
11277 .node
11278 .write_to(writer)
11279 .map_err(SerializeError::from)?;
11280 }
11281 if let Some(ref val) = self.headers {
11282 val.write_element("a:headers", writer)?;
11283 }
11284 #[cfg(feature = "extra-children")]
11285 {
11286 emit_idx += 1;
11287 }
11288 #[cfg(feature = "extra-children")]
11289 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11290 extra_iter
11291 .next()
11292 .unwrap()
11293 .node
11294 .write_to(writer)
11295 .map_err(SerializeError::from)?;
11296 }
11297 #[cfg(feature = "dml-extensions")]
11298 if let Some(ref val) = self.ext_lst {
11299 val.write_element("a:extLst", writer)?;
11300 }
11301 #[cfg(feature = "extra-children")]
11302 {
11303 emit_idx += 1;
11304 }
11305 #[cfg(feature = "extra-children")]
11306 for extra in extra_iter {
11307 extra.node.write_to(writer).map_err(SerializeError::from)?;
11308 }
11309 Ok(())
11310 }
11311
11312 fn is_empty_element(&self) -> bool {
11313 #[cfg(feature = "dml-tables")]
11314 if self.ln_l.is_some() {
11315 return false;
11316 }
11317 #[cfg(feature = "dml-tables")]
11318 if self.ln_r.is_some() {
11319 return false;
11320 }
11321 #[cfg(feature = "dml-tables")]
11322 if self.ln_t.is_some() {
11323 return false;
11324 }
11325 #[cfg(feature = "dml-tables")]
11326 if self.ln_b.is_some() {
11327 return false;
11328 }
11329 #[cfg(feature = "dml-tables")]
11330 if self.ln_tl_to_br.is_some() {
11331 return false;
11332 }
11333 #[cfg(feature = "dml-tables")]
11334 if self.ln_bl_to_tr.is_some() {
11335 return false;
11336 }
11337 #[cfg(feature = "dml-tables")]
11338 if self.cell3_d.is_some() {
11339 return false;
11340 }
11341 if self.fill_properties.is_some() {
11342 return false;
11343 }
11344 if self.headers.is_some() {
11345 return false;
11346 }
11347 #[cfg(feature = "dml-extensions")]
11348 if self.ext_lst.is_some() {
11349 return false;
11350 }
11351 #[cfg(feature = "extra-children")]
11352 if !self.extra_children.is_empty() {
11353 return false;
11354 }
11355 true
11356 }
11357}
11358
11359impl ToXml for CTHeaders {
11360 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11361 #[cfg(feature = "extra-children")]
11362 let mut extra_iter = self.extra_children.iter().peekable();
11363 #[cfg(feature = "extra-children")]
11364 let mut emit_idx: usize = 0;
11365 for item in &self.header {
11366 #[cfg(feature = "extra-children")]
11367 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11368 extra_iter
11369 .next()
11370 .unwrap()
11371 .node
11372 .write_to(writer)
11373 .map_err(SerializeError::from)?;
11374 }
11375 {
11376 let start = BytesStart::new("a:header");
11377 writer.write_event(Event::Start(start))?;
11378 writer.write_event(Event::Text(BytesText::new(item.as_str())))?;
11379 writer.write_event(Event::End(BytesEnd::new("a:header")))?;
11380 }
11381 #[cfg(feature = "extra-children")]
11382 {
11383 emit_idx += 1;
11384 }
11385 }
11386 #[cfg(feature = "extra-children")]
11387 for extra in extra_iter {
11388 extra.node.write_to(writer).map_err(SerializeError::from)?;
11389 }
11390 Ok(())
11391 }
11392
11393 fn is_empty_element(&self) -> bool {
11394 if !self.header.is_empty() {
11395 return false;
11396 }
11397 #[cfg(feature = "extra-children")]
11398 if !self.extra_children.is_empty() {
11399 return false;
11400 }
11401 true
11402 }
11403}
11404
11405impl ToXml for CTTableCol {
11406 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11407 #[allow(unused_mut)]
11408 let mut start = start;
11409 {
11410 let val = &self.width;
11411 {
11412 let s = val.to_string();
11413 start.push_attribute(("w", s.as_str()));
11414 }
11415 }
11416 #[cfg(feature = "extra-attrs")]
11417 for (key, value) in &self.extra_attrs {
11418 start.push_attribute((key.as_str(), value.as_str()));
11419 }
11420 start
11421 }
11422
11423 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11424 #[cfg(feature = "extra-children")]
11425 let mut extra_iter = self.extra_children.iter().peekable();
11426 #[cfg(feature = "extra-children")]
11427 let mut emit_idx: usize = 0;
11428 #[cfg(feature = "extra-children")]
11429 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11430 extra_iter
11431 .next()
11432 .unwrap()
11433 .node
11434 .write_to(writer)
11435 .map_err(SerializeError::from)?;
11436 }
11437 if let Some(ref val) = self.ext_lst {
11438 val.write_element("a:extLst", writer)?;
11439 }
11440 #[cfg(feature = "extra-children")]
11441 {
11442 emit_idx += 1;
11443 }
11444 #[cfg(feature = "extra-children")]
11445 for extra in extra_iter {
11446 extra.node.write_to(writer).map_err(SerializeError::from)?;
11447 }
11448 Ok(())
11449 }
11450
11451 fn is_empty_element(&self) -> bool {
11452 if self.ext_lst.is_some() {
11453 return false;
11454 }
11455 #[cfg(feature = "extra-children")]
11456 if !self.extra_children.is_empty() {
11457 return false;
11458 }
11459 true
11460 }
11461}
11462
11463impl ToXml for CTTableGrid {
11464 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11465 #[cfg(feature = "extra-children")]
11466 let mut extra_iter = self.extra_children.iter().peekable();
11467 #[cfg(feature = "extra-children")]
11468 let mut emit_idx: usize = 0;
11469 #[cfg(feature = "dml-tables")]
11470 for item in &self.grid_col {
11471 #[cfg(feature = "extra-children")]
11472 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11473 extra_iter
11474 .next()
11475 .unwrap()
11476 .node
11477 .write_to(writer)
11478 .map_err(SerializeError::from)?;
11479 }
11480 item.write_element("a:gridCol", writer)?;
11481 #[cfg(feature = "extra-children")]
11482 {
11483 emit_idx += 1;
11484 }
11485 }
11486 #[cfg(feature = "extra-children")]
11487 for extra in extra_iter {
11488 extra.node.write_to(writer).map_err(SerializeError::from)?;
11489 }
11490 Ok(())
11491 }
11492
11493 fn is_empty_element(&self) -> bool {
11494 #[cfg(feature = "dml-tables")]
11495 if !self.grid_col.is_empty() {
11496 return false;
11497 }
11498 #[cfg(feature = "extra-children")]
11499 if !self.extra_children.is_empty() {
11500 return false;
11501 }
11502 true
11503 }
11504}
11505
11506impl ToXml for CTTableCell {
11507 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11508 #[allow(unused_mut)]
11509 let mut start = start;
11510 #[cfg(feature = "dml-tables")]
11511 if let Some(ref val) = self.row_span {
11512 {
11513 let s = val.to_string();
11514 start.push_attribute(("rowSpan", s.as_str()));
11515 }
11516 }
11517 #[cfg(feature = "dml-tables")]
11518 if let Some(ref val) = self.grid_span {
11519 {
11520 let s = val.to_string();
11521 start.push_attribute(("gridSpan", s.as_str()));
11522 }
11523 }
11524 #[cfg(feature = "dml-tables")]
11525 if let Some(ref val) = self.h_merge {
11526 start.push_attribute(("hMerge", if *val { "1" } else { "0" }));
11527 }
11528 #[cfg(feature = "dml-tables")]
11529 if let Some(ref val) = self.v_merge {
11530 start.push_attribute(("vMerge", if *val { "1" } else { "0" }));
11531 }
11532 if let Some(ref val) = self.id {
11533 start.push_attribute(("id", val.as_str()));
11534 }
11535 #[cfg(feature = "extra-attrs")]
11536 for (key, value) in &self.extra_attrs {
11537 start.push_attribute((key.as_str(), value.as_str()));
11538 }
11539 start
11540 }
11541
11542 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11543 #[cfg(feature = "extra-children")]
11544 let mut extra_iter = self.extra_children.iter().peekable();
11545 #[cfg(feature = "extra-children")]
11546 let mut emit_idx: usize = 0;
11547 #[cfg(feature = "extra-children")]
11548 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11549 extra_iter
11550 .next()
11551 .unwrap()
11552 .node
11553 .write_to(writer)
11554 .map_err(SerializeError::from)?;
11555 }
11556 #[cfg(feature = "dml-tables")]
11557 if let Some(ref val) = self.tx_body {
11558 val.write_element("a:txBody", writer)?;
11559 }
11560 #[cfg(feature = "extra-children")]
11561 {
11562 emit_idx += 1;
11563 }
11564 #[cfg(feature = "extra-children")]
11565 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11566 extra_iter
11567 .next()
11568 .unwrap()
11569 .node
11570 .write_to(writer)
11571 .map_err(SerializeError::from)?;
11572 }
11573 #[cfg(feature = "dml-tables")]
11574 if let Some(ref val) = self.tc_pr {
11575 val.write_element("a:tcPr", writer)?;
11576 }
11577 #[cfg(feature = "extra-children")]
11578 {
11579 emit_idx += 1;
11580 }
11581 #[cfg(feature = "extra-children")]
11582 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11583 extra_iter
11584 .next()
11585 .unwrap()
11586 .node
11587 .write_to(writer)
11588 .map_err(SerializeError::from)?;
11589 }
11590 #[cfg(feature = "dml-extensions")]
11591 if let Some(ref val) = self.ext_lst {
11592 val.write_element("a:extLst", writer)?;
11593 }
11594 #[cfg(feature = "extra-children")]
11595 {
11596 emit_idx += 1;
11597 }
11598 #[cfg(feature = "extra-children")]
11599 for extra in extra_iter {
11600 extra.node.write_to(writer).map_err(SerializeError::from)?;
11601 }
11602 Ok(())
11603 }
11604
11605 fn is_empty_element(&self) -> bool {
11606 #[cfg(feature = "dml-tables")]
11607 if self.tx_body.is_some() {
11608 return false;
11609 }
11610 #[cfg(feature = "dml-tables")]
11611 if self.tc_pr.is_some() {
11612 return false;
11613 }
11614 #[cfg(feature = "dml-extensions")]
11615 if self.ext_lst.is_some() {
11616 return false;
11617 }
11618 #[cfg(feature = "extra-children")]
11619 if !self.extra_children.is_empty() {
11620 return false;
11621 }
11622 true
11623 }
11624}
11625
11626impl ToXml for CTTableRow {
11627 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11628 #[allow(unused_mut)]
11629 let mut start = start;
11630 #[cfg(feature = "dml-tables")]
11631 {
11632 let val = &self.height;
11633 {
11634 let s = val.to_string();
11635 start.push_attribute(("h", s.as_str()));
11636 }
11637 }
11638 #[cfg(feature = "extra-attrs")]
11639 for (key, value) in &self.extra_attrs {
11640 start.push_attribute((key.as_str(), value.as_str()));
11641 }
11642 start
11643 }
11644
11645 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11646 #[cfg(feature = "extra-children")]
11647 let mut extra_iter = self.extra_children.iter().peekable();
11648 #[cfg(feature = "extra-children")]
11649 let mut emit_idx: usize = 0;
11650 #[cfg(feature = "dml-tables")]
11651 for item in &self.tc {
11652 #[cfg(feature = "extra-children")]
11653 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11654 extra_iter
11655 .next()
11656 .unwrap()
11657 .node
11658 .write_to(writer)
11659 .map_err(SerializeError::from)?;
11660 }
11661 item.write_element("a:tc", writer)?;
11662 #[cfg(feature = "extra-children")]
11663 {
11664 emit_idx += 1;
11665 }
11666 }
11667 #[cfg(feature = "extra-children")]
11668 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11669 extra_iter
11670 .next()
11671 .unwrap()
11672 .node
11673 .write_to(writer)
11674 .map_err(SerializeError::from)?;
11675 }
11676 #[cfg(feature = "dml-extensions")]
11677 if let Some(ref val) = self.ext_lst {
11678 val.write_element("a:extLst", writer)?;
11679 }
11680 #[cfg(feature = "extra-children")]
11681 {
11682 emit_idx += 1;
11683 }
11684 #[cfg(feature = "extra-children")]
11685 for extra in extra_iter {
11686 extra.node.write_to(writer).map_err(SerializeError::from)?;
11687 }
11688 Ok(())
11689 }
11690
11691 fn is_empty_element(&self) -> bool {
11692 #[cfg(feature = "dml-tables")]
11693 if !self.tc.is_empty() {
11694 return false;
11695 }
11696 #[cfg(feature = "dml-extensions")]
11697 if self.ext_lst.is_some() {
11698 return false;
11699 }
11700 #[cfg(feature = "extra-children")]
11701 if !self.extra_children.is_empty() {
11702 return false;
11703 }
11704 true
11705 }
11706}
11707
11708impl ToXml for CTTableProperties {
11709 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11710 #[allow(unused_mut)]
11711 let mut start = start;
11712 #[cfg(feature = "dml-tables")]
11713 if let Some(ref val) = self.rtl {
11714 start.push_attribute(("rtl", if *val { "1" } else { "0" }));
11715 }
11716 #[cfg(feature = "dml-tables")]
11717 if let Some(ref val) = self.first_row {
11718 start.push_attribute(("firstRow", if *val { "1" } else { "0" }));
11719 }
11720 #[cfg(feature = "dml-tables")]
11721 if let Some(ref val) = self.first_col {
11722 start.push_attribute(("firstCol", if *val { "1" } else { "0" }));
11723 }
11724 #[cfg(feature = "dml-tables")]
11725 if let Some(ref val) = self.last_row {
11726 start.push_attribute(("lastRow", if *val { "1" } else { "0" }));
11727 }
11728 #[cfg(feature = "dml-tables")]
11729 if let Some(ref val) = self.last_col {
11730 start.push_attribute(("lastCol", if *val { "1" } else { "0" }));
11731 }
11732 #[cfg(feature = "dml-tables")]
11733 if let Some(ref val) = self.band_row {
11734 start.push_attribute(("bandRow", if *val { "1" } else { "0" }));
11735 }
11736 #[cfg(feature = "dml-tables")]
11737 if let Some(ref val) = self.band_col {
11738 start.push_attribute(("bandCol", if *val { "1" } else { "0" }));
11739 }
11740 #[cfg(feature = "extra-attrs")]
11741 for (key, value) in &self.extra_attrs {
11742 start.push_attribute((key.as_str(), value.as_str()));
11743 }
11744 start
11745 }
11746
11747 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11748 #[cfg(feature = "extra-children")]
11749 let mut extra_iter = self.extra_children.iter().peekable();
11750 #[cfg(feature = "extra-children")]
11751 let mut emit_idx: usize = 0;
11752 #[cfg(feature = "extra-children")]
11753 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11754 extra_iter
11755 .next()
11756 .unwrap()
11757 .node
11758 .write_to(writer)
11759 .map_err(SerializeError::from)?;
11760 }
11761 if let Some(ref val) = self.fill_properties {
11762 val.write_element("", writer)?;
11763 }
11764 #[cfg(feature = "extra-children")]
11765 {
11766 emit_idx += 1;
11767 }
11768 #[cfg(feature = "extra-children")]
11769 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11770 extra_iter
11771 .next()
11772 .unwrap()
11773 .node
11774 .write_to(writer)
11775 .map_err(SerializeError::from)?;
11776 }
11777 if let Some(ref val) = self.effect_properties {
11778 val.write_element("", writer)?;
11779 }
11780 #[cfg(feature = "extra-children")]
11781 {
11782 emit_idx += 1;
11783 }
11784 #[cfg(feature = "extra-children")]
11785 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11786 extra_iter
11787 .next()
11788 .unwrap()
11789 .node
11790 .write_to(writer)
11791 .map_err(SerializeError::from)?;
11792 }
11793 if let Some(ref val) = self.table_style {
11794 val.write_element("a:tableStyle", writer)?;
11795 }
11796 #[cfg(feature = "extra-children")]
11797 {
11798 emit_idx += 1;
11799 }
11800 #[cfg(feature = "extra-children")]
11801 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11802 extra_iter
11803 .next()
11804 .unwrap()
11805 .node
11806 .write_to(writer)
11807 .map_err(SerializeError::from)?;
11808 }
11809 #[cfg(feature = "dml-tables")]
11810 if let Some(ref val) = self.table_style_id {
11811 {
11812 let start = BytesStart::new("a:tableStyleId");
11813 writer.write_event(Event::Start(start))?;
11814 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
11815 writer.write_event(Event::End(BytesEnd::new("a:tableStyleId")))?;
11816 }
11817 }
11818 #[cfg(feature = "extra-children")]
11819 {
11820 emit_idx += 1;
11821 }
11822 #[cfg(feature = "extra-children")]
11823 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11824 extra_iter
11825 .next()
11826 .unwrap()
11827 .node
11828 .write_to(writer)
11829 .map_err(SerializeError::from)?;
11830 }
11831 #[cfg(feature = "dml-extensions")]
11832 if let Some(ref val) = self.ext_lst {
11833 val.write_element("a:extLst", writer)?;
11834 }
11835 #[cfg(feature = "extra-children")]
11836 {
11837 emit_idx += 1;
11838 }
11839 #[cfg(feature = "extra-children")]
11840 for extra in extra_iter {
11841 extra.node.write_to(writer).map_err(SerializeError::from)?;
11842 }
11843 Ok(())
11844 }
11845
11846 fn is_empty_element(&self) -> bool {
11847 if self.fill_properties.is_some() {
11848 return false;
11849 }
11850 if self.effect_properties.is_some() {
11851 return false;
11852 }
11853 if self.table_style.is_some() {
11854 return false;
11855 }
11856 #[cfg(feature = "dml-tables")]
11857 if self.table_style_id.is_some() {
11858 return false;
11859 }
11860 #[cfg(feature = "dml-extensions")]
11861 if self.ext_lst.is_some() {
11862 return false;
11863 }
11864 #[cfg(feature = "extra-children")]
11865 if !self.extra_children.is_empty() {
11866 return false;
11867 }
11868 true
11869 }
11870}
11871
11872impl ToXml for CTTable {
11873 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11874 #[cfg(feature = "extra-children")]
11875 let mut extra_iter = self.extra_children.iter().peekable();
11876 #[cfg(feature = "extra-children")]
11877 let mut emit_idx: usize = 0;
11878 #[cfg(feature = "extra-children")]
11879 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11880 extra_iter
11881 .next()
11882 .unwrap()
11883 .node
11884 .write_to(writer)
11885 .map_err(SerializeError::from)?;
11886 }
11887 #[cfg(feature = "dml-tables")]
11888 if let Some(ref val) = self.tbl_pr {
11889 val.write_element("a:tblPr", writer)?;
11890 }
11891 #[cfg(feature = "extra-children")]
11892 {
11893 emit_idx += 1;
11894 }
11895 #[cfg(feature = "extra-children")]
11896 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11897 extra_iter
11898 .next()
11899 .unwrap()
11900 .node
11901 .write_to(writer)
11902 .map_err(SerializeError::from)?;
11903 }
11904 #[cfg(feature = "dml-tables")]
11905 {
11906 let val = &self.tbl_grid;
11907 val.write_element("a:tblGrid", writer)?;
11908 }
11909 #[cfg(feature = "extra-children")]
11910 {
11911 emit_idx += 1;
11912 }
11913 #[cfg(feature = "dml-tables")]
11914 for item in &self.tr {
11915 #[cfg(feature = "extra-children")]
11916 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11917 extra_iter
11918 .next()
11919 .unwrap()
11920 .node
11921 .write_to(writer)
11922 .map_err(SerializeError::from)?;
11923 }
11924 item.write_element("a:tr", writer)?;
11925 #[cfg(feature = "extra-children")]
11926 {
11927 emit_idx += 1;
11928 }
11929 }
11930 #[cfg(feature = "extra-children")]
11931 for extra in extra_iter {
11932 extra.node.write_to(writer).map_err(SerializeError::from)?;
11933 }
11934 Ok(())
11935 }
11936
11937 fn is_empty_element(&self) -> bool {
11938 #[cfg(feature = "dml-tables")]
11939 if self.tbl_pr.is_some() {
11940 return false;
11941 }
11942 #[cfg(feature = "dml-tables")]
11943 return false;
11944 #[cfg(feature = "dml-tables")]
11945 if !self.tr.is_empty() {
11946 return false;
11947 }
11948 #[cfg(feature = "extra-children")]
11949 if !self.extra_children.is_empty() {
11950 return false;
11951 }
11952 true
11953 }
11954}
11955
11956impl ToXml for CTCell3D {
11957 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
11958 #[allow(unused_mut)]
11959 let mut start = start;
11960 if let Some(ref val) = self.prst_material {
11961 {
11962 let s = val.to_string();
11963 start.push_attribute(("prstMaterial", s.as_str()));
11964 }
11965 }
11966 #[cfg(feature = "extra-attrs")]
11967 for (key, value) in &self.extra_attrs {
11968 start.push_attribute((key.as_str(), value.as_str()));
11969 }
11970 start
11971 }
11972
11973 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
11974 #[cfg(feature = "extra-children")]
11975 let mut extra_iter = self.extra_children.iter().peekable();
11976 #[cfg(feature = "extra-children")]
11977 let mut emit_idx: usize = 0;
11978 #[cfg(feature = "extra-children")]
11979 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11980 extra_iter
11981 .next()
11982 .unwrap()
11983 .node
11984 .write_to(writer)
11985 .map_err(SerializeError::from)?;
11986 }
11987 {
11988 let val = &self.bevel;
11989 val.write_element("a:bevel", writer)?;
11990 }
11991 #[cfg(feature = "extra-children")]
11992 {
11993 emit_idx += 1;
11994 }
11995 #[cfg(feature = "extra-children")]
11996 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
11997 extra_iter
11998 .next()
11999 .unwrap()
12000 .node
12001 .write_to(writer)
12002 .map_err(SerializeError::from)?;
12003 }
12004 if let Some(ref val) = self.light_rig {
12005 val.write_element("a:lightRig", writer)?;
12006 }
12007 #[cfg(feature = "extra-children")]
12008 {
12009 emit_idx += 1;
12010 }
12011 #[cfg(feature = "extra-children")]
12012 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12013 extra_iter
12014 .next()
12015 .unwrap()
12016 .node
12017 .write_to(writer)
12018 .map_err(SerializeError::from)?;
12019 }
12020 if let Some(ref val) = self.ext_lst {
12021 val.write_element("a:extLst", writer)?;
12022 }
12023 #[cfg(feature = "extra-children")]
12024 {
12025 emit_idx += 1;
12026 }
12027 #[cfg(feature = "extra-children")]
12028 for extra in extra_iter {
12029 extra.node.write_to(writer).map_err(SerializeError::from)?;
12030 }
12031 Ok(())
12032 }
12033
12034 fn is_empty_element(&self) -> bool {
12035 false
12036 }
12037}
12038
12039impl ToXml for EGThemeableFillStyle {
12040 fn write_element<W: Write>(
12041 &self,
12042 _tag: &str,
12043 writer: &mut Writer<W>,
12044 ) -> Result<(), SerializeError> {
12045 match self {
12046 Self::Fill(inner) => inner.write_element("a:fill", writer)?,
12047 Self::FillRef(inner) => inner.write_element("a:fillRef", writer)?,
12048 }
12049 Ok(())
12050 }
12051}
12052
12053impl ToXml for CTThemeableLineStyle {
12054 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12055 #[cfg(feature = "extra-children")]
12056 let mut extra_iter = self.extra_children.iter().peekable();
12057 #[cfg(feature = "extra-children")]
12058 let mut emit_idx: usize = 0;
12059 #[cfg(feature = "extra-children")]
12060 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12061 extra_iter
12062 .next()
12063 .unwrap()
12064 .node
12065 .write_to(writer)
12066 .map_err(SerializeError::from)?;
12067 }
12068 if let Some(ref val) = self.line {
12069 val.write_element("a:ln", writer)?;
12070 }
12071 #[cfg(feature = "extra-children")]
12072 {
12073 emit_idx += 1;
12074 }
12075 #[cfg(feature = "extra-children")]
12076 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12077 extra_iter
12078 .next()
12079 .unwrap()
12080 .node
12081 .write_to(writer)
12082 .map_err(SerializeError::from)?;
12083 }
12084 if let Some(ref val) = self.ln_ref {
12085 val.write_element("a:lnRef", writer)?;
12086 }
12087 #[cfg(feature = "extra-children")]
12088 {
12089 emit_idx += 1;
12090 }
12091 #[cfg(feature = "extra-children")]
12092 for extra in extra_iter {
12093 extra.node.write_to(writer).map_err(SerializeError::from)?;
12094 }
12095 Ok(())
12096 }
12097
12098 fn is_empty_element(&self) -> bool {
12099 if self.line.is_some() {
12100 return false;
12101 }
12102 if self.ln_ref.is_some() {
12103 return false;
12104 }
12105 #[cfg(feature = "extra-children")]
12106 if !self.extra_children.is_empty() {
12107 return false;
12108 }
12109 true
12110 }
12111}
12112
12113impl ToXml for EGThemeableEffectStyle {
12114 fn write_element<W: Write>(
12115 &self,
12116 _tag: &str,
12117 writer: &mut Writer<W>,
12118 ) -> Result<(), SerializeError> {
12119 match self {
12120 Self::Effect(inner) => inner.write_element("a:effect", writer)?,
12121 Self::EffectRef(inner) => inner.write_element("a:effectRef", writer)?,
12122 }
12123 Ok(())
12124 }
12125}
12126
12127impl ToXml for EGThemeableFontStyles {
12128 fn write_element<W: Write>(
12129 &self,
12130 _tag: &str,
12131 writer: &mut Writer<W>,
12132 ) -> Result<(), SerializeError> {
12133 match self {
12134 Self::Font(inner) => inner.write_element("a:font", writer)?,
12135 Self::FontRef(inner) => inner.write_element("a:fontRef", writer)?,
12136 }
12137 Ok(())
12138 }
12139}
12140
12141impl ToXml for CTTableStyleTextStyle {
12142 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
12143 #[allow(unused_mut)]
12144 let mut start = start;
12145 if let Some(ref val) = self.b {
12146 {
12147 let s = val.to_string();
12148 start.push_attribute(("b", s.as_str()));
12149 }
12150 }
12151 if let Some(ref val) = self.i {
12152 {
12153 let s = val.to_string();
12154 start.push_attribute(("i", s.as_str()));
12155 }
12156 }
12157 #[cfg(feature = "extra-attrs")]
12158 for (key, value) in &self.extra_attrs {
12159 start.push_attribute((key.as_str(), value.as_str()));
12160 }
12161 start
12162 }
12163
12164 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12165 #[cfg(feature = "extra-children")]
12166 let mut extra_iter = self.extra_children.iter().peekable();
12167 #[cfg(feature = "extra-children")]
12168 let mut emit_idx: usize = 0;
12169 #[cfg(feature = "extra-children")]
12170 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12171 extra_iter
12172 .next()
12173 .unwrap()
12174 .node
12175 .write_to(writer)
12176 .map_err(SerializeError::from)?;
12177 }
12178 if let Some(ref val) = self.themeable_font_styles {
12179 val.write_element("", writer)?;
12180 }
12181 #[cfg(feature = "extra-children")]
12182 {
12183 emit_idx += 1;
12184 }
12185 #[cfg(feature = "extra-children")]
12186 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12187 extra_iter
12188 .next()
12189 .unwrap()
12190 .node
12191 .write_to(writer)
12192 .map_err(SerializeError::from)?;
12193 }
12194 if let Some(ref val) = self.color_choice {
12195 val.write_element("", writer)?;
12196 }
12197 #[cfg(feature = "extra-children")]
12198 {
12199 emit_idx += 1;
12200 }
12201 #[cfg(feature = "extra-children")]
12202 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12203 extra_iter
12204 .next()
12205 .unwrap()
12206 .node
12207 .write_to(writer)
12208 .map_err(SerializeError::from)?;
12209 }
12210 if let Some(ref val) = self.ext_lst {
12211 val.write_element("a:extLst", writer)?;
12212 }
12213 #[cfg(feature = "extra-children")]
12214 {
12215 emit_idx += 1;
12216 }
12217 #[cfg(feature = "extra-children")]
12218 for extra in extra_iter {
12219 extra.node.write_to(writer).map_err(SerializeError::from)?;
12220 }
12221 Ok(())
12222 }
12223
12224 fn is_empty_element(&self) -> bool {
12225 if self.themeable_font_styles.is_some() {
12226 return false;
12227 }
12228 if self.color_choice.is_some() {
12229 return false;
12230 }
12231 if self.ext_lst.is_some() {
12232 return false;
12233 }
12234 #[cfg(feature = "extra-children")]
12235 if !self.extra_children.is_empty() {
12236 return false;
12237 }
12238 true
12239 }
12240}
12241
12242impl ToXml for CTTableCellBorderStyle {
12243 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12244 #[cfg(feature = "extra-children")]
12245 let mut extra_iter = self.extra_children.iter().peekable();
12246 #[cfg(feature = "extra-children")]
12247 let mut emit_idx: usize = 0;
12248 #[cfg(feature = "extra-children")]
12249 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12250 extra_iter
12251 .next()
12252 .unwrap()
12253 .node
12254 .write_to(writer)
12255 .map_err(SerializeError::from)?;
12256 }
12257 if let Some(ref val) = self.left {
12258 val.write_element("a:left", writer)?;
12259 }
12260 #[cfg(feature = "extra-children")]
12261 {
12262 emit_idx += 1;
12263 }
12264 #[cfg(feature = "extra-children")]
12265 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12266 extra_iter
12267 .next()
12268 .unwrap()
12269 .node
12270 .write_to(writer)
12271 .map_err(SerializeError::from)?;
12272 }
12273 if let Some(ref val) = self.right {
12274 val.write_element("a:right", writer)?;
12275 }
12276 #[cfg(feature = "extra-children")]
12277 {
12278 emit_idx += 1;
12279 }
12280 #[cfg(feature = "extra-children")]
12281 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12282 extra_iter
12283 .next()
12284 .unwrap()
12285 .node
12286 .write_to(writer)
12287 .map_err(SerializeError::from)?;
12288 }
12289 if let Some(ref val) = self.top {
12290 val.write_element("a:top", writer)?;
12291 }
12292 #[cfg(feature = "extra-children")]
12293 {
12294 emit_idx += 1;
12295 }
12296 #[cfg(feature = "extra-children")]
12297 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12298 extra_iter
12299 .next()
12300 .unwrap()
12301 .node
12302 .write_to(writer)
12303 .map_err(SerializeError::from)?;
12304 }
12305 if let Some(ref val) = self.bottom {
12306 val.write_element("a:bottom", writer)?;
12307 }
12308 #[cfg(feature = "extra-children")]
12309 {
12310 emit_idx += 1;
12311 }
12312 #[cfg(feature = "extra-children")]
12313 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12314 extra_iter
12315 .next()
12316 .unwrap()
12317 .node
12318 .write_to(writer)
12319 .map_err(SerializeError::from)?;
12320 }
12321 if let Some(ref val) = self.inside_h {
12322 val.write_element("a:insideH", writer)?;
12323 }
12324 #[cfg(feature = "extra-children")]
12325 {
12326 emit_idx += 1;
12327 }
12328 #[cfg(feature = "extra-children")]
12329 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12330 extra_iter
12331 .next()
12332 .unwrap()
12333 .node
12334 .write_to(writer)
12335 .map_err(SerializeError::from)?;
12336 }
12337 if let Some(ref val) = self.inside_v {
12338 val.write_element("a:insideV", writer)?;
12339 }
12340 #[cfg(feature = "extra-children")]
12341 {
12342 emit_idx += 1;
12343 }
12344 #[cfg(feature = "extra-children")]
12345 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12346 extra_iter
12347 .next()
12348 .unwrap()
12349 .node
12350 .write_to(writer)
12351 .map_err(SerializeError::from)?;
12352 }
12353 if let Some(ref val) = self.tl2br {
12354 val.write_element("a:tl2br", writer)?;
12355 }
12356 #[cfg(feature = "extra-children")]
12357 {
12358 emit_idx += 1;
12359 }
12360 #[cfg(feature = "extra-children")]
12361 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12362 extra_iter
12363 .next()
12364 .unwrap()
12365 .node
12366 .write_to(writer)
12367 .map_err(SerializeError::from)?;
12368 }
12369 if let Some(ref val) = self.tr2bl {
12370 val.write_element("a:tr2bl", writer)?;
12371 }
12372 #[cfg(feature = "extra-children")]
12373 {
12374 emit_idx += 1;
12375 }
12376 #[cfg(feature = "extra-children")]
12377 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12378 extra_iter
12379 .next()
12380 .unwrap()
12381 .node
12382 .write_to(writer)
12383 .map_err(SerializeError::from)?;
12384 }
12385 if let Some(ref val) = self.ext_lst {
12386 val.write_element("a:extLst", writer)?;
12387 }
12388 #[cfg(feature = "extra-children")]
12389 {
12390 emit_idx += 1;
12391 }
12392 #[cfg(feature = "extra-children")]
12393 for extra in extra_iter {
12394 extra.node.write_to(writer).map_err(SerializeError::from)?;
12395 }
12396 Ok(())
12397 }
12398
12399 fn is_empty_element(&self) -> bool {
12400 if self.left.is_some() {
12401 return false;
12402 }
12403 if self.right.is_some() {
12404 return false;
12405 }
12406 if self.top.is_some() {
12407 return false;
12408 }
12409 if self.bottom.is_some() {
12410 return false;
12411 }
12412 if self.inside_h.is_some() {
12413 return false;
12414 }
12415 if self.inside_v.is_some() {
12416 return false;
12417 }
12418 if self.tl2br.is_some() {
12419 return false;
12420 }
12421 if self.tr2bl.is_some() {
12422 return false;
12423 }
12424 if self.ext_lst.is_some() {
12425 return false;
12426 }
12427 #[cfg(feature = "extra-children")]
12428 if !self.extra_children.is_empty() {
12429 return false;
12430 }
12431 true
12432 }
12433}
12434
12435impl ToXml for CTTableBackgroundStyle {
12436 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12437 #[cfg(feature = "extra-children")]
12438 let mut extra_iter = self.extra_children.iter().peekable();
12439 #[cfg(feature = "extra-children")]
12440 let mut emit_idx: usize = 0;
12441 #[cfg(feature = "extra-children")]
12442 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12443 extra_iter
12444 .next()
12445 .unwrap()
12446 .node
12447 .write_to(writer)
12448 .map_err(SerializeError::from)?;
12449 }
12450 if let Some(ref val) = self.themeable_fill_style {
12451 val.write_element("", writer)?;
12452 }
12453 #[cfg(feature = "extra-children")]
12454 {
12455 emit_idx += 1;
12456 }
12457 #[cfg(feature = "extra-children")]
12458 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12459 extra_iter
12460 .next()
12461 .unwrap()
12462 .node
12463 .write_to(writer)
12464 .map_err(SerializeError::from)?;
12465 }
12466 if let Some(ref val) = self.themeable_effect_style {
12467 val.write_element("", writer)?;
12468 }
12469 #[cfg(feature = "extra-children")]
12470 {
12471 emit_idx += 1;
12472 }
12473 #[cfg(feature = "extra-children")]
12474 for extra in extra_iter {
12475 extra.node.write_to(writer).map_err(SerializeError::from)?;
12476 }
12477 Ok(())
12478 }
12479
12480 fn is_empty_element(&self) -> bool {
12481 if self.themeable_fill_style.is_some() {
12482 return false;
12483 }
12484 if self.themeable_effect_style.is_some() {
12485 return false;
12486 }
12487 #[cfg(feature = "extra-children")]
12488 if !self.extra_children.is_empty() {
12489 return false;
12490 }
12491 true
12492 }
12493}
12494
12495impl ToXml for CTTableStyleCellStyle {
12496 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12497 #[cfg(feature = "extra-children")]
12498 let mut extra_iter = self.extra_children.iter().peekable();
12499 #[cfg(feature = "extra-children")]
12500 let mut emit_idx: usize = 0;
12501 #[cfg(feature = "extra-children")]
12502 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12503 extra_iter
12504 .next()
12505 .unwrap()
12506 .node
12507 .write_to(writer)
12508 .map_err(SerializeError::from)?;
12509 }
12510 if let Some(ref val) = self.tc_bdr {
12511 val.write_element("a:tcBdr", writer)?;
12512 }
12513 #[cfg(feature = "extra-children")]
12514 {
12515 emit_idx += 1;
12516 }
12517 #[cfg(feature = "extra-children")]
12518 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12519 extra_iter
12520 .next()
12521 .unwrap()
12522 .node
12523 .write_to(writer)
12524 .map_err(SerializeError::from)?;
12525 }
12526 if let Some(ref val) = self.themeable_fill_style {
12527 val.write_element("", writer)?;
12528 }
12529 #[cfg(feature = "extra-children")]
12530 {
12531 emit_idx += 1;
12532 }
12533 #[cfg(feature = "extra-children")]
12534 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12535 extra_iter
12536 .next()
12537 .unwrap()
12538 .node
12539 .write_to(writer)
12540 .map_err(SerializeError::from)?;
12541 }
12542 if let Some(ref val) = self.cell3_d {
12543 val.write_element("a:cell3D", writer)?;
12544 }
12545 #[cfg(feature = "extra-children")]
12546 {
12547 emit_idx += 1;
12548 }
12549 #[cfg(feature = "extra-children")]
12550 for extra in extra_iter {
12551 extra.node.write_to(writer).map_err(SerializeError::from)?;
12552 }
12553 Ok(())
12554 }
12555
12556 fn is_empty_element(&self) -> bool {
12557 if self.tc_bdr.is_some() {
12558 return false;
12559 }
12560 if self.themeable_fill_style.is_some() {
12561 return false;
12562 }
12563 if self.cell3_d.is_some() {
12564 return false;
12565 }
12566 #[cfg(feature = "extra-children")]
12567 if !self.extra_children.is_empty() {
12568 return false;
12569 }
12570 true
12571 }
12572}
12573
12574impl ToXml for CTTablePartStyle {
12575 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12576 #[cfg(feature = "extra-children")]
12577 let mut extra_iter = self.extra_children.iter().peekable();
12578 #[cfg(feature = "extra-children")]
12579 let mut emit_idx: usize = 0;
12580 #[cfg(feature = "extra-children")]
12581 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12582 extra_iter
12583 .next()
12584 .unwrap()
12585 .node
12586 .write_to(writer)
12587 .map_err(SerializeError::from)?;
12588 }
12589 if let Some(ref val) = self.tc_tx_style {
12590 val.write_element("a:tcTxStyle", writer)?;
12591 }
12592 #[cfg(feature = "extra-children")]
12593 {
12594 emit_idx += 1;
12595 }
12596 #[cfg(feature = "extra-children")]
12597 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12598 extra_iter
12599 .next()
12600 .unwrap()
12601 .node
12602 .write_to(writer)
12603 .map_err(SerializeError::from)?;
12604 }
12605 if let Some(ref val) = self.tc_style {
12606 val.write_element("a:tcStyle", writer)?;
12607 }
12608 #[cfg(feature = "extra-children")]
12609 {
12610 emit_idx += 1;
12611 }
12612 #[cfg(feature = "extra-children")]
12613 for extra in extra_iter {
12614 extra.node.write_to(writer).map_err(SerializeError::from)?;
12615 }
12616 Ok(())
12617 }
12618
12619 fn is_empty_element(&self) -> bool {
12620 if self.tc_tx_style.is_some() {
12621 return false;
12622 }
12623 if self.tc_style.is_some() {
12624 return false;
12625 }
12626 #[cfg(feature = "extra-children")]
12627 if !self.extra_children.is_empty() {
12628 return false;
12629 }
12630 true
12631 }
12632}
12633
12634impl ToXml for CTTableStyle {
12635 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
12636 #[allow(unused_mut)]
12637 let mut start = start;
12638 {
12639 let val = &self.style_id;
12640 start.push_attribute(("styleId", val.as_str()));
12641 }
12642 {
12643 let val = &self.style_name;
12644 start.push_attribute(("styleName", val.as_str()));
12645 }
12646 #[cfg(feature = "extra-attrs")]
12647 for (key, value) in &self.extra_attrs {
12648 start.push_attribute((key.as_str(), value.as_str()));
12649 }
12650 start
12651 }
12652
12653 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12654 #[cfg(feature = "extra-children")]
12655 let mut extra_iter = self.extra_children.iter().peekable();
12656 #[cfg(feature = "extra-children")]
12657 let mut emit_idx: usize = 0;
12658 #[cfg(feature = "extra-children")]
12659 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12660 extra_iter
12661 .next()
12662 .unwrap()
12663 .node
12664 .write_to(writer)
12665 .map_err(SerializeError::from)?;
12666 }
12667 if let Some(ref val) = self.tbl_bg {
12668 val.write_element("a:tblBg", writer)?;
12669 }
12670 #[cfg(feature = "extra-children")]
12671 {
12672 emit_idx += 1;
12673 }
12674 #[cfg(feature = "extra-children")]
12675 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12676 extra_iter
12677 .next()
12678 .unwrap()
12679 .node
12680 .write_to(writer)
12681 .map_err(SerializeError::from)?;
12682 }
12683 if let Some(ref val) = self.whole_tbl {
12684 val.write_element("a:wholeTbl", writer)?;
12685 }
12686 #[cfg(feature = "extra-children")]
12687 {
12688 emit_idx += 1;
12689 }
12690 #[cfg(feature = "extra-children")]
12691 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12692 extra_iter
12693 .next()
12694 .unwrap()
12695 .node
12696 .write_to(writer)
12697 .map_err(SerializeError::from)?;
12698 }
12699 if let Some(ref val) = self.band1_h {
12700 val.write_element("a:band1H", writer)?;
12701 }
12702 #[cfg(feature = "extra-children")]
12703 {
12704 emit_idx += 1;
12705 }
12706 #[cfg(feature = "extra-children")]
12707 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12708 extra_iter
12709 .next()
12710 .unwrap()
12711 .node
12712 .write_to(writer)
12713 .map_err(SerializeError::from)?;
12714 }
12715 if let Some(ref val) = self.band2_h {
12716 val.write_element("a:band2H", writer)?;
12717 }
12718 #[cfg(feature = "extra-children")]
12719 {
12720 emit_idx += 1;
12721 }
12722 #[cfg(feature = "extra-children")]
12723 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12724 extra_iter
12725 .next()
12726 .unwrap()
12727 .node
12728 .write_to(writer)
12729 .map_err(SerializeError::from)?;
12730 }
12731 if let Some(ref val) = self.band1_v {
12732 val.write_element("a:band1V", writer)?;
12733 }
12734 #[cfg(feature = "extra-children")]
12735 {
12736 emit_idx += 1;
12737 }
12738 #[cfg(feature = "extra-children")]
12739 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12740 extra_iter
12741 .next()
12742 .unwrap()
12743 .node
12744 .write_to(writer)
12745 .map_err(SerializeError::from)?;
12746 }
12747 if let Some(ref val) = self.band2_v {
12748 val.write_element("a:band2V", writer)?;
12749 }
12750 #[cfg(feature = "extra-children")]
12751 {
12752 emit_idx += 1;
12753 }
12754 #[cfg(feature = "extra-children")]
12755 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12756 extra_iter
12757 .next()
12758 .unwrap()
12759 .node
12760 .write_to(writer)
12761 .map_err(SerializeError::from)?;
12762 }
12763 if let Some(ref val) = self.last_col {
12764 val.write_element("a:lastCol", writer)?;
12765 }
12766 #[cfg(feature = "extra-children")]
12767 {
12768 emit_idx += 1;
12769 }
12770 #[cfg(feature = "extra-children")]
12771 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12772 extra_iter
12773 .next()
12774 .unwrap()
12775 .node
12776 .write_to(writer)
12777 .map_err(SerializeError::from)?;
12778 }
12779 if let Some(ref val) = self.first_col {
12780 val.write_element("a:firstCol", writer)?;
12781 }
12782 #[cfg(feature = "extra-children")]
12783 {
12784 emit_idx += 1;
12785 }
12786 #[cfg(feature = "extra-children")]
12787 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12788 extra_iter
12789 .next()
12790 .unwrap()
12791 .node
12792 .write_to(writer)
12793 .map_err(SerializeError::from)?;
12794 }
12795 if let Some(ref val) = self.last_row {
12796 val.write_element("a:lastRow", writer)?;
12797 }
12798 #[cfg(feature = "extra-children")]
12799 {
12800 emit_idx += 1;
12801 }
12802 #[cfg(feature = "extra-children")]
12803 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12804 extra_iter
12805 .next()
12806 .unwrap()
12807 .node
12808 .write_to(writer)
12809 .map_err(SerializeError::from)?;
12810 }
12811 if let Some(ref val) = self.se_cell {
12812 val.write_element("a:seCell", writer)?;
12813 }
12814 #[cfg(feature = "extra-children")]
12815 {
12816 emit_idx += 1;
12817 }
12818 #[cfg(feature = "extra-children")]
12819 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12820 extra_iter
12821 .next()
12822 .unwrap()
12823 .node
12824 .write_to(writer)
12825 .map_err(SerializeError::from)?;
12826 }
12827 if let Some(ref val) = self.sw_cell {
12828 val.write_element("a:swCell", writer)?;
12829 }
12830 #[cfg(feature = "extra-children")]
12831 {
12832 emit_idx += 1;
12833 }
12834 #[cfg(feature = "extra-children")]
12835 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12836 extra_iter
12837 .next()
12838 .unwrap()
12839 .node
12840 .write_to(writer)
12841 .map_err(SerializeError::from)?;
12842 }
12843 if let Some(ref val) = self.first_row {
12844 val.write_element("a:firstRow", writer)?;
12845 }
12846 #[cfg(feature = "extra-children")]
12847 {
12848 emit_idx += 1;
12849 }
12850 #[cfg(feature = "extra-children")]
12851 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12852 extra_iter
12853 .next()
12854 .unwrap()
12855 .node
12856 .write_to(writer)
12857 .map_err(SerializeError::from)?;
12858 }
12859 if let Some(ref val) = self.ne_cell {
12860 val.write_element("a:neCell", writer)?;
12861 }
12862 #[cfg(feature = "extra-children")]
12863 {
12864 emit_idx += 1;
12865 }
12866 #[cfg(feature = "extra-children")]
12867 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12868 extra_iter
12869 .next()
12870 .unwrap()
12871 .node
12872 .write_to(writer)
12873 .map_err(SerializeError::from)?;
12874 }
12875 if let Some(ref val) = self.nw_cell {
12876 val.write_element("a:nwCell", writer)?;
12877 }
12878 #[cfg(feature = "extra-children")]
12879 {
12880 emit_idx += 1;
12881 }
12882 #[cfg(feature = "extra-children")]
12883 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12884 extra_iter
12885 .next()
12886 .unwrap()
12887 .node
12888 .write_to(writer)
12889 .map_err(SerializeError::from)?;
12890 }
12891 if let Some(ref val) = self.ext_lst {
12892 val.write_element("a:extLst", writer)?;
12893 }
12894 #[cfg(feature = "extra-children")]
12895 {
12896 emit_idx += 1;
12897 }
12898 #[cfg(feature = "extra-children")]
12899 for extra in extra_iter {
12900 extra.node.write_to(writer).map_err(SerializeError::from)?;
12901 }
12902 Ok(())
12903 }
12904
12905 fn is_empty_element(&self) -> bool {
12906 if self.tbl_bg.is_some() {
12907 return false;
12908 }
12909 if self.whole_tbl.is_some() {
12910 return false;
12911 }
12912 if self.band1_h.is_some() {
12913 return false;
12914 }
12915 if self.band2_h.is_some() {
12916 return false;
12917 }
12918 if self.band1_v.is_some() {
12919 return false;
12920 }
12921 if self.band2_v.is_some() {
12922 return false;
12923 }
12924 if self.last_col.is_some() {
12925 return false;
12926 }
12927 if self.first_col.is_some() {
12928 return false;
12929 }
12930 if self.last_row.is_some() {
12931 return false;
12932 }
12933 if self.se_cell.is_some() {
12934 return false;
12935 }
12936 if self.sw_cell.is_some() {
12937 return false;
12938 }
12939 if self.first_row.is_some() {
12940 return false;
12941 }
12942 if self.ne_cell.is_some() {
12943 return false;
12944 }
12945 if self.nw_cell.is_some() {
12946 return false;
12947 }
12948 if self.ext_lst.is_some() {
12949 return false;
12950 }
12951 #[cfg(feature = "extra-children")]
12952 if !self.extra_children.is_empty() {
12953 return false;
12954 }
12955 true
12956 }
12957}
12958
12959impl ToXml for CTTableStyleList {
12960 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
12961 #[allow(unused_mut)]
12962 let mut start = start;
12963 {
12964 let val = &self.def;
12965 start.push_attribute(("def", val.as_str()));
12966 }
12967 #[cfg(feature = "extra-attrs")]
12968 for (key, value) in &self.extra_attrs {
12969 start.push_attribute((key.as_str(), value.as_str()));
12970 }
12971 start
12972 }
12973
12974 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
12975 #[cfg(feature = "extra-children")]
12976 let mut extra_iter = self.extra_children.iter().peekable();
12977 #[cfg(feature = "extra-children")]
12978 let mut emit_idx: usize = 0;
12979 for item in &self.tbl_style {
12980 #[cfg(feature = "extra-children")]
12981 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
12982 extra_iter
12983 .next()
12984 .unwrap()
12985 .node
12986 .write_to(writer)
12987 .map_err(SerializeError::from)?;
12988 }
12989 item.write_element("a:tblStyle", writer)?;
12990 #[cfg(feature = "extra-children")]
12991 {
12992 emit_idx += 1;
12993 }
12994 }
12995 #[cfg(feature = "extra-children")]
12996 for extra in extra_iter {
12997 extra.node.write_to(writer).map_err(SerializeError::from)?;
12998 }
12999 Ok(())
13000 }
13001
13002 fn is_empty_element(&self) -> bool {
13003 if !self.tbl_style.is_empty() {
13004 return false;
13005 }
13006 #[cfg(feature = "extra-children")]
13007 if !self.extra_children.is_empty() {
13008 return false;
13009 }
13010 true
13011 }
13012}
13013
13014impl ToXml for TextParagraph {
13015 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
13016 #[cfg(feature = "extra-children")]
13017 let mut extra_iter = self.extra_children.iter().peekable();
13018 #[cfg(feature = "extra-children")]
13019 let mut emit_idx: usize = 0;
13020 #[cfg(feature = "extra-children")]
13021 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13022 extra_iter
13023 .next()
13024 .unwrap()
13025 .node
13026 .write_to(writer)
13027 .map_err(SerializeError::from)?;
13028 }
13029 #[cfg(feature = "dml-text")]
13030 if let Some(ref val) = self.p_pr {
13031 val.write_element("a:pPr", writer)?;
13032 }
13033 #[cfg(feature = "extra-children")]
13034 {
13035 emit_idx += 1;
13036 }
13037 for item in &self.text_run {
13038 #[cfg(feature = "extra-children")]
13039 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13040 extra_iter
13041 .next()
13042 .unwrap()
13043 .node
13044 .write_to(writer)
13045 .map_err(SerializeError::from)?;
13046 }
13047 item.write_element("", writer)?;
13048 #[cfg(feature = "extra-children")]
13049 {
13050 emit_idx += 1;
13051 }
13052 }
13053 #[cfg(feature = "extra-children")]
13054 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13055 extra_iter
13056 .next()
13057 .unwrap()
13058 .node
13059 .write_to(writer)
13060 .map_err(SerializeError::from)?;
13061 }
13062 #[cfg(feature = "dml-text")]
13063 if let Some(ref val) = self.end_para_r_pr {
13064 val.write_element("a:endParaRPr", writer)?;
13065 }
13066 #[cfg(feature = "extra-children")]
13067 {
13068 emit_idx += 1;
13069 }
13070 #[cfg(feature = "extra-children")]
13071 for extra in extra_iter {
13072 extra.node.write_to(writer).map_err(SerializeError::from)?;
13073 }
13074 Ok(())
13075 }
13076
13077 fn is_empty_element(&self) -> bool {
13078 #[cfg(feature = "dml-text")]
13079 if self.p_pr.is_some() {
13080 return false;
13081 }
13082 if !self.text_run.is_empty() {
13083 return false;
13084 }
13085 #[cfg(feature = "dml-text")]
13086 if self.end_para_r_pr.is_some() {
13087 return false;
13088 }
13089 #[cfg(feature = "extra-children")]
13090 if !self.extra_children.is_empty() {
13091 return false;
13092 }
13093 true
13094 }
13095}
13096
13097impl ToXml for CTTextListStyle {
13098 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
13099 #[cfg(feature = "extra-children")]
13100 let mut extra_iter = self.extra_children.iter().peekable();
13101 #[cfg(feature = "extra-children")]
13102 let mut emit_idx: usize = 0;
13103 #[cfg(feature = "extra-children")]
13104 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13105 extra_iter
13106 .next()
13107 .unwrap()
13108 .node
13109 .write_to(writer)
13110 .map_err(SerializeError::from)?;
13111 }
13112 if let Some(ref val) = self.def_p_pr {
13113 val.write_element("a:defPPr", writer)?;
13114 }
13115 #[cfg(feature = "extra-children")]
13116 {
13117 emit_idx += 1;
13118 }
13119 #[cfg(feature = "extra-children")]
13120 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13121 extra_iter
13122 .next()
13123 .unwrap()
13124 .node
13125 .write_to(writer)
13126 .map_err(SerializeError::from)?;
13127 }
13128 if let Some(ref val) = self.lvl1p_pr {
13129 val.write_element("a:lvl1pPr", writer)?;
13130 }
13131 #[cfg(feature = "extra-children")]
13132 {
13133 emit_idx += 1;
13134 }
13135 #[cfg(feature = "extra-children")]
13136 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13137 extra_iter
13138 .next()
13139 .unwrap()
13140 .node
13141 .write_to(writer)
13142 .map_err(SerializeError::from)?;
13143 }
13144 if let Some(ref val) = self.lvl2p_pr {
13145 val.write_element("a:lvl2pPr", writer)?;
13146 }
13147 #[cfg(feature = "extra-children")]
13148 {
13149 emit_idx += 1;
13150 }
13151 #[cfg(feature = "extra-children")]
13152 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13153 extra_iter
13154 .next()
13155 .unwrap()
13156 .node
13157 .write_to(writer)
13158 .map_err(SerializeError::from)?;
13159 }
13160 if let Some(ref val) = self.lvl3p_pr {
13161 val.write_element("a:lvl3pPr", writer)?;
13162 }
13163 #[cfg(feature = "extra-children")]
13164 {
13165 emit_idx += 1;
13166 }
13167 #[cfg(feature = "extra-children")]
13168 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13169 extra_iter
13170 .next()
13171 .unwrap()
13172 .node
13173 .write_to(writer)
13174 .map_err(SerializeError::from)?;
13175 }
13176 if let Some(ref val) = self.lvl4p_pr {
13177 val.write_element("a:lvl4pPr", writer)?;
13178 }
13179 #[cfg(feature = "extra-children")]
13180 {
13181 emit_idx += 1;
13182 }
13183 #[cfg(feature = "extra-children")]
13184 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13185 extra_iter
13186 .next()
13187 .unwrap()
13188 .node
13189 .write_to(writer)
13190 .map_err(SerializeError::from)?;
13191 }
13192 if let Some(ref val) = self.lvl5p_pr {
13193 val.write_element("a:lvl5pPr", writer)?;
13194 }
13195 #[cfg(feature = "extra-children")]
13196 {
13197 emit_idx += 1;
13198 }
13199 #[cfg(feature = "extra-children")]
13200 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13201 extra_iter
13202 .next()
13203 .unwrap()
13204 .node
13205 .write_to(writer)
13206 .map_err(SerializeError::from)?;
13207 }
13208 if let Some(ref val) = self.lvl6p_pr {
13209 val.write_element("a:lvl6pPr", writer)?;
13210 }
13211 #[cfg(feature = "extra-children")]
13212 {
13213 emit_idx += 1;
13214 }
13215 #[cfg(feature = "extra-children")]
13216 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13217 extra_iter
13218 .next()
13219 .unwrap()
13220 .node
13221 .write_to(writer)
13222 .map_err(SerializeError::from)?;
13223 }
13224 if let Some(ref val) = self.lvl7p_pr {
13225 val.write_element("a:lvl7pPr", writer)?;
13226 }
13227 #[cfg(feature = "extra-children")]
13228 {
13229 emit_idx += 1;
13230 }
13231 #[cfg(feature = "extra-children")]
13232 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13233 extra_iter
13234 .next()
13235 .unwrap()
13236 .node
13237 .write_to(writer)
13238 .map_err(SerializeError::from)?;
13239 }
13240 if let Some(ref val) = self.lvl8p_pr {
13241 val.write_element("a:lvl8pPr", writer)?;
13242 }
13243 #[cfg(feature = "extra-children")]
13244 {
13245 emit_idx += 1;
13246 }
13247 #[cfg(feature = "extra-children")]
13248 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13249 extra_iter
13250 .next()
13251 .unwrap()
13252 .node
13253 .write_to(writer)
13254 .map_err(SerializeError::from)?;
13255 }
13256 if let Some(ref val) = self.lvl9p_pr {
13257 val.write_element("a:lvl9pPr", writer)?;
13258 }
13259 #[cfg(feature = "extra-children")]
13260 {
13261 emit_idx += 1;
13262 }
13263 #[cfg(feature = "extra-children")]
13264 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13265 extra_iter
13266 .next()
13267 .unwrap()
13268 .node
13269 .write_to(writer)
13270 .map_err(SerializeError::from)?;
13271 }
13272 if let Some(ref val) = self.ext_lst {
13273 val.write_element("a:extLst", writer)?;
13274 }
13275 #[cfg(feature = "extra-children")]
13276 {
13277 emit_idx += 1;
13278 }
13279 #[cfg(feature = "extra-children")]
13280 for extra in extra_iter {
13281 extra.node.write_to(writer).map_err(SerializeError::from)?;
13282 }
13283 Ok(())
13284 }
13285
13286 fn is_empty_element(&self) -> bool {
13287 if self.def_p_pr.is_some() {
13288 return false;
13289 }
13290 if self.lvl1p_pr.is_some() {
13291 return false;
13292 }
13293 if self.lvl2p_pr.is_some() {
13294 return false;
13295 }
13296 if self.lvl3p_pr.is_some() {
13297 return false;
13298 }
13299 if self.lvl4p_pr.is_some() {
13300 return false;
13301 }
13302 if self.lvl5p_pr.is_some() {
13303 return false;
13304 }
13305 if self.lvl6p_pr.is_some() {
13306 return false;
13307 }
13308 if self.lvl7p_pr.is_some() {
13309 return false;
13310 }
13311 if self.lvl8p_pr.is_some() {
13312 return false;
13313 }
13314 if self.lvl9p_pr.is_some() {
13315 return false;
13316 }
13317 if self.ext_lst.is_some() {
13318 return false;
13319 }
13320 #[cfg(feature = "extra-children")]
13321 if !self.extra_children.is_empty() {
13322 return false;
13323 }
13324 true
13325 }
13326}
13327
13328impl ToXml for CTTextNormalAutofit {
13329 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13330 #[allow(unused_mut)]
13331 let mut start = start;
13332 if let Some(ref val) = self.font_scale {
13333 {
13334 let s = val.to_string();
13335 start.push_attribute(("fontScale", s.as_str()));
13336 }
13337 }
13338 if let Some(ref val) = self.ln_spc_reduction {
13339 {
13340 let s = val.to_string();
13341 start.push_attribute(("lnSpcReduction", s.as_str()));
13342 }
13343 }
13344 #[cfg(feature = "extra-attrs")]
13345 for (key, value) in &self.extra_attrs {
13346 start.push_attribute((key.as_str(), value.as_str()));
13347 }
13348 start
13349 }
13350
13351 fn is_empty_element(&self) -> bool {
13352 true
13353 }
13354}
13355
13356impl ToXml for CTTextShapeAutofit {
13357 fn is_empty_element(&self) -> bool {
13358 true
13359 }
13360}
13361
13362impl ToXml for CTTextNoAutofit {
13363 fn is_empty_element(&self) -> bool {
13364 true
13365 }
13366}
13367
13368impl ToXml for EGTextAutofit {
13369 fn write_element<W: Write>(
13370 &self,
13371 _tag: &str,
13372 writer: &mut Writer<W>,
13373 ) -> Result<(), SerializeError> {
13374 match self {
13375 Self::NoAutofit(inner) => inner.write_element("a:noAutofit", writer)?,
13376 Self::NormAutofit(inner) => inner.write_element("a:normAutofit", writer)?,
13377 Self::SpAutoFit(inner) => inner.write_element("a:spAutoFit", writer)?,
13378 }
13379 Ok(())
13380 }
13381}
13382
13383impl ToXml for CTTextBodyProperties {
13384 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13385 #[allow(unused_mut)]
13386 let mut start = start;
13387 #[cfg(feature = "dml-text")]
13388 if let Some(ref val) = self.rot {
13389 {
13390 let s = val.to_string();
13391 start.push_attribute(("rot", s.as_str()));
13392 }
13393 }
13394 #[cfg(feature = "dml-text")]
13395 if let Some(ref val) = self.spc_first_last_para {
13396 start.push_attribute(("spcFirstLastPara", if *val { "1" } else { "0" }));
13397 }
13398 #[cfg(feature = "dml-text")]
13399 if let Some(ref val) = self.vert_overflow {
13400 {
13401 let s = val.to_string();
13402 start.push_attribute(("vertOverflow", s.as_str()));
13403 }
13404 }
13405 #[cfg(feature = "dml-text")]
13406 if let Some(ref val) = self.horz_overflow {
13407 {
13408 let s = val.to_string();
13409 start.push_attribute(("horzOverflow", s.as_str()));
13410 }
13411 }
13412 #[cfg(feature = "dml-text")]
13413 if let Some(ref val) = self.vert {
13414 {
13415 let s = val.to_string();
13416 start.push_attribute(("vert", s.as_str()));
13417 }
13418 }
13419 #[cfg(feature = "dml-text")]
13420 if let Some(ref val) = self.wrap {
13421 {
13422 let s = val.to_string();
13423 start.push_attribute(("wrap", s.as_str()));
13424 }
13425 }
13426 #[cfg(feature = "dml-text")]
13427 if let Some(ref val) = self.l_ins {
13428 {
13429 let s = val.to_string();
13430 start.push_attribute(("lIns", s.as_str()));
13431 }
13432 }
13433 #[cfg(feature = "dml-text")]
13434 if let Some(ref val) = self.t_ins {
13435 {
13436 let s = val.to_string();
13437 start.push_attribute(("tIns", s.as_str()));
13438 }
13439 }
13440 #[cfg(feature = "dml-text")]
13441 if let Some(ref val) = self.r_ins {
13442 {
13443 let s = val.to_string();
13444 start.push_attribute(("rIns", s.as_str()));
13445 }
13446 }
13447 #[cfg(feature = "dml-text")]
13448 if let Some(ref val) = self.b_ins {
13449 {
13450 let s = val.to_string();
13451 start.push_attribute(("bIns", s.as_str()));
13452 }
13453 }
13454 #[cfg(feature = "dml-text")]
13455 if let Some(ref val) = self.num_col {
13456 {
13457 let s = val.to_string();
13458 start.push_attribute(("numCol", s.as_str()));
13459 }
13460 }
13461 #[cfg(feature = "dml-text")]
13462 if let Some(ref val) = self.spc_col {
13463 {
13464 let s = val.to_string();
13465 start.push_attribute(("spcCol", s.as_str()));
13466 }
13467 }
13468 #[cfg(feature = "dml-text")]
13469 if let Some(ref val) = self.rtl_col {
13470 start.push_attribute(("rtlCol", if *val { "1" } else { "0" }));
13471 }
13472 #[cfg(feature = "dml-text")]
13473 if let Some(ref val) = self.from_word_art {
13474 start.push_attribute(("fromWordArt", if *val { "1" } else { "0" }));
13475 }
13476 #[cfg(feature = "dml-text")]
13477 if let Some(ref val) = self.anchor {
13478 {
13479 let s = val.to_string();
13480 start.push_attribute(("anchor", s.as_str()));
13481 }
13482 }
13483 #[cfg(feature = "dml-text")]
13484 if let Some(ref val) = self.anchor_ctr {
13485 start.push_attribute(("anchorCtr", if *val { "1" } else { "0" }));
13486 }
13487 #[cfg(feature = "dml-text")]
13488 if let Some(ref val) = self.force_a_a {
13489 start.push_attribute(("forceAA", if *val { "1" } else { "0" }));
13490 }
13491 #[cfg(feature = "dml-text")]
13492 if let Some(ref val) = self.upright {
13493 start.push_attribute(("upright", if *val { "1" } else { "0" }));
13494 }
13495 #[cfg(feature = "dml-text")]
13496 if let Some(ref val) = self.compat_ln_spc {
13497 start.push_attribute(("compatLnSpc", if *val { "1" } else { "0" }));
13498 }
13499 #[cfg(feature = "extra-attrs")]
13500 for (key, value) in &self.extra_attrs {
13501 start.push_attribute((key.as_str(), value.as_str()));
13502 }
13503 start
13504 }
13505
13506 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
13507 #[cfg(feature = "extra-children")]
13508 let mut extra_iter = self.extra_children.iter().peekable();
13509 #[cfg(feature = "extra-children")]
13510 let mut emit_idx: usize = 0;
13511 #[cfg(feature = "extra-children")]
13512 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13513 extra_iter
13514 .next()
13515 .unwrap()
13516 .node
13517 .write_to(writer)
13518 .map_err(SerializeError::from)?;
13519 }
13520 #[cfg(feature = "dml-text")]
13521 if let Some(ref val) = self.prst_tx_warp {
13522 val.write_element("a:prstTxWarp", writer)?;
13523 }
13524 #[cfg(feature = "extra-children")]
13525 {
13526 emit_idx += 1;
13527 }
13528 #[cfg(feature = "extra-children")]
13529 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13530 extra_iter
13531 .next()
13532 .unwrap()
13533 .node
13534 .write_to(writer)
13535 .map_err(SerializeError::from)?;
13536 }
13537 if let Some(ref val) = self.text_autofit {
13538 val.write_element("", writer)?;
13539 }
13540 #[cfg(feature = "extra-children")]
13541 {
13542 emit_idx += 1;
13543 }
13544 #[cfg(feature = "extra-children")]
13545 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13546 extra_iter
13547 .next()
13548 .unwrap()
13549 .node
13550 .write_to(writer)
13551 .map_err(SerializeError::from)?;
13552 }
13553 #[cfg(feature = "dml-3d")]
13554 if let Some(ref val) = self.scene3d {
13555 val.write_element("a:scene3d", writer)?;
13556 }
13557 #[cfg(feature = "extra-children")]
13558 {
13559 emit_idx += 1;
13560 }
13561 #[cfg(feature = "extra-children")]
13562 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13563 extra_iter
13564 .next()
13565 .unwrap()
13566 .node
13567 .write_to(writer)
13568 .map_err(SerializeError::from)?;
13569 }
13570 if let Some(ref val) = self.text3_d {
13571 val.write_element("", writer)?;
13572 }
13573 #[cfg(feature = "extra-children")]
13574 {
13575 emit_idx += 1;
13576 }
13577 #[cfg(feature = "extra-children")]
13578 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13579 extra_iter
13580 .next()
13581 .unwrap()
13582 .node
13583 .write_to(writer)
13584 .map_err(SerializeError::from)?;
13585 }
13586 #[cfg(feature = "dml-extensions")]
13587 if let Some(ref val) = self.ext_lst {
13588 val.write_element("a:extLst", writer)?;
13589 }
13590 #[cfg(feature = "extra-children")]
13591 {
13592 emit_idx += 1;
13593 }
13594 #[cfg(feature = "extra-children")]
13595 for extra in extra_iter {
13596 extra.node.write_to(writer).map_err(SerializeError::from)?;
13597 }
13598 Ok(())
13599 }
13600
13601 fn is_empty_element(&self) -> bool {
13602 #[cfg(feature = "dml-text")]
13603 if self.prst_tx_warp.is_some() {
13604 return false;
13605 }
13606 if self.text_autofit.is_some() {
13607 return false;
13608 }
13609 #[cfg(feature = "dml-3d")]
13610 if self.scene3d.is_some() {
13611 return false;
13612 }
13613 if self.text3_d.is_some() {
13614 return false;
13615 }
13616 #[cfg(feature = "dml-extensions")]
13617 if self.ext_lst.is_some() {
13618 return false;
13619 }
13620 #[cfg(feature = "extra-children")]
13621 if !self.extra_children.is_empty() {
13622 return false;
13623 }
13624 true
13625 }
13626}
13627
13628impl ToXml for TextBody {
13629 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
13630 #[cfg(feature = "extra-children")]
13631 let mut extra_iter = self.extra_children.iter().peekable();
13632 #[cfg(feature = "extra-children")]
13633 let mut emit_idx: usize = 0;
13634 #[cfg(feature = "extra-children")]
13635 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13636 extra_iter
13637 .next()
13638 .unwrap()
13639 .node
13640 .write_to(writer)
13641 .map_err(SerializeError::from)?;
13642 }
13643 #[cfg(feature = "dml-text")]
13644 {
13645 let val = &self.body_pr;
13646 val.write_element("a:bodyPr", writer)?;
13647 }
13648 #[cfg(feature = "extra-children")]
13649 {
13650 emit_idx += 1;
13651 }
13652 #[cfg(feature = "extra-children")]
13653 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13654 extra_iter
13655 .next()
13656 .unwrap()
13657 .node
13658 .write_to(writer)
13659 .map_err(SerializeError::from)?;
13660 }
13661 #[cfg(feature = "dml-text")]
13662 if let Some(ref val) = self.lst_style {
13663 val.write_element("a:lstStyle", writer)?;
13664 }
13665 #[cfg(feature = "extra-children")]
13666 {
13667 emit_idx += 1;
13668 }
13669 #[cfg(feature = "dml-text")]
13670 for item in &self.p {
13671 #[cfg(feature = "extra-children")]
13672 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13673 extra_iter
13674 .next()
13675 .unwrap()
13676 .node
13677 .write_to(writer)
13678 .map_err(SerializeError::from)?;
13679 }
13680 item.write_element("a:p", writer)?;
13681 #[cfg(feature = "extra-children")]
13682 {
13683 emit_idx += 1;
13684 }
13685 }
13686 #[cfg(feature = "extra-children")]
13687 for extra in extra_iter {
13688 extra.node.write_to(writer).map_err(SerializeError::from)?;
13689 }
13690 Ok(())
13691 }
13692
13693 fn is_empty_element(&self) -> bool {
13694 #[cfg(feature = "dml-text")]
13695 return false;
13696 #[cfg(feature = "dml-text")]
13697 if self.lst_style.is_some() {
13698 return false;
13699 }
13700 #[cfg(feature = "dml-text")]
13701 if !self.p.is_empty() {
13702 return false;
13703 }
13704 #[cfg(feature = "extra-children")]
13705 if !self.extra_children.is_empty() {
13706 return false;
13707 }
13708 true
13709 }
13710}
13711
13712impl ToXml for CTTextBulletColorFollowText {
13713 fn is_empty_element(&self) -> bool {
13714 true
13715 }
13716}
13717
13718impl ToXml for EGTextBulletColor {
13719 fn write_element<W: Write>(
13720 &self,
13721 _tag: &str,
13722 writer: &mut Writer<W>,
13723 ) -> Result<(), SerializeError> {
13724 match self {
13725 Self::BuClrTx(inner) => inner.write_element("a:buClrTx", writer)?,
13726 Self::BuClr(inner) => inner.write_element("a:buClr", writer)?,
13727 }
13728 Ok(())
13729 }
13730}
13731
13732impl ToXml for CTTextBulletSizeFollowText {
13733 fn is_empty_element(&self) -> bool {
13734 true
13735 }
13736}
13737
13738impl ToXml for TextBulletSizePercentElement {
13739 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13740 #[allow(unused_mut)]
13741 let mut start = start;
13742 {
13743 let val = &self.value;
13744 start.push_attribute(("val", val.as_str()));
13745 }
13746 #[cfg(feature = "extra-attrs")]
13747 for (key, value) in &self.extra_attrs {
13748 start.push_attribute((key.as_str(), value.as_str()));
13749 }
13750 start
13751 }
13752
13753 fn is_empty_element(&self) -> bool {
13754 true
13755 }
13756}
13757
13758impl ToXml for CTTextBulletSizePoint {
13759 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13760 #[allow(unused_mut)]
13761 let mut start = start;
13762 {
13763 let val = &self.value;
13764 {
13765 let s = val.to_string();
13766 start.push_attribute(("val", s.as_str()));
13767 }
13768 }
13769 #[cfg(feature = "extra-attrs")]
13770 for (key, value) in &self.extra_attrs {
13771 start.push_attribute((key.as_str(), value.as_str()));
13772 }
13773 start
13774 }
13775
13776 fn is_empty_element(&self) -> bool {
13777 true
13778 }
13779}
13780
13781impl ToXml for EGTextBulletSize {
13782 fn write_element<W: Write>(
13783 &self,
13784 _tag: &str,
13785 writer: &mut Writer<W>,
13786 ) -> Result<(), SerializeError> {
13787 match self {
13788 Self::BuSzTx(inner) => inner.write_element("a:buSzTx", writer)?,
13789 Self::BuSzPct(inner) => inner.write_element("a:buSzPct", writer)?,
13790 Self::BuSzPts(inner) => inner.write_element("a:buSzPts", writer)?,
13791 }
13792 Ok(())
13793 }
13794}
13795
13796impl ToXml for CTTextBulletTypefaceFollowText {
13797 fn is_empty_element(&self) -> bool {
13798 true
13799 }
13800}
13801
13802impl ToXml for EGTextBulletTypeface {
13803 fn write_element<W: Write>(
13804 &self,
13805 _tag: &str,
13806 writer: &mut Writer<W>,
13807 ) -> Result<(), SerializeError> {
13808 match self {
13809 Self::BuFontTx(inner) => inner.write_element("a:buFontTx", writer)?,
13810 Self::BuFont(inner) => inner.write_element("a:buFont", writer)?,
13811 }
13812 Ok(())
13813 }
13814}
13815
13816impl ToXml for CTTextAutonumberBullet {
13817 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13818 #[allow(unused_mut)]
13819 let mut start = start;
13820 {
13821 let val = &self.r#type;
13822 {
13823 let s = val.to_string();
13824 start.push_attribute(("type", s.as_str()));
13825 }
13826 }
13827 if let Some(ref val) = self.start_at {
13828 {
13829 let s = val.to_string();
13830 start.push_attribute(("startAt", s.as_str()));
13831 }
13832 }
13833 #[cfg(feature = "extra-attrs")]
13834 for (key, value) in &self.extra_attrs {
13835 start.push_attribute((key.as_str(), value.as_str()));
13836 }
13837 start
13838 }
13839
13840 fn is_empty_element(&self) -> bool {
13841 true
13842 }
13843}
13844
13845impl ToXml for CTTextCharBullet {
13846 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13847 #[allow(unused_mut)]
13848 let mut start = start;
13849 {
13850 let val = &self.char;
13851 start.push_attribute(("char", val.as_str()));
13852 }
13853 #[cfg(feature = "extra-attrs")]
13854 for (key, value) in &self.extra_attrs {
13855 start.push_attribute((key.as_str(), value.as_str()));
13856 }
13857 start
13858 }
13859
13860 fn is_empty_element(&self) -> bool {
13861 true
13862 }
13863}
13864
13865impl ToXml for CTTextNoBullet {
13866 fn is_empty_element(&self) -> bool {
13867 true
13868 }
13869}
13870
13871impl ToXml for EGTextBullet {
13872 fn write_element<W: Write>(
13873 &self,
13874 _tag: &str,
13875 writer: &mut Writer<W>,
13876 ) -> Result<(), SerializeError> {
13877 match self {
13878 Self::BuNone(inner) => inner.write_element("a:buNone", writer)?,
13879 Self::BuAutoNum(inner) => inner.write_element("a:buAutoNum", writer)?,
13880 Self::BuChar(inner) => inner.write_element("a:buChar", writer)?,
13881 Self::BuBlip(inner) => inner.write_element("a:buBlip", writer)?,
13882 }
13883 Ok(())
13884 }
13885}
13886
13887impl ToXml for TextFont {
13888 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
13889 #[allow(unused_mut)]
13890 let mut start = start;
13891 #[cfg(feature = "dml-text")]
13892 {
13893 let val = &self.typeface;
13894 start.push_attribute(("typeface", val.as_str()));
13895 }
13896 #[cfg(feature = "dml-text")]
13897 if let Some(ref val) = self.panose {
13898 {
13899 let hex = encode_hex(val);
13900 start.push_attribute(("panose", hex.as_str()));
13901 }
13902 }
13903 #[cfg(feature = "dml-text")]
13904 if let Some(ref val) = self.pitch_family {
13905 {
13906 let s = val.to_string();
13907 start.push_attribute(("pitchFamily", s.as_str()));
13908 }
13909 }
13910 #[cfg(feature = "dml-text")]
13911 if let Some(ref val) = self.charset {
13912 {
13913 let s = val.to_string();
13914 start.push_attribute(("charset", s.as_str()));
13915 }
13916 }
13917 #[cfg(feature = "extra-attrs")]
13918 for (key, value) in &self.extra_attrs {
13919 start.push_attribute((key.as_str(), value.as_str()));
13920 }
13921 start
13922 }
13923
13924 fn is_empty_element(&self) -> bool {
13925 true
13926 }
13927}
13928
13929impl ToXml for CTTextUnderlineLineFollowText {
13930 fn is_empty_element(&self) -> bool {
13931 true
13932 }
13933}
13934
13935impl ToXml for CTTextUnderlineFillFollowText {
13936 fn is_empty_element(&self) -> bool {
13937 true
13938 }
13939}
13940
13941impl ToXml for CTTextUnderlineFillGroupWrapper {
13942 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
13943 #[cfg(feature = "extra-children")]
13944 let mut extra_iter = self.extra_children.iter().peekable();
13945 #[cfg(feature = "extra-children")]
13946 let mut emit_idx: usize = 0;
13947 #[cfg(feature = "extra-children")]
13948 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
13949 extra_iter
13950 .next()
13951 .unwrap()
13952 .node
13953 .write_to(writer)
13954 .map_err(SerializeError::from)?;
13955 }
13956 if let Some(ref val) = self.fill_properties {
13957 val.write_element("", writer)?;
13958 }
13959 #[cfg(feature = "extra-children")]
13960 {
13961 emit_idx += 1;
13962 }
13963 #[cfg(feature = "extra-children")]
13964 for extra in extra_iter {
13965 extra.node.write_to(writer).map_err(SerializeError::from)?;
13966 }
13967 Ok(())
13968 }
13969
13970 fn is_empty_element(&self) -> bool {
13971 false
13972 }
13973}
13974
13975impl ToXml for EGTextUnderlineLine {
13976 fn write_element<W: Write>(
13977 &self,
13978 _tag: &str,
13979 writer: &mut Writer<W>,
13980 ) -> Result<(), SerializeError> {
13981 match self {
13982 Self::ULnTx(inner) => inner.write_element("a:uLnTx", writer)?,
13983 Self::ULn(inner) => inner.write_element("a:uLn", writer)?,
13984 }
13985 Ok(())
13986 }
13987}
13988
13989impl ToXml for EGTextUnderlineFill {
13990 fn write_element<W: Write>(
13991 &self,
13992 _tag: &str,
13993 writer: &mut Writer<W>,
13994 ) -> Result<(), SerializeError> {
13995 match self {
13996 Self::UFillTx(inner) => inner.write_element("a:uFillTx", writer)?,
13997 Self::UFill(inner) => inner.write_element("a:uFill", writer)?,
13998 }
13999 Ok(())
14000 }
14001}
14002
14003impl ToXml for TextCharacterProperties {
14004 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14005 #[allow(unused_mut)]
14006 let mut start = start;
14007 #[cfg(feature = "dml-text")]
14008 if let Some(ref val) = self.kumimoji {
14009 start.push_attribute(("kumimoji", if *val { "1" } else { "0" }));
14010 }
14011 #[cfg(feature = "dml-text")]
14012 if let Some(ref val) = self.lang {
14013 start.push_attribute(("lang", val.as_str()));
14014 }
14015 #[cfg(feature = "dml-text")]
14016 if let Some(ref val) = self.alt_lang {
14017 start.push_attribute(("altLang", val.as_str()));
14018 }
14019 #[cfg(feature = "dml-text")]
14020 if let Some(ref val) = self.sz {
14021 {
14022 let s = val.to_string();
14023 start.push_attribute(("sz", s.as_str()));
14024 }
14025 }
14026 #[cfg(feature = "dml-text")]
14027 if let Some(ref val) = self.b {
14028 start.push_attribute(("b", if *val { "1" } else { "0" }));
14029 }
14030 #[cfg(feature = "dml-text")]
14031 if let Some(ref val) = self.i {
14032 start.push_attribute(("i", if *val { "1" } else { "0" }));
14033 }
14034 #[cfg(feature = "dml-text")]
14035 if let Some(ref val) = self.u {
14036 {
14037 let s = val.to_string();
14038 start.push_attribute(("u", s.as_str()));
14039 }
14040 }
14041 #[cfg(feature = "dml-text")]
14042 if let Some(ref val) = self.strike {
14043 {
14044 let s = val.to_string();
14045 start.push_attribute(("strike", s.as_str()));
14046 }
14047 }
14048 #[cfg(feature = "dml-text")]
14049 if let Some(ref val) = self.kern {
14050 {
14051 let s = val.to_string();
14052 start.push_attribute(("kern", s.as_str()));
14053 }
14054 }
14055 #[cfg(feature = "dml-text")]
14056 if let Some(ref val) = self.cap {
14057 {
14058 let s = val.to_string();
14059 start.push_attribute(("cap", s.as_str()));
14060 }
14061 }
14062 #[cfg(feature = "dml-text")]
14063 if let Some(ref val) = self.spc {
14064 {
14065 let s = val.to_string();
14066 start.push_attribute(("spc", s.as_str()));
14067 }
14068 }
14069 #[cfg(feature = "dml-text")]
14070 if let Some(ref val) = self.normalize_h {
14071 start.push_attribute(("normalizeH", if *val { "1" } else { "0" }));
14072 }
14073 #[cfg(feature = "dml-text")]
14074 if let Some(ref val) = self.baseline {
14075 {
14076 let s = val.to_string();
14077 start.push_attribute(("baseline", s.as_str()));
14078 }
14079 }
14080 #[cfg(feature = "dml-text")]
14081 if let Some(ref val) = self.no_proof {
14082 start.push_attribute(("noProof", if *val { "1" } else { "0" }));
14083 }
14084 #[cfg(feature = "dml-text")]
14085 if let Some(ref val) = self.dirty {
14086 start.push_attribute(("dirty", if *val { "1" } else { "0" }));
14087 }
14088 #[cfg(feature = "dml-text")]
14089 if let Some(ref val) = self.err {
14090 start.push_attribute(("err", if *val { "1" } else { "0" }));
14091 }
14092 #[cfg(feature = "dml-text")]
14093 if let Some(ref val) = self.smt_clean {
14094 start.push_attribute(("smtClean", if *val { "1" } else { "0" }));
14095 }
14096 #[cfg(feature = "dml-text")]
14097 if let Some(ref val) = self.smt_id {
14098 {
14099 let s = val.to_string();
14100 start.push_attribute(("smtId", s.as_str()));
14101 }
14102 }
14103 #[cfg(feature = "dml-text")]
14104 if let Some(ref val) = self.bmk {
14105 start.push_attribute(("bmk", val.as_str()));
14106 }
14107 #[cfg(feature = "extra-attrs")]
14108 for (key, value) in &self.extra_attrs {
14109 start.push_attribute((key.as_str(), value.as_str()));
14110 }
14111 start
14112 }
14113
14114 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14115 #[cfg(feature = "extra-children")]
14116 let mut extra_iter = self.extra_children.iter().peekable();
14117 #[cfg(feature = "extra-children")]
14118 let mut emit_idx: usize = 0;
14119 #[cfg(feature = "extra-children")]
14120 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14121 extra_iter
14122 .next()
14123 .unwrap()
14124 .node
14125 .write_to(writer)
14126 .map_err(SerializeError::from)?;
14127 }
14128 #[cfg(feature = "dml-text")]
14129 if let Some(ref val) = self.line {
14130 val.write_element("a:ln", writer)?;
14131 }
14132 #[cfg(feature = "extra-children")]
14133 {
14134 emit_idx += 1;
14135 }
14136 #[cfg(feature = "extra-children")]
14137 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14138 extra_iter
14139 .next()
14140 .unwrap()
14141 .node
14142 .write_to(writer)
14143 .map_err(SerializeError::from)?;
14144 }
14145 if let Some(ref val) = self.fill_properties {
14146 val.write_element("", writer)?;
14147 }
14148 #[cfg(feature = "extra-children")]
14149 {
14150 emit_idx += 1;
14151 }
14152 #[cfg(feature = "extra-children")]
14153 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14154 extra_iter
14155 .next()
14156 .unwrap()
14157 .node
14158 .write_to(writer)
14159 .map_err(SerializeError::from)?;
14160 }
14161 if let Some(ref val) = self.effect_properties {
14162 val.write_element("", writer)?;
14163 }
14164 #[cfg(feature = "extra-children")]
14165 {
14166 emit_idx += 1;
14167 }
14168 #[cfg(feature = "extra-children")]
14169 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14170 extra_iter
14171 .next()
14172 .unwrap()
14173 .node
14174 .write_to(writer)
14175 .map_err(SerializeError::from)?;
14176 }
14177 #[cfg(feature = "dml-text")]
14178 if let Some(ref val) = self.highlight {
14179 val.write_element("a:highlight", writer)?;
14180 }
14181 #[cfg(feature = "extra-children")]
14182 {
14183 emit_idx += 1;
14184 }
14185 #[cfg(feature = "extra-children")]
14186 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14187 extra_iter
14188 .next()
14189 .unwrap()
14190 .node
14191 .write_to(writer)
14192 .map_err(SerializeError::from)?;
14193 }
14194 if let Some(ref val) = self.text_underline_line {
14195 val.write_element("", writer)?;
14196 }
14197 #[cfg(feature = "extra-children")]
14198 {
14199 emit_idx += 1;
14200 }
14201 #[cfg(feature = "extra-children")]
14202 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14203 extra_iter
14204 .next()
14205 .unwrap()
14206 .node
14207 .write_to(writer)
14208 .map_err(SerializeError::from)?;
14209 }
14210 if let Some(ref val) = self.text_underline_fill {
14211 val.write_element("", writer)?;
14212 }
14213 #[cfg(feature = "extra-children")]
14214 {
14215 emit_idx += 1;
14216 }
14217 #[cfg(feature = "extra-children")]
14218 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14219 extra_iter
14220 .next()
14221 .unwrap()
14222 .node
14223 .write_to(writer)
14224 .map_err(SerializeError::from)?;
14225 }
14226 #[cfg(feature = "dml-text")]
14227 if let Some(ref val) = self.latin {
14228 val.write_element("a:latin", writer)?;
14229 }
14230 #[cfg(feature = "extra-children")]
14231 {
14232 emit_idx += 1;
14233 }
14234 #[cfg(feature = "extra-children")]
14235 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14236 extra_iter
14237 .next()
14238 .unwrap()
14239 .node
14240 .write_to(writer)
14241 .map_err(SerializeError::from)?;
14242 }
14243 #[cfg(feature = "dml-text")]
14244 if let Some(ref val) = self.ea {
14245 val.write_element("a:ea", writer)?;
14246 }
14247 #[cfg(feature = "extra-children")]
14248 {
14249 emit_idx += 1;
14250 }
14251 #[cfg(feature = "extra-children")]
14252 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14253 extra_iter
14254 .next()
14255 .unwrap()
14256 .node
14257 .write_to(writer)
14258 .map_err(SerializeError::from)?;
14259 }
14260 #[cfg(feature = "dml-text")]
14261 if let Some(ref val) = self.cs {
14262 val.write_element("a:cs", writer)?;
14263 }
14264 #[cfg(feature = "extra-children")]
14265 {
14266 emit_idx += 1;
14267 }
14268 #[cfg(feature = "extra-children")]
14269 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14270 extra_iter
14271 .next()
14272 .unwrap()
14273 .node
14274 .write_to(writer)
14275 .map_err(SerializeError::from)?;
14276 }
14277 #[cfg(feature = "dml-text")]
14278 if let Some(ref val) = self.sym {
14279 val.write_element("a:sym", writer)?;
14280 }
14281 #[cfg(feature = "extra-children")]
14282 {
14283 emit_idx += 1;
14284 }
14285 #[cfg(feature = "extra-children")]
14286 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14287 extra_iter
14288 .next()
14289 .unwrap()
14290 .node
14291 .write_to(writer)
14292 .map_err(SerializeError::from)?;
14293 }
14294 #[cfg(feature = "dml-text")]
14295 if let Some(ref val) = self.hlink_click {
14296 val.write_element("a:hlinkClick", writer)?;
14297 }
14298 #[cfg(feature = "extra-children")]
14299 {
14300 emit_idx += 1;
14301 }
14302 #[cfg(feature = "extra-children")]
14303 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14304 extra_iter
14305 .next()
14306 .unwrap()
14307 .node
14308 .write_to(writer)
14309 .map_err(SerializeError::from)?;
14310 }
14311 #[cfg(feature = "dml-text")]
14312 if let Some(ref val) = self.hlink_mouse_over {
14313 val.write_element("a:hlinkMouseOver", writer)?;
14314 }
14315 #[cfg(feature = "extra-children")]
14316 {
14317 emit_idx += 1;
14318 }
14319 #[cfg(feature = "extra-children")]
14320 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14321 extra_iter
14322 .next()
14323 .unwrap()
14324 .node
14325 .write_to(writer)
14326 .map_err(SerializeError::from)?;
14327 }
14328 #[cfg(feature = "dml-text")]
14329 if let Some(ref val) = self.rtl {
14330 val.write_element("a:rtl", writer)?;
14331 }
14332 #[cfg(feature = "extra-children")]
14333 {
14334 emit_idx += 1;
14335 }
14336 #[cfg(feature = "extra-children")]
14337 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14338 extra_iter
14339 .next()
14340 .unwrap()
14341 .node
14342 .write_to(writer)
14343 .map_err(SerializeError::from)?;
14344 }
14345 #[cfg(feature = "dml-extensions")]
14346 if let Some(ref val) = self.ext_lst {
14347 val.write_element("a:extLst", writer)?;
14348 }
14349 #[cfg(feature = "extra-children")]
14350 {
14351 emit_idx += 1;
14352 }
14353 #[cfg(feature = "extra-children")]
14354 for extra in extra_iter {
14355 extra.node.write_to(writer).map_err(SerializeError::from)?;
14356 }
14357 Ok(())
14358 }
14359
14360 fn is_empty_element(&self) -> bool {
14361 #[cfg(feature = "dml-text")]
14362 if self.line.is_some() {
14363 return false;
14364 }
14365 if self.fill_properties.is_some() {
14366 return false;
14367 }
14368 if self.effect_properties.is_some() {
14369 return false;
14370 }
14371 #[cfg(feature = "dml-text")]
14372 if self.highlight.is_some() {
14373 return false;
14374 }
14375 if self.text_underline_line.is_some() {
14376 return false;
14377 }
14378 if self.text_underline_fill.is_some() {
14379 return false;
14380 }
14381 #[cfg(feature = "dml-text")]
14382 if self.latin.is_some() {
14383 return false;
14384 }
14385 #[cfg(feature = "dml-text")]
14386 if self.ea.is_some() {
14387 return false;
14388 }
14389 #[cfg(feature = "dml-text")]
14390 if self.cs.is_some() {
14391 return false;
14392 }
14393 #[cfg(feature = "dml-text")]
14394 if self.sym.is_some() {
14395 return false;
14396 }
14397 #[cfg(feature = "dml-text")]
14398 if self.hlink_click.is_some() {
14399 return false;
14400 }
14401 #[cfg(feature = "dml-text")]
14402 if self.hlink_mouse_over.is_some() {
14403 return false;
14404 }
14405 #[cfg(feature = "dml-text")]
14406 if self.rtl.is_some() {
14407 return false;
14408 }
14409 #[cfg(feature = "dml-extensions")]
14410 if self.ext_lst.is_some() {
14411 return false;
14412 }
14413 #[cfg(feature = "extra-children")]
14414 if !self.extra_children.is_empty() {
14415 return false;
14416 }
14417 true
14418 }
14419}
14420
14421impl ToXml for CTBoolean {
14422 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14423 #[allow(unused_mut)]
14424 let mut start = start;
14425 if let Some(ref val) = self.value {
14426 {
14427 let s = val.to_string();
14428 start.push_attribute(("val", s.as_str()));
14429 }
14430 }
14431 #[cfg(feature = "extra-attrs")]
14432 for (key, value) in &self.extra_attrs {
14433 start.push_attribute((key.as_str(), value.as_str()));
14434 }
14435 start
14436 }
14437
14438 fn is_empty_element(&self) -> bool {
14439 true
14440 }
14441}
14442
14443impl ToXml for CTTextSpacingPercent {
14444 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14445 #[allow(unused_mut)]
14446 let mut start = start;
14447 {
14448 let val = &self.value;
14449 {
14450 let s = val.to_string();
14451 start.push_attribute(("val", s.as_str()));
14452 }
14453 }
14454 #[cfg(feature = "extra-attrs")]
14455 for (key, value) in &self.extra_attrs {
14456 start.push_attribute((key.as_str(), value.as_str()));
14457 }
14458 start
14459 }
14460
14461 fn is_empty_element(&self) -> bool {
14462 true
14463 }
14464}
14465
14466impl ToXml for CTTextSpacingPoint {
14467 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14468 #[allow(unused_mut)]
14469 let mut start = start;
14470 {
14471 let val = &self.value;
14472 {
14473 let s = val.to_string();
14474 start.push_attribute(("val", s.as_str()));
14475 }
14476 }
14477 #[cfg(feature = "extra-attrs")]
14478 for (key, value) in &self.extra_attrs {
14479 start.push_attribute((key.as_str(), value.as_str()));
14480 }
14481 start
14482 }
14483
14484 fn is_empty_element(&self) -> bool {
14485 true
14486 }
14487}
14488
14489impl ToXml for CTTextTabStop {
14490 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14491 #[allow(unused_mut)]
14492 let mut start = start;
14493 if let Some(ref val) = self.pos {
14494 {
14495 let s = val.to_string();
14496 start.push_attribute(("pos", s.as_str()));
14497 }
14498 }
14499 if let Some(ref val) = self.algn {
14500 {
14501 let s = val.to_string();
14502 start.push_attribute(("algn", s.as_str()));
14503 }
14504 }
14505 #[cfg(feature = "extra-attrs")]
14506 for (key, value) in &self.extra_attrs {
14507 start.push_attribute((key.as_str(), value.as_str()));
14508 }
14509 start
14510 }
14511
14512 fn is_empty_element(&self) -> bool {
14513 true
14514 }
14515}
14516
14517impl ToXml for CTTextTabStopList {
14518 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14519 #[cfg(feature = "extra-children")]
14520 let mut extra_iter = self.extra_children.iter().peekable();
14521 #[cfg(feature = "extra-children")]
14522 let mut emit_idx: usize = 0;
14523 for item in &self.tab {
14524 #[cfg(feature = "extra-children")]
14525 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14526 extra_iter
14527 .next()
14528 .unwrap()
14529 .node
14530 .write_to(writer)
14531 .map_err(SerializeError::from)?;
14532 }
14533 item.write_element("a:tab", writer)?;
14534 #[cfg(feature = "extra-children")]
14535 {
14536 emit_idx += 1;
14537 }
14538 }
14539 #[cfg(feature = "extra-children")]
14540 for extra in extra_iter {
14541 extra.node.write_to(writer).map_err(SerializeError::from)?;
14542 }
14543 Ok(())
14544 }
14545
14546 fn is_empty_element(&self) -> bool {
14547 if !self.tab.is_empty() {
14548 return false;
14549 }
14550 #[cfg(feature = "extra-children")]
14551 if !self.extra_children.is_empty() {
14552 return false;
14553 }
14554 true
14555 }
14556}
14557
14558impl ToXml for CTTextLineBreak {
14559 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14560 #[cfg(feature = "extra-children")]
14561 let mut extra_iter = self.extra_children.iter().peekable();
14562 #[cfg(feature = "extra-children")]
14563 let mut emit_idx: usize = 0;
14564 #[cfg(feature = "extra-children")]
14565 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14566 extra_iter
14567 .next()
14568 .unwrap()
14569 .node
14570 .write_to(writer)
14571 .map_err(SerializeError::from)?;
14572 }
14573 if let Some(ref val) = self.r_pr {
14574 val.write_element("a:rPr", writer)?;
14575 }
14576 #[cfg(feature = "extra-children")]
14577 {
14578 emit_idx += 1;
14579 }
14580 #[cfg(feature = "extra-children")]
14581 for extra in extra_iter {
14582 extra.node.write_to(writer).map_err(SerializeError::from)?;
14583 }
14584 Ok(())
14585 }
14586
14587 fn is_empty_element(&self) -> bool {
14588 if self.r_pr.is_some() {
14589 return false;
14590 }
14591 #[cfg(feature = "extra-children")]
14592 if !self.extra_children.is_empty() {
14593 return false;
14594 }
14595 true
14596 }
14597}
14598
14599impl ToXml for CTTextSpacing {
14600 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14601 #[cfg(feature = "extra-children")]
14602 let mut extra_iter = self.extra_children.iter().peekable();
14603 #[cfg(feature = "extra-children")]
14604 let mut emit_idx: usize = 0;
14605 #[cfg(feature = "extra-children")]
14606 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14607 extra_iter
14608 .next()
14609 .unwrap()
14610 .node
14611 .write_to(writer)
14612 .map_err(SerializeError::from)?;
14613 }
14614 if let Some(ref val) = self.spc_pct {
14615 val.write_element("a:spcPct", writer)?;
14616 }
14617 #[cfg(feature = "extra-children")]
14618 {
14619 emit_idx += 1;
14620 }
14621 #[cfg(feature = "extra-children")]
14622 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14623 extra_iter
14624 .next()
14625 .unwrap()
14626 .node
14627 .write_to(writer)
14628 .map_err(SerializeError::from)?;
14629 }
14630 if let Some(ref val) = self.spc_pts {
14631 val.write_element("a:spcPts", writer)?;
14632 }
14633 #[cfg(feature = "extra-children")]
14634 {
14635 emit_idx += 1;
14636 }
14637 #[cfg(feature = "extra-children")]
14638 for extra in extra_iter {
14639 extra.node.write_to(writer).map_err(SerializeError::from)?;
14640 }
14641 Ok(())
14642 }
14643
14644 fn is_empty_element(&self) -> bool {
14645 if self.spc_pct.is_some() {
14646 return false;
14647 }
14648 if self.spc_pts.is_some() {
14649 return false;
14650 }
14651 #[cfg(feature = "extra-children")]
14652 if !self.extra_children.is_empty() {
14653 return false;
14654 }
14655 true
14656 }
14657}
14658
14659impl ToXml for TextParagraphProperties {
14660 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14661 #[allow(unused_mut)]
14662 let mut start = start;
14663 #[cfg(feature = "dml-text")]
14664 if let Some(ref val) = self.mar_l {
14665 {
14666 let s = val.to_string();
14667 start.push_attribute(("marL", s.as_str()));
14668 }
14669 }
14670 #[cfg(feature = "dml-text")]
14671 if let Some(ref val) = self.mar_r {
14672 {
14673 let s = val.to_string();
14674 start.push_attribute(("marR", s.as_str()));
14675 }
14676 }
14677 #[cfg(feature = "dml-text")]
14678 if let Some(ref val) = self.lvl {
14679 {
14680 let s = val.to_string();
14681 start.push_attribute(("lvl", s.as_str()));
14682 }
14683 }
14684 #[cfg(feature = "dml-text")]
14685 if let Some(ref val) = self.indent {
14686 {
14687 let s = val.to_string();
14688 start.push_attribute(("indent", s.as_str()));
14689 }
14690 }
14691 #[cfg(feature = "dml-text")]
14692 if let Some(ref val) = self.algn {
14693 {
14694 let s = val.to_string();
14695 start.push_attribute(("algn", s.as_str()));
14696 }
14697 }
14698 #[cfg(feature = "dml-text")]
14699 if let Some(ref val) = self.def_tab_sz {
14700 {
14701 let s = val.to_string();
14702 start.push_attribute(("defTabSz", s.as_str()));
14703 }
14704 }
14705 #[cfg(feature = "dml-text")]
14706 if let Some(ref val) = self.rtl {
14707 start.push_attribute(("rtl", if *val { "1" } else { "0" }));
14708 }
14709 #[cfg(feature = "dml-text")]
14710 if let Some(ref val) = self.ea_ln_brk {
14711 start.push_attribute(("eaLnBrk", if *val { "1" } else { "0" }));
14712 }
14713 #[cfg(feature = "dml-text")]
14714 if let Some(ref val) = self.font_algn {
14715 {
14716 let s = val.to_string();
14717 start.push_attribute(("fontAlgn", s.as_str()));
14718 }
14719 }
14720 #[cfg(feature = "dml-text")]
14721 if let Some(ref val) = self.latin_ln_brk {
14722 start.push_attribute(("latinLnBrk", if *val { "1" } else { "0" }));
14723 }
14724 #[cfg(feature = "dml-text")]
14725 if let Some(ref val) = self.hanging_punct {
14726 start.push_attribute(("hangingPunct", if *val { "1" } else { "0" }));
14727 }
14728 #[cfg(feature = "extra-attrs")]
14729 for (key, value) in &self.extra_attrs {
14730 start.push_attribute((key.as_str(), value.as_str()));
14731 }
14732 start
14733 }
14734
14735 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14736 #[cfg(feature = "extra-children")]
14737 let mut extra_iter = self.extra_children.iter().peekable();
14738 #[cfg(feature = "extra-children")]
14739 let mut emit_idx: usize = 0;
14740 #[cfg(feature = "extra-children")]
14741 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14742 extra_iter
14743 .next()
14744 .unwrap()
14745 .node
14746 .write_to(writer)
14747 .map_err(SerializeError::from)?;
14748 }
14749 #[cfg(feature = "dml-text")]
14750 if let Some(ref val) = self.ln_spc {
14751 val.write_element("a:lnSpc", writer)?;
14752 }
14753 #[cfg(feature = "extra-children")]
14754 {
14755 emit_idx += 1;
14756 }
14757 #[cfg(feature = "extra-children")]
14758 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14759 extra_iter
14760 .next()
14761 .unwrap()
14762 .node
14763 .write_to(writer)
14764 .map_err(SerializeError::from)?;
14765 }
14766 #[cfg(feature = "dml-text")]
14767 if let Some(ref val) = self.spc_bef {
14768 val.write_element("a:spcBef", writer)?;
14769 }
14770 #[cfg(feature = "extra-children")]
14771 {
14772 emit_idx += 1;
14773 }
14774 #[cfg(feature = "extra-children")]
14775 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14776 extra_iter
14777 .next()
14778 .unwrap()
14779 .node
14780 .write_to(writer)
14781 .map_err(SerializeError::from)?;
14782 }
14783 #[cfg(feature = "dml-text")]
14784 if let Some(ref val) = self.spc_aft {
14785 val.write_element("a:spcAft", writer)?;
14786 }
14787 #[cfg(feature = "extra-children")]
14788 {
14789 emit_idx += 1;
14790 }
14791 #[cfg(feature = "extra-children")]
14792 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14793 extra_iter
14794 .next()
14795 .unwrap()
14796 .node
14797 .write_to(writer)
14798 .map_err(SerializeError::from)?;
14799 }
14800 if let Some(ref val) = self.text_bullet_color {
14801 val.write_element("", writer)?;
14802 }
14803 #[cfg(feature = "extra-children")]
14804 {
14805 emit_idx += 1;
14806 }
14807 #[cfg(feature = "extra-children")]
14808 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14809 extra_iter
14810 .next()
14811 .unwrap()
14812 .node
14813 .write_to(writer)
14814 .map_err(SerializeError::from)?;
14815 }
14816 if let Some(ref val) = self.text_bullet_size {
14817 val.write_element("", writer)?;
14818 }
14819 #[cfg(feature = "extra-children")]
14820 {
14821 emit_idx += 1;
14822 }
14823 #[cfg(feature = "extra-children")]
14824 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14825 extra_iter
14826 .next()
14827 .unwrap()
14828 .node
14829 .write_to(writer)
14830 .map_err(SerializeError::from)?;
14831 }
14832 if let Some(ref val) = self.text_bullet_typeface {
14833 val.write_element("", writer)?;
14834 }
14835 #[cfg(feature = "extra-children")]
14836 {
14837 emit_idx += 1;
14838 }
14839 #[cfg(feature = "extra-children")]
14840 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14841 extra_iter
14842 .next()
14843 .unwrap()
14844 .node
14845 .write_to(writer)
14846 .map_err(SerializeError::from)?;
14847 }
14848 if let Some(ref val) = self.text_bullet {
14849 val.write_element("", writer)?;
14850 }
14851 #[cfg(feature = "extra-children")]
14852 {
14853 emit_idx += 1;
14854 }
14855 #[cfg(feature = "extra-children")]
14856 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14857 extra_iter
14858 .next()
14859 .unwrap()
14860 .node
14861 .write_to(writer)
14862 .map_err(SerializeError::from)?;
14863 }
14864 #[cfg(feature = "dml-text")]
14865 if let Some(ref val) = self.tab_lst {
14866 val.write_element("a:tabLst", writer)?;
14867 }
14868 #[cfg(feature = "extra-children")]
14869 {
14870 emit_idx += 1;
14871 }
14872 #[cfg(feature = "extra-children")]
14873 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14874 extra_iter
14875 .next()
14876 .unwrap()
14877 .node
14878 .write_to(writer)
14879 .map_err(SerializeError::from)?;
14880 }
14881 #[cfg(feature = "dml-text")]
14882 if let Some(ref val) = self.def_r_pr {
14883 val.write_element("a:defRPr", writer)?;
14884 }
14885 #[cfg(feature = "extra-children")]
14886 {
14887 emit_idx += 1;
14888 }
14889 #[cfg(feature = "extra-children")]
14890 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14891 extra_iter
14892 .next()
14893 .unwrap()
14894 .node
14895 .write_to(writer)
14896 .map_err(SerializeError::from)?;
14897 }
14898 #[cfg(feature = "dml-extensions")]
14899 if let Some(ref val) = self.ext_lst {
14900 val.write_element("a:extLst", writer)?;
14901 }
14902 #[cfg(feature = "extra-children")]
14903 {
14904 emit_idx += 1;
14905 }
14906 #[cfg(feature = "extra-children")]
14907 for extra in extra_iter {
14908 extra.node.write_to(writer).map_err(SerializeError::from)?;
14909 }
14910 Ok(())
14911 }
14912
14913 fn is_empty_element(&self) -> bool {
14914 #[cfg(feature = "dml-text")]
14915 if self.ln_spc.is_some() {
14916 return false;
14917 }
14918 #[cfg(feature = "dml-text")]
14919 if self.spc_bef.is_some() {
14920 return false;
14921 }
14922 #[cfg(feature = "dml-text")]
14923 if self.spc_aft.is_some() {
14924 return false;
14925 }
14926 if self.text_bullet_color.is_some() {
14927 return false;
14928 }
14929 if self.text_bullet_size.is_some() {
14930 return false;
14931 }
14932 if self.text_bullet_typeface.is_some() {
14933 return false;
14934 }
14935 if self.text_bullet.is_some() {
14936 return false;
14937 }
14938 #[cfg(feature = "dml-text")]
14939 if self.tab_lst.is_some() {
14940 return false;
14941 }
14942 #[cfg(feature = "dml-text")]
14943 if self.def_r_pr.is_some() {
14944 return false;
14945 }
14946 #[cfg(feature = "dml-extensions")]
14947 if self.ext_lst.is_some() {
14948 return false;
14949 }
14950 #[cfg(feature = "extra-children")]
14951 if !self.extra_children.is_empty() {
14952 return false;
14953 }
14954 true
14955 }
14956}
14957
14958impl ToXml for CTTextField {
14959 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
14960 #[allow(unused_mut)]
14961 let mut start = start;
14962 {
14963 let val = &self.id;
14964 start.push_attribute(("id", val.as_str()));
14965 }
14966 if let Some(ref val) = self.r#type {
14967 start.push_attribute(("type", val.as_str()));
14968 }
14969 #[cfg(feature = "extra-attrs")]
14970 for (key, value) in &self.extra_attrs {
14971 start.push_attribute((key.as_str(), value.as_str()));
14972 }
14973 start
14974 }
14975
14976 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
14977 #[cfg(feature = "extra-children")]
14978 let mut extra_iter = self.extra_children.iter().peekable();
14979 #[cfg(feature = "extra-children")]
14980 let mut emit_idx: usize = 0;
14981 #[cfg(feature = "extra-children")]
14982 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14983 extra_iter
14984 .next()
14985 .unwrap()
14986 .node
14987 .write_to(writer)
14988 .map_err(SerializeError::from)?;
14989 }
14990 if let Some(ref val) = self.r_pr {
14991 val.write_element("a:rPr", writer)?;
14992 }
14993 #[cfg(feature = "extra-children")]
14994 {
14995 emit_idx += 1;
14996 }
14997 #[cfg(feature = "extra-children")]
14998 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
14999 extra_iter
15000 .next()
15001 .unwrap()
15002 .node
15003 .write_to(writer)
15004 .map_err(SerializeError::from)?;
15005 }
15006 if let Some(ref val) = self.p_pr {
15007 val.write_element("a:pPr", writer)?;
15008 }
15009 #[cfg(feature = "extra-children")]
15010 {
15011 emit_idx += 1;
15012 }
15013 #[cfg(feature = "extra-children")]
15014 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15015 extra_iter
15016 .next()
15017 .unwrap()
15018 .node
15019 .write_to(writer)
15020 .map_err(SerializeError::from)?;
15021 }
15022 if let Some(ref val) = self.t {
15023 {
15024 let start = BytesStart::new("a:t");
15025 writer.write_event(Event::Start(start))?;
15026 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15027 writer.write_event(Event::End(BytesEnd::new("a:t")))?;
15028 }
15029 }
15030 #[cfg(feature = "extra-children")]
15031 {
15032 emit_idx += 1;
15033 }
15034 #[cfg(feature = "extra-children")]
15035 for extra in extra_iter {
15036 extra.node.write_to(writer).map_err(SerializeError::from)?;
15037 }
15038 Ok(())
15039 }
15040
15041 fn is_empty_element(&self) -> bool {
15042 if self.r_pr.is_some() {
15043 return false;
15044 }
15045 if self.p_pr.is_some() {
15046 return false;
15047 }
15048 if self.t.is_some() {
15049 return false;
15050 }
15051 #[cfg(feature = "extra-children")]
15052 if !self.extra_children.is_empty() {
15053 return false;
15054 }
15055 true
15056 }
15057}
15058
15059impl ToXml for EGTextRun {
15060 fn write_element<W: Write>(
15061 &self,
15062 _tag: &str,
15063 writer: &mut Writer<W>,
15064 ) -> Result<(), SerializeError> {
15065 match self {
15066 Self::R(inner) => inner.write_element("a:r", writer)?,
15067 Self::Br(inner) => inner.write_element("a:br", writer)?,
15068 Self::Fld(inner) => inner.write_element("a:fld", writer)?,
15069 }
15070 Ok(())
15071 }
15072}
15073
15074impl ToXml for TextRun {
15075 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15076 #[cfg(feature = "extra-children")]
15077 let mut extra_iter = self.extra_children.iter().peekable();
15078 #[cfg(feature = "extra-children")]
15079 let mut emit_idx: usize = 0;
15080 #[cfg(feature = "extra-children")]
15081 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15082 extra_iter
15083 .next()
15084 .unwrap()
15085 .node
15086 .write_to(writer)
15087 .map_err(SerializeError::from)?;
15088 }
15089 #[cfg(feature = "dml-text")]
15090 if let Some(ref val) = self.r_pr {
15091 val.write_element("a:rPr", writer)?;
15092 }
15093 #[cfg(feature = "extra-children")]
15094 {
15095 emit_idx += 1;
15096 }
15097 #[cfg(feature = "extra-children")]
15098 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15099 extra_iter
15100 .next()
15101 .unwrap()
15102 .node
15103 .write_to(writer)
15104 .map_err(SerializeError::from)?;
15105 }
15106 #[cfg(feature = "dml-text")]
15107 {
15108 let val = &self.t;
15109 {
15110 let start = BytesStart::new("a:t");
15111 writer.write_event(Event::Start(start))?;
15112 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15113 writer.write_event(Event::End(BytesEnd::new("a:t")))?;
15114 }
15115 }
15116 #[cfg(feature = "extra-children")]
15117 {
15118 emit_idx += 1;
15119 }
15120 #[cfg(feature = "extra-children")]
15121 for extra in extra_iter {
15122 extra.node.write_to(writer).map_err(SerializeError::from)?;
15123 }
15124 Ok(())
15125 }
15126
15127 fn is_empty_element(&self) -> bool {
15128 #[cfg(feature = "dml-text")]
15129 if self.r_pr.is_some() {
15130 return false;
15131 }
15132 #[cfg(feature = "dml-text")]
15133 return false;
15134 #[cfg(feature = "extra-children")]
15135 if !self.extra_children.is_empty() {
15136 return false;
15137 }
15138 true
15139 }
15140}
15141
15142impl ToXml for CTDouble {
15143 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15144 #[allow(unused_mut)]
15145 let mut start = start;
15146 {
15147 let val = &self.value;
15148 {
15149 let s = val.to_string();
15150 start.push_attribute(("val", s.as_str()));
15151 }
15152 }
15153 #[cfg(feature = "extra-attrs")]
15154 for (key, value) in &self.extra_attrs {
15155 start.push_attribute((key.as_str(), value.as_str()));
15156 }
15157 start
15158 }
15159
15160 fn is_empty_element(&self) -> bool {
15161 true
15162 }
15163}
15164
15165impl ToXml for CTUnsignedInt {
15166 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15167 #[allow(unused_mut)]
15168 let mut start = start;
15169 {
15170 let val = &self.value;
15171 {
15172 let s = val.to_string();
15173 start.push_attribute(("val", s.as_str()));
15174 }
15175 }
15176 #[cfg(feature = "extra-attrs")]
15177 for (key, value) in &self.extra_attrs {
15178 start.push_attribute((key.as_str(), value.as_str()));
15179 }
15180 start
15181 }
15182
15183 fn is_empty_element(&self) -> bool {
15184 true
15185 }
15186}
15187
15188impl ToXml for ChartRelId {
15189 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15190 #[allow(unused_mut)]
15191 let mut start = start;
15192 #[cfg(feature = "dml-charts")]
15193 {
15194 let val = &self.id;
15195 start.push_attribute(("r:id", val.as_str()));
15196 }
15197 #[cfg(feature = "extra-attrs")]
15198 for (key, value) in &self.extra_attrs {
15199 start.push_attribute((key.as_str(), value.as_str()));
15200 }
15201 start
15202 }
15203
15204 fn is_empty_element(&self) -> bool {
15205 true
15206 }
15207}
15208
15209impl ToXml for ChartExtension {
15210 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15211 #[allow(unused_mut)]
15212 let mut start = start;
15213 #[cfg(feature = "dml-charts")]
15214 if let Some(ref val) = self.uri {
15215 start.push_attribute(("uri", val.as_str()));
15216 }
15217 #[cfg(feature = "extra-attrs")]
15218 for (key, value) in &self.extra_attrs {
15219 start.push_attribute((key.as_str(), value.as_str()));
15220 }
15221 start
15222 }
15223
15224 fn is_empty_element(&self) -> bool {
15225 true
15226 }
15227}
15228
15229impl ToXml for ChartExtensionList {
15230 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15231 #[cfg(feature = "extra-children")]
15232 let mut extra_iter = self.extra_children.iter().peekable();
15233 #[cfg(feature = "extra-children")]
15234 let mut emit_idx: usize = 0;
15235 #[cfg(feature = "dml-charts")]
15236 for item in &self.extents {
15237 #[cfg(feature = "extra-children")]
15238 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15239 extra_iter
15240 .next()
15241 .unwrap()
15242 .node
15243 .write_to(writer)
15244 .map_err(SerializeError::from)?;
15245 }
15246 item.write_element("a:ext", writer)?;
15247 #[cfg(feature = "extra-children")]
15248 {
15249 emit_idx += 1;
15250 }
15251 }
15252 #[cfg(feature = "extra-children")]
15253 for extra in extra_iter {
15254 extra.node.write_to(writer).map_err(SerializeError::from)?;
15255 }
15256 Ok(())
15257 }
15258
15259 fn is_empty_element(&self) -> bool {
15260 #[cfg(feature = "dml-charts")]
15261 if !self.extents.is_empty() {
15262 return false;
15263 }
15264 #[cfg(feature = "extra-children")]
15265 if !self.extra_children.is_empty() {
15266 return false;
15267 }
15268 true
15269 }
15270}
15271
15272impl ToXml for NumericValue {
15273 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15274 #[allow(unused_mut)]
15275 let mut start = start;
15276 #[cfg(feature = "dml-charts")]
15277 {
15278 let val = &self.idx;
15279 {
15280 let s = val.to_string();
15281 start.push_attribute(("idx", s.as_str()));
15282 }
15283 }
15284 #[cfg(feature = "dml-charts")]
15285 if let Some(ref val) = self.format_code {
15286 start.push_attribute(("formatCode", val.as_str()));
15287 }
15288 #[cfg(feature = "extra-attrs")]
15289 for (key, value) in &self.extra_attrs {
15290 start.push_attribute((key.as_str(), value.as_str()));
15291 }
15292 start
15293 }
15294
15295 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15296 #[cfg(feature = "extra-children")]
15297 let mut extra_iter = self.extra_children.iter().peekable();
15298 #[cfg(feature = "extra-children")]
15299 let mut emit_idx: usize = 0;
15300 #[cfg(feature = "extra-children")]
15301 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15302 extra_iter
15303 .next()
15304 .unwrap()
15305 .node
15306 .write_to(writer)
15307 .map_err(SerializeError::from)?;
15308 }
15309 #[cfg(feature = "dml-charts")]
15310 {
15311 let val = &self.v;
15312 {
15313 let start = BytesStart::new("a:v");
15314 writer.write_event(Event::Start(start))?;
15315 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15316 writer.write_event(Event::End(BytesEnd::new("a:v")))?;
15317 }
15318 }
15319 #[cfg(feature = "extra-children")]
15320 {
15321 emit_idx += 1;
15322 }
15323 #[cfg(feature = "extra-children")]
15324 for extra in extra_iter {
15325 extra.node.write_to(writer).map_err(SerializeError::from)?;
15326 }
15327 Ok(())
15328 }
15329
15330 fn is_empty_element(&self) -> bool {
15331 #[cfg(feature = "dml-charts")]
15332 return false;
15333 #[cfg(feature = "extra-children")]
15334 if !self.extra_children.is_empty() {
15335 return false;
15336 }
15337 true
15338 }
15339}
15340
15341impl ToXml for NumericData {
15342 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15343 #[cfg(feature = "extra-children")]
15344 let mut extra_iter = self.extra_children.iter().peekable();
15345 #[cfg(feature = "extra-children")]
15346 let mut emit_idx: usize = 0;
15347 #[cfg(feature = "extra-children")]
15348 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15349 extra_iter
15350 .next()
15351 .unwrap()
15352 .node
15353 .write_to(writer)
15354 .map_err(SerializeError::from)?;
15355 }
15356 #[cfg(feature = "dml-charts")]
15357 if let Some(ref val) = self.format_code {
15358 {
15359 let start = BytesStart::new("a:formatCode");
15360 writer.write_event(Event::Start(start))?;
15361 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15362 writer.write_event(Event::End(BytesEnd::new("a:formatCode")))?;
15363 }
15364 }
15365 #[cfg(feature = "extra-children")]
15366 {
15367 emit_idx += 1;
15368 }
15369 #[cfg(feature = "extra-children")]
15370 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15371 extra_iter
15372 .next()
15373 .unwrap()
15374 .node
15375 .write_to(writer)
15376 .map_err(SerializeError::from)?;
15377 }
15378 #[cfg(feature = "dml-charts")]
15379 if let Some(ref val) = self.pt_count {
15380 val.write_element("a:ptCount", writer)?;
15381 }
15382 #[cfg(feature = "extra-children")]
15383 {
15384 emit_idx += 1;
15385 }
15386 #[cfg(feature = "dml-charts")]
15387 for item in &self.pt {
15388 #[cfg(feature = "extra-children")]
15389 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15390 extra_iter
15391 .next()
15392 .unwrap()
15393 .node
15394 .write_to(writer)
15395 .map_err(SerializeError::from)?;
15396 }
15397 item.write_element("a:pt", writer)?;
15398 #[cfg(feature = "extra-children")]
15399 {
15400 emit_idx += 1;
15401 }
15402 }
15403 #[cfg(feature = "extra-children")]
15404 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15405 extra_iter
15406 .next()
15407 .unwrap()
15408 .node
15409 .write_to(writer)
15410 .map_err(SerializeError::from)?;
15411 }
15412 #[cfg(feature = "dml-charts")]
15413 if let Some(ref val) = self.ext_lst {
15414 val.write_element("a:extLst", writer)?;
15415 }
15416 #[cfg(feature = "extra-children")]
15417 {
15418 emit_idx += 1;
15419 }
15420 #[cfg(feature = "extra-children")]
15421 for extra in extra_iter {
15422 extra.node.write_to(writer).map_err(SerializeError::from)?;
15423 }
15424 Ok(())
15425 }
15426
15427 fn is_empty_element(&self) -> bool {
15428 #[cfg(feature = "dml-charts")]
15429 if self.format_code.is_some() {
15430 return false;
15431 }
15432 #[cfg(feature = "dml-charts")]
15433 if self.pt_count.is_some() {
15434 return false;
15435 }
15436 #[cfg(feature = "dml-charts")]
15437 if !self.pt.is_empty() {
15438 return false;
15439 }
15440 #[cfg(feature = "dml-charts")]
15441 if self.ext_lst.is_some() {
15442 return false;
15443 }
15444 #[cfg(feature = "extra-children")]
15445 if !self.extra_children.is_empty() {
15446 return false;
15447 }
15448 true
15449 }
15450}
15451
15452impl ToXml for NumericReference {
15453 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15454 #[cfg(feature = "extra-children")]
15455 let mut extra_iter = self.extra_children.iter().peekable();
15456 #[cfg(feature = "extra-children")]
15457 let mut emit_idx: usize = 0;
15458 #[cfg(feature = "extra-children")]
15459 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15460 extra_iter
15461 .next()
15462 .unwrap()
15463 .node
15464 .write_to(writer)
15465 .map_err(SerializeError::from)?;
15466 }
15467 #[cfg(feature = "dml-charts")]
15468 {
15469 let val = &self.f;
15470 {
15471 let start = BytesStart::new("a:f");
15472 writer.write_event(Event::Start(start))?;
15473 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15474 writer.write_event(Event::End(BytesEnd::new("a:f")))?;
15475 }
15476 }
15477 #[cfg(feature = "extra-children")]
15478 {
15479 emit_idx += 1;
15480 }
15481 #[cfg(feature = "extra-children")]
15482 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15483 extra_iter
15484 .next()
15485 .unwrap()
15486 .node
15487 .write_to(writer)
15488 .map_err(SerializeError::from)?;
15489 }
15490 #[cfg(feature = "dml-charts")]
15491 if let Some(ref val) = self.num_cache {
15492 val.write_element("a:numCache", writer)?;
15493 }
15494 #[cfg(feature = "extra-children")]
15495 {
15496 emit_idx += 1;
15497 }
15498 #[cfg(feature = "extra-children")]
15499 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15500 extra_iter
15501 .next()
15502 .unwrap()
15503 .node
15504 .write_to(writer)
15505 .map_err(SerializeError::from)?;
15506 }
15507 #[cfg(feature = "dml-charts")]
15508 if let Some(ref val) = self.ext_lst {
15509 val.write_element("a:extLst", writer)?;
15510 }
15511 #[cfg(feature = "extra-children")]
15512 {
15513 emit_idx += 1;
15514 }
15515 #[cfg(feature = "extra-children")]
15516 for extra in extra_iter {
15517 extra.node.write_to(writer).map_err(SerializeError::from)?;
15518 }
15519 Ok(())
15520 }
15521
15522 fn is_empty_element(&self) -> bool {
15523 #[cfg(feature = "dml-charts")]
15524 return false;
15525 #[cfg(feature = "dml-charts")]
15526 if self.num_cache.is_some() {
15527 return false;
15528 }
15529 #[cfg(feature = "dml-charts")]
15530 if self.ext_lst.is_some() {
15531 return false;
15532 }
15533 #[cfg(feature = "extra-children")]
15534 if !self.extra_children.is_empty() {
15535 return false;
15536 }
15537 true
15538 }
15539}
15540
15541impl ToXml for NumericDataSource {
15542 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15543 #[cfg(feature = "extra-children")]
15544 let mut extra_iter = self.extra_children.iter().peekable();
15545 #[cfg(feature = "extra-children")]
15546 let mut emit_idx: usize = 0;
15547 #[cfg(feature = "extra-children")]
15548 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15549 extra_iter
15550 .next()
15551 .unwrap()
15552 .node
15553 .write_to(writer)
15554 .map_err(SerializeError::from)?;
15555 }
15556 #[cfg(feature = "dml-charts")]
15557 if let Some(ref val) = self.num_ref {
15558 val.write_element("a:numRef", writer)?;
15559 }
15560 #[cfg(feature = "extra-children")]
15561 {
15562 emit_idx += 1;
15563 }
15564 #[cfg(feature = "extra-children")]
15565 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15566 extra_iter
15567 .next()
15568 .unwrap()
15569 .node
15570 .write_to(writer)
15571 .map_err(SerializeError::from)?;
15572 }
15573 #[cfg(feature = "dml-charts")]
15574 if let Some(ref val) = self.num_lit {
15575 val.write_element("a:numLit", writer)?;
15576 }
15577 #[cfg(feature = "extra-children")]
15578 {
15579 emit_idx += 1;
15580 }
15581 #[cfg(feature = "extra-children")]
15582 for extra in extra_iter {
15583 extra.node.write_to(writer).map_err(SerializeError::from)?;
15584 }
15585 Ok(())
15586 }
15587
15588 fn is_empty_element(&self) -> bool {
15589 #[cfg(feature = "dml-charts")]
15590 if self.num_ref.is_some() {
15591 return false;
15592 }
15593 #[cfg(feature = "dml-charts")]
15594 if self.num_lit.is_some() {
15595 return false;
15596 }
15597 #[cfg(feature = "extra-children")]
15598 if !self.extra_children.is_empty() {
15599 return false;
15600 }
15601 true
15602 }
15603}
15604
15605impl ToXml for StringValue {
15606 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15607 #[allow(unused_mut)]
15608 let mut start = start;
15609 #[cfg(feature = "dml-charts")]
15610 {
15611 let val = &self.idx;
15612 {
15613 let s = val.to_string();
15614 start.push_attribute(("idx", s.as_str()));
15615 }
15616 }
15617 #[cfg(feature = "extra-attrs")]
15618 for (key, value) in &self.extra_attrs {
15619 start.push_attribute((key.as_str(), value.as_str()));
15620 }
15621 start
15622 }
15623
15624 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15625 #[cfg(feature = "extra-children")]
15626 let mut extra_iter = self.extra_children.iter().peekable();
15627 #[cfg(feature = "extra-children")]
15628 let mut emit_idx: usize = 0;
15629 #[cfg(feature = "extra-children")]
15630 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15631 extra_iter
15632 .next()
15633 .unwrap()
15634 .node
15635 .write_to(writer)
15636 .map_err(SerializeError::from)?;
15637 }
15638 #[cfg(feature = "dml-charts")]
15639 {
15640 let val = &self.v;
15641 {
15642 let start = BytesStart::new("a:v");
15643 writer.write_event(Event::Start(start))?;
15644 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15645 writer.write_event(Event::End(BytesEnd::new("a:v")))?;
15646 }
15647 }
15648 #[cfg(feature = "extra-children")]
15649 {
15650 emit_idx += 1;
15651 }
15652 #[cfg(feature = "extra-children")]
15653 for extra in extra_iter {
15654 extra.node.write_to(writer).map_err(SerializeError::from)?;
15655 }
15656 Ok(())
15657 }
15658
15659 fn is_empty_element(&self) -> bool {
15660 #[cfg(feature = "dml-charts")]
15661 return false;
15662 #[cfg(feature = "extra-children")]
15663 if !self.extra_children.is_empty() {
15664 return false;
15665 }
15666 true
15667 }
15668}
15669
15670impl ToXml for StringData {
15671 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15672 #[cfg(feature = "extra-children")]
15673 let mut extra_iter = self.extra_children.iter().peekable();
15674 #[cfg(feature = "extra-children")]
15675 let mut emit_idx: usize = 0;
15676 #[cfg(feature = "extra-children")]
15677 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15678 extra_iter
15679 .next()
15680 .unwrap()
15681 .node
15682 .write_to(writer)
15683 .map_err(SerializeError::from)?;
15684 }
15685 #[cfg(feature = "dml-charts")]
15686 if let Some(ref val) = self.pt_count {
15687 val.write_element("a:ptCount", writer)?;
15688 }
15689 #[cfg(feature = "extra-children")]
15690 {
15691 emit_idx += 1;
15692 }
15693 #[cfg(feature = "dml-charts")]
15694 for item in &self.pt {
15695 #[cfg(feature = "extra-children")]
15696 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15697 extra_iter
15698 .next()
15699 .unwrap()
15700 .node
15701 .write_to(writer)
15702 .map_err(SerializeError::from)?;
15703 }
15704 item.write_element("a:pt", writer)?;
15705 #[cfg(feature = "extra-children")]
15706 {
15707 emit_idx += 1;
15708 }
15709 }
15710 #[cfg(feature = "extra-children")]
15711 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15712 extra_iter
15713 .next()
15714 .unwrap()
15715 .node
15716 .write_to(writer)
15717 .map_err(SerializeError::from)?;
15718 }
15719 #[cfg(feature = "dml-charts")]
15720 if let Some(ref val) = self.ext_lst {
15721 val.write_element("a:extLst", writer)?;
15722 }
15723 #[cfg(feature = "extra-children")]
15724 {
15725 emit_idx += 1;
15726 }
15727 #[cfg(feature = "extra-children")]
15728 for extra in extra_iter {
15729 extra.node.write_to(writer).map_err(SerializeError::from)?;
15730 }
15731 Ok(())
15732 }
15733
15734 fn is_empty_element(&self) -> bool {
15735 #[cfg(feature = "dml-charts")]
15736 if self.pt_count.is_some() {
15737 return false;
15738 }
15739 #[cfg(feature = "dml-charts")]
15740 if !self.pt.is_empty() {
15741 return false;
15742 }
15743 #[cfg(feature = "dml-charts")]
15744 if self.ext_lst.is_some() {
15745 return false;
15746 }
15747 #[cfg(feature = "extra-children")]
15748 if !self.extra_children.is_empty() {
15749 return false;
15750 }
15751 true
15752 }
15753}
15754
15755impl ToXml for StringReference {
15756 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15757 #[cfg(feature = "extra-children")]
15758 let mut extra_iter = self.extra_children.iter().peekable();
15759 #[cfg(feature = "extra-children")]
15760 let mut emit_idx: usize = 0;
15761 #[cfg(feature = "extra-children")]
15762 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15763 extra_iter
15764 .next()
15765 .unwrap()
15766 .node
15767 .write_to(writer)
15768 .map_err(SerializeError::from)?;
15769 }
15770 #[cfg(feature = "dml-charts")]
15771 {
15772 let val = &self.f;
15773 {
15774 let start = BytesStart::new("a:f");
15775 writer.write_event(Event::Start(start))?;
15776 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
15777 writer.write_event(Event::End(BytesEnd::new("a:f")))?;
15778 }
15779 }
15780 #[cfg(feature = "extra-children")]
15781 {
15782 emit_idx += 1;
15783 }
15784 #[cfg(feature = "extra-children")]
15785 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15786 extra_iter
15787 .next()
15788 .unwrap()
15789 .node
15790 .write_to(writer)
15791 .map_err(SerializeError::from)?;
15792 }
15793 #[cfg(feature = "dml-charts")]
15794 if let Some(ref val) = self.str_cache {
15795 val.write_element("a:strCache", writer)?;
15796 }
15797 #[cfg(feature = "extra-children")]
15798 {
15799 emit_idx += 1;
15800 }
15801 #[cfg(feature = "extra-children")]
15802 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15803 extra_iter
15804 .next()
15805 .unwrap()
15806 .node
15807 .write_to(writer)
15808 .map_err(SerializeError::from)?;
15809 }
15810 #[cfg(feature = "dml-charts")]
15811 if let Some(ref val) = self.ext_lst {
15812 val.write_element("a:extLst", writer)?;
15813 }
15814 #[cfg(feature = "extra-children")]
15815 {
15816 emit_idx += 1;
15817 }
15818 #[cfg(feature = "extra-children")]
15819 for extra in extra_iter {
15820 extra.node.write_to(writer).map_err(SerializeError::from)?;
15821 }
15822 Ok(())
15823 }
15824
15825 fn is_empty_element(&self) -> bool {
15826 #[cfg(feature = "dml-charts")]
15827 return false;
15828 #[cfg(feature = "dml-charts")]
15829 if self.str_cache.is_some() {
15830 return false;
15831 }
15832 #[cfg(feature = "dml-charts")]
15833 if self.ext_lst.is_some() {
15834 return false;
15835 }
15836 #[cfg(feature = "extra-children")]
15837 if !self.extra_children.is_empty() {
15838 return false;
15839 }
15840 true
15841 }
15842}
15843
15844impl ToXml for ChartText {
15845 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15846 #[cfg(feature = "extra-children")]
15847 let mut extra_iter = self.extra_children.iter().peekable();
15848 #[cfg(feature = "extra-children")]
15849 let mut emit_idx: usize = 0;
15850 #[cfg(feature = "extra-children")]
15851 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15852 extra_iter
15853 .next()
15854 .unwrap()
15855 .node
15856 .write_to(writer)
15857 .map_err(SerializeError::from)?;
15858 }
15859 #[cfg(feature = "dml-charts")]
15860 if let Some(ref val) = self.str_ref {
15861 val.write_element("a:strRef", writer)?;
15862 }
15863 #[cfg(feature = "extra-children")]
15864 {
15865 emit_idx += 1;
15866 }
15867 #[cfg(feature = "extra-children")]
15868 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15869 extra_iter
15870 .next()
15871 .unwrap()
15872 .node
15873 .write_to(writer)
15874 .map_err(SerializeError::from)?;
15875 }
15876 #[cfg(feature = "dml-charts")]
15877 if let Some(ref val) = self.rich {
15878 val.write_element("a:rich", writer)?;
15879 }
15880 #[cfg(feature = "extra-children")]
15881 {
15882 emit_idx += 1;
15883 }
15884 #[cfg(feature = "extra-children")]
15885 for extra in extra_iter {
15886 extra.node.write_to(writer).map_err(SerializeError::from)?;
15887 }
15888 Ok(())
15889 }
15890
15891 fn is_empty_element(&self) -> bool {
15892 #[cfg(feature = "dml-charts")]
15893 if self.str_ref.is_some() {
15894 return false;
15895 }
15896 #[cfg(feature = "dml-charts")]
15897 if self.rich.is_some() {
15898 return false;
15899 }
15900 #[cfg(feature = "extra-children")]
15901 if !self.extra_children.is_empty() {
15902 return false;
15903 }
15904 true
15905 }
15906}
15907
15908impl ToXml for TextLanguageId {
15909 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
15910 #[allow(unused_mut)]
15911 let mut start = start;
15912 #[cfg(feature = "dml-charts")]
15913 {
15914 let val = &self.value;
15915 start.push_attribute(("val", val.as_str()));
15916 }
15917 #[cfg(feature = "extra-attrs")]
15918 for (key, value) in &self.extra_attrs {
15919 start.push_attribute((key.as_str(), value.as_str()));
15920 }
15921 start
15922 }
15923
15924 fn is_empty_element(&self) -> bool {
15925 true
15926 }
15927}
15928
15929impl ToXml for MultiLevelStrLevel {
15930 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15931 #[cfg(feature = "extra-children")]
15932 let mut extra_iter = self.extra_children.iter().peekable();
15933 #[cfg(feature = "extra-children")]
15934 let mut emit_idx: usize = 0;
15935 #[cfg(feature = "dml-charts")]
15936 for item in &self.pt {
15937 #[cfg(feature = "extra-children")]
15938 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15939 extra_iter
15940 .next()
15941 .unwrap()
15942 .node
15943 .write_to(writer)
15944 .map_err(SerializeError::from)?;
15945 }
15946 item.write_element("a:pt", writer)?;
15947 #[cfg(feature = "extra-children")]
15948 {
15949 emit_idx += 1;
15950 }
15951 }
15952 #[cfg(feature = "extra-children")]
15953 for extra in extra_iter {
15954 extra.node.write_to(writer).map_err(SerializeError::from)?;
15955 }
15956 Ok(())
15957 }
15958
15959 fn is_empty_element(&self) -> bool {
15960 #[cfg(feature = "dml-charts")]
15961 if !self.pt.is_empty() {
15962 return false;
15963 }
15964 #[cfg(feature = "extra-children")]
15965 if !self.extra_children.is_empty() {
15966 return false;
15967 }
15968 true
15969 }
15970}
15971
15972impl ToXml for MultiLevelStrData {
15973 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
15974 #[cfg(feature = "extra-children")]
15975 let mut extra_iter = self.extra_children.iter().peekable();
15976 #[cfg(feature = "extra-children")]
15977 let mut emit_idx: usize = 0;
15978 #[cfg(feature = "extra-children")]
15979 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15980 extra_iter
15981 .next()
15982 .unwrap()
15983 .node
15984 .write_to(writer)
15985 .map_err(SerializeError::from)?;
15986 }
15987 #[cfg(feature = "dml-charts")]
15988 if let Some(ref val) = self.pt_count {
15989 val.write_element("a:ptCount", writer)?;
15990 }
15991 #[cfg(feature = "extra-children")]
15992 {
15993 emit_idx += 1;
15994 }
15995 #[cfg(feature = "dml-charts")]
15996 for item in &self.lvl {
15997 #[cfg(feature = "extra-children")]
15998 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
15999 extra_iter
16000 .next()
16001 .unwrap()
16002 .node
16003 .write_to(writer)
16004 .map_err(SerializeError::from)?;
16005 }
16006 item.write_element("a:lvl", writer)?;
16007 #[cfg(feature = "extra-children")]
16008 {
16009 emit_idx += 1;
16010 }
16011 }
16012 #[cfg(feature = "extra-children")]
16013 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16014 extra_iter
16015 .next()
16016 .unwrap()
16017 .node
16018 .write_to(writer)
16019 .map_err(SerializeError::from)?;
16020 }
16021 #[cfg(feature = "dml-charts")]
16022 if let Some(ref val) = self.ext_lst {
16023 val.write_element("a:extLst", writer)?;
16024 }
16025 #[cfg(feature = "extra-children")]
16026 {
16027 emit_idx += 1;
16028 }
16029 #[cfg(feature = "extra-children")]
16030 for extra in extra_iter {
16031 extra.node.write_to(writer).map_err(SerializeError::from)?;
16032 }
16033 Ok(())
16034 }
16035
16036 fn is_empty_element(&self) -> bool {
16037 #[cfg(feature = "dml-charts")]
16038 if self.pt_count.is_some() {
16039 return false;
16040 }
16041 #[cfg(feature = "dml-charts")]
16042 if !self.lvl.is_empty() {
16043 return false;
16044 }
16045 #[cfg(feature = "dml-charts")]
16046 if self.ext_lst.is_some() {
16047 return false;
16048 }
16049 #[cfg(feature = "extra-children")]
16050 if !self.extra_children.is_empty() {
16051 return false;
16052 }
16053 true
16054 }
16055}
16056
16057impl ToXml for MultiLevelStrRef {
16058 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16059 #[cfg(feature = "extra-children")]
16060 let mut extra_iter = self.extra_children.iter().peekable();
16061 #[cfg(feature = "extra-children")]
16062 let mut emit_idx: usize = 0;
16063 #[cfg(feature = "extra-children")]
16064 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16065 extra_iter
16066 .next()
16067 .unwrap()
16068 .node
16069 .write_to(writer)
16070 .map_err(SerializeError::from)?;
16071 }
16072 #[cfg(feature = "dml-charts")]
16073 {
16074 let val = &self.f;
16075 {
16076 let start = BytesStart::new("a:f");
16077 writer.write_event(Event::Start(start))?;
16078 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
16079 writer.write_event(Event::End(BytesEnd::new("a:f")))?;
16080 }
16081 }
16082 #[cfg(feature = "extra-children")]
16083 {
16084 emit_idx += 1;
16085 }
16086 #[cfg(feature = "extra-children")]
16087 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16088 extra_iter
16089 .next()
16090 .unwrap()
16091 .node
16092 .write_to(writer)
16093 .map_err(SerializeError::from)?;
16094 }
16095 #[cfg(feature = "dml-charts")]
16096 if let Some(ref val) = self.multi_lvl_str_cache {
16097 val.write_element("a:multiLvlStrCache", writer)?;
16098 }
16099 #[cfg(feature = "extra-children")]
16100 {
16101 emit_idx += 1;
16102 }
16103 #[cfg(feature = "extra-children")]
16104 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16105 extra_iter
16106 .next()
16107 .unwrap()
16108 .node
16109 .write_to(writer)
16110 .map_err(SerializeError::from)?;
16111 }
16112 #[cfg(feature = "dml-charts")]
16113 if let Some(ref val) = self.ext_lst {
16114 val.write_element("a:extLst", writer)?;
16115 }
16116 #[cfg(feature = "extra-children")]
16117 {
16118 emit_idx += 1;
16119 }
16120 #[cfg(feature = "extra-children")]
16121 for extra in extra_iter {
16122 extra.node.write_to(writer).map_err(SerializeError::from)?;
16123 }
16124 Ok(())
16125 }
16126
16127 fn is_empty_element(&self) -> bool {
16128 #[cfg(feature = "dml-charts")]
16129 return false;
16130 #[cfg(feature = "dml-charts")]
16131 if self.multi_lvl_str_cache.is_some() {
16132 return false;
16133 }
16134 #[cfg(feature = "dml-charts")]
16135 if self.ext_lst.is_some() {
16136 return false;
16137 }
16138 #[cfg(feature = "extra-children")]
16139 if !self.extra_children.is_empty() {
16140 return false;
16141 }
16142 true
16143 }
16144}
16145
16146impl ToXml for AxisDataSource {
16147 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16148 #[cfg(feature = "extra-children")]
16149 let mut extra_iter = self.extra_children.iter().peekable();
16150 #[cfg(feature = "extra-children")]
16151 let mut emit_idx: usize = 0;
16152 #[cfg(feature = "extra-children")]
16153 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16154 extra_iter
16155 .next()
16156 .unwrap()
16157 .node
16158 .write_to(writer)
16159 .map_err(SerializeError::from)?;
16160 }
16161 #[cfg(feature = "dml-charts")]
16162 if let Some(ref val) = self.multi_lvl_str_ref {
16163 val.write_element("a:multiLvlStrRef", writer)?;
16164 }
16165 #[cfg(feature = "extra-children")]
16166 {
16167 emit_idx += 1;
16168 }
16169 #[cfg(feature = "extra-children")]
16170 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16171 extra_iter
16172 .next()
16173 .unwrap()
16174 .node
16175 .write_to(writer)
16176 .map_err(SerializeError::from)?;
16177 }
16178 #[cfg(feature = "dml-charts")]
16179 if let Some(ref val) = self.num_ref {
16180 val.write_element("a:numRef", writer)?;
16181 }
16182 #[cfg(feature = "extra-children")]
16183 {
16184 emit_idx += 1;
16185 }
16186 #[cfg(feature = "extra-children")]
16187 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16188 extra_iter
16189 .next()
16190 .unwrap()
16191 .node
16192 .write_to(writer)
16193 .map_err(SerializeError::from)?;
16194 }
16195 #[cfg(feature = "dml-charts")]
16196 if let Some(ref val) = self.num_lit {
16197 val.write_element("a:numLit", writer)?;
16198 }
16199 #[cfg(feature = "extra-children")]
16200 {
16201 emit_idx += 1;
16202 }
16203 #[cfg(feature = "extra-children")]
16204 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16205 extra_iter
16206 .next()
16207 .unwrap()
16208 .node
16209 .write_to(writer)
16210 .map_err(SerializeError::from)?;
16211 }
16212 #[cfg(feature = "dml-charts")]
16213 if let Some(ref val) = self.str_ref {
16214 val.write_element("a:strRef", writer)?;
16215 }
16216 #[cfg(feature = "extra-children")]
16217 {
16218 emit_idx += 1;
16219 }
16220 #[cfg(feature = "extra-children")]
16221 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16222 extra_iter
16223 .next()
16224 .unwrap()
16225 .node
16226 .write_to(writer)
16227 .map_err(SerializeError::from)?;
16228 }
16229 #[cfg(feature = "dml-charts")]
16230 if let Some(ref val) = self.str_lit {
16231 val.write_element("a:strLit", writer)?;
16232 }
16233 #[cfg(feature = "extra-children")]
16234 {
16235 emit_idx += 1;
16236 }
16237 #[cfg(feature = "extra-children")]
16238 for extra in extra_iter {
16239 extra.node.write_to(writer).map_err(SerializeError::from)?;
16240 }
16241 Ok(())
16242 }
16243
16244 fn is_empty_element(&self) -> bool {
16245 #[cfg(feature = "dml-charts")]
16246 if self.multi_lvl_str_ref.is_some() {
16247 return false;
16248 }
16249 #[cfg(feature = "dml-charts")]
16250 if self.num_ref.is_some() {
16251 return false;
16252 }
16253 #[cfg(feature = "dml-charts")]
16254 if self.num_lit.is_some() {
16255 return false;
16256 }
16257 #[cfg(feature = "dml-charts")]
16258 if self.str_ref.is_some() {
16259 return false;
16260 }
16261 #[cfg(feature = "dml-charts")]
16262 if self.str_lit.is_some() {
16263 return false;
16264 }
16265 #[cfg(feature = "extra-children")]
16266 if !self.extra_children.is_empty() {
16267 return false;
16268 }
16269 true
16270 }
16271}
16272
16273impl ToXml for SeriesText {
16274 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16275 #[cfg(feature = "extra-children")]
16276 let mut extra_iter = self.extra_children.iter().peekable();
16277 #[cfg(feature = "extra-children")]
16278 let mut emit_idx: usize = 0;
16279 #[cfg(feature = "extra-children")]
16280 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16281 extra_iter
16282 .next()
16283 .unwrap()
16284 .node
16285 .write_to(writer)
16286 .map_err(SerializeError::from)?;
16287 }
16288 #[cfg(feature = "dml-charts")]
16289 if let Some(ref val) = self.str_ref {
16290 val.write_element("a:strRef", writer)?;
16291 }
16292 #[cfg(feature = "extra-children")]
16293 {
16294 emit_idx += 1;
16295 }
16296 #[cfg(feature = "extra-children")]
16297 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16298 extra_iter
16299 .next()
16300 .unwrap()
16301 .node
16302 .write_to(writer)
16303 .map_err(SerializeError::from)?;
16304 }
16305 #[cfg(feature = "dml-charts")]
16306 if let Some(ref val) = self.v {
16307 {
16308 let start = BytesStart::new("a:v");
16309 writer.write_event(Event::Start(start))?;
16310 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
16311 writer.write_event(Event::End(BytesEnd::new("a:v")))?;
16312 }
16313 }
16314 #[cfg(feature = "extra-children")]
16315 {
16316 emit_idx += 1;
16317 }
16318 #[cfg(feature = "extra-children")]
16319 for extra in extra_iter {
16320 extra.node.write_to(writer).map_err(SerializeError::from)?;
16321 }
16322 Ok(())
16323 }
16324
16325 fn is_empty_element(&self) -> bool {
16326 #[cfg(feature = "dml-charts")]
16327 if self.str_ref.is_some() {
16328 return false;
16329 }
16330 #[cfg(feature = "dml-charts")]
16331 if self.v.is_some() {
16332 return false;
16333 }
16334 #[cfg(feature = "extra-children")]
16335 if !self.extra_children.is_empty() {
16336 return false;
16337 }
16338 true
16339 }
16340}
16341
16342impl ToXml for LayoutTarget {
16343 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16344 #[allow(unused_mut)]
16345 let mut start = start;
16346 #[cfg(feature = "dml-charts")]
16347 if let Some(ref val) = self.value {
16348 {
16349 let s = val.to_string();
16350 start.push_attribute(("val", s.as_str()));
16351 }
16352 }
16353 #[cfg(feature = "extra-attrs")]
16354 for (key, value) in &self.extra_attrs {
16355 start.push_attribute((key.as_str(), value.as_str()));
16356 }
16357 start
16358 }
16359
16360 fn is_empty_element(&self) -> bool {
16361 true
16362 }
16363}
16364
16365impl ToXml for LayoutMode {
16366 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16367 #[allow(unused_mut)]
16368 let mut start = start;
16369 #[cfg(feature = "dml-charts")]
16370 if let Some(ref val) = self.value {
16371 {
16372 let s = val.to_string();
16373 start.push_attribute(("val", s.as_str()));
16374 }
16375 }
16376 #[cfg(feature = "extra-attrs")]
16377 for (key, value) in &self.extra_attrs {
16378 start.push_attribute((key.as_str(), value.as_str()));
16379 }
16380 start
16381 }
16382
16383 fn is_empty_element(&self) -> bool {
16384 true
16385 }
16386}
16387
16388impl ToXml for ManualLayout {
16389 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16390 #[cfg(feature = "extra-children")]
16391 let mut extra_iter = self.extra_children.iter().peekable();
16392 #[cfg(feature = "extra-children")]
16393 let mut emit_idx: usize = 0;
16394 #[cfg(feature = "extra-children")]
16395 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16396 extra_iter
16397 .next()
16398 .unwrap()
16399 .node
16400 .write_to(writer)
16401 .map_err(SerializeError::from)?;
16402 }
16403 #[cfg(feature = "dml-charts")]
16404 if let Some(ref val) = self.layout_target {
16405 val.write_element("a:layoutTarget", writer)?;
16406 }
16407 #[cfg(feature = "extra-children")]
16408 {
16409 emit_idx += 1;
16410 }
16411 #[cfg(feature = "extra-children")]
16412 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16413 extra_iter
16414 .next()
16415 .unwrap()
16416 .node
16417 .write_to(writer)
16418 .map_err(SerializeError::from)?;
16419 }
16420 #[cfg(feature = "dml-charts")]
16421 if let Some(ref val) = self.x_mode {
16422 val.write_element("a:xMode", writer)?;
16423 }
16424 #[cfg(feature = "extra-children")]
16425 {
16426 emit_idx += 1;
16427 }
16428 #[cfg(feature = "extra-children")]
16429 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16430 extra_iter
16431 .next()
16432 .unwrap()
16433 .node
16434 .write_to(writer)
16435 .map_err(SerializeError::from)?;
16436 }
16437 #[cfg(feature = "dml-charts")]
16438 if let Some(ref val) = self.y_mode {
16439 val.write_element("a:yMode", writer)?;
16440 }
16441 #[cfg(feature = "extra-children")]
16442 {
16443 emit_idx += 1;
16444 }
16445 #[cfg(feature = "extra-children")]
16446 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16447 extra_iter
16448 .next()
16449 .unwrap()
16450 .node
16451 .write_to(writer)
16452 .map_err(SerializeError::from)?;
16453 }
16454 #[cfg(feature = "dml-charts")]
16455 if let Some(ref val) = self.w_mode {
16456 val.write_element("a:wMode", writer)?;
16457 }
16458 #[cfg(feature = "extra-children")]
16459 {
16460 emit_idx += 1;
16461 }
16462 #[cfg(feature = "extra-children")]
16463 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16464 extra_iter
16465 .next()
16466 .unwrap()
16467 .node
16468 .write_to(writer)
16469 .map_err(SerializeError::from)?;
16470 }
16471 #[cfg(feature = "dml-charts")]
16472 if let Some(ref val) = self.h_mode {
16473 val.write_element("a:hMode", writer)?;
16474 }
16475 #[cfg(feature = "extra-children")]
16476 {
16477 emit_idx += 1;
16478 }
16479 #[cfg(feature = "extra-children")]
16480 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16481 extra_iter
16482 .next()
16483 .unwrap()
16484 .node
16485 .write_to(writer)
16486 .map_err(SerializeError::from)?;
16487 }
16488 #[cfg(feature = "dml-charts")]
16489 if let Some(ref val) = self.x {
16490 val.write_element("a:x", writer)?;
16491 }
16492 #[cfg(feature = "extra-children")]
16493 {
16494 emit_idx += 1;
16495 }
16496 #[cfg(feature = "extra-children")]
16497 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16498 extra_iter
16499 .next()
16500 .unwrap()
16501 .node
16502 .write_to(writer)
16503 .map_err(SerializeError::from)?;
16504 }
16505 #[cfg(feature = "dml-charts")]
16506 if let Some(ref val) = self.y {
16507 val.write_element("a:y", writer)?;
16508 }
16509 #[cfg(feature = "extra-children")]
16510 {
16511 emit_idx += 1;
16512 }
16513 #[cfg(feature = "extra-children")]
16514 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16515 extra_iter
16516 .next()
16517 .unwrap()
16518 .node
16519 .write_to(writer)
16520 .map_err(SerializeError::from)?;
16521 }
16522 #[cfg(feature = "dml-charts")]
16523 if let Some(ref val) = self.width {
16524 val.write_element("a:w", writer)?;
16525 }
16526 #[cfg(feature = "extra-children")]
16527 {
16528 emit_idx += 1;
16529 }
16530 #[cfg(feature = "extra-children")]
16531 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16532 extra_iter
16533 .next()
16534 .unwrap()
16535 .node
16536 .write_to(writer)
16537 .map_err(SerializeError::from)?;
16538 }
16539 #[cfg(feature = "dml-charts")]
16540 if let Some(ref val) = self.height {
16541 val.write_element("a:h", writer)?;
16542 }
16543 #[cfg(feature = "extra-children")]
16544 {
16545 emit_idx += 1;
16546 }
16547 #[cfg(feature = "extra-children")]
16548 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16549 extra_iter
16550 .next()
16551 .unwrap()
16552 .node
16553 .write_to(writer)
16554 .map_err(SerializeError::from)?;
16555 }
16556 #[cfg(feature = "dml-charts")]
16557 if let Some(ref val) = self.ext_lst {
16558 val.write_element("a:extLst", writer)?;
16559 }
16560 #[cfg(feature = "extra-children")]
16561 {
16562 emit_idx += 1;
16563 }
16564 #[cfg(feature = "extra-children")]
16565 for extra in extra_iter {
16566 extra.node.write_to(writer).map_err(SerializeError::from)?;
16567 }
16568 Ok(())
16569 }
16570
16571 fn is_empty_element(&self) -> bool {
16572 #[cfg(feature = "dml-charts")]
16573 if self.layout_target.is_some() {
16574 return false;
16575 }
16576 #[cfg(feature = "dml-charts")]
16577 if self.x_mode.is_some() {
16578 return false;
16579 }
16580 #[cfg(feature = "dml-charts")]
16581 if self.y_mode.is_some() {
16582 return false;
16583 }
16584 #[cfg(feature = "dml-charts")]
16585 if self.w_mode.is_some() {
16586 return false;
16587 }
16588 #[cfg(feature = "dml-charts")]
16589 if self.h_mode.is_some() {
16590 return false;
16591 }
16592 #[cfg(feature = "dml-charts")]
16593 if self.x.is_some() {
16594 return false;
16595 }
16596 #[cfg(feature = "dml-charts")]
16597 if self.y.is_some() {
16598 return false;
16599 }
16600 #[cfg(feature = "dml-charts")]
16601 if self.width.is_some() {
16602 return false;
16603 }
16604 #[cfg(feature = "dml-charts")]
16605 if self.height.is_some() {
16606 return false;
16607 }
16608 #[cfg(feature = "dml-charts")]
16609 if self.ext_lst.is_some() {
16610 return false;
16611 }
16612 #[cfg(feature = "extra-children")]
16613 if !self.extra_children.is_empty() {
16614 return false;
16615 }
16616 true
16617 }
16618}
16619
16620impl ToXml for ChartLayout {
16621 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16622 #[cfg(feature = "extra-children")]
16623 let mut extra_iter = self.extra_children.iter().peekable();
16624 #[cfg(feature = "extra-children")]
16625 let mut emit_idx: usize = 0;
16626 #[cfg(feature = "extra-children")]
16627 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16628 extra_iter
16629 .next()
16630 .unwrap()
16631 .node
16632 .write_to(writer)
16633 .map_err(SerializeError::from)?;
16634 }
16635 #[cfg(feature = "dml-charts")]
16636 if let Some(ref val) = self.manual_layout {
16637 val.write_element("a:manualLayout", writer)?;
16638 }
16639 #[cfg(feature = "extra-children")]
16640 {
16641 emit_idx += 1;
16642 }
16643 #[cfg(feature = "extra-children")]
16644 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16645 extra_iter
16646 .next()
16647 .unwrap()
16648 .node
16649 .write_to(writer)
16650 .map_err(SerializeError::from)?;
16651 }
16652 #[cfg(feature = "dml-charts")]
16653 if let Some(ref val) = self.ext_lst {
16654 val.write_element("a:extLst", writer)?;
16655 }
16656 #[cfg(feature = "extra-children")]
16657 {
16658 emit_idx += 1;
16659 }
16660 #[cfg(feature = "extra-children")]
16661 for extra in extra_iter {
16662 extra.node.write_to(writer).map_err(SerializeError::from)?;
16663 }
16664 Ok(())
16665 }
16666
16667 fn is_empty_element(&self) -> bool {
16668 #[cfg(feature = "dml-charts")]
16669 if self.manual_layout.is_some() {
16670 return false;
16671 }
16672 #[cfg(feature = "dml-charts")]
16673 if self.ext_lst.is_some() {
16674 return false;
16675 }
16676 #[cfg(feature = "extra-children")]
16677 if !self.extra_children.is_empty() {
16678 return false;
16679 }
16680 true
16681 }
16682}
16683
16684impl ToXml for ChartTitle {
16685 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16686 #[cfg(feature = "extra-children")]
16687 let mut extra_iter = self.extra_children.iter().peekable();
16688 #[cfg(feature = "extra-children")]
16689 let mut emit_idx: usize = 0;
16690 #[cfg(feature = "extra-children")]
16691 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16692 extra_iter
16693 .next()
16694 .unwrap()
16695 .node
16696 .write_to(writer)
16697 .map_err(SerializeError::from)?;
16698 }
16699 #[cfg(feature = "dml-charts")]
16700 if let Some(ref val) = self.tx {
16701 val.write_element("a:tx", writer)?;
16702 }
16703 #[cfg(feature = "extra-children")]
16704 {
16705 emit_idx += 1;
16706 }
16707 #[cfg(feature = "extra-children")]
16708 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16709 extra_iter
16710 .next()
16711 .unwrap()
16712 .node
16713 .write_to(writer)
16714 .map_err(SerializeError::from)?;
16715 }
16716 #[cfg(feature = "dml-charts")]
16717 if let Some(ref val) = self.layout {
16718 val.write_element("a:layout", writer)?;
16719 }
16720 #[cfg(feature = "extra-children")]
16721 {
16722 emit_idx += 1;
16723 }
16724 #[cfg(feature = "extra-children")]
16725 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16726 extra_iter
16727 .next()
16728 .unwrap()
16729 .node
16730 .write_to(writer)
16731 .map_err(SerializeError::from)?;
16732 }
16733 #[cfg(feature = "dml-charts")]
16734 if let Some(ref val) = self.overlay {
16735 val.write_element("a:overlay", writer)?;
16736 }
16737 #[cfg(feature = "extra-children")]
16738 {
16739 emit_idx += 1;
16740 }
16741 #[cfg(feature = "extra-children")]
16742 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16743 extra_iter
16744 .next()
16745 .unwrap()
16746 .node
16747 .write_to(writer)
16748 .map_err(SerializeError::from)?;
16749 }
16750 #[cfg(feature = "dml-charts")]
16751 if let Some(ref val) = self.sp_pr {
16752 val.write_element("a:spPr", writer)?;
16753 }
16754 #[cfg(feature = "extra-children")]
16755 {
16756 emit_idx += 1;
16757 }
16758 #[cfg(feature = "extra-children")]
16759 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16760 extra_iter
16761 .next()
16762 .unwrap()
16763 .node
16764 .write_to(writer)
16765 .map_err(SerializeError::from)?;
16766 }
16767 #[cfg(feature = "dml-charts")]
16768 if let Some(ref val) = self.tx_pr {
16769 val.write_element("a:txPr", writer)?;
16770 }
16771 #[cfg(feature = "extra-children")]
16772 {
16773 emit_idx += 1;
16774 }
16775 #[cfg(feature = "extra-children")]
16776 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16777 extra_iter
16778 .next()
16779 .unwrap()
16780 .node
16781 .write_to(writer)
16782 .map_err(SerializeError::from)?;
16783 }
16784 #[cfg(feature = "dml-charts")]
16785 if let Some(ref val) = self.ext_lst {
16786 val.write_element("a:extLst", writer)?;
16787 }
16788 #[cfg(feature = "extra-children")]
16789 {
16790 emit_idx += 1;
16791 }
16792 #[cfg(feature = "extra-children")]
16793 for extra in extra_iter {
16794 extra.node.write_to(writer).map_err(SerializeError::from)?;
16795 }
16796 Ok(())
16797 }
16798
16799 fn is_empty_element(&self) -> bool {
16800 #[cfg(feature = "dml-charts")]
16801 if self.tx.is_some() {
16802 return false;
16803 }
16804 #[cfg(feature = "dml-charts")]
16805 if self.layout.is_some() {
16806 return false;
16807 }
16808 #[cfg(feature = "dml-charts")]
16809 if self.overlay.is_some() {
16810 return false;
16811 }
16812 #[cfg(feature = "dml-charts")]
16813 if self.sp_pr.is_some() {
16814 return false;
16815 }
16816 #[cfg(feature = "dml-charts")]
16817 if self.tx_pr.is_some() {
16818 return false;
16819 }
16820 #[cfg(feature = "dml-charts")]
16821 if self.ext_lst.is_some() {
16822 return false;
16823 }
16824 #[cfg(feature = "extra-children")]
16825 if !self.extra_children.is_empty() {
16826 return false;
16827 }
16828 true
16829 }
16830}
16831
16832impl ToXml for RotX {
16833 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16834 #[allow(unused_mut)]
16835 let mut start = start;
16836 #[cfg(feature = "dml-charts")]
16837 if let Some(ref val) = self.value {
16838 {
16839 let s = val.to_string();
16840 start.push_attribute(("val", s.as_str()));
16841 }
16842 }
16843 #[cfg(feature = "extra-attrs")]
16844 for (key, value) in &self.extra_attrs {
16845 start.push_attribute((key.as_str(), value.as_str()));
16846 }
16847 start
16848 }
16849
16850 fn is_empty_element(&self) -> bool {
16851 true
16852 }
16853}
16854
16855impl ToXml for HPercent {
16856 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16857 #[allow(unused_mut)]
16858 let mut start = start;
16859 #[cfg(feature = "dml-charts")]
16860 if let Some(ref val) = self.value {
16861 {
16862 let s = val.to_string();
16863 start.push_attribute(("val", s.as_str()));
16864 }
16865 }
16866 #[cfg(feature = "extra-attrs")]
16867 for (key, value) in &self.extra_attrs {
16868 start.push_attribute((key.as_str(), value.as_str()));
16869 }
16870 start
16871 }
16872
16873 fn is_empty_element(&self) -> bool {
16874 true
16875 }
16876}
16877
16878impl ToXml for RotY {
16879 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16880 #[allow(unused_mut)]
16881 let mut start = start;
16882 #[cfg(feature = "dml-charts")]
16883 if let Some(ref val) = self.value {
16884 {
16885 let s = val.to_string();
16886 start.push_attribute(("val", s.as_str()));
16887 }
16888 }
16889 #[cfg(feature = "extra-attrs")]
16890 for (key, value) in &self.extra_attrs {
16891 start.push_attribute((key.as_str(), value.as_str()));
16892 }
16893 start
16894 }
16895
16896 fn is_empty_element(&self) -> bool {
16897 true
16898 }
16899}
16900
16901impl ToXml for DepthPercent {
16902 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16903 #[allow(unused_mut)]
16904 let mut start = start;
16905 #[cfg(feature = "dml-charts")]
16906 if let Some(ref val) = self.value {
16907 {
16908 let s = val.to_string();
16909 start.push_attribute(("val", s.as_str()));
16910 }
16911 }
16912 #[cfg(feature = "extra-attrs")]
16913 for (key, value) in &self.extra_attrs {
16914 start.push_attribute((key.as_str(), value.as_str()));
16915 }
16916 start
16917 }
16918
16919 fn is_empty_element(&self) -> bool {
16920 true
16921 }
16922}
16923
16924impl ToXml for Perspective {
16925 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
16926 #[allow(unused_mut)]
16927 let mut start = start;
16928 #[cfg(feature = "dml-charts")]
16929 if let Some(ref val) = self.value {
16930 {
16931 let s = val.to_string();
16932 start.push_attribute(("val", s.as_str()));
16933 }
16934 }
16935 #[cfg(feature = "extra-attrs")]
16936 for (key, value) in &self.extra_attrs {
16937 start.push_attribute((key.as_str(), value.as_str()));
16938 }
16939 start
16940 }
16941
16942 fn is_empty_element(&self) -> bool {
16943 true
16944 }
16945}
16946
16947impl ToXml for View3D {
16948 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
16949 #[cfg(feature = "extra-children")]
16950 let mut extra_iter = self.extra_children.iter().peekable();
16951 #[cfg(feature = "extra-children")]
16952 let mut emit_idx: usize = 0;
16953 #[cfg(feature = "extra-children")]
16954 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16955 extra_iter
16956 .next()
16957 .unwrap()
16958 .node
16959 .write_to(writer)
16960 .map_err(SerializeError::from)?;
16961 }
16962 #[cfg(feature = "dml-charts")]
16963 if let Some(ref val) = self.rot_x {
16964 val.write_element("a:rotX", writer)?;
16965 }
16966 #[cfg(feature = "extra-children")]
16967 {
16968 emit_idx += 1;
16969 }
16970 #[cfg(feature = "extra-children")]
16971 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16972 extra_iter
16973 .next()
16974 .unwrap()
16975 .node
16976 .write_to(writer)
16977 .map_err(SerializeError::from)?;
16978 }
16979 #[cfg(feature = "dml-charts")]
16980 if let Some(ref val) = self.h_percent {
16981 val.write_element("a:hPercent", writer)?;
16982 }
16983 #[cfg(feature = "extra-children")]
16984 {
16985 emit_idx += 1;
16986 }
16987 #[cfg(feature = "extra-children")]
16988 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
16989 extra_iter
16990 .next()
16991 .unwrap()
16992 .node
16993 .write_to(writer)
16994 .map_err(SerializeError::from)?;
16995 }
16996 #[cfg(feature = "dml-charts")]
16997 if let Some(ref val) = self.rot_y {
16998 val.write_element("a:rotY", writer)?;
16999 }
17000 #[cfg(feature = "extra-children")]
17001 {
17002 emit_idx += 1;
17003 }
17004 #[cfg(feature = "extra-children")]
17005 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17006 extra_iter
17007 .next()
17008 .unwrap()
17009 .node
17010 .write_to(writer)
17011 .map_err(SerializeError::from)?;
17012 }
17013 #[cfg(feature = "dml-charts")]
17014 if let Some(ref val) = self.depth_percent {
17015 val.write_element("a:depthPercent", writer)?;
17016 }
17017 #[cfg(feature = "extra-children")]
17018 {
17019 emit_idx += 1;
17020 }
17021 #[cfg(feature = "extra-children")]
17022 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17023 extra_iter
17024 .next()
17025 .unwrap()
17026 .node
17027 .write_to(writer)
17028 .map_err(SerializeError::from)?;
17029 }
17030 #[cfg(feature = "dml-charts")]
17031 if let Some(ref val) = self.r_ang_ax {
17032 val.write_element("a:rAngAx", writer)?;
17033 }
17034 #[cfg(feature = "extra-children")]
17035 {
17036 emit_idx += 1;
17037 }
17038 #[cfg(feature = "extra-children")]
17039 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17040 extra_iter
17041 .next()
17042 .unwrap()
17043 .node
17044 .write_to(writer)
17045 .map_err(SerializeError::from)?;
17046 }
17047 #[cfg(feature = "dml-charts")]
17048 if let Some(ref val) = self.perspective {
17049 val.write_element("a:perspective", writer)?;
17050 }
17051 #[cfg(feature = "extra-children")]
17052 {
17053 emit_idx += 1;
17054 }
17055 #[cfg(feature = "extra-children")]
17056 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17057 extra_iter
17058 .next()
17059 .unwrap()
17060 .node
17061 .write_to(writer)
17062 .map_err(SerializeError::from)?;
17063 }
17064 #[cfg(feature = "dml-charts")]
17065 if let Some(ref val) = self.ext_lst {
17066 val.write_element("a:extLst", writer)?;
17067 }
17068 #[cfg(feature = "extra-children")]
17069 {
17070 emit_idx += 1;
17071 }
17072 #[cfg(feature = "extra-children")]
17073 for extra in extra_iter {
17074 extra.node.write_to(writer).map_err(SerializeError::from)?;
17075 }
17076 Ok(())
17077 }
17078
17079 fn is_empty_element(&self) -> bool {
17080 #[cfg(feature = "dml-charts")]
17081 if self.rot_x.is_some() {
17082 return false;
17083 }
17084 #[cfg(feature = "dml-charts")]
17085 if self.h_percent.is_some() {
17086 return false;
17087 }
17088 #[cfg(feature = "dml-charts")]
17089 if self.rot_y.is_some() {
17090 return false;
17091 }
17092 #[cfg(feature = "dml-charts")]
17093 if self.depth_percent.is_some() {
17094 return false;
17095 }
17096 #[cfg(feature = "dml-charts")]
17097 if self.r_ang_ax.is_some() {
17098 return false;
17099 }
17100 #[cfg(feature = "dml-charts")]
17101 if self.perspective.is_some() {
17102 return false;
17103 }
17104 #[cfg(feature = "dml-charts")]
17105 if self.ext_lst.is_some() {
17106 return false;
17107 }
17108 #[cfg(feature = "extra-children")]
17109 if !self.extra_children.is_empty() {
17110 return false;
17111 }
17112 true
17113 }
17114}
17115
17116impl ToXml for ChartSurface {
17117 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
17118 #[cfg(feature = "extra-children")]
17119 let mut extra_iter = self.extra_children.iter().peekable();
17120 #[cfg(feature = "extra-children")]
17121 let mut emit_idx: usize = 0;
17122 #[cfg(feature = "extra-children")]
17123 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17124 extra_iter
17125 .next()
17126 .unwrap()
17127 .node
17128 .write_to(writer)
17129 .map_err(SerializeError::from)?;
17130 }
17131 #[cfg(feature = "dml-charts")]
17132 if let Some(ref val) = self.thickness {
17133 val.write_element("a:thickness", writer)?;
17134 }
17135 #[cfg(feature = "extra-children")]
17136 {
17137 emit_idx += 1;
17138 }
17139 #[cfg(feature = "extra-children")]
17140 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17141 extra_iter
17142 .next()
17143 .unwrap()
17144 .node
17145 .write_to(writer)
17146 .map_err(SerializeError::from)?;
17147 }
17148 #[cfg(feature = "dml-charts")]
17149 if let Some(ref val) = self.sp_pr {
17150 val.write_element("a:spPr", writer)?;
17151 }
17152 #[cfg(feature = "extra-children")]
17153 {
17154 emit_idx += 1;
17155 }
17156 #[cfg(feature = "extra-children")]
17157 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17158 extra_iter
17159 .next()
17160 .unwrap()
17161 .node
17162 .write_to(writer)
17163 .map_err(SerializeError::from)?;
17164 }
17165 #[cfg(feature = "dml-charts")]
17166 if let Some(ref val) = self.picture_options {
17167 val.write_element("a:pictureOptions", writer)?;
17168 }
17169 #[cfg(feature = "extra-children")]
17170 {
17171 emit_idx += 1;
17172 }
17173 #[cfg(feature = "extra-children")]
17174 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17175 extra_iter
17176 .next()
17177 .unwrap()
17178 .node
17179 .write_to(writer)
17180 .map_err(SerializeError::from)?;
17181 }
17182 #[cfg(feature = "dml-charts")]
17183 if let Some(ref val) = self.ext_lst {
17184 val.write_element("a:extLst", writer)?;
17185 }
17186 #[cfg(feature = "extra-children")]
17187 {
17188 emit_idx += 1;
17189 }
17190 #[cfg(feature = "extra-children")]
17191 for extra in extra_iter {
17192 extra.node.write_to(writer).map_err(SerializeError::from)?;
17193 }
17194 Ok(())
17195 }
17196
17197 fn is_empty_element(&self) -> bool {
17198 #[cfg(feature = "dml-charts")]
17199 if self.thickness.is_some() {
17200 return false;
17201 }
17202 #[cfg(feature = "dml-charts")]
17203 if self.sp_pr.is_some() {
17204 return false;
17205 }
17206 #[cfg(feature = "dml-charts")]
17207 if self.picture_options.is_some() {
17208 return false;
17209 }
17210 #[cfg(feature = "dml-charts")]
17211 if self.ext_lst.is_some() {
17212 return false;
17213 }
17214 #[cfg(feature = "extra-children")]
17215 if !self.extra_children.is_empty() {
17216 return false;
17217 }
17218 true
17219 }
17220}
17221
17222impl ToXml for ChartThickness {
17223 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17224 #[allow(unused_mut)]
17225 let mut start = start;
17226 #[cfg(feature = "dml-charts")]
17227 {
17228 let val = &self.value;
17229 {
17230 let s = val.to_string();
17231 start.push_attribute(("val", s.as_str()));
17232 }
17233 }
17234 #[cfg(feature = "extra-attrs")]
17235 for (key, value) in &self.extra_attrs {
17236 start.push_attribute((key.as_str(), value.as_str()));
17237 }
17238 start
17239 }
17240
17241 fn is_empty_element(&self) -> bool {
17242 true
17243 }
17244}
17245
17246impl ToXml for DataTable {
17247 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
17248 #[cfg(feature = "extra-children")]
17249 let mut extra_iter = self.extra_children.iter().peekable();
17250 #[cfg(feature = "extra-children")]
17251 let mut emit_idx: usize = 0;
17252 #[cfg(feature = "extra-children")]
17253 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17254 extra_iter
17255 .next()
17256 .unwrap()
17257 .node
17258 .write_to(writer)
17259 .map_err(SerializeError::from)?;
17260 }
17261 #[cfg(feature = "dml-charts")]
17262 if let Some(ref val) = self.show_horz_border {
17263 val.write_element("a:showHorzBorder", writer)?;
17264 }
17265 #[cfg(feature = "extra-children")]
17266 {
17267 emit_idx += 1;
17268 }
17269 #[cfg(feature = "extra-children")]
17270 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17271 extra_iter
17272 .next()
17273 .unwrap()
17274 .node
17275 .write_to(writer)
17276 .map_err(SerializeError::from)?;
17277 }
17278 #[cfg(feature = "dml-charts")]
17279 if let Some(ref val) = self.show_vert_border {
17280 val.write_element("a:showVertBorder", writer)?;
17281 }
17282 #[cfg(feature = "extra-children")]
17283 {
17284 emit_idx += 1;
17285 }
17286 #[cfg(feature = "extra-children")]
17287 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17288 extra_iter
17289 .next()
17290 .unwrap()
17291 .node
17292 .write_to(writer)
17293 .map_err(SerializeError::from)?;
17294 }
17295 #[cfg(feature = "dml-charts")]
17296 if let Some(ref val) = self.show_outline {
17297 val.write_element("a:showOutline", writer)?;
17298 }
17299 #[cfg(feature = "extra-children")]
17300 {
17301 emit_idx += 1;
17302 }
17303 #[cfg(feature = "extra-children")]
17304 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17305 extra_iter
17306 .next()
17307 .unwrap()
17308 .node
17309 .write_to(writer)
17310 .map_err(SerializeError::from)?;
17311 }
17312 #[cfg(feature = "dml-charts")]
17313 if let Some(ref val) = self.show_keys {
17314 val.write_element("a:showKeys", writer)?;
17315 }
17316 #[cfg(feature = "extra-children")]
17317 {
17318 emit_idx += 1;
17319 }
17320 #[cfg(feature = "extra-children")]
17321 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17322 extra_iter
17323 .next()
17324 .unwrap()
17325 .node
17326 .write_to(writer)
17327 .map_err(SerializeError::from)?;
17328 }
17329 #[cfg(feature = "dml-charts")]
17330 if let Some(ref val) = self.sp_pr {
17331 val.write_element("a:spPr", writer)?;
17332 }
17333 #[cfg(feature = "extra-children")]
17334 {
17335 emit_idx += 1;
17336 }
17337 #[cfg(feature = "extra-children")]
17338 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17339 extra_iter
17340 .next()
17341 .unwrap()
17342 .node
17343 .write_to(writer)
17344 .map_err(SerializeError::from)?;
17345 }
17346 #[cfg(feature = "dml-charts")]
17347 if let Some(ref val) = self.tx_pr {
17348 val.write_element("a:txPr", writer)?;
17349 }
17350 #[cfg(feature = "extra-children")]
17351 {
17352 emit_idx += 1;
17353 }
17354 #[cfg(feature = "extra-children")]
17355 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17356 extra_iter
17357 .next()
17358 .unwrap()
17359 .node
17360 .write_to(writer)
17361 .map_err(SerializeError::from)?;
17362 }
17363 #[cfg(feature = "dml-charts")]
17364 if let Some(ref val) = self.ext_lst {
17365 val.write_element("a:extLst", writer)?;
17366 }
17367 #[cfg(feature = "extra-children")]
17368 {
17369 emit_idx += 1;
17370 }
17371 #[cfg(feature = "extra-children")]
17372 for extra in extra_iter {
17373 extra.node.write_to(writer).map_err(SerializeError::from)?;
17374 }
17375 Ok(())
17376 }
17377
17378 fn is_empty_element(&self) -> bool {
17379 #[cfg(feature = "dml-charts")]
17380 if self.show_horz_border.is_some() {
17381 return false;
17382 }
17383 #[cfg(feature = "dml-charts")]
17384 if self.show_vert_border.is_some() {
17385 return false;
17386 }
17387 #[cfg(feature = "dml-charts")]
17388 if self.show_outline.is_some() {
17389 return false;
17390 }
17391 #[cfg(feature = "dml-charts")]
17392 if self.show_keys.is_some() {
17393 return false;
17394 }
17395 #[cfg(feature = "dml-charts")]
17396 if self.sp_pr.is_some() {
17397 return false;
17398 }
17399 #[cfg(feature = "dml-charts")]
17400 if self.tx_pr.is_some() {
17401 return false;
17402 }
17403 #[cfg(feature = "dml-charts")]
17404 if self.ext_lst.is_some() {
17405 return false;
17406 }
17407 #[cfg(feature = "extra-children")]
17408 if !self.extra_children.is_empty() {
17409 return false;
17410 }
17411 true
17412 }
17413}
17414
17415impl ToXml for GapAmount {
17416 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17417 #[allow(unused_mut)]
17418 let mut start = start;
17419 #[cfg(feature = "dml-charts")]
17420 if let Some(ref val) = self.value {
17421 {
17422 let s = val.to_string();
17423 start.push_attribute(("val", s.as_str()));
17424 }
17425 }
17426 #[cfg(feature = "extra-attrs")]
17427 for (key, value) in &self.extra_attrs {
17428 start.push_attribute((key.as_str(), value.as_str()));
17429 }
17430 start
17431 }
17432
17433 fn is_empty_element(&self) -> bool {
17434 true
17435 }
17436}
17437
17438impl ToXml for OverlapAmount {
17439 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17440 #[allow(unused_mut)]
17441 let mut start = start;
17442 #[cfg(feature = "dml-charts")]
17443 if let Some(ref val) = self.value {
17444 {
17445 let s = val.to_string();
17446 start.push_attribute(("val", s.as_str()));
17447 }
17448 }
17449 #[cfg(feature = "extra-attrs")]
17450 for (key, value) in &self.extra_attrs {
17451 start.push_attribute((key.as_str(), value.as_str()));
17452 }
17453 start
17454 }
17455
17456 fn is_empty_element(&self) -> bool {
17457 true
17458 }
17459}
17460
17461impl ToXml for BubbleScale {
17462 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17463 #[allow(unused_mut)]
17464 let mut start = start;
17465 #[cfg(feature = "dml-charts")]
17466 if let Some(ref val) = self.value {
17467 {
17468 let s = val.to_string();
17469 start.push_attribute(("val", s.as_str()));
17470 }
17471 }
17472 #[cfg(feature = "extra-attrs")]
17473 for (key, value) in &self.extra_attrs {
17474 start.push_attribute((key.as_str(), value.as_str()));
17475 }
17476 start
17477 }
17478
17479 fn is_empty_element(&self) -> bool {
17480 true
17481 }
17482}
17483
17484impl ToXml for SizeRepresents {
17485 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17486 #[allow(unused_mut)]
17487 let mut start = start;
17488 #[cfg(feature = "dml-charts")]
17489 if let Some(ref val) = self.value {
17490 {
17491 let s = val.to_string();
17492 start.push_attribute(("val", s.as_str()));
17493 }
17494 }
17495 #[cfg(feature = "extra-attrs")]
17496 for (key, value) in &self.extra_attrs {
17497 start.push_attribute((key.as_str(), value.as_str()));
17498 }
17499 start
17500 }
17501
17502 fn is_empty_element(&self) -> bool {
17503 true
17504 }
17505}
17506
17507impl ToXml for FirstSliceAngle {
17508 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17509 #[allow(unused_mut)]
17510 let mut start = start;
17511 #[cfg(feature = "dml-charts")]
17512 if let Some(ref val) = self.value {
17513 {
17514 let s = val.to_string();
17515 start.push_attribute(("val", s.as_str()));
17516 }
17517 }
17518 #[cfg(feature = "extra-attrs")]
17519 for (key, value) in &self.extra_attrs {
17520 start.push_attribute((key.as_str(), value.as_str()));
17521 }
17522 start
17523 }
17524
17525 fn is_empty_element(&self) -> bool {
17526 true
17527 }
17528}
17529
17530impl ToXml for HoleSize {
17531 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17532 #[allow(unused_mut)]
17533 let mut start = start;
17534 #[cfg(feature = "dml-charts")]
17535 if let Some(ref val) = self.value {
17536 {
17537 let s = val.to_string();
17538 start.push_attribute(("val", s.as_str()));
17539 }
17540 }
17541 #[cfg(feature = "extra-attrs")]
17542 for (key, value) in &self.extra_attrs {
17543 start.push_attribute((key.as_str(), value.as_str()));
17544 }
17545 start
17546 }
17547
17548 fn is_empty_element(&self) -> bool {
17549 true
17550 }
17551}
17552
17553impl ToXml for SplitType {
17554 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17555 #[allow(unused_mut)]
17556 let mut start = start;
17557 #[cfg(feature = "dml-charts")]
17558 if let Some(ref val) = self.value {
17559 {
17560 let s = val.to_string();
17561 start.push_attribute(("val", s.as_str()));
17562 }
17563 }
17564 #[cfg(feature = "extra-attrs")]
17565 for (key, value) in &self.extra_attrs {
17566 start.push_attribute((key.as_str(), value.as_str()));
17567 }
17568 start
17569 }
17570
17571 fn is_empty_element(&self) -> bool {
17572 true
17573 }
17574}
17575
17576impl ToXml for CustomSplit {
17577 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
17578 #[cfg(feature = "extra-children")]
17579 let mut extra_iter = self.extra_children.iter().peekable();
17580 #[cfg(feature = "extra-children")]
17581 let mut emit_idx: usize = 0;
17582 #[cfg(feature = "dml-charts")]
17583 for item in &self.second_pie_pt {
17584 #[cfg(feature = "extra-children")]
17585 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17586 extra_iter
17587 .next()
17588 .unwrap()
17589 .node
17590 .write_to(writer)
17591 .map_err(SerializeError::from)?;
17592 }
17593 item.write_element("a:secondPiePt", writer)?;
17594 #[cfg(feature = "extra-children")]
17595 {
17596 emit_idx += 1;
17597 }
17598 }
17599 #[cfg(feature = "extra-children")]
17600 for extra in extra_iter {
17601 extra.node.write_to(writer).map_err(SerializeError::from)?;
17602 }
17603 Ok(())
17604 }
17605
17606 fn is_empty_element(&self) -> bool {
17607 #[cfg(feature = "dml-charts")]
17608 if !self.second_pie_pt.is_empty() {
17609 return false;
17610 }
17611 #[cfg(feature = "extra-children")]
17612 if !self.extra_children.is_empty() {
17613 return false;
17614 }
17615 true
17616 }
17617}
17618
17619impl ToXml for SecondPieSize {
17620 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17621 #[allow(unused_mut)]
17622 let mut start = start;
17623 #[cfg(feature = "dml-charts")]
17624 if let Some(ref val) = self.value {
17625 {
17626 let s = val.to_string();
17627 start.push_attribute(("val", s.as_str()));
17628 }
17629 }
17630 #[cfg(feature = "extra-attrs")]
17631 for (key, value) in &self.extra_attrs {
17632 start.push_attribute((key.as_str(), value.as_str()));
17633 }
17634 start
17635 }
17636
17637 fn is_empty_element(&self) -> bool {
17638 true
17639 }
17640}
17641
17642impl ToXml for ChartNumFmt {
17643 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17644 #[allow(unused_mut)]
17645 let mut start = start;
17646 #[cfg(feature = "dml-charts")]
17647 {
17648 let val = &self.format_code;
17649 start.push_attribute(("formatCode", val.as_str()));
17650 }
17651 #[cfg(feature = "dml-charts")]
17652 if let Some(ref val) = self.source_linked {
17653 start.push_attribute(("sourceLinked", if *val { "1" } else { "0" }));
17654 }
17655 #[cfg(feature = "extra-attrs")]
17656 for (key, value) in &self.extra_attrs {
17657 start.push_attribute((key.as_str(), value.as_str()));
17658 }
17659 start
17660 }
17661
17662 fn is_empty_element(&self) -> bool {
17663 true
17664 }
17665}
17666
17667impl ToXml for LabelAlignment {
17668 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17669 #[allow(unused_mut)]
17670 let mut start = start;
17671 #[cfg(feature = "dml-charts")]
17672 {
17673 let val = &self.value;
17674 {
17675 let s = val.to_string();
17676 start.push_attribute(("val", s.as_str()));
17677 }
17678 }
17679 #[cfg(feature = "extra-attrs")]
17680 for (key, value) in &self.extra_attrs {
17681 start.push_attribute((key.as_str(), value.as_str()));
17682 }
17683 start
17684 }
17685
17686 fn is_empty_element(&self) -> bool {
17687 true
17688 }
17689}
17690
17691impl ToXml for DataLabelPosition {
17692 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
17693 #[allow(unused_mut)]
17694 let mut start = start;
17695 #[cfg(feature = "dml-charts")]
17696 {
17697 let val = &self.value;
17698 {
17699 let s = val.to_string();
17700 start.push_attribute(("val", s.as_str()));
17701 }
17702 }
17703 #[cfg(feature = "extra-attrs")]
17704 for (key, value) in &self.extra_attrs {
17705 start.push_attribute((key.as_str(), value.as_str()));
17706 }
17707 start
17708 }
17709
17710 fn is_empty_element(&self) -> bool {
17711 true
17712 }
17713}
17714
17715impl ToXml for EGDLblShared {
17716 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
17717 #[cfg(feature = "extra-children")]
17718 let mut extra_iter = self.extra_children.iter().peekable();
17719 #[cfg(feature = "extra-children")]
17720 let mut emit_idx: usize = 0;
17721 #[cfg(feature = "extra-children")]
17722 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17723 extra_iter
17724 .next()
17725 .unwrap()
17726 .node
17727 .write_to(writer)
17728 .map_err(SerializeError::from)?;
17729 }
17730 if let Some(ref val) = self.num_fmt {
17731 val.write_element("a:numFmt", writer)?;
17732 }
17733 #[cfg(feature = "extra-children")]
17734 {
17735 emit_idx += 1;
17736 }
17737 #[cfg(feature = "extra-children")]
17738 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17739 extra_iter
17740 .next()
17741 .unwrap()
17742 .node
17743 .write_to(writer)
17744 .map_err(SerializeError::from)?;
17745 }
17746 if let Some(ref val) = self.sp_pr {
17747 val.write_element("a:spPr", writer)?;
17748 }
17749 #[cfg(feature = "extra-children")]
17750 {
17751 emit_idx += 1;
17752 }
17753 #[cfg(feature = "extra-children")]
17754 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17755 extra_iter
17756 .next()
17757 .unwrap()
17758 .node
17759 .write_to(writer)
17760 .map_err(SerializeError::from)?;
17761 }
17762 if let Some(ref val) = self.tx_pr {
17763 val.write_element("a:txPr", writer)?;
17764 }
17765 #[cfg(feature = "extra-children")]
17766 {
17767 emit_idx += 1;
17768 }
17769 #[cfg(feature = "extra-children")]
17770 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17771 extra_iter
17772 .next()
17773 .unwrap()
17774 .node
17775 .write_to(writer)
17776 .map_err(SerializeError::from)?;
17777 }
17778 if let Some(ref val) = self.d_lbl_pos {
17779 val.write_element("a:dLblPos", writer)?;
17780 }
17781 #[cfg(feature = "extra-children")]
17782 {
17783 emit_idx += 1;
17784 }
17785 #[cfg(feature = "extra-children")]
17786 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17787 extra_iter
17788 .next()
17789 .unwrap()
17790 .node
17791 .write_to(writer)
17792 .map_err(SerializeError::from)?;
17793 }
17794 if let Some(ref val) = self.show_legend_key {
17795 val.write_element("a:showLegendKey", writer)?;
17796 }
17797 #[cfg(feature = "extra-children")]
17798 {
17799 emit_idx += 1;
17800 }
17801 #[cfg(feature = "extra-children")]
17802 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17803 extra_iter
17804 .next()
17805 .unwrap()
17806 .node
17807 .write_to(writer)
17808 .map_err(SerializeError::from)?;
17809 }
17810 if let Some(ref val) = self.show_val {
17811 val.write_element("a:showVal", writer)?;
17812 }
17813 #[cfg(feature = "extra-children")]
17814 {
17815 emit_idx += 1;
17816 }
17817 #[cfg(feature = "extra-children")]
17818 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17819 extra_iter
17820 .next()
17821 .unwrap()
17822 .node
17823 .write_to(writer)
17824 .map_err(SerializeError::from)?;
17825 }
17826 if let Some(ref val) = self.show_cat_name {
17827 val.write_element("a:showCatName", writer)?;
17828 }
17829 #[cfg(feature = "extra-children")]
17830 {
17831 emit_idx += 1;
17832 }
17833 #[cfg(feature = "extra-children")]
17834 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17835 extra_iter
17836 .next()
17837 .unwrap()
17838 .node
17839 .write_to(writer)
17840 .map_err(SerializeError::from)?;
17841 }
17842 if let Some(ref val) = self.show_ser_name {
17843 val.write_element("a:showSerName", writer)?;
17844 }
17845 #[cfg(feature = "extra-children")]
17846 {
17847 emit_idx += 1;
17848 }
17849 #[cfg(feature = "extra-children")]
17850 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17851 extra_iter
17852 .next()
17853 .unwrap()
17854 .node
17855 .write_to(writer)
17856 .map_err(SerializeError::from)?;
17857 }
17858 if let Some(ref val) = self.show_percent {
17859 val.write_element("a:showPercent", writer)?;
17860 }
17861 #[cfg(feature = "extra-children")]
17862 {
17863 emit_idx += 1;
17864 }
17865 #[cfg(feature = "extra-children")]
17866 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17867 extra_iter
17868 .next()
17869 .unwrap()
17870 .node
17871 .write_to(writer)
17872 .map_err(SerializeError::from)?;
17873 }
17874 if let Some(ref val) = self.show_bubble_size {
17875 val.write_element("a:showBubbleSize", writer)?;
17876 }
17877 #[cfg(feature = "extra-children")]
17878 {
17879 emit_idx += 1;
17880 }
17881 #[cfg(feature = "extra-children")]
17882 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17883 extra_iter
17884 .next()
17885 .unwrap()
17886 .node
17887 .write_to(writer)
17888 .map_err(SerializeError::from)?;
17889 }
17890 if let Some(ref val) = self.separator {
17891 {
17892 let start = BytesStart::new("a:separator");
17893 writer.write_event(Event::Start(start))?;
17894 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
17895 writer.write_event(Event::End(BytesEnd::new("a:separator")))?;
17896 }
17897 }
17898 #[cfg(feature = "extra-children")]
17899 {
17900 emit_idx += 1;
17901 }
17902 #[cfg(feature = "extra-children")]
17903 for extra in extra_iter {
17904 extra.node.write_to(writer).map_err(SerializeError::from)?;
17905 }
17906 Ok(())
17907 }
17908
17909 fn is_empty_element(&self) -> bool {
17910 if self.num_fmt.is_some() {
17911 return false;
17912 }
17913 if self.sp_pr.is_some() {
17914 return false;
17915 }
17916 if self.tx_pr.is_some() {
17917 return false;
17918 }
17919 if self.d_lbl_pos.is_some() {
17920 return false;
17921 }
17922 if self.show_legend_key.is_some() {
17923 return false;
17924 }
17925 if self.show_val.is_some() {
17926 return false;
17927 }
17928 if self.show_cat_name.is_some() {
17929 return false;
17930 }
17931 if self.show_ser_name.is_some() {
17932 return false;
17933 }
17934 if self.show_percent.is_some() {
17935 return false;
17936 }
17937 if self.show_bubble_size.is_some() {
17938 return false;
17939 }
17940 if self.separator.is_some() {
17941 return false;
17942 }
17943 #[cfg(feature = "extra-children")]
17944 if !self.extra_children.is_empty() {
17945 return false;
17946 }
17947 true
17948 }
17949}
17950
17951impl ToXml for DchrtGroupDLbl {
17952 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
17953 #[cfg(feature = "extra-children")]
17954 let mut extra_iter = self.extra_children.iter().peekable();
17955 #[cfg(feature = "extra-children")]
17956 let mut emit_idx: usize = 0;
17957 #[cfg(feature = "extra-children")]
17958 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17959 extra_iter
17960 .next()
17961 .unwrap()
17962 .node
17963 .write_to(writer)
17964 .map_err(SerializeError::from)?;
17965 }
17966 if let Some(ref val) = self.layout {
17967 val.write_element("a:layout", writer)?;
17968 }
17969 #[cfg(feature = "extra-children")]
17970 {
17971 emit_idx += 1;
17972 }
17973 #[cfg(feature = "extra-children")]
17974 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17975 extra_iter
17976 .next()
17977 .unwrap()
17978 .node
17979 .write_to(writer)
17980 .map_err(SerializeError::from)?;
17981 }
17982 if let Some(ref val) = self.tx {
17983 val.write_element("a:tx", writer)?;
17984 }
17985 #[cfg(feature = "extra-children")]
17986 {
17987 emit_idx += 1;
17988 }
17989 #[cfg(feature = "extra-children")]
17990 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
17991 extra_iter
17992 .next()
17993 .unwrap()
17994 .node
17995 .write_to(writer)
17996 .map_err(SerializeError::from)?;
17997 }
17998 if let Some(ref val) = self.num_fmt {
17999 val.write_element("a:numFmt", writer)?;
18000 }
18001 #[cfg(feature = "extra-children")]
18002 {
18003 emit_idx += 1;
18004 }
18005 #[cfg(feature = "extra-children")]
18006 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18007 extra_iter
18008 .next()
18009 .unwrap()
18010 .node
18011 .write_to(writer)
18012 .map_err(SerializeError::from)?;
18013 }
18014 if let Some(ref val) = self.sp_pr {
18015 val.write_element("a:spPr", writer)?;
18016 }
18017 #[cfg(feature = "extra-children")]
18018 {
18019 emit_idx += 1;
18020 }
18021 #[cfg(feature = "extra-children")]
18022 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18023 extra_iter
18024 .next()
18025 .unwrap()
18026 .node
18027 .write_to(writer)
18028 .map_err(SerializeError::from)?;
18029 }
18030 if let Some(ref val) = self.tx_pr {
18031 val.write_element("a:txPr", writer)?;
18032 }
18033 #[cfg(feature = "extra-children")]
18034 {
18035 emit_idx += 1;
18036 }
18037 #[cfg(feature = "extra-children")]
18038 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18039 extra_iter
18040 .next()
18041 .unwrap()
18042 .node
18043 .write_to(writer)
18044 .map_err(SerializeError::from)?;
18045 }
18046 if let Some(ref val) = self.d_lbl_pos {
18047 val.write_element("a:dLblPos", writer)?;
18048 }
18049 #[cfg(feature = "extra-children")]
18050 {
18051 emit_idx += 1;
18052 }
18053 #[cfg(feature = "extra-children")]
18054 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18055 extra_iter
18056 .next()
18057 .unwrap()
18058 .node
18059 .write_to(writer)
18060 .map_err(SerializeError::from)?;
18061 }
18062 if let Some(ref val) = self.show_legend_key {
18063 val.write_element("a:showLegendKey", writer)?;
18064 }
18065 #[cfg(feature = "extra-children")]
18066 {
18067 emit_idx += 1;
18068 }
18069 #[cfg(feature = "extra-children")]
18070 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18071 extra_iter
18072 .next()
18073 .unwrap()
18074 .node
18075 .write_to(writer)
18076 .map_err(SerializeError::from)?;
18077 }
18078 if let Some(ref val) = self.show_val {
18079 val.write_element("a:showVal", writer)?;
18080 }
18081 #[cfg(feature = "extra-children")]
18082 {
18083 emit_idx += 1;
18084 }
18085 #[cfg(feature = "extra-children")]
18086 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18087 extra_iter
18088 .next()
18089 .unwrap()
18090 .node
18091 .write_to(writer)
18092 .map_err(SerializeError::from)?;
18093 }
18094 if let Some(ref val) = self.show_cat_name {
18095 val.write_element("a:showCatName", writer)?;
18096 }
18097 #[cfg(feature = "extra-children")]
18098 {
18099 emit_idx += 1;
18100 }
18101 #[cfg(feature = "extra-children")]
18102 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18103 extra_iter
18104 .next()
18105 .unwrap()
18106 .node
18107 .write_to(writer)
18108 .map_err(SerializeError::from)?;
18109 }
18110 if let Some(ref val) = self.show_ser_name {
18111 val.write_element("a:showSerName", writer)?;
18112 }
18113 #[cfg(feature = "extra-children")]
18114 {
18115 emit_idx += 1;
18116 }
18117 #[cfg(feature = "extra-children")]
18118 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18119 extra_iter
18120 .next()
18121 .unwrap()
18122 .node
18123 .write_to(writer)
18124 .map_err(SerializeError::from)?;
18125 }
18126 if let Some(ref val) = self.show_percent {
18127 val.write_element("a:showPercent", writer)?;
18128 }
18129 #[cfg(feature = "extra-children")]
18130 {
18131 emit_idx += 1;
18132 }
18133 #[cfg(feature = "extra-children")]
18134 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18135 extra_iter
18136 .next()
18137 .unwrap()
18138 .node
18139 .write_to(writer)
18140 .map_err(SerializeError::from)?;
18141 }
18142 if let Some(ref val) = self.show_bubble_size {
18143 val.write_element("a:showBubbleSize", writer)?;
18144 }
18145 #[cfg(feature = "extra-children")]
18146 {
18147 emit_idx += 1;
18148 }
18149 #[cfg(feature = "extra-children")]
18150 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18151 extra_iter
18152 .next()
18153 .unwrap()
18154 .node
18155 .write_to(writer)
18156 .map_err(SerializeError::from)?;
18157 }
18158 if let Some(ref val) = self.separator {
18159 {
18160 let start = BytesStart::new("a:separator");
18161 writer.write_event(Event::Start(start))?;
18162 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
18163 writer.write_event(Event::End(BytesEnd::new("a:separator")))?;
18164 }
18165 }
18166 #[cfg(feature = "extra-children")]
18167 {
18168 emit_idx += 1;
18169 }
18170 #[cfg(feature = "extra-children")]
18171 for extra in extra_iter {
18172 extra.node.write_to(writer).map_err(SerializeError::from)?;
18173 }
18174 Ok(())
18175 }
18176
18177 fn is_empty_element(&self) -> bool {
18178 if self.layout.is_some() {
18179 return false;
18180 }
18181 if self.tx.is_some() {
18182 return false;
18183 }
18184 if self.num_fmt.is_some() {
18185 return false;
18186 }
18187 if self.sp_pr.is_some() {
18188 return false;
18189 }
18190 if self.tx_pr.is_some() {
18191 return false;
18192 }
18193 if self.d_lbl_pos.is_some() {
18194 return false;
18195 }
18196 if self.show_legend_key.is_some() {
18197 return false;
18198 }
18199 if self.show_val.is_some() {
18200 return false;
18201 }
18202 if self.show_cat_name.is_some() {
18203 return false;
18204 }
18205 if self.show_ser_name.is_some() {
18206 return false;
18207 }
18208 if self.show_percent.is_some() {
18209 return false;
18210 }
18211 if self.show_bubble_size.is_some() {
18212 return false;
18213 }
18214 if self.separator.is_some() {
18215 return false;
18216 }
18217 #[cfg(feature = "extra-children")]
18218 if !self.extra_children.is_empty() {
18219 return false;
18220 }
18221 true
18222 }
18223}
18224
18225impl ToXml for DataLabel {
18226 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
18227 #[cfg(feature = "extra-children")]
18228 let mut extra_iter = self.extra_children.iter().peekable();
18229 #[cfg(feature = "extra-children")]
18230 let mut emit_idx: usize = 0;
18231 #[cfg(feature = "extra-children")]
18232 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18233 extra_iter
18234 .next()
18235 .unwrap()
18236 .node
18237 .write_to(writer)
18238 .map_err(SerializeError::from)?;
18239 }
18240 #[cfg(feature = "dml-charts")]
18241 {
18242 let val = &self.idx;
18243 val.write_element("a:idx", writer)?;
18244 }
18245 #[cfg(feature = "extra-children")]
18246 {
18247 emit_idx += 1;
18248 }
18249 #[cfg(feature = "extra-children")]
18250 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18251 extra_iter
18252 .next()
18253 .unwrap()
18254 .node
18255 .write_to(writer)
18256 .map_err(SerializeError::from)?;
18257 }
18258 #[cfg(feature = "dml-charts")]
18259 if let Some(ref val) = self.delete {
18260 val.write_element("a:delete", writer)?;
18261 }
18262 #[cfg(feature = "extra-children")]
18263 {
18264 emit_idx += 1;
18265 }
18266 #[cfg(feature = "extra-children")]
18267 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18268 extra_iter
18269 .next()
18270 .unwrap()
18271 .node
18272 .write_to(writer)
18273 .map_err(SerializeError::from)?;
18274 }
18275 #[cfg(feature = "dml-charts")]
18276 if let Some(ref val) = self.layout {
18277 val.write_element("a:layout", writer)?;
18278 }
18279 #[cfg(feature = "extra-children")]
18280 {
18281 emit_idx += 1;
18282 }
18283 #[cfg(feature = "extra-children")]
18284 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18285 extra_iter
18286 .next()
18287 .unwrap()
18288 .node
18289 .write_to(writer)
18290 .map_err(SerializeError::from)?;
18291 }
18292 #[cfg(feature = "dml-charts")]
18293 if let Some(ref val) = self.tx {
18294 val.write_element("a:tx", writer)?;
18295 }
18296 #[cfg(feature = "extra-children")]
18297 {
18298 emit_idx += 1;
18299 }
18300 #[cfg(feature = "extra-children")]
18301 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18302 extra_iter
18303 .next()
18304 .unwrap()
18305 .node
18306 .write_to(writer)
18307 .map_err(SerializeError::from)?;
18308 }
18309 #[cfg(feature = "dml-charts")]
18310 if let Some(ref val) = self.num_fmt {
18311 val.write_element("a:numFmt", writer)?;
18312 }
18313 #[cfg(feature = "extra-children")]
18314 {
18315 emit_idx += 1;
18316 }
18317 #[cfg(feature = "extra-children")]
18318 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18319 extra_iter
18320 .next()
18321 .unwrap()
18322 .node
18323 .write_to(writer)
18324 .map_err(SerializeError::from)?;
18325 }
18326 #[cfg(feature = "dml-charts")]
18327 if let Some(ref val) = self.sp_pr {
18328 val.write_element("a:spPr", writer)?;
18329 }
18330 #[cfg(feature = "extra-children")]
18331 {
18332 emit_idx += 1;
18333 }
18334 #[cfg(feature = "extra-children")]
18335 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18336 extra_iter
18337 .next()
18338 .unwrap()
18339 .node
18340 .write_to(writer)
18341 .map_err(SerializeError::from)?;
18342 }
18343 #[cfg(feature = "dml-charts")]
18344 if let Some(ref val) = self.tx_pr {
18345 val.write_element("a:txPr", writer)?;
18346 }
18347 #[cfg(feature = "extra-children")]
18348 {
18349 emit_idx += 1;
18350 }
18351 #[cfg(feature = "extra-children")]
18352 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18353 extra_iter
18354 .next()
18355 .unwrap()
18356 .node
18357 .write_to(writer)
18358 .map_err(SerializeError::from)?;
18359 }
18360 #[cfg(feature = "dml-charts")]
18361 if let Some(ref val) = self.d_lbl_pos {
18362 val.write_element("a:dLblPos", writer)?;
18363 }
18364 #[cfg(feature = "extra-children")]
18365 {
18366 emit_idx += 1;
18367 }
18368 #[cfg(feature = "extra-children")]
18369 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18370 extra_iter
18371 .next()
18372 .unwrap()
18373 .node
18374 .write_to(writer)
18375 .map_err(SerializeError::from)?;
18376 }
18377 #[cfg(feature = "dml-charts")]
18378 if let Some(ref val) = self.show_legend_key {
18379 val.write_element("a:showLegendKey", writer)?;
18380 }
18381 #[cfg(feature = "extra-children")]
18382 {
18383 emit_idx += 1;
18384 }
18385 #[cfg(feature = "extra-children")]
18386 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18387 extra_iter
18388 .next()
18389 .unwrap()
18390 .node
18391 .write_to(writer)
18392 .map_err(SerializeError::from)?;
18393 }
18394 #[cfg(feature = "dml-charts")]
18395 if let Some(ref val) = self.show_val {
18396 val.write_element("a:showVal", writer)?;
18397 }
18398 #[cfg(feature = "extra-children")]
18399 {
18400 emit_idx += 1;
18401 }
18402 #[cfg(feature = "extra-children")]
18403 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18404 extra_iter
18405 .next()
18406 .unwrap()
18407 .node
18408 .write_to(writer)
18409 .map_err(SerializeError::from)?;
18410 }
18411 #[cfg(feature = "dml-charts")]
18412 if let Some(ref val) = self.show_cat_name {
18413 val.write_element("a:showCatName", writer)?;
18414 }
18415 #[cfg(feature = "extra-children")]
18416 {
18417 emit_idx += 1;
18418 }
18419 #[cfg(feature = "extra-children")]
18420 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18421 extra_iter
18422 .next()
18423 .unwrap()
18424 .node
18425 .write_to(writer)
18426 .map_err(SerializeError::from)?;
18427 }
18428 #[cfg(feature = "dml-charts")]
18429 if let Some(ref val) = self.show_ser_name {
18430 val.write_element("a:showSerName", writer)?;
18431 }
18432 #[cfg(feature = "extra-children")]
18433 {
18434 emit_idx += 1;
18435 }
18436 #[cfg(feature = "extra-children")]
18437 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18438 extra_iter
18439 .next()
18440 .unwrap()
18441 .node
18442 .write_to(writer)
18443 .map_err(SerializeError::from)?;
18444 }
18445 #[cfg(feature = "dml-charts")]
18446 if let Some(ref val) = self.show_percent {
18447 val.write_element("a:showPercent", writer)?;
18448 }
18449 #[cfg(feature = "extra-children")]
18450 {
18451 emit_idx += 1;
18452 }
18453 #[cfg(feature = "extra-children")]
18454 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18455 extra_iter
18456 .next()
18457 .unwrap()
18458 .node
18459 .write_to(writer)
18460 .map_err(SerializeError::from)?;
18461 }
18462 #[cfg(feature = "dml-charts")]
18463 if let Some(ref val) = self.show_bubble_size {
18464 val.write_element("a:showBubbleSize", writer)?;
18465 }
18466 #[cfg(feature = "extra-children")]
18467 {
18468 emit_idx += 1;
18469 }
18470 #[cfg(feature = "extra-children")]
18471 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18472 extra_iter
18473 .next()
18474 .unwrap()
18475 .node
18476 .write_to(writer)
18477 .map_err(SerializeError::from)?;
18478 }
18479 #[cfg(feature = "dml-charts")]
18480 if let Some(ref val) = self.separator {
18481 {
18482 let start = BytesStart::new("a:separator");
18483 writer.write_event(Event::Start(start))?;
18484 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
18485 writer.write_event(Event::End(BytesEnd::new("a:separator")))?;
18486 }
18487 }
18488 #[cfg(feature = "extra-children")]
18489 {
18490 emit_idx += 1;
18491 }
18492 #[cfg(feature = "extra-children")]
18493 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18494 extra_iter
18495 .next()
18496 .unwrap()
18497 .node
18498 .write_to(writer)
18499 .map_err(SerializeError::from)?;
18500 }
18501 #[cfg(feature = "dml-charts")]
18502 if let Some(ref val) = self.ext_lst {
18503 val.write_element("a:extLst", writer)?;
18504 }
18505 #[cfg(feature = "extra-children")]
18506 {
18507 emit_idx += 1;
18508 }
18509 #[cfg(feature = "extra-children")]
18510 for extra in extra_iter {
18511 extra.node.write_to(writer).map_err(SerializeError::from)?;
18512 }
18513 Ok(())
18514 }
18515
18516 fn is_empty_element(&self) -> bool {
18517 #[cfg(feature = "dml-charts")]
18518 return false;
18519 #[cfg(feature = "dml-charts")]
18520 if self.delete.is_some() {
18521 return false;
18522 }
18523 #[cfg(feature = "dml-charts")]
18524 if self.layout.is_some() {
18525 return false;
18526 }
18527 #[cfg(feature = "dml-charts")]
18528 if self.tx.is_some() {
18529 return false;
18530 }
18531 #[cfg(feature = "dml-charts")]
18532 if self.num_fmt.is_some() {
18533 return false;
18534 }
18535 #[cfg(feature = "dml-charts")]
18536 if self.sp_pr.is_some() {
18537 return false;
18538 }
18539 #[cfg(feature = "dml-charts")]
18540 if self.tx_pr.is_some() {
18541 return false;
18542 }
18543 #[cfg(feature = "dml-charts")]
18544 if self.d_lbl_pos.is_some() {
18545 return false;
18546 }
18547 #[cfg(feature = "dml-charts")]
18548 if self.show_legend_key.is_some() {
18549 return false;
18550 }
18551 #[cfg(feature = "dml-charts")]
18552 if self.show_val.is_some() {
18553 return false;
18554 }
18555 #[cfg(feature = "dml-charts")]
18556 if self.show_cat_name.is_some() {
18557 return false;
18558 }
18559 #[cfg(feature = "dml-charts")]
18560 if self.show_ser_name.is_some() {
18561 return false;
18562 }
18563 #[cfg(feature = "dml-charts")]
18564 if self.show_percent.is_some() {
18565 return false;
18566 }
18567 #[cfg(feature = "dml-charts")]
18568 if self.show_bubble_size.is_some() {
18569 return false;
18570 }
18571 #[cfg(feature = "dml-charts")]
18572 if self.separator.is_some() {
18573 return false;
18574 }
18575 #[cfg(feature = "dml-charts")]
18576 if self.ext_lst.is_some() {
18577 return false;
18578 }
18579 #[cfg(feature = "extra-children")]
18580 if !self.extra_children.is_empty() {
18581 return false;
18582 }
18583 true
18584 }
18585}
18586
18587impl ToXml for DchrtGroupDLbls {
18588 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
18589 #[cfg(feature = "extra-children")]
18590 let mut extra_iter = self.extra_children.iter().peekable();
18591 #[cfg(feature = "extra-children")]
18592 let mut emit_idx: usize = 0;
18593 #[cfg(feature = "extra-children")]
18594 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18595 extra_iter
18596 .next()
18597 .unwrap()
18598 .node
18599 .write_to(writer)
18600 .map_err(SerializeError::from)?;
18601 }
18602 if let Some(ref val) = self.num_fmt {
18603 val.write_element("a:numFmt", writer)?;
18604 }
18605 #[cfg(feature = "extra-children")]
18606 {
18607 emit_idx += 1;
18608 }
18609 #[cfg(feature = "extra-children")]
18610 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18611 extra_iter
18612 .next()
18613 .unwrap()
18614 .node
18615 .write_to(writer)
18616 .map_err(SerializeError::from)?;
18617 }
18618 if let Some(ref val) = self.sp_pr {
18619 val.write_element("a:spPr", writer)?;
18620 }
18621 #[cfg(feature = "extra-children")]
18622 {
18623 emit_idx += 1;
18624 }
18625 #[cfg(feature = "extra-children")]
18626 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18627 extra_iter
18628 .next()
18629 .unwrap()
18630 .node
18631 .write_to(writer)
18632 .map_err(SerializeError::from)?;
18633 }
18634 if let Some(ref val) = self.tx_pr {
18635 val.write_element("a:txPr", writer)?;
18636 }
18637 #[cfg(feature = "extra-children")]
18638 {
18639 emit_idx += 1;
18640 }
18641 #[cfg(feature = "extra-children")]
18642 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18643 extra_iter
18644 .next()
18645 .unwrap()
18646 .node
18647 .write_to(writer)
18648 .map_err(SerializeError::from)?;
18649 }
18650 if let Some(ref val) = self.d_lbl_pos {
18651 val.write_element("a:dLblPos", writer)?;
18652 }
18653 #[cfg(feature = "extra-children")]
18654 {
18655 emit_idx += 1;
18656 }
18657 #[cfg(feature = "extra-children")]
18658 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18659 extra_iter
18660 .next()
18661 .unwrap()
18662 .node
18663 .write_to(writer)
18664 .map_err(SerializeError::from)?;
18665 }
18666 if let Some(ref val) = self.show_legend_key {
18667 val.write_element("a:showLegendKey", writer)?;
18668 }
18669 #[cfg(feature = "extra-children")]
18670 {
18671 emit_idx += 1;
18672 }
18673 #[cfg(feature = "extra-children")]
18674 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18675 extra_iter
18676 .next()
18677 .unwrap()
18678 .node
18679 .write_to(writer)
18680 .map_err(SerializeError::from)?;
18681 }
18682 if let Some(ref val) = self.show_val {
18683 val.write_element("a:showVal", writer)?;
18684 }
18685 #[cfg(feature = "extra-children")]
18686 {
18687 emit_idx += 1;
18688 }
18689 #[cfg(feature = "extra-children")]
18690 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18691 extra_iter
18692 .next()
18693 .unwrap()
18694 .node
18695 .write_to(writer)
18696 .map_err(SerializeError::from)?;
18697 }
18698 if let Some(ref val) = self.show_cat_name {
18699 val.write_element("a:showCatName", writer)?;
18700 }
18701 #[cfg(feature = "extra-children")]
18702 {
18703 emit_idx += 1;
18704 }
18705 #[cfg(feature = "extra-children")]
18706 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18707 extra_iter
18708 .next()
18709 .unwrap()
18710 .node
18711 .write_to(writer)
18712 .map_err(SerializeError::from)?;
18713 }
18714 if let Some(ref val) = self.show_ser_name {
18715 val.write_element("a:showSerName", writer)?;
18716 }
18717 #[cfg(feature = "extra-children")]
18718 {
18719 emit_idx += 1;
18720 }
18721 #[cfg(feature = "extra-children")]
18722 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18723 extra_iter
18724 .next()
18725 .unwrap()
18726 .node
18727 .write_to(writer)
18728 .map_err(SerializeError::from)?;
18729 }
18730 if let Some(ref val) = self.show_percent {
18731 val.write_element("a:showPercent", writer)?;
18732 }
18733 #[cfg(feature = "extra-children")]
18734 {
18735 emit_idx += 1;
18736 }
18737 #[cfg(feature = "extra-children")]
18738 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18739 extra_iter
18740 .next()
18741 .unwrap()
18742 .node
18743 .write_to(writer)
18744 .map_err(SerializeError::from)?;
18745 }
18746 if let Some(ref val) = self.show_bubble_size {
18747 val.write_element("a:showBubbleSize", writer)?;
18748 }
18749 #[cfg(feature = "extra-children")]
18750 {
18751 emit_idx += 1;
18752 }
18753 #[cfg(feature = "extra-children")]
18754 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18755 extra_iter
18756 .next()
18757 .unwrap()
18758 .node
18759 .write_to(writer)
18760 .map_err(SerializeError::from)?;
18761 }
18762 if let Some(ref val) = self.separator {
18763 {
18764 let start = BytesStart::new("a:separator");
18765 writer.write_event(Event::Start(start))?;
18766 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
18767 writer.write_event(Event::End(BytesEnd::new("a:separator")))?;
18768 }
18769 }
18770 #[cfg(feature = "extra-children")]
18771 {
18772 emit_idx += 1;
18773 }
18774 #[cfg(feature = "extra-children")]
18775 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18776 extra_iter
18777 .next()
18778 .unwrap()
18779 .node
18780 .write_to(writer)
18781 .map_err(SerializeError::from)?;
18782 }
18783 if let Some(ref val) = self.show_leader_lines {
18784 val.write_element("a:showLeaderLines", writer)?;
18785 }
18786 #[cfg(feature = "extra-children")]
18787 {
18788 emit_idx += 1;
18789 }
18790 #[cfg(feature = "extra-children")]
18791 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18792 extra_iter
18793 .next()
18794 .unwrap()
18795 .node
18796 .write_to(writer)
18797 .map_err(SerializeError::from)?;
18798 }
18799 if let Some(ref val) = self.leader_lines {
18800 val.write_element("a:leaderLines", writer)?;
18801 }
18802 #[cfg(feature = "extra-children")]
18803 {
18804 emit_idx += 1;
18805 }
18806 #[cfg(feature = "extra-children")]
18807 for extra in extra_iter {
18808 extra.node.write_to(writer).map_err(SerializeError::from)?;
18809 }
18810 Ok(())
18811 }
18812
18813 fn is_empty_element(&self) -> bool {
18814 if self.num_fmt.is_some() {
18815 return false;
18816 }
18817 if self.sp_pr.is_some() {
18818 return false;
18819 }
18820 if self.tx_pr.is_some() {
18821 return false;
18822 }
18823 if self.d_lbl_pos.is_some() {
18824 return false;
18825 }
18826 if self.show_legend_key.is_some() {
18827 return false;
18828 }
18829 if self.show_val.is_some() {
18830 return false;
18831 }
18832 if self.show_cat_name.is_some() {
18833 return false;
18834 }
18835 if self.show_ser_name.is_some() {
18836 return false;
18837 }
18838 if self.show_percent.is_some() {
18839 return false;
18840 }
18841 if self.show_bubble_size.is_some() {
18842 return false;
18843 }
18844 if self.separator.is_some() {
18845 return false;
18846 }
18847 if self.show_leader_lines.is_some() {
18848 return false;
18849 }
18850 if self.leader_lines.is_some() {
18851 return false;
18852 }
18853 #[cfg(feature = "extra-children")]
18854 if !self.extra_children.is_empty() {
18855 return false;
18856 }
18857 true
18858 }
18859}
18860
18861impl ToXml for DataLabels {
18862 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
18863 #[cfg(feature = "extra-children")]
18864 let mut extra_iter = self.extra_children.iter().peekable();
18865 #[cfg(feature = "extra-children")]
18866 let mut emit_idx: usize = 0;
18867 #[cfg(feature = "dml-charts")]
18868 for item in &self.d_lbl {
18869 #[cfg(feature = "extra-children")]
18870 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18871 extra_iter
18872 .next()
18873 .unwrap()
18874 .node
18875 .write_to(writer)
18876 .map_err(SerializeError::from)?;
18877 }
18878 item.write_element("a:dLbl", writer)?;
18879 #[cfg(feature = "extra-children")]
18880 {
18881 emit_idx += 1;
18882 }
18883 }
18884 #[cfg(feature = "extra-children")]
18885 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18886 extra_iter
18887 .next()
18888 .unwrap()
18889 .node
18890 .write_to(writer)
18891 .map_err(SerializeError::from)?;
18892 }
18893 #[cfg(feature = "dml-charts")]
18894 if let Some(ref val) = self.delete {
18895 val.write_element("a:delete", writer)?;
18896 }
18897 #[cfg(feature = "extra-children")]
18898 {
18899 emit_idx += 1;
18900 }
18901 #[cfg(feature = "extra-children")]
18902 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18903 extra_iter
18904 .next()
18905 .unwrap()
18906 .node
18907 .write_to(writer)
18908 .map_err(SerializeError::from)?;
18909 }
18910 #[cfg(feature = "dml-charts")]
18911 if let Some(ref val) = self.num_fmt {
18912 val.write_element("a:numFmt", writer)?;
18913 }
18914 #[cfg(feature = "extra-children")]
18915 {
18916 emit_idx += 1;
18917 }
18918 #[cfg(feature = "extra-children")]
18919 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18920 extra_iter
18921 .next()
18922 .unwrap()
18923 .node
18924 .write_to(writer)
18925 .map_err(SerializeError::from)?;
18926 }
18927 #[cfg(feature = "dml-charts")]
18928 if let Some(ref val) = self.sp_pr {
18929 val.write_element("a:spPr", writer)?;
18930 }
18931 #[cfg(feature = "extra-children")]
18932 {
18933 emit_idx += 1;
18934 }
18935 #[cfg(feature = "extra-children")]
18936 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18937 extra_iter
18938 .next()
18939 .unwrap()
18940 .node
18941 .write_to(writer)
18942 .map_err(SerializeError::from)?;
18943 }
18944 #[cfg(feature = "dml-charts")]
18945 if let Some(ref val) = self.tx_pr {
18946 val.write_element("a:txPr", writer)?;
18947 }
18948 #[cfg(feature = "extra-children")]
18949 {
18950 emit_idx += 1;
18951 }
18952 #[cfg(feature = "extra-children")]
18953 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18954 extra_iter
18955 .next()
18956 .unwrap()
18957 .node
18958 .write_to(writer)
18959 .map_err(SerializeError::from)?;
18960 }
18961 #[cfg(feature = "dml-charts")]
18962 if let Some(ref val) = self.d_lbl_pos {
18963 val.write_element("a:dLblPos", writer)?;
18964 }
18965 #[cfg(feature = "extra-children")]
18966 {
18967 emit_idx += 1;
18968 }
18969 #[cfg(feature = "extra-children")]
18970 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18971 extra_iter
18972 .next()
18973 .unwrap()
18974 .node
18975 .write_to(writer)
18976 .map_err(SerializeError::from)?;
18977 }
18978 #[cfg(feature = "dml-charts")]
18979 if let Some(ref val) = self.show_legend_key {
18980 val.write_element("a:showLegendKey", writer)?;
18981 }
18982 #[cfg(feature = "extra-children")]
18983 {
18984 emit_idx += 1;
18985 }
18986 #[cfg(feature = "extra-children")]
18987 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
18988 extra_iter
18989 .next()
18990 .unwrap()
18991 .node
18992 .write_to(writer)
18993 .map_err(SerializeError::from)?;
18994 }
18995 #[cfg(feature = "dml-charts")]
18996 if let Some(ref val) = self.show_val {
18997 val.write_element("a:showVal", writer)?;
18998 }
18999 #[cfg(feature = "extra-children")]
19000 {
19001 emit_idx += 1;
19002 }
19003 #[cfg(feature = "extra-children")]
19004 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19005 extra_iter
19006 .next()
19007 .unwrap()
19008 .node
19009 .write_to(writer)
19010 .map_err(SerializeError::from)?;
19011 }
19012 #[cfg(feature = "dml-charts")]
19013 if let Some(ref val) = self.show_cat_name {
19014 val.write_element("a:showCatName", writer)?;
19015 }
19016 #[cfg(feature = "extra-children")]
19017 {
19018 emit_idx += 1;
19019 }
19020 #[cfg(feature = "extra-children")]
19021 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19022 extra_iter
19023 .next()
19024 .unwrap()
19025 .node
19026 .write_to(writer)
19027 .map_err(SerializeError::from)?;
19028 }
19029 #[cfg(feature = "dml-charts")]
19030 if let Some(ref val) = self.show_ser_name {
19031 val.write_element("a:showSerName", writer)?;
19032 }
19033 #[cfg(feature = "extra-children")]
19034 {
19035 emit_idx += 1;
19036 }
19037 #[cfg(feature = "extra-children")]
19038 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19039 extra_iter
19040 .next()
19041 .unwrap()
19042 .node
19043 .write_to(writer)
19044 .map_err(SerializeError::from)?;
19045 }
19046 #[cfg(feature = "dml-charts")]
19047 if let Some(ref val) = self.show_percent {
19048 val.write_element("a:showPercent", writer)?;
19049 }
19050 #[cfg(feature = "extra-children")]
19051 {
19052 emit_idx += 1;
19053 }
19054 #[cfg(feature = "extra-children")]
19055 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19056 extra_iter
19057 .next()
19058 .unwrap()
19059 .node
19060 .write_to(writer)
19061 .map_err(SerializeError::from)?;
19062 }
19063 #[cfg(feature = "dml-charts")]
19064 if let Some(ref val) = self.show_bubble_size {
19065 val.write_element("a:showBubbleSize", writer)?;
19066 }
19067 #[cfg(feature = "extra-children")]
19068 {
19069 emit_idx += 1;
19070 }
19071 #[cfg(feature = "extra-children")]
19072 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19073 extra_iter
19074 .next()
19075 .unwrap()
19076 .node
19077 .write_to(writer)
19078 .map_err(SerializeError::from)?;
19079 }
19080 #[cfg(feature = "dml-charts")]
19081 if let Some(ref val) = self.separator {
19082 {
19083 let start = BytesStart::new("a:separator");
19084 writer.write_event(Event::Start(start))?;
19085 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
19086 writer.write_event(Event::End(BytesEnd::new("a:separator")))?;
19087 }
19088 }
19089 #[cfg(feature = "extra-children")]
19090 {
19091 emit_idx += 1;
19092 }
19093 #[cfg(feature = "extra-children")]
19094 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19095 extra_iter
19096 .next()
19097 .unwrap()
19098 .node
19099 .write_to(writer)
19100 .map_err(SerializeError::from)?;
19101 }
19102 #[cfg(feature = "dml-charts")]
19103 if let Some(ref val) = self.show_leader_lines {
19104 val.write_element("a:showLeaderLines", writer)?;
19105 }
19106 #[cfg(feature = "extra-children")]
19107 {
19108 emit_idx += 1;
19109 }
19110 #[cfg(feature = "extra-children")]
19111 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19112 extra_iter
19113 .next()
19114 .unwrap()
19115 .node
19116 .write_to(writer)
19117 .map_err(SerializeError::from)?;
19118 }
19119 #[cfg(feature = "dml-charts")]
19120 if let Some(ref val) = self.leader_lines {
19121 val.write_element("a:leaderLines", writer)?;
19122 }
19123 #[cfg(feature = "extra-children")]
19124 {
19125 emit_idx += 1;
19126 }
19127 #[cfg(feature = "extra-children")]
19128 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19129 extra_iter
19130 .next()
19131 .unwrap()
19132 .node
19133 .write_to(writer)
19134 .map_err(SerializeError::from)?;
19135 }
19136 #[cfg(feature = "dml-charts")]
19137 if let Some(ref val) = self.ext_lst {
19138 val.write_element("a:extLst", writer)?;
19139 }
19140 #[cfg(feature = "extra-children")]
19141 {
19142 emit_idx += 1;
19143 }
19144 #[cfg(feature = "extra-children")]
19145 for extra in extra_iter {
19146 extra.node.write_to(writer).map_err(SerializeError::from)?;
19147 }
19148 Ok(())
19149 }
19150
19151 fn is_empty_element(&self) -> bool {
19152 #[cfg(feature = "dml-charts")]
19153 if !self.d_lbl.is_empty() {
19154 return false;
19155 }
19156 #[cfg(feature = "dml-charts")]
19157 if self.delete.is_some() {
19158 return false;
19159 }
19160 #[cfg(feature = "dml-charts")]
19161 if self.num_fmt.is_some() {
19162 return false;
19163 }
19164 #[cfg(feature = "dml-charts")]
19165 if self.sp_pr.is_some() {
19166 return false;
19167 }
19168 #[cfg(feature = "dml-charts")]
19169 if self.tx_pr.is_some() {
19170 return false;
19171 }
19172 #[cfg(feature = "dml-charts")]
19173 if self.d_lbl_pos.is_some() {
19174 return false;
19175 }
19176 #[cfg(feature = "dml-charts")]
19177 if self.show_legend_key.is_some() {
19178 return false;
19179 }
19180 #[cfg(feature = "dml-charts")]
19181 if self.show_val.is_some() {
19182 return false;
19183 }
19184 #[cfg(feature = "dml-charts")]
19185 if self.show_cat_name.is_some() {
19186 return false;
19187 }
19188 #[cfg(feature = "dml-charts")]
19189 if self.show_ser_name.is_some() {
19190 return false;
19191 }
19192 #[cfg(feature = "dml-charts")]
19193 if self.show_percent.is_some() {
19194 return false;
19195 }
19196 #[cfg(feature = "dml-charts")]
19197 if self.show_bubble_size.is_some() {
19198 return false;
19199 }
19200 #[cfg(feature = "dml-charts")]
19201 if self.separator.is_some() {
19202 return false;
19203 }
19204 #[cfg(feature = "dml-charts")]
19205 if self.show_leader_lines.is_some() {
19206 return false;
19207 }
19208 #[cfg(feature = "dml-charts")]
19209 if self.leader_lines.is_some() {
19210 return false;
19211 }
19212 #[cfg(feature = "dml-charts")]
19213 if self.ext_lst.is_some() {
19214 return false;
19215 }
19216 #[cfg(feature = "extra-children")]
19217 if !self.extra_children.is_empty() {
19218 return false;
19219 }
19220 true
19221 }
19222}
19223
19224impl ToXml for ChartMarkerStyle {
19225 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
19226 #[allow(unused_mut)]
19227 let mut start = start;
19228 #[cfg(feature = "dml-charts")]
19229 {
19230 let val = &self.value;
19231 {
19232 let s = val.to_string();
19233 start.push_attribute(("val", s.as_str()));
19234 }
19235 }
19236 #[cfg(feature = "extra-attrs")]
19237 for (key, value) in &self.extra_attrs {
19238 start.push_attribute((key.as_str(), value.as_str()));
19239 }
19240 start
19241 }
19242
19243 fn is_empty_element(&self) -> bool {
19244 true
19245 }
19246}
19247
19248impl ToXml for ChartMarkerSize {
19249 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
19250 #[allow(unused_mut)]
19251 let mut start = start;
19252 #[cfg(feature = "dml-charts")]
19253 if let Some(ref val) = self.value {
19254 {
19255 let s = val.to_string();
19256 start.push_attribute(("val", s.as_str()));
19257 }
19258 }
19259 #[cfg(feature = "extra-attrs")]
19260 for (key, value) in &self.extra_attrs {
19261 start.push_attribute((key.as_str(), value.as_str()));
19262 }
19263 start
19264 }
19265
19266 fn is_empty_element(&self) -> bool {
19267 true
19268 }
19269}
19270
19271impl ToXml for ChartMarker {
19272 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
19273 #[cfg(feature = "extra-children")]
19274 let mut extra_iter = self.extra_children.iter().peekable();
19275 #[cfg(feature = "extra-children")]
19276 let mut emit_idx: usize = 0;
19277 #[cfg(feature = "extra-children")]
19278 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19279 extra_iter
19280 .next()
19281 .unwrap()
19282 .node
19283 .write_to(writer)
19284 .map_err(SerializeError::from)?;
19285 }
19286 #[cfg(feature = "dml-charts")]
19287 if let Some(ref val) = self.symbol {
19288 val.write_element("a:symbol", writer)?;
19289 }
19290 #[cfg(feature = "extra-children")]
19291 {
19292 emit_idx += 1;
19293 }
19294 #[cfg(feature = "extra-children")]
19295 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19296 extra_iter
19297 .next()
19298 .unwrap()
19299 .node
19300 .write_to(writer)
19301 .map_err(SerializeError::from)?;
19302 }
19303 #[cfg(feature = "dml-charts")]
19304 if let Some(ref val) = self.size {
19305 val.write_element("a:size", writer)?;
19306 }
19307 #[cfg(feature = "extra-children")]
19308 {
19309 emit_idx += 1;
19310 }
19311 #[cfg(feature = "extra-children")]
19312 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19313 extra_iter
19314 .next()
19315 .unwrap()
19316 .node
19317 .write_to(writer)
19318 .map_err(SerializeError::from)?;
19319 }
19320 #[cfg(feature = "dml-charts")]
19321 if let Some(ref val) = self.sp_pr {
19322 val.write_element("a:spPr", writer)?;
19323 }
19324 #[cfg(feature = "extra-children")]
19325 {
19326 emit_idx += 1;
19327 }
19328 #[cfg(feature = "extra-children")]
19329 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19330 extra_iter
19331 .next()
19332 .unwrap()
19333 .node
19334 .write_to(writer)
19335 .map_err(SerializeError::from)?;
19336 }
19337 #[cfg(feature = "dml-charts")]
19338 if let Some(ref val) = self.ext_lst {
19339 val.write_element("a:extLst", writer)?;
19340 }
19341 #[cfg(feature = "extra-children")]
19342 {
19343 emit_idx += 1;
19344 }
19345 #[cfg(feature = "extra-children")]
19346 for extra in extra_iter {
19347 extra.node.write_to(writer).map_err(SerializeError::from)?;
19348 }
19349 Ok(())
19350 }
19351
19352 fn is_empty_element(&self) -> bool {
19353 #[cfg(feature = "dml-charts")]
19354 if self.symbol.is_some() {
19355 return false;
19356 }
19357 #[cfg(feature = "dml-charts")]
19358 if self.size.is_some() {
19359 return false;
19360 }
19361 #[cfg(feature = "dml-charts")]
19362 if self.sp_pr.is_some() {
19363 return false;
19364 }
19365 #[cfg(feature = "dml-charts")]
19366 if self.ext_lst.is_some() {
19367 return false;
19368 }
19369 #[cfg(feature = "extra-children")]
19370 if !self.extra_children.is_empty() {
19371 return false;
19372 }
19373 true
19374 }
19375}
19376
19377impl ToXml for DataPoint {
19378 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
19379 #[cfg(feature = "extra-children")]
19380 let mut extra_iter = self.extra_children.iter().peekable();
19381 #[cfg(feature = "extra-children")]
19382 let mut emit_idx: usize = 0;
19383 #[cfg(feature = "extra-children")]
19384 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19385 extra_iter
19386 .next()
19387 .unwrap()
19388 .node
19389 .write_to(writer)
19390 .map_err(SerializeError::from)?;
19391 }
19392 #[cfg(feature = "dml-charts")]
19393 {
19394 let val = &self.idx;
19395 val.write_element("a:idx", writer)?;
19396 }
19397 #[cfg(feature = "extra-children")]
19398 {
19399 emit_idx += 1;
19400 }
19401 #[cfg(feature = "extra-children")]
19402 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19403 extra_iter
19404 .next()
19405 .unwrap()
19406 .node
19407 .write_to(writer)
19408 .map_err(SerializeError::from)?;
19409 }
19410 #[cfg(feature = "dml-charts")]
19411 if let Some(ref val) = self.invert_if_negative {
19412 val.write_element("a:invertIfNegative", writer)?;
19413 }
19414 #[cfg(feature = "extra-children")]
19415 {
19416 emit_idx += 1;
19417 }
19418 #[cfg(feature = "extra-children")]
19419 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19420 extra_iter
19421 .next()
19422 .unwrap()
19423 .node
19424 .write_to(writer)
19425 .map_err(SerializeError::from)?;
19426 }
19427 #[cfg(feature = "dml-charts")]
19428 if let Some(ref val) = self.marker {
19429 val.write_element("a:marker", writer)?;
19430 }
19431 #[cfg(feature = "extra-children")]
19432 {
19433 emit_idx += 1;
19434 }
19435 #[cfg(feature = "extra-children")]
19436 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19437 extra_iter
19438 .next()
19439 .unwrap()
19440 .node
19441 .write_to(writer)
19442 .map_err(SerializeError::from)?;
19443 }
19444 #[cfg(feature = "dml-charts")]
19445 if let Some(ref val) = self.bubble3_d {
19446 val.write_element("a:bubble3D", writer)?;
19447 }
19448 #[cfg(feature = "extra-children")]
19449 {
19450 emit_idx += 1;
19451 }
19452 #[cfg(feature = "extra-children")]
19453 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19454 extra_iter
19455 .next()
19456 .unwrap()
19457 .node
19458 .write_to(writer)
19459 .map_err(SerializeError::from)?;
19460 }
19461 #[cfg(feature = "dml-charts")]
19462 if let Some(ref val) = self.explosion {
19463 val.write_element("a:explosion", writer)?;
19464 }
19465 #[cfg(feature = "extra-children")]
19466 {
19467 emit_idx += 1;
19468 }
19469 #[cfg(feature = "extra-children")]
19470 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19471 extra_iter
19472 .next()
19473 .unwrap()
19474 .node
19475 .write_to(writer)
19476 .map_err(SerializeError::from)?;
19477 }
19478 #[cfg(feature = "dml-charts")]
19479 if let Some(ref val) = self.sp_pr {
19480 val.write_element("a:spPr", writer)?;
19481 }
19482 #[cfg(feature = "extra-children")]
19483 {
19484 emit_idx += 1;
19485 }
19486 #[cfg(feature = "extra-children")]
19487 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19488 extra_iter
19489 .next()
19490 .unwrap()
19491 .node
19492 .write_to(writer)
19493 .map_err(SerializeError::from)?;
19494 }
19495 #[cfg(feature = "dml-charts")]
19496 if let Some(ref val) = self.picture_options {
19497 val.write_element("a:pictureOptions", writer)?;
19498 }
19499 #[cfg(feature = "extra-children")]
19500 {
19501 emit_idx += 1;
19502 }
19503 #[cfg(feature = "extra-children")]
19504 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19505 extra_iter
19506 .next()
19507 .unwrap()
19508 .node
19509 .write_to(writer)
19510 .map_err(SerializeError::from)?;
19511 }
19512 #[cfg(feature = "dml-charts")]
19513 if let Some(ref val) = self.ext_lst {
19514 val.write_element("a:extLst", writer)?;
19515 }
19516 #[cfg(feature = "extra-children")]
19517 {
19518 emit_idx += 1;
19519 }
19520 #[cfg(feature = "extra-children")]
19521 for extra in extra_iter {
19522 extra.node.write_to(writer).map_err(SerializeError::from)?;
19523 }
19524 Ok(())
19525 }
19526
19527 fn is_empty_element(&self) -> bool {
19528 #[cfg(feature = "dml-charts")]
19529 return false;
19530 #[cfg(feature = "dml-charts")]
19531 if self.invert_if_negative.is_some() {
19532 return false;
19533 }
19534 #[cfg(feature = "dml-charts")]
19535 if self.marker.is_some() {
19536 return false;
19537 }
19538 #[cfg(feature = "dml-charts")]
19539 if self.bubble3_d.is_some() {
19540 return false;
19541 }
19542 #[cfg(feature = "dml-charts")]
19543 if self.explosion.is_some() {
19544 return false;
19545 }
19546 #[cfg(feature = "dml-charts")]
19547 if self.sp_pr.is_some() {
19548 return false;
19549 }
19550 #[cfg(feature = "dml-charts")]
19551 if self.picture_options.is_some() {
19552 return false;
19553 }
19554 #[cfg(feature = "dml-charts")]
19555 if self.ext_lst.is_some() {
19556 return false;
19557 }
19558 #[cfg(feature = "extra-children")]
19559 if !self.extra_children.is_empty() {
19560 return false;
19561 }
19562 true
19563 }
19564}
19565
19566impl ToXml for TrendlineType {
19567 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
19568 #[allow(unused_mut)]
19569 let mut start = start;
19570 #[cfg(feature = "dml-charts")]
19571 if let Some(ref val) = self.value {
19572 {
19573 let s = val.to_string();
19574 start.push_attribute(("val", s.as_str()));
19575 }
19576 }
19577 #[cfg(feature = "extra-attrs")]
19578 for (key, value) in &self.extra_attrs {
19579 start.push_attribute((key.as_str(), value.as_str()));
19580 }
19581 start
19582 }
19583
19584 fn is_empty_element(&self) -> bool {
19585 true
19586 }
19587}
19588
19589impl ToXml for TrendlineOrder {
19590 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
19591 #[allow(unused_mut)]
19592 let mut start = start;
19593 #[cfg(feature = "dml-charts")]
19594 if let Some(ref val) = self.value {
19595 {
19596 let s = val.to_string();
19597 start.push_attribute(("val", s.as_str()));
19598 }
19599 }
19600 #[cfg(feature = "extra-attrs")]
19601 for (key, value) in &self.extra_attrs {
19602 start.push_attribute((key.as_str(), value.as_str()));
19603 }
19604 start
19605 }
19606
19607 fn is_empty_element(&self) -> bool {
19608 true
19609 }
19610}
19611
19612impl ToXml for TrendlinePeriod {
19613 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
19614 #[allow(unused_mut)]
19615 let mut start = start;
19616 #[cfg(feature = "dml-charts")]
19617 if let Some(ref val) = self.value {
19618 {
19619 let s = val.to_string();
19620 start.push_attribute(("val", s.as_str()));
19621 }
19622 }
19623 #[cfg(feature = "extra-attrs")]
19624 for (key, value) in &self.extra_attrs {
19625 start.push_attribute((key.as_str(), value.as_str()));
19626 }
19627 start
19628 }
19629
19630 fn is_empty_element(&self) -> bool {
19631 true
19632 }
19633}
19634
19635impl ToXml for TrendlineLabel {
19636 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
19637 #[cfg(feature = "extra-children")]
19638 let mut extra_iter = self.extra_children.iter().peekable();
19639 #[cfg(feature = "extra-children")]
19640 let mut emit_idx: usize = 0;
19641 #[cfg(feature = "extra-children")]
19642 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19643 extra_iter
19644 .next()
19645 .unwrap()
19646 .node
19647 .write_to(writer)
19648 .map_err(SerializeError::from)?;
19649 }
19650 #[cfg(feature = "dml-charts")]
19651 if let Some(ref val) = self.layout {
19652 val.write_element("a:layout", writer)?;
19653 }
19654 #[cfg(feature = "extra-children")]
19655 {
19656 emit_idx += 1;
19657 }
19658 #[cfg(feature = "extra-children")]
19659 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19660 extra_iter
19661 .next()
19662 .unwrap()
19663 .node
19664 .write_to(writer)
19665 .map_err(SerializeError::from)?;
19666 }
19667 #[cfg(feature = "dml-charts")]
19668 if let Some(ref val) = self.tx {
19669 val.write_element("a:tx", writer)?;
19670 }
19671 #[cfg(feature = "extra-children")]
19672 {
19673 emit_idx += 1;
19674 }
19675 #[cfg(feature = "extra-children")]
19676 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19677 extra_iter
19678 .next()
19679 .unwrap()
19680 .node
19681 .write_to(writer)
19682 .map_err(SerializeError::from)?;
19683 }
19684 #[cfg(feature = "dml-charts")]
19685 if let Some(ref val) = self.num_fmt {
19686 val.write_element("a:numFmt", writer)?;
19687 }
19688 #[cfg(feature = "extra-children")]
19689 {
19690 emit_idx += 1;
19691 }
19692 #[cfg(feature = "extra-children")]
19693 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19694 extra_iter
19695 .next()
19696 .unwrap()
19697 .node
19698 .write_to(writer)
19699 .map_err(SerializeError::from)?;
19700 }
19701 #[cfg(feature = "dml-charts")]
19702 if let Some(ref val) = self.sp_pr {
19703 val.write_element("a:spPr", writer)?;
19704 }
19705 #[cfg(feature = "extra-children")]
19706 {
19707 emit_idx += 1;
19708 }
19709 #[cfg(feature = "extra-children")]
19710 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19711 extra_iter
19712 .next()
19713 .unwrap()
19714 .node
19715 .write_to(writer)
19716 .map_err(SerializeError::from)?;
19717 }
19718 #[cfg(feature = "dml-charts")]
19719 if let Some(ref val) = self.tx_pr {
19720 val.write_element("a:txPr", writer)?;
19721 }
19722 #[cfg(feature = "extra-children")]
19723 {
19724 emit_idx += 1;
19725 }
19726 #[cfg(feature = "extra-children")]
19727 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19728 extra_iter
19729 .next()
19730 .unwrap()
19731 .node
19732 .write_to(writer)
19733 .map_err(SerializeError::from)?;
19734 }
19735 #[cfg(feature = "dml-charts")]
19736 if let Some(ref val) = self.ext_lst {
19737 val.write_element("a:extLst", writer)?;
19738 }
19739 #[cfg(feature = "extra-children")]
19740 {
19741 emit_idx += 1;
19742 }
19743 #[cfg(feature = "extra-children")]
19744 for extra in extra_iter {
19745 extra.node.write_to(writer).map_err(SerializeError::from)?;
19746 }
19747 Ok(())
19748 }
19749
19750 fn is_empty_element(&self) -> bool {
19751 #[cfg(feature = "dml-charts")]
19752 if self.layout.is_some() {
19753 return false;
19754 }
19755 #[cfg(feature = "dml-charts")]
19756 if self.tx.is_some() {
19757 return false;
19758 }
19759 #[cfg(feature = "dml-charts")]
19760 if self.num_fmt.is_some() {
19761 return false;
19762 }
19763 #[cfg(feature = "dml-charts")]
19764 if self.sp_pr.is_some() {
19765 return false;
19766 }
19767 #[cfg(feature = "dml-charts")]
19768 if self.tx_pr.is_some() {
19769 return false;
19770 }
19771 #[cfg(feature = "dml-charts")]
19772 if self.ext_lst.is_some() {
19773 return false;
19774 }
19775 #[cfg(feature = "extra-children")]
19776 if !self.extra_children.is_empty() {
19777 return false;
19778 }
19779 true
19780 }
19781}
19782
19783impl ToXml for Trendline {
19784 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
19785 #[cfg(feature = "extra-children")]
19786 let mut extra_iter = self.extra_children.iter().peekable();
19787 #[cfg(feature = "extra-children")]
19788 let mut emit_idx: usize = 0;
19789 #[cfg(feature = "extra-children")]
19790 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19791 extra_iter
19792 .next()
19793 .unwrap()
19794 .node
19795 .write_to(writer)
19796 .map_err(SerializeError::from)?;
19797 }
19798 #[cfg(feature = "dml-charts")]
19799 if let Some(ref val) = self.name {
19800 {
19801 let start = BytesStart::new("a:name");
19802 writer.write_event(Event::Start(start))?;
19803 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
19804 writer.write_event(Event::End(BytesEnd::new("a:name")))?;
19805 }
19806 }
19807 #[cfg(feature = "extra-children")]
19808 {
19809 emit_idx += 1;
19810 }
19811 #[cfg(feature = "extra-children")]
19812 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19813 extra_iter
19814 .next()
19815 .unwrap()
19816 .node
19817 .write_to(writer)
19818 .map_err(SerializeError::from)?;
19819 }
19820 #[cfg(feature = "dml-charts")]
19821 if let Some(ref val) = self.sp_pr {
19822 val.write_element("a:spPr", writer)?;
19823 }
19824 #[cfg(feature = "extra-children")]
19825 {
19826 emit_idx += 1;
19827 }
19828 #[cfg(feature = "extra-children")]
19829 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19830 extra_iter
19831 .next()
19832 .unwrap()
19833 .node
19834 .write_to(writer)
19835 .map_err(SerializeError::from)?;
19836 }
19837 #[cfg(feature = "dml-charts")]
19838 {
19839 let val = &self.trendline_type;
19840 val.write_element("a:trendlineType", writer)?;
19841 }
19842 #[cfg(feature = "extra-children")]
19843 {
19844 emit_idx += 1;
19845 }
19846 #[cfg(feature = "extra-children")]
19847 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19848 extra_iter
19849 .next()
19850 .unwrap()
19851 .node
19852 .write_to(writer)
19853 .map_err(SerializeError::from)?;
19854 }
19855 #[cfg(feature = "dml-charts")]
19856 if let Some(ref val) = self.order {
19857 val.write_element("a:order", writer)?;
19858 }
19859 #[cfg(feature = "extra-children")]
19860 {
19861 emit_idx += 1;
19862 }
19863 #[cfg(feature = "extra-children")]
19864 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19865 extra_iter
19866 .next()
19867 .unwrap()
19868 .node
19869 .write_to(writer)
19870 .map_err(SerializeError::from)?;
19871 }
19872 #[cfg(feature = "dml-charts")]
19873 if let Some(ref val) = self.period {
19874 val.write_element("a:period", writer)?;
19875 }
19876 #[cfg(feature = "extra-children")]
19877 {
19878 emit_idx += 1;
19879 }
19880 #[cfg(feature = "extra-children")]
19881 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19882 extra_iter
19883 .next()
19884 .unwrap()
19885 .node
19886 .write_to(writer)
19887 .map_err(SerializeError::from)?;
19888 }
19889 #[cfg(feature = "dml-charts")]
19890 if let Some(ref val) = self.forward {
19891 val.write_element("a:forward", writer)?;
19892 }
19893 #[cfg(feature = "extra-children")]
19894 {
19895 emit_idx += 1;
19896 }
19897 #[cfg(feature = "extra-children")]
19898 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19899 extra_iter
19900 .next()
19901 .unwrap()
19902 .node
19903 .write_to(writer)
19904 .map_err(SerializeError::from)?;
19905 }
19906 #[cfg(feature = "dml-charts")]
19907 if let Some(ref val) = self.backward {
19908 val.write_element("a:backward", writer)?;
19909 }
19910 #[cfg(feature = "extra-children")]
19911 {
19912 emit_idx += 1;
19913 }
19914 #[cfg(feature = "extra-children")]
19915 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19916 extra_iter
19917 .next()
19918 .unwrap()
19919 .node
19920 .write_to(writer)
19921 .map_err(SerializeError::from)?;
19922 }
19923 #[cfg(feature = "dml-charts")]
19924 if let Some(ref val) = self.intercept {
19925 val.write_element("a:intercept", writer)?;
19926 }
19927 #[cfg(feature = "extra-children")]
19928 {
19929 emit_idx += 1;
19930 }
19931 #[cfg(feature = "extra-children")]
19932 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19933 extra_iter
19934 .next()
19935 .unwrap()
19936 .node
19937 .write_to(writer)
19938 .map_err(SerializeError::from)?;
19939 }
19940 #[cfg(feature = "dml-charts")]
19941 if let Some(ref val) = self.disp_r_sqr {
19942 val.write_element("a:dispRSqr", writer)?;
19943 }
19944 #[cfg(feature = "extra-children")]
19945 {
19946 emit_idx += 1;
19947 }
19948 #[cfg(feature = "extra-children")]
19949 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19950 extra_iter
19951 .next()
19952 .unwrap()
19953 .node
19954 .write_to(writer)
19955 .map_err(SerializeError::from)?;
19956 }
19957 #[cfg(feature = "dml-charts")]
19958 if let Some(ref val) = self.disp_eq {
19959 val.write_element("a:dispEq", writer)?;
19960 }
19961 #[cfg(feature = "extra-children")]
19962 {
19963 emit_idx += 1;
19964 }
19965 #[cfg(feature = "extra-children")]
19966 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19967 extra_iter
19968 .next()
19969 .unwrap()
19970 .node
19971 .write_to(writer)
19972 .map_err(SerializeError::from)?;
19973 }
19974 #[cfg(feature = "dml-charts")]
19975 if let Some(ref val) = self.trendline_lbl {
19976 val.write_element("a:trendlineLbl", writer)?;
19977 }
19978 #[cfg(feature = "extra-children")]
19979 {
19980 emit_idx += 1;
19981 }
19982 #[cfg(feature = "extra-children")]
19983 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
19984 extra_iter
19985 .next()
19986 .unwrap()
19987 .node
19988 .write_to(writer)
19989 .map_err(SerializeError::from)?;
19990 }
19991 #[cfg(feature = "dml-charts")]
19992 if let Some(ref val) = self.ext_lst {
19993 val.write_element("a:extLst", writer)?;
19994 }
19995 #[cfg(feature = "extra-children")]
19996 {
19997 emit_idx += 1;
19998 }
19999 #[cfg(feature = "extra-children")]
20000 for extra in extra_iter {
20001 extra.node.write_to(writer).map_err(SerializeError::from)?;
20002 }
20003 Ok(())
20004 }
20005
20006 fn is_empty_element(&self) -> bool {
20007 #[cfg(feature = "dml-charts")]
20008 if self.name.is_some() {
20009 return false;
20010 }
20011 #[cfg(feature = "dml-charts")]
20012 if self.sp_pr.is_some() {
20013 return false;
20014 }
20015 #[cfg(feature = "dml-charts")]
20016 return false;
20017 #[cfg(feature = "dml-charts")]
20018 if self.order.is_some() {
20019 return false;
20020 }
20021 #[cfg(feature = "dml-charts")]
20022 if self.period.is_some() {
20023 return false;
20024 }
20025 #[cfg(feature = "dml-charts")]
20026 if self.forward.is_some() {
20027 return false;
20028 }
20029 #[cfg(feature = "dml-charts")]
20030 if self.backward.is_some() {
20031 return false;
20032 }
20033 #[cfg(feature = "dml-charts")]
20034 if self.intercept.is_some() {
20035 return false;
20036 }
20037 #[cfg(feature = "dml-charts")]
20038 if self.disp_r_sqr.is_some() {
20039 return false;
20040 }
20041 #[cfg(feature = "dml-charts")]
20042 if self.disp_eq.is_some() {
20043 return false;
20044 }
20045 #[cfg(feature = "dml-charts")]
20046 if self.trendline_lbl.is_some() {
20047 return false;
20048 }
20049 #[cfg(feature = "dml-charts")]
20050 if self.ext_lst.is_some() {
20051 return false;
20052 }
20053 #[cfg(feature = "extra-children")]
20054 if !self.extra_children.is_empty() {
20055 return false;
20056 }
20057 true
20058 }
20059}
20060
20061impl ToXml for ErrorDirection {
20062 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
20063 #[allow(unused_mut)]
20064 let mut start = start;
20065 #[cfg(feature = "dml-charts")]
20066 {
20067 let val = &self.value;
20068 {
20069 let s = val.to_string();
20070 start.push_attribute(("val", s.as_str()));
20071 }
20072 }
20073 #[cfg(feature = "extra-attrs")]
20074 for (key, value) in &self.extra_attrs {
20075 start.push_attribute((key.as_str(), value.as_str()));
20076 }
20077 start
20078 }
20079
20080 fn is_empty_element(&self) -> bool {
20081 true
20082 }
20083}
20084
20085impl ToXml for ErrorBarType {
20086 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
20087 #[allow(unused_mut)]
20088 let mut start = start;
20089 #[cfg(feature = "dml-charts")]
20090 if let Some(ref val) = self.value {
20091 {
20092 let s = val.to_string();
20093 start.push_attribute(("val", s.as_str()));
20094 }
20095 }
20096 #[cfg(feature = "extra-attrs")]
20097 for (key, value) in &self.extra_attrs {
20098 start.push_attribute((key.as_str(), value.as_str()));
20099 }
20100 start
20101 }
20102
20103 fn is_empty_element(&self) -> bool {
20104 true
20105 }
20106}
20107
20108impl ToXml for ErrorValueType {
20109 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
20110 #[allow(unused_mut)]
20111 let mut start = start;
20112 #[cfg(feature = "dml-charts")]
20113 if let Some(ref val) = self.value {
20114 {
20115 let s = val.to_string();
20116 start.push_attribute(("val", s.as_str()));
20117 }
20118 }
20119 #[cfg(feature = "extra-attrs")]
20120 for (key, value) in &self.extra_attrs {
20121 start.push_attribute((key.as_str(), value.as_str()));
20122 }
20123 start
20124 }
20125
20126 fn is_empty_element(&self) -> bool {
20127 true
20128 }
20129}
20130
20131impl ToXml for ErrorBars {
20132 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20133 #[cfg(feature = "extra-children")]
20134 let mut extra_iter = self.extra_children.iter().peekable();
20135 #[cfg(feature = "extra-children")]
20136 let mut emit_idx: usize = 0;
20137 #[cfg(feature = "extra-children")]
20138 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20139 extra_iter
20140 .next()
20141 .unwrap()
20142 .node
20143 .write_to(writer)
20144 .map_err(SerializeError::from)?;
20145 }
20146 #[cfg(feature = "dml-charts")]
20147 if let Some(ref val) = self.err_dir {
20148 val.write_element("a:errDir", writer)?;
20149 }
20150 #[cfg(feature = "extra-children")]
20151 {
20152 emit_idx += 1;
20153 }
20154 #[cfg(feature = "extra-children")]
20155 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20156 extra_iter
20157 .next()
20158 .unwrap()
20159 .node
20160 .write_to(writer)
20161 .map_err(SerializeError::from)?;
20162 }
20163 #[cfg(feature = "dml-charts")]
20164 {
20165 let val = &self.err_bar_type;
20166 val.write_element("a:errBarType", writer)?;
20167 }
20168 #[cfg(feature = "extra-children")]
20169 {
20170 emit_idx += 1;
20171 }
20172 #[cfg(feature = "extra-children")]
20173 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20174 extra_iter
20175 .next()
20176 .unwrap()
20177 .node
20178 .write_to(writer)
20179 .map_err(SerializeError::from)?;
20180 }
20181 #[cfg(feature = "dml-charts")]
20182 {
20183 let val = &self.err_val_type;
20184 val.write_element("a:errValType", writer)?;
20185 }
20186 #[cfg(feature = "extra-children")]
20187 {
20188 emit_idx += 1;
20189 }
20190 #[cfg(feature = "extra-children")]
20191 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20192 extra_iter
20193 .next()
20194 .unwrap()
20195 .node
20196 .write_to(writer)
20197 .map_err(SerializeError::from)?;
20198 }
20199 #[cfg(feature = "dml-charts")]
20200 if let Some(ref val) = self.no_end_cap {
20201 val.write_element("a:noEndCap", writer)?;
20202 }
20203 #[cfg(feature = "extra-children")]
20204 {
20205 emit_idx += 1;
20206 }
20207 #[cfg(feature = "extra-children")]
20208 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20209 extra_iter
20210 .next()
20211 .unwrap()
20212 .node
20213 .write_to(writer)
20214 .map_err(SerializeError::from)?;
20215 }
20216 #[cfg(feature = "dml-charts")]
20217 if let Some(ref val) = self.plus {
20218 val.write_element("a:plus", writer)?;
20219 }
20220 #[cfg(feature = "extra-children")]
20221 {
20222 emit_idx += 1;
20223 }
20224 #[cfg(feature = "extra-children")]
20225 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20226 extra_iter
20227 .next()
20228 .unwrap()
20229 .node
20230 .write_to(writer)
20231 .map_err(SerializeError::from)?;
20232 }
20233 #[cfg(feature = "dml-charts")]
20234 if let Some(ref val) = self.minus {
20235 val.write_element("a:minus", writer)?;
20236 }
20237 #[cfg(feature = "extra-children")]
20238 {
20239 emit_idx += 1;
20240 }
20241 #[cfg(feature = "extra-children")]
20242 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20243 extra_iter
20244 .next()
20245 .unwrap()
20246 .node
20247 .write_to(writer)
20248 .map_err(SerializeError::from)?;
20249 }
20250 #[cfg(feature = "dml-charts")]
20251 if let Some(ref val) = self.value {
20252 val.write_element("a:val", writer)?;
20253 }
20254 #[cfg(feature = "extra-children")]
20255 {
20256 emit_idx += 1;
20257 }
20258 #[cfg(feature = "extra-children")]
20259 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20260 extra_iter
20261 .next()
20262 .unwrap()
20263 .node
20264 .write_to(writer)
20265 .map_err(SerializeError::from)?;
20266 }
20267 #[cfg(feature = "dml-charts")]
20268 if let Some(ref val) = self.sp_pr {
20269 val.write_element("a:spPr", writer)?;
20270 }
20271 #[cfg(feature = "extra-children")]
20272 {
20273 emit_idx += 1;
20274 }
20275 #[cfg(feature = "extra-children")]
20276 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20277 extra_iter
20278 .next()
20279 .unwrap()
20280 .node
20281 .write_to(writer)
20282 .map_err(SerializeError::from)?;
20283 }
20284 #[cfg(feature = "dml-charts")]
20285 if let Some(ref val) = self.ext_lst {
20286 val.write_element("a:extLst", writer)?;
20287 }
20288 #[cfg(feature = "extra-children")]
20289 {
20290 emit_idx += 1;
20291 }
20292 #[cfg(feature = "extra-children")]
20293 for extra in extra_iter {
20294 extra.node.write_to(writer).map_err(SerializeError::from)?;
20295 }
20296 Ok(())
20297 }
20298
20299 fn is_empty_element(&self) -> bool {
20300 #[cfg(feature = "dml-charts")]
20301 if self.err_dir.is_some() {
20302 return false;
20303 }
20304 #[cfg(feature = "dml-charts")]
20305 return false;
20306 #[cfg(feature = "dml-charts")]
20307 return false;
20308 #[cfg(feature = "dml-charts")]
20309 if self.no_end_cap.is_some() {
20310 return false;
20311 }
20312 #[cfg(feature = "dml-charts")]
20313 if self.plus.is_some() {
20314 return false;
20315 }
20316 #[cfg(feature = "dml-charts")]
20317 if self.minus.is_some() {
20318 return false;
20319 }
20320 #[cfg(feature = "dml-charts")]
20321 if self.value.is_some() {
20322 return false;
20323 }
20324 #[cfg(feature = "dml-charts")]
20325 if self.sp_pr.is_some() {
20326 return false;
20327 }
20328 #[cfg(feature = "dml-charts")]
20329 if self.ext_lst.is_some() {
20330 return false;
20331 }
20332 #[cfg(feature = "extra-children")]
20333 if !self.extra_children.is_empty() {
20334 return false;
20335 }
20336 true
20337 }
20338}
20339
20340impl ToXml for UpDownBar {
20341 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20342 #[cfg(feature = "extra-children")]
20343 let mut extra_iter = self.extra_children.iter().peekable();
20344 #[cfg(feature = "extra-children")]
20345 let mut emit_idx: usize = 0;
20346 #[cfg(feature = "extra-children")]
20347 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20348 extra_iter
20349 .next()
20350 .unwrap()
20351 .node
20352 .write_to(writer)
20353 .map_err(SerializeError::from)?;
20354 }
20355 #[cfg(feature = "dml-charts")]
20356 if let Some(ref val) = self.sp_pr {
20357 val.write_element("a:spPr", writer)?;
20358 }
20359 #[cfg(feature = "extra-children")]
20360 {
20361 emit_idx += 1;
20362 }
20363 #[cfg(feature = "extra-children")]
20364 for extra in extra_iter {
20365 extra.node.write_to(writer).map_err(SerializeError::from)?;
20366 }
20367 Ok(())
20368 }
20369
20370 fn is_empty_element(&self) -> bool {
20371 #[cfg(feature = "dml-charts")]
20372 if self.sp_pr.is_some() {
20373 return false;
20374 }
20375 #[cfg(feature = "extra-children")]
20376 if !self.extra_children.is_empty() {
20377 return false;
20378 }
20379 true
20380 }
20381}
20382
20383impl ToXml for UpDownBars {
20384 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20385 #[cfg(feature = "extra-children")]
20386 let mut extra_iter = self.extra_children.iter().peekable();
20387 #[cfg(feature = "extra-children")]
20388 let mut emit_idx: usize = 0;
20389 #[cfg(feature = "extra-children")]
20390 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20391 extra_iter
20392 .next()
20393 .unwrap()
20394 .node
20395 .write_to(writer)
20396 .map_err(SerializeError::from)?;
20397 }
20398 #[cfg(feature = "dml-charts")]
20399 if let Some(ref val) = self.gap_width {
20400 val.write_element("a:gapWidth", writer)?;
20401 }
20402 #[cfg(feature = "extra-children")]
20403 {
20404 emit_idx += 1;
20405 }
20406 #[cfg(feature = "extra-children")]
20407 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20408 extra_iter
20409 .next()
20410 .unwrap()
20411 .node
20412 .write_to(writer)
20413 .map_err(SerializeError::from)?;
20414 }
20415 #[cfg(feature = "dml-charts")]
20416 if let Some(ref val) = self.up_bars {
20417 val.write_element("a:upBars", writer)?;
20418 }
20419 #[cfg(feature = "extra-children")]
20420 {
20421 emit_idx += 1;
20422 }
20423 #[cfg(feature = "extra-children")]
20424 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20425 extra_iter
20426 .next()
20427 .unwrap()
20428 .node
20429 .write_to(writer)
20430 .map_err(SerializeError::from)?;
20431 }
20432 #[cfg(feature = "dml-charts")]
20433 if let Some(ref val) = self.down_bars {
20434 val.write_element("a:downBars", writer)?;
20435 }
20436 #[cfg(feature = "extra-children")]
20437 {
20438 emit_idx += 1;
20439 }
20440 #[cfg(feature = "extra-children")]
20441 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20442 extra_iter
20443 .next()
20444 .unwrap()
20445 .node
20446 .write_to(writer)
20447 .map_err(SerializeError::from)?;
20448 }
20449 #[cfg(feature = "dml-charts")]
20450 if let Some(ref val) = self.ext_lst {
20451 val.write_element("a:extLst", writer)?;
20452 }
20453 #[cfg(feature = "extra-children")]
20454 {
20455 emit_idx += 1;
20456 }
20457 #[cfg(feature = "extra-children")]
20458 for extra in extra_iter {
20459 extra.node.write_to(writer).map_err(SerializeError::from)?;
20460 }
20461 Ok(())
20462 }
20463
20464 fn is_empty_element(&self) -> bool {
20465 #[cfg(feature = "dml-charts")]
20466 if self.gap_width.is_some() {
20467 return false;
20468 }
20469 #[cfg(feature = "dml-charts")]
20470 if self.up_bars.is_some() {
20471 return false;
20472 }
20473 #[cfg(feature = "dml-charts")]
20474 if self.down_bars.is_some() {
20475 return false;
20476 }
20477 #[cfg(feature = "dml-charts")]
20478 if self.ext_lst.is_some() {
20479 return false;
20480 }
20481 #[cfg(feature = "extra-children")]
20482 if !self.extra_children.is_empty() {
20483 return false;
20484 }
20485 true
20486 }
20487}
20488
20489impl ToXml for EGSerShared {
20490 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20491 #[cfg(feature = "extra-children")]
20492 let mut extra_iter = self.extra_children.iter().peekable();
20493 #[cfg(feature = "extra-children")]
20494 let mut emit_idx: usize = 0;
20495 #[cfg(feature = "extra-children")]
20496 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20497 extra_iter
20498 .next()
20499 .unwrap()
20500 .node
20501 .write_to(writer)
20502 .map_err(SerializeError::from)?;
20503 }
20504 {
20505 let val = &self.idx;
20506 val.write_element("a:idx", writer)?;
20507 }
20508 #[cfg(feature = "extra-children")]
20509 {
20510 emit_idx += 1;
20511 }
20512 #[cfg(feature = "extra-children")]
20513 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20514 extra_iter
20515 .next()
20516 .unwrap()
20517 .node
20518 .write_to(writer)
20519 .map_err(SerializeError::from)?;
20520 }
20521 {
20522 let val = &self.order;
20523 val.write_element("a:order", writer)?;
20524 }
20525 #[cfg(feature = "extra-children")]
20526 {
20527 emit_idx += 1;
20528 }
20529 #[cfg(feature = "extra-children")]
20530 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20531 extra_iter
20532 .next()
20533 .unwrap()
20534 .node
20535 .write_to(writer)
20536 .map_err(SerializeError::from)?;
20537 }
20538 if let Some(ref val) = self.tx {
20539 val.write_element("a:tx", writer)?;
20540 }
20541 #[cfg(feature = "extra-children")]
20542 {
20543 emit_idx += 1;
20544 }
20545 #[cfg(feature = "extra-children")]
20546 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20547 extra_iter
20548 .next()
20549 .unwrap()
20550 .node
20551 .write_to(writer)
20552 .map_err(SerializeError::from)?;
20553 }
20554 if let Some(ref val) = self.sp_pr {
20555 val.write_element("a:spPr", writer)?;
20556 }
20557 #[cfg(feature = "extra-children")]
20558 {
20559 emit_idx += 1;
20560 }
20561 #[cfg(feature = "extra-children")]
20562 for extra in extra_iter {
20563 extra.node.write_to(writer).map_err(SerializeError::from)?;
20564 }
20565 Ok(())
20566 }
20567
20568 fn is_empty_element(&self) -> bool {
20569 false
20570 }
20571}
20572
20573impl ToXml for LineSeries {
20574 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20575 #[cfg(feature = "extra-children")]
20576 let mut extra_iter = self.extra_children.iter().peekable();
20577 #[cfg(feature = "extra-children")]
20578 let mut emit_idx: usize = 0;
20579 #[cfg(feature = "extra-children")]
20580 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20581 extra_iter
20582 .next()
20583 .unwrap()
20584 .node
20585 .write_to(writer)
20586 .map_err(SerializeError::from)?;
20587 }
20588 #[cfg(feature = "dml-charts")]
20589 {
20590 let val = &self.idx;
20591 val.write_element("a:idx", writer)?;
20592 }
20593 #[cfg(feature = "extra-children")]
20594 {
20595 emit_idx += 1;
20596 }
20597 #[cfg(feature = "extra-children")]
20598 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20599 extra_iter
20600 .next()
20601 .unwrap()
20602 .node
20603 .write_to(writer)
20604 .map_err(SerializeError::from)?;
20605 }
20606 #[cfg(feature = "dml-charts")]
20607 {
20608 let val = &self.order;
20609 val.write_element("a:order", writer)?;
20610 }
20611 #[cfg(feature = "extra-children")]
20612 {
20613 emit_idx += 1;
20614 }
20615 #[cfg(feature = "extra-children")]
20616 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20617 extra_iter
20618 .next()
20619 .unwrap()
20620 .node
20621 .write_to(writer)
20622 .map_err(SerializeError::from)?;
20623 }
20624 #[cfg(feature = "dml-charts")]
20625 if let Some(ref val) = self.tx {
20626 val.write_element("a:tx", writer)?;
20627 }
20628 #[cfg(feature = "extra-children")]
20629 {
20630 emit_idx += 1;
20631 }
20632 #[cfg(feature = "extra-children")]
20633 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20634 extra_iter
20635 .next()
20636 .unwrap()
20637 .node
20638 .write_to(writer)
20639 .map_err(SerializeError::from)?;
20640 }
20641 #[cfg(feature = "dml-charts")]
20642 if let Some(ref val) = self.sp_pr {
20643 val.write_element("a:spPr", writer)?;
20644 }
20645 #[cfg(feature = "extra-children")]
20646 {
20647 emit_idx += 1;
20648 }
20649 #[cfg(feature = "extra-children")]
20650 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20651 extra_iter
20652 .next()
20653 .unwrap()
20654 .node
20655 .write_to(writer)
20656 .map_err(SerializeError::from)?;
20657 }
20658 #[cfg(feature = "dml-charts")]
20659 if let Some(ref val) = self.marker {
20660 val.write_element("a:marker", writer)?;
20661 }
20662 #[cfg(feature = "extra-children")]
20663 {
20664 emit_idx += 1;
20665 }
20666 #[cfg(feature = "dml-charts")]
20667 for item in &self.d_pt {
20668 #[cfg(feature = "extra-children")]
20669 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20670 extra_iter
20671 .next()
20672 .unwrap()
20673 .node
20674 .write_to(writer)
20675 .map_err(SerializeError::from)?;
20676 }
20677 item.write_element("a:dPt", writer)?;
20678 #[cfg(feature = "extra-children")]
20679 {
20680 emit_idx += 1;
20681 }
20682 }
20683 #[cfg(feature = "extra-children")]
20684 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20685 extra_iter
20686 .next()
20687 .unwrap()
20688 .node
20689 .write_to(writer)
20690 .map_err(SerializeError::from)?;
20691 }
20692 #[cfg(feature = "dml-charts")]
20693 if let Some(ref val) = self.d_lbls {
20694 val.write_element("a:dLbls", writer)?;
20695 }
20696 #[cfg(feature = "extra-children")]
20697 {
20698 emit_idx += 1;
20699 }
20700 #[cfg(feature = "dml-charts")]
20701 for item in &self.trendline {
20702 #[cfg(feature = "extra-children")]
20703 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20704 extra_iter
20705 .next()
20706 .unwrap()
20707 .node
20708 .write_to(writer)
20709 .map_err(SerializeError::from)?;
20710 }
20711 item.write_element("a:trendline", writer)?;
20712 #[cfg(feature = "extra-children")]
20713 {
20714 emit_idx += 1;
20715 }
20716 }
20717 #[cfg(feature = "extra-children")]
20718 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20719 extra_iter
20720 .next()
20721 .unwrap()
20722 .node
20723 .write_to(writer)
20724 .map_err(SerializeError::from)?;
20725 }
20726 #[cfg(feature = "dml-charts")]
20727 if let Some(ref val) = self.err_bars {
20728 val.write_element("a:errBars", writer)?;
20729 }
20730 #[cfg(feature = "extra-children")]
20731 {
20732 emit_idx += 1;
20733 }
20734 #[cfg(feature = "extra-children")]
20735 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20736 extra_iter
20737 .next()
20738 .unwrap()
20739 .node
20740 .write_to(writer)
20741 .map_err(SerializeError::from)?;
20742 }
20743 #[cfg(feature = "dml-charts")]
20744 if let Some(ref val) = self.cat {
20745 val.write_element("a:cat", writer)?;
20746 }
20747 #[cfg(feature = "extra-children")]
20748 {
20749 emit_idx += 1;
20750 }
20751 #[cfg(feature = "extra-children")]
20752 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20753 extra_iter
20754 .next()
20755 .unwrap()
20756 .node
20757 .write_to(writer)
20758 .map_err(SerializeError::from)?;
20759 }
20760 #[cfg(feature = "dml-charts")]
20761 if let Some(ref val) = self.value {
20762 val.write_element("a:val", writer)?;
20763 }
20764 #[cfg(feature = "extra-children")]
20765 {
20766 emit_idx += 1;
20767 }
20768 #[cfg(feature = "extra-children")]
20769 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20770 extra_iter
20771 .next()
20772 .unwrap()
20773 .node
20774 .write_to(writer)
20775 .map_err(SerializeError::from)?;
20776 }
20777 #[cfg(feature = "dml-charts")]
20778 if let Some(ref val) = self.smooth {
20779 val.write_element("a:smooth", writer)?;
20780 }
20781 #[cfg(feature = "extra-children")]
20782 {
20783 emit_idx += 1;
20784 }
20785 #[cfg(feature = "extra-children")]
20786 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20787 extra_iter
20788 .next()
20789 .unwrap()
20790 .node
20791 .write_to(writer)
20792 .map_err(SerializeError::from)?;
20793 }
20794 #[cfg(feature = "dml-charts")]
20795 if let Some(ref val) = self.ext_lst {
20796 val.write_element("a:extLst", writer)?;
20797 }
20798 #[cfg(feature = "extra-children")]
20799 {
20800 emit_idx += 1;
20801 }
20802 #[cfg(feature = "extra-children")]
20803 for extra in extra_iter {
20804 extra.node.write_to(writer).map_err(SerializeError::from)?;
20805 }
20806 Ok(())
20807 }
20808
20809 fn is_empty_element(&self) -> bool {
20810 #[cfg(feature = "dml-charts")]
20811 return false;
20812 #[cfg(feature = "dml-charts")]
20813 return false;
20814 #[cfg(feature = "dml-charts")]
20815 if self.tx.is_some() {
20816 return false;
20817 }
20818 #[cfg(feature = "dml-charts")]
20819 if self.sp_pr.is_some() {
20820 return false;
20821 }
20822 #[cfg(feature = "dml-charts")]
20823 if self.marker.is_some() {
20824 return false;
20825 }
20826 #[cfg(feature = "dml-charts")]
20827 if !self.d_pt.is_empty() {
20828 return false;
20829 }
20830 #[cfg(feature = "dml-charts")]
20831 if self.d_lbls.is_some() {
20832 return false;
20833 }
20834 #[cfg(feature = "dml-charts")]
20835 if !self.trendline.is_empty() {
20836 return false;
20837 }
20838 #[cfg(feature = "dml-charts")]
20839 if self.err_bars.is_some() {
20840 return false;
20841 }
20842 #[cfg(feature = "dml-charts")]
20843 if self.cat.is_some() {
20844 return false;
20845 }
20846 #[cfg(feature = "dml-charts")]
20847 if self.value.is_some() {
20848 return false;
20849 }
20850 #[cfg(feature = "dml-charts")]
20851 if self.smooth.is_some() {
20852 return false;
20853 }
20854 #[cfg(feature = "dml-charts")]
20855 if self.ext_lst.is_some() {
20856 return false;
20857 }
20858 #[cfg(feature = "extra-children")]
20859 if !self.extra_children.is_empty() {
20860 return false;
20861 }
20862 true
20863 }
20864}
20865
20866impl ToXml for ScatterSeries {
20867 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
20868 #[cfg(feature = "extra-children")]
20869 let mut extra_iter = self.extra_children.iter().peekable();
20870 #[cfg(feature = "extra-children")]
20871 let mut emit_idx: usize = 0;
20872 #[cfg(feature = "extra-children")]
20873 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20874 extra_iter
20875 .next()
20876 .unwrap()
20877 .node
20878 .write_to(writer)
20879 .map_err(SerializeError::from)?;
20880 }
20881 #[cfg(feature = "dml-charts")]
20882 {
20883 let val = &self.idx;
20884 val.write_element("a:idx", writer)?;
20885 }
20886 #[cfg(feature = "extra-children")]
20887 {
20888 emit_idx += 1;
20889 }
20890 #[cfg(feature = "extra-children")]
20891 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20892 extra_iter
20893 .next()
20894 .unwrap()
20895 .node
20896 .write_to(writer)
20897 .map_err(SerializeError::from)?;
20898 }
20899 #[cfg(feature = "dml-charts")]
20900 {
20901 let val = &self.order;
20902 val.write_element("a:order", writer)?;
20903 }
20904 #[cfg(feature = "extra-children")]
20905 {
20906 emit_idx += 1;
20907 }
20908 #[cfg(feature = "extra-children")]
20909 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20910 extra_iter
20911 .next()
20912 .unwrap()
20913 .node
20914 .write_to(writer)
20915 .map_err(SerializeError::from)?;
20916 }
20917 #[cfg(feature = "dml-charts")]
20918 if let Some(ref val) = self.tx {
20919 val.write_element("a:tx", writer)?;
20920 }
20921 #[cfg(feature = "extra-children")]
20922 {
20923 emit_idx += 1;
20924 }
20925 #[cfg(feature = "extra-children")]
20926 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20927 extra_iter
20928 .next()
20929 .unwrap()
20930 .node
20931 .write_to(writer)
20932 .map_err(SerializeError::from)?;
20933 }
20934 #[cfg(feature = "dml-charts")]
20935 if let Some(ref val) = self.sp_pr {
20936 val.write_element("a:spPr", writer)?;
20937 }
20938 #[cfg(feature = "extra-children")]
20939 {
20940 emit_idx += 1;
20941 }
20942 #[cfg(feature = "extra-children")]
20943 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20944 extra_iter
20945 .next()
20946 .unwrap()
20947 .node
20948 .write_to(writer)
20949 .map_err(SerializeError::from)?;
20950 }
20951 #[cfg(feature = "dml-charts")]
20952 if let Some(ref val) = self.marker {
20953 val.write_element("a:marker", writer)?;
20954 }
20955 #[cfg(feature = "extra-children")]
20956 {
20957 emit_idx += 1;
20958 }
20959 #[cfg(feature = "dml-charts")]
20960 for item in &self.d_pt {
20961 #[cfg(feature = "extra-children")]
20962 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20963 extra_iter
20964 .next()
20965 .unwrap()
20966 .node
20967 .write_to(writer)
20968 .map_err(SerializeError::from)?;
20969 }
20970 item.write_element("a:dPt", writer)?;
20971 #[cfg(feature = "extra-children")]
20972 {
20973 emit_idx += 1;
20974 }
20975 }
20976 #[cfg(feature = "extra-children")]
20977 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20978 extra_iter
20979 .next()
20980 .unwrap()
20981 .node
20982 .write_to(writer)
20983 .map_err(SerializeError::from)?;
20984 }
20985 #[cfg(feature = "dml-charts")]
20986 if let Some(ref val) = self.d_lbls {
20987 val.write_element("a:dLbls", writer)?;
20988 }
20989 #[cfg(feature = "extra-children")]
20990 {
20991 emit_idx += 1;
20992 }
20993 #[cfg(feature = "dml-charts")]
20994 for item in &self.trendline {
20995 #[cfg(feature = "extra-children")]
20996 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
20997 extra_iter
20998 .next()
20999 .unwrap()
21000 .node
21001 .write_to(writer)
21002 .map_err(SerializeError::from)?;
21003 }
21004 item.write_element("a:trendline", writer)?;
21005 #[cfg(feature = "extra-children")]
21006 {
21007 emit_idx += 1;
21008 }
21009 }
21010 #[cfg(feature = "dml-charts")]
21011 for item in &self.err_bars {
21012 #[cfg(feature = "extra-children")]
21013 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21014 extra_iter
21015 .next()
21016 .unwrap()
21017 .node
21018 .write_to(writer)
21019 .map_err(SerializeError::from)?;
21020 }
21021 item.write_element("a:errBars", writer)?;
21022 #[cfg(feature = "extra-children")]
21023 {
21024 emit_idx += 1;
21025 }
21026 }
21027 #[cfg(feature = "extra-children")]
21028 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21029 extra_iter
21030 .next()
21031 .unwrap()
21032 .node
21033 .write_to(writer)
21034 .map_err(SerializeError::from)?;
21035 }
21036 #[cfg(feature = "dml-charts")]
21037 if let Some(ref val) = self.x_val {
21038 val.write_element("a:xVal", writer)?;
21039 }
21040 #[cfg(feature = "extra-children")]
21041 {
21042 emit_idx += 1;
21043 }
21044 #[cfg(feature = "extra-children")]
21045 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21046 extra_iter
21047 .next()
21048 .unwrap()
21049 .node
21050 .write_to(writer)
21051 .map_err(SerializeError::from)?;
21052 }
21053 #[cfg(feature = "dml-charts")]
21054 if let Some(ref val) = self.y_val {
21055 val.write_element("a:yVal", writer)?;
21056 }
21057 #[cfg(feature = "extra-children")]
21058 {
21059 emit_idx += 1;
21060 }
21061 #[cfg(feature = "extra-children")]
21062 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21063 extra_iter
21064 .next()
21065 .unwrap()
21066 .node
21067 .write_to(writer)
21068 .map_err(SerializeError::from)?;
21069 }
21070 #[cfg(feature = "dml-charts")]
21071 if let Some(ref val) = self.smooth {
21072 val.write_element("a:smooth", writer)?;
21073 }
21074 #[cfg(feature = "extra-children")]
21075 {
21076 emit_idx += 1;
21077 }
21078 #[cfg(feature = "extra-children")]
21079 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21080 extra_iter
21081 .next()
21082 .unwrap()
21083 .node
21084 .write_to(writer)
21085 .map_err(SerializeError::from)?;
21086 }
21087 #[cfg(feature = "dml-charts")]
21088 if let Some(ref val) = self.ext_lst {
21089 val.write_element("a:extLst", writer)?;
21090 }
21091 #[cfg(feature = "extra-children")]
21092 {
21093 emit_idx += 1;
21094 }
21095 #[cfg(feature = "extra-children")]
21096 for extra in extra_iter {
21097 extra.node.write_to(writer).map_err(SerializeError::from)?;
21098 }
21099 Ok(())
21100 }
21101
21102 fn is_empty_element(&self) -> bool {
21103 #[cfg(feature = "dml-charts")]
21104 return false;
21105 #[cfg(feature = "dml-charts")]
21106 return false;
21107 #[cfg(feature = "dml-charts")]
21108 if self.tx.is_some() {
21109 return false;
21110 }
21111 #[cfg(feature = "dml-charts")]
21112 if self.sp_pr.is_some() {
21113 return false;
21114 }
21115 #[cfg(feature = "dml-charts")]
21116 if self.marker.is_some() {
21117 return false;
21118 }
21119 #[cfg(feature = "dml-charts")]
21120 if !self.d_pt.is_empty() {
21121 return false;
21122 }
21123 #[cfg(feature = "dml-charts")]
21124 if self.d_lbls.is_some() {
21125 return false;
21126 }
21127 #[cfg(feature = "dml-charts")]
21128 if !self.trendline.is_empty() {
21129 return false;
21130 }
21131 #[cfg(feature = "dml-charts")]
21132 if !self.err_bars.is_empty() {
21133 return false;
21134 }
21135 #[cfg(feature = "dml-charts")]
21136 if self.x_val.is_some() {
21137 return false;
21138 }
21139 #[cfg(feature = "dml-charts")]
21140 if self.y_val.is_some() {
21141 return false;
21142 }
21143 #[cfg(feature = "dml-charts")]
21144 if self.smooth.is_some() {
21145 return false;
21146 }
21147 #[cfg(feature = "dml-charts")]
21148 if self.ext_lst.is_some() {
21149 return false;
21150 }
21151 #[cfg(feature = "extra-children")]
21152 if !self.extra_children.is_empty() {
21153 return false;
21154 }
21155 true
21156 }
21157}
21158
21159impl ToXml for RadarSeries {
21160 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
21161 #[cfg(feature = "extra-children")]
21162 let mut extra_iter = self.extra_children.iter().peekable();
21163 #[cfg(feature = "extra-children")]
21164 let mut emit_idx: usize = 0;
21165 #[cfg(feature = "extra-children")]
21166 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21167 extra_iter
21168 .next()
21169 .unwrap()
21170 .node
21171 .write_to(writer)
21172 .map_err(SerializeError::from)?;
21173 }
21174 #[cfg(feature = "dml-charts")]
21175 {
21176 let val = &self.idx;
21177 val.write_element("a:idx", writer)?;
21178 }
21179 #[cfg(feature = "extra-children")]
21180 {
21181 emit_idx += 1;
21182 }
21183 #[cfg(feature = "extra-children")]
21184 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21185 extra_iter
21186 .next()
21187 .unwrap()
21188 .node
21189 .write_to(writer)
21190 .map_err(SerializeError::from)?;
21191 }
21192 #[cfg(feature = "dml-charts")]
21193 {
21194 let val = &self.order;
21195 val.write_element("a:order", writer)?;
21196 }
21197 #[cfg(feature = "extra-children")]
21198 {
21199 emit_idx += 1;
21200 }
21201 #[cfg(feature = "extra-children")]
21202 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21203 extra_iter
21204 .next()
21205 .unwrap()
21206 .node
21207 .write_to(writer)
21208 .map_err(SerializeError::from)?;
21209 }
21210 #[cfg(feature = "dml-charts")]
21211 if let Some(ref val) = self.tx {
21212 val.write_element("a:tx", writer)?;
21213 }
21214 #[cfg(feature = "extra-children")]
21215 {
21216 emit_idx += 1;
21217 }
21218 #[cfg(feature = "extra-children")]
21219 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21220 extra_iter
21221 .next()
21222 .unwrap()
21223 .node
21224 .write_to(writer)
21225 .map_err(SerializeError::from)?;
21226 }
21227 #[cfg(feature = "dml-charts")]
21228 if let Some(ref val) = self.sp_pr {
21229 val.write_element("a:spPr", writer)?;
21230 }
21231 #[cfg(feature = "extra-children")]
21232 {
21233 emit_idx += 1;
21234 }
21235 #[cfg(feature = "extra-children")]
21236 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21237 extra_iter
21238 .next()
21239 .unwrap()
21240 .node
21241 .write_to(writer)
21242 .map_err(SerializeError::from)?;
21243 }
21244 #[cfg(feature = "dml-charts")]
21245 if let Some(ref val) = self.marker {
21246 val.write_element("a:marker", writer)?;
21247 }
21248 #[cfg(feature = "extra-children")]
21249 {
21250 emit_idx += 1;
21251 }
21252 #[cfg(feature = "dml-charts")]
21253 for item in &self.d_pt {
21254 #[cfg(feature = "extra-children")]
21255 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21256 extra_iter
21257 .next()
21258 .unwrap()
21259 .node
21260 .write_to(writer)
21261 .map_err(SerializeError::from)?;
21262 }
21263 item.write_element("a:dPt", writer)?;
21264 #[cfg(feature = "extra-children")]
21265 {
21266 emit_idx += 1;
21267 }
21268 }
21269 #[cfg(feature = "extra-children")]
21270 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21271 extra_iter
21272 .next()
21273 .unwrap()
21274 .node
21275 .write_to(writer)
21276 .map_err(SerializeError::from)?;
21277 }
21278 #[cfg(feature = "dml-charts")]
21279 if let Some(ref val) = self.d_lbls {
21280 val.write_element("a:dLbls", writer)?;
21281 }
21282 #[cfg(feature = "extra-children")]
21283 {
21284 emit_idx += 1;
21285 }
21286 #[cfg(feature = "extra-children")]
21287 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21288 extra_iter
21289 .next()
21290 .unwrap()
21291 .node
21292 .write_to(writer)
21293 .map_err(SerializeError::from)?;
21294 }
21295 #[cfg(feature = "dml-charts")]
21296 if let Some(ref val) = self.cat {
21297 val.write_element("a:cat", writer)?;
21298 }
21299 #[cfg(feature = "extra-children")]
21300 {
21301 emit_idx += 1;
21302 }
21303 #[cfg(feature = "extra-children")]
21304 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21305 extra_iter
21306 .next()
21307 .unwrap()
21308 .node
21309 .write_to(writer)
21310 .map_err(SerializeError::from)?;
21311 }
21312 #[cfg(feature = "dml-charts")]
21313 if let Some(ref val) = self.value {
21314 val.write_element("a:val", writer)?;
21315 }
21316 #[cfg(feature = "extra-children")]
21317 {
21318 emit_idx += 1;
21319 }
21320 #[cfg(feature = "extra-children")]
21321 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21322 extra_iter
21323 .next()
21324 .unwrap()
21325 .node
21326 .write_to(writer)
21327 .map_err(SerializeError::from)?;
21328 }
21329 #[cfg(feature = "dml-charts")]
21330 if let Some(ref val) = self.ext_lst {
21331 val.write_element("a:extLst", writer)?;
21332 }
21333 #[cfg(feature = "extra-children")]
21334 {
21335 emit_idx += 1;
21336 }
21337 #[cfg(feature = "extra-children")]
21338 for extra in extra_iter {
21339 extra.node.write_to(writer).map_err(SerializeError::from)?;
21340 }
21341 Ok(())
21342 }
21343
21344 fn is_empty_element(&self) -> bool {
21345 #[cfg(feature = "dml-charts")]
21346 return false;
21347 #[cfg(feature = "dml-charts")]
21348 return false;
21349 #[cfg(feature = "dml-charts")]
21350 if self.tx.is_some() {
21351 return false;
21352 }
21353 #[cfg(feature = "dml-charts")]
21354 if self.sp_pr.is_some() {
21355 return false;
21356 }
21357 #[cfg(feature = "dml-charts")]
21358 if self.marker.is_some() {
21359 return false;
21360 }
21361 #[cfg(feature = "dml-charts")]
21362 if !self.d_pt.is_empty() {
21363 return false;
21364 }
21365 #[cfg(feature = "dml-charts")]
21366 if self.d_lbls.is_some() {
21367 return false;
21368 }
21369 #[cfg(feature = "dml-charts")]
21370 if self.cat.is_some() {
21371 return false;
21372 }
21373 #[cfg(feature = "dml-charts")]
21374 if self.value.is_some() {
21375 return false;
21376 }
21377 #[cfg(feature = "dml-charts")]
21378 if self.ext_lst.is_some() {
21379 return false;
21380 }
21381 #[cfg(feature = "extra-children")]
21382 if !self.extra_children.is_empty() {
21383 return false;
21384 }
21385 true
21386 }
21387}
21388
21389impl ToXml for BarSeries {
21390 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
21391 #[cfg(feature = "extra-children")]
21392 let mut extra_iter = self.extra_children.iter().peekable();
21393 #[cfg(feature = "extra-children")]
21394 let mut emit_idx: usize = 0;
21395 #[cfg(feature = "extra-children")]
21396 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21397 extra_iter
21398 .next()
21399 .unwrap()
21400 .node
21401 .write_to(writer)
21402 .map_err(SerializeError::from)?;
21403 }
21404 #[cfg(feature = "dml-charts")]
21405 {
21406 let val = &self.idx;
21407 val.write_element("a:idx", writer)?;
21408 }
21409 #[cfg(feature = "extra-children")]
21410 {
21411 emit_idx += 1;
21412 }
21413 #[cfg(feature = "extra-children")]
21414 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21415 extra_iter
21416 .next()
21417 .unwrap()
21418 .node
21419 .write_to(writer)
21420 .map_err(SerializeError::from)?;
21421 }
21422 #[cfg(feature = "dml-charts")]
21423 {
21424 let val = &self.order;
21425 val.write_element("a:order", writer)?;
21426 }
21427 #[cfg(feature = "extra-children")]
21428 {
21429 emit_idx += 1;
21430 }
21431 #[cfg(feature = "extra-children")]
21432 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21433 extra_iter
21434 .next()
21435 .unwrap()
21436 .node
21437 .write_to(writer)
21438 .map_err(SerializeError::from)?;
21439 }
21440 #[cfg(feature = "dml-charts")]
21441 if let Some(ref val) = self.tx {
21442 val.write_element("a:tx", writer)?;
21443 }
21444 #[cfg(feature = "extra-children")]
21445 {
21446 emit_idx += 1;
21447 }
21448 #[cfg(feature = "extra-children")]
21449 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21450 extra_iter
21451 .next()
21452 .unwrap()
21453 .node
21454 .write_to(writer)
21455 .map_err(SerializeError::from)?;
21456 }
21457 #[cfg(feature = "dml-charts")]
21458 if let Some(ref val) = self.sp_pr {
21459 val.write_element("a:spPr", writer)?;
21460 }
21461 #[cfg(feature = "extra-children")]
21462 {
21463 emit_idx += 1;
21464 }
21465 #[cfg(feature = "extra-children")]
21466 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21467 extra_iter
21468 .next()
21469 .unwrap()
21470 .node
21471 .write_to(writer)
21472 .map_err(SerializeError::from)?;
21473 }
21474 #[cfg(feature = "dml-charts")]
21475 if let Some(ref val) = self.invert_if_negative {
21476 val.write_element("a:invertIfNegative", writer)?;
21477 }
21478 #[cfg(feature = "extra-children")]
21479 {
21480 emit_idx += 1;
21481 }
21482 #[cfg(feature = "extra-children")]
21483 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21484 extra_iter
21485 .next()
21486 .unwrap()
21487 .node
21488 .write_to(writer)
21489 .map_err(SerializeError::from)?;
21490 }
21491 #[cfg(feature = "dml-charts")]
21492 if let Some(ref val) = self.picture_options {
21493 val.write_element("a:pictureOptions", writer)?;
21494 }
21495 #[cfg(feature = "extra-children")]
21496 {
21497 emit_idx += 1;
21498 }
21499 #[cfg(feature = "dml-charts")]
21500 for item in &self.d_pt {
21501 #[cfg(feature = "extra-children")]
21502 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21503 extra_iter
21504 .next()
21505 .unwrap()
21506 .node
21507 .write_to(writer)
21508 .map_err(SerializeError::from)?;
21509 }
21510 item.write_element("a:dPt", writer)?;
21511 #[cfg(feature = "extra-children")]
21512 {
21513 emit_idx += 1;
21514 }
21515 }
21516 #[cfg(feature = "extra-children")]
21517 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21518 extra_iter
21519 .next()
21520 .unwrap()
21521 .node
21522 .write_to(writer)
21523 .map_err(SerializeError::from)?;
21524 }
21525 #[cfg(feature = "dml-charts")]
21526 if let Some(ref val) = self.d_lbls {
21527 val.write_element("a:dLbls", writer)?;
21528 }
21529 #[cfg(feature = "extra-children")]
21530 {
21531 emit_idx += 1;
21532 }
21533 #[cfg(feature = "dml-charts")]
21534 for item in &self.trendline {
21535 #[cfg(feature = "extra-children")]
21536 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21537 extra_iter
21538 .next()
21539 .unwrap()
21540 .node
21541 .write_to(writer)
21542 .map_err(SerializeError::from)?;
21543 }
21544 item.write_element("a:trendline", writer)?;
21545 #[cfg(feature = "extra-children")]
21546 {
21547 emit_idx += 1;
21548 }
21549 }
21550 #[cfg(feature = "extra-children")]
21551 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21552 extra_iter
21553 .next()
21554 .unwrap()
21555 .node
21556 .write_to(writer)
21557 .map_err(SerializeError::from)?;
21558 }
21559 #[cfg(feature = "dml-charts")]
21560 if let Some(ref val) = self.err_bars {
21561 val.write_element("a:errBars", writer)?;
21562 }
21563 #[cfg(feature = "extra-children")]
21564 {
21565 emit_idx += 1;
21566 }
21567 #[cfg(feature = "extra-children")]
21568 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21569 extra_iter
21570 .next()
21571 .unwrap()
21572 .node
21573 .write_to(writer)
21574 .map_err(SerializeError::from)?;
21575 }
21576 #[cfg(feature = "dml-charts")]
21577 if let Some(ref val) = self.cat {
21578 val.write_element("a:cat", writer)?;
21579 }
21580 #[cfg(feature = "extra-children")]
21581 {
21582 emit_idx += 1;
21583 }
21584 #[cfg(feature = "extra-children")]
21585 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21586 extra_iter
21587 .next()
21588 .unwrap()
21589 .node
21590 .write_to(writer)
21591 .map_err(SerializeError::from)?;
21592 }
21593 #[cfg(feature = "dml-charts")]
21594 if let Some(ref val) = self.value {
21595 val.write_element("a:val", writer)?;
21596 }
21597 #[cfg(feature = "extra-children")]
21598 {
21599 emit_idx += 1;
21600 }
21601 #[cfg(feature = "extra-children")]
21602 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21603 extra_iter
21604 .next()
21605 .unwrap()
21606 .node
21607 .write_to(writer)
21608 .map_err(SerializeError::from)?;
21609 }
21610 #[cfg(feature = "dml-charts")]
21611 if let Some(ref val) = self.shape {
21612 val.write_element("a:shape", writer)?;
21613 }
21614 #[cfg(feature = "extra-children")]
21615 {
21616 emit_idx += 1;
21617 }
21618 #[cfg(feature = "extra-children")]
21619 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21620 extra_iter
21621 .next()
21622 .unwrap()
21623 .node
21624 .write_to(writer)
21625 .map_err(SerializeError::from)?;
21626 }
21627 #[cfg(feature = "dml-charts")]
21628 if let Some(ref val) = self.ext_lst {
21629 val.write_element("a:extLst", writer)?;
21630 }
21631 #[cfg(feature = "extra-children")]
21632 {
21633 emit_idx += 1;
21634 }
21635 #[cfg(feature = "extra-children")]
21636 for extra in extra_iter {
21637 extra.node.write_to(writer).map_err(SerializeError::from)?;
21638 }
21639 Ok(())
21640 }
21641
21642 fn is_empty_element(&self) -> bool {
21643 #[cfg(feature = "dml-charts")]
21644 return false;
21645 #[cfg(feature = "dml-charts")]
21646 return false;
21647 #[cfg(feature = "dml-charts")]
21648 if self.tx.is_some() {
21649 return false;
21650 }
21651 #[cfg(feature = "dml-charts")]
21652 if self.sp_pr.is_some() {
21653 return false;
21654 }
21655 #[cfg(feature = "dml-charts")]
21656 if self.invert_if_negative.is_some() {
21657 return false;
21658 }
21659 #[cfg(feature = "dml-charts")]
21660 if self.picture_options.is_some() {
21661 return false;
21662 }
21663 #[cfg(feature = "dml-charts")]
21664 if !self.d_pt.is_empty() {
21665 return false;
21666 }
21667 #[cfg(feature = "dml-charts")]
21668 if self.d_lbls.is_some() {
21669 return false;
21670 }
21671 #[cfg(feature = "dml-charts")]
21672 if !self.trendline.is_empty() {
21673 return false;
21674 }
21675 #[cfg(feature = "dml-charts")]
21676 if self.err_bars.is_some() {
21677 return false;
21678 }
21679 #[cfg(feature = "dml-charts")]
21680 if self.cat.is_some() {
21681 return false;
21682 }
21683 #[cfg(feature = "dml-charts")]
21684 if self.value.is_some() {
21685 return false;
21686 }
21687 #[cfg(feature = "dml-charts")]
21688 if self.shape.is_some() {
21689 return false;
21690 }
21691 #[cfg(feature = "dml-charts")]
21692 if self.ext_lst.is_some() {
21693 return false;
21694 }
21695 #[cfg(feature = "extra-children")]
21696 if !self.extra_children.is_empty() {
21697 return false;
21698 }
21699 true
21700 }
21701}
21702
21703impl ToXml for AreaSeries {
21704 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
21705 #[cfg(feature = "extra-children")]
21706 let mut extra_iter = self.extra_children.iter().peekable();
21707 #[cfg(feature = "extra-children")]
21708 let mut emit_idx: usize = 0;
21709 #[cfg(feature = "extra-children")]
21710 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21711 extra_iter
21712 .next()
21713 .unwrap()
21714 .node
21715 .write_to(writer)
21716 .map_err(SerializeError::from)?;
21717 }
21718 #[cfg(feature = "dml-charts")]
21719 {
21720 let val = &self.idx;
21721 val.write_element("a:idx", writer)?;
21722 }
21723 #[cfg(feature = "extra-children")]
21724 {
21725 emit_idx += 1;
21726 }
21727 #[cfg(feature = "extra-children")]
21728 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21729 extra_iter
21730 .next()
21731 .unwrap()
21732 .node
21733 .write_to(writer)
21734 .map_err(SerializeError::from)?;
21735 }
21736 #[cfg(feature = "dml-charts")]
21737 {
21738 let val = &self.order;
21739 val.write_element("a:order", writer)?;
21740 }
21741 #[cfg(feature = "extra-children")]
21742 {
21743 emit_idx += 1;
21744 }
21745 #[cfg(feature = "extra-children")]
21746 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21747 extra_iter
21748 .next()
21749 .unwrap()
21750 .node
21751 .write_to(writer)
21752 .map_err(SerializeError::from)?;
21753 }
21754 #[cfg(feature = "dml-charts")]
21755 if let Some(ref val) = self.tx {
21756 val.write_element("a:tx", writer)?;
21757 }
21758 #[cfg(feature = "extra-children")]
21759 {
21760 emit_idx += 1;
21761 }
21762 #[cfg(feature = "extra-children")]
21763 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21764 extra_iter
21765 .next()
21766 .unwrap()
21767 .node
21768 .write_to(writer)
21769 .map_err(SerializeError::from)?;
21770 }
21771 #[cfg(feature = "dml-charts")]
21772 if let Some(ref val) = self.sp_pr {
21773 val.write_element("a:spPr", writer)?;
21774 }
21775 #[cfg(feature = "extra-children")]
21776 {
21777 emit_idx += 1;
21778 }
21779 #[cfg(feature = "extra-children")]
21780 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21781 extra_iter
21782 .next()
21783 .unwrap()
21784 .node
21785 .write_to(writer)
21786 .map_err(SerializeError::from)?;
21787 }
21788 #[cfg(feature = "dml-charts")]
21789 if let Some(ref val) = self.picture_options {
21790 val.write_element("a:pictureOptions", writer)?;
21791 }
21792 #[cfg(feature = "extra-children")]
21793 {
21794 emit_idx += 1;
21795 }
21796 #[cfg(feature = "dml-charts")]
21797 for item in &self.d_pt {
21798 #[cfg(feature = "extra-children")]
21799 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21800 extra_iter
21801 .next()
21802 .unwrap()
21803 .node
21804 .write_to(writer)
21805 .map_err(SerializeError::from)?;
21806 }
21807 item.write_element("a:dPt", writer)?;
21808 #[cfg(feature = "extra-children")]
21809 {
21810 emit_idx += 1;
21811 }
21812 }
21813 #[cfg(feature = "extra-children")]
21814 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21815 extra_iter
21816 .next()
21817 .unwrap()
21818 .node
21819 .write_to(writer)
21820 .map_err(SerializeError::from)?;
21821 }
21822 #[cfg(feature = "dml-charts")]
21823 if let Some(ref val) = self.d_lbls {
21824 val.write_element("a:dLbls", writer)?;
21825 }
21826 #[cfg(feature = "extra-children")]
21827 {
21828 emit_idx += 1;
21829 }
21830 #[cfg(feature = "dml-charts")]
21831 for item in &self.trendline {
21832 #[cfg(feature = "extra-children")]
21833 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21834 extra_iter
21835 .next()
21836 .unwrap()
21837 .node
21838 .write_to(writer)
21839 .map_err(SerializeError::from)?;
21840 }
21841 item.write_element("a:trendline", writer)?;
21842 #[cfg(feature = "extra-children")]
21843 {
21844 emit_idx += 1;
21845 }
21846 }
21847 #[cfg(feature = "dml-charts")]
21848 for item in &self.err_bars {
21849 #[cfg(feature = "extra-children")]
21850 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21851 extra_iter
21852 .next()
21853 .unwrap()
21854 .node
21855 .write_to(writer)
21856 .map_err(SerializeError::from)?;
21857 }
21858 item.write_element("a:errBars", writer)?;
21859 #[cfg(feature = "extra-children")]
21860 {
21861 emit_idx += 1;
21862 }
21863 }
21864 #[cfg(feature = "extra-children")]
21865 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21866 extra_iter
21867 .next()
21868 .unwrap()
21869 .node
21870 .write_to(writer)
21871 .map_err(SerializeError::from)?;
21872 }
21873 #[cfg(feature = "dml-charts")]
21874 if let Some(ref val) = self.cat {
21875 val.write_element("a:cat", writer)?;
21876 }
21877 #[cfg(feature = "extra-children")]
21878 {
21879 emit_idx += 1;
21880 }
21881 #[cfg(feature = "extra-children")]
21882 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21883 extra_iter
21884 .next()
21885 .unwrap()
21886 .node
21887 .write_to(writer)
21888 .map_err(SerializeError::from)?;
21889 }
21890 #[cfg(feature = "dml-charts")]
21891 if let Some(ref val) = self.value {
21892 val.write_element("a:val", writer)?;
21893 }
21894 #[cfg(feature = "extra-children")]
21895 {
21896 emit_idx += 1;
21897 }
21898 #[cfg(feature = "extra-children")]
21899 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21900 extra_iter
21901 .next()
21902 .unwrap()
21903 .node
21904 .write_to(writer)
21905 .map_err(SerializeError::from)?;
21906 }
21907 #[cfg(feature = "dml-charts")]
21908 if let Some(ref val) = self.ext_lst {
21909 val.write_element("a:extLst", writer)?;
21910 }
21911 #[cfg(feature = "extra-children")]
21912 {
21913 emit_idx += 1;
21914 }
21915 #[cfg(feature = "extra-children")]
21916 for extra in extra_iter {
21917 extra.node.write_to(writer).map_err(SerializeError::from)?;
21918 }
21919 Ok(())
21920 }
21921
21922 fn is_empty_element(&self) -> bool {
21923 #[cfg(feature = "dml-charts")]
21924 return false;
21925 #[cfg(feature = "dml-charts")]
21926 return false;
21927 #[cfg(feature = "dml-charts")]
21928 if self.tx.is_some() {
21929 return false;
21930 }
21931 #[cfg(feature = "dml-charts")]
21932 if self.sp_pr.is_some() {
21933 return false;
21934 }
21935 #[cfg(feature = "dml-charts")]
21936 if self.picture_options.is_some() {
21937 return false;
21938 }
21939 #[cfg(feature = "dml-charts")]
21940 if !self.d_pt.is_empty() {
21941 return false;
21942 }
21943 #[cfg(feature = "dml-charts")]
21944 if self.d_lbls.is_some() {
21945 return false;
21946 }
21947 #[cfg(feature = "dml-charts")]
21948 if !self.trendline.is_empty() {
21949 return false;
21950 }
21951 #[cfg(feature = "dml-charts")]
21952 if !self.err_bars.is_empty() {
21953 return false;
21954 }
21955 #[cfg(feature = "dml-charts")]
21956 if self.cat.is_some() {
21957 return false;
21958 }
21959 #[cfg(feature = "dml-charts")]
21960 if self.value.is_some() {
21961 return false;
21962 }
21963 #[cfg(feature = "dml-charts")]
21964 if self.ext_lst.is_some() {
21965 return false;
21966 }
21967 #[cfg(feature = "extra-children")]
21968 if !self.extra_children.is_empty() {
21969 return false;
21970 }
21971 true
21972 }
21973}
21974
21975impl ToXml for PieSeries {
21976 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
21977 #[cfg(feature = "extra-children")]
21978 let mut extra_iter = self.extra_children.iter().peekable();
21979 #[cfg(feature = "extra-children")]
21980 let mut emit_idx: usize = 0;
21981 #[cfg(feature = "extra-children")]
21982 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
21983 extra_iter
21984 .next()
21985 .unwrap()
21986 .node
21987 .write_to(writer)
21988 .map_err(SerializeError::from)?;
21989 }
21990 #[cfg(feature = "dml-charts")]
21991 {
21992 let val = &self.idx;
21993 val.write_element("a:idx", writer)?;
21994 }
21995 #[cfg(feature = "extra-children")]
21996 {
21997 emit_idx += 1;
21998 }
21999 #[cfg(feature = "extra-children")]
22000 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22001 extra_iter
22002 .next()
22003 .unwrap()
22004 .node
22005 .write_to(writer)
22006 .map_err(SerializeError::from)?;
22007 }
22008 #[cfg(feature = "dml-charts")]
22009 {
22010 let val = &self.order;
22011 val.write_element("a:order", writer)?;
22012 }
22013 #[cfg(feature = "extra-children")]
22014 {
22015 emit_idx += 1;
22016 }
22017 #[cfg(feature = "extra-children")]
22018 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22019 extra_iter
22020 .next()
22021 .unwrap()
22022 .node
22023 .write_to(writer)
22024 .map_err(SerializeError::from)?;
22025 }
22026 #[cfg(feature = "dml-charts")]
22027 if let Some(ref val) = self.tx {
22028 val.write_element("a:tx", writer)?;
22029 }
22030 #[cfg(feature = "extra-children")]
22031 {
22032 emit_idx += 1;
22033 }
22034 #[cfg(feature = "extra-children")]
22035 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22036 extra_iter
22037 .next()
22038 .unwrap()
22039 .node
22040 .write_to(writer)
22041 .map_err(SerializeError::from)?;
22042 }
22043 #[cfg(feature = "dml-charts")]
22044 if let Some(ref val) = self.sp_pr {
22045 val.write_element("a:spPr", writer)?;
22046 }
22047 #[cfg(feature = "extra-children")]
22048 {
22049 emit_idx += 1;
22050 }
22051 #[cfg(feature = "extra-children")]
22052 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22053 extra_iter
22054 .next()
22055 .unwrap()
22056 .node
22057 .write_to(writer)
22058 .map_err(SerializeError::from)?;
22059 }
22060 #[cfg(feature = "dml-charts")]
22061 if let Some(ref val) = self.explosion {
22062 val.write_element("a:explosion", writer)?;
22063 }
22064 #[cfg(feature = "extra-children")]
22065 {
22066 emit_idx += 1;
22067 }
22068 #[cfg(feature = "dml-charts")]
22069 for item in &self.d_pt {
22070 #[cfg(feature = "extra-children")]
22071 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22072 extra_iter
22073 .next()
22074 .unwrap()
22075 .node
22076 .write_to(writer)
22077 .map_err(SerializeError::from)?;
22078 }
22079 item.write_element("a:dPt", writer)?;
22080 #[cfg(feature = "extra-children")]
22081 {
22082 emit_idx += 1;
22083 }
22084 }
22085 #[cfg(feature = "extra-children")]
22086 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22087 extra_iter
22088 .next()
22089 .unwrap()
22090 .node
22091 .write_to(writer)
22092 .map_err(SerializeError::from)?;
22093 }
22094 #[cfg(feature = "dml-charts")]
22095 if let Some(ref val) = self.d_lbls {
22096 val.write_element("a:dLbls", writer)?;
22097 }
22098 #[cfg(feature = "extra-children")]
22099 {
22100 emit_idx += 1;
22101 }
22102 #[cfg(feature = "extra-children")]
22103 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22104 extra_iter
22105 .next()
22106 .unwrap()
22107 .node
22108 .write_to(writer)
22109 .map_err(SerializeError::from)?;
22110 }
22111 #[cfg(feature = "dml-charts")]
22112 if let Some(ref val) = self.cat {
22113 val.write_element("a:cat", writer)?;
22114 }
22115 #[cfg(feature = "extra-children")]
22116 {
22117 emit_idx += 1;
22118 }
22119 #[cfg(feature = "extra-children")]
22120 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22121 extra_iter
22122 .next()
22123 .unwrap()
22124 .node
22125 .write_to(writer)
22126 .map_err(SerializeError::from)?;
22127 }
22128 #[cfg(feature = "dml-charts")]
22129 if let Some(ref val) = self.value {
22130 val.write_element("a:val", writer)?;
22131 }
22132 #[cfg(feature = "extra-children")]
22133 {
22134 emit_idx += 1;
22135 }
22136 #[cfg(feature = "extra-children")]
22137 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22138 extra_iter
22139 .next()
22140 .unwrap()
22141 .node
22142 .write_to(writer)
22143 .map_err(SerializeError::from)?;
22144 }
22145 #[cfg(feature = "dml-charts")]
22146 if let Some(ref val) = self.ext_lst {
22147 val.write_element("a:extLst", writer)?;
22148 }
22149 #[cfg(feature = "extra-children")]
22150 {
22151 emit_idx += 1;
22152 }
22153 #[cfg(feature = "extra-children")]
22154 for extra in extra_iter {
22155 extra.node.write_to(writer).map_err(SerializeError::from)?;
22156 }
22157 Ok(())
22158 }
22159
22160 fn is_empty_element(&self) -> bool {
22161 #[cfg(feature = "dml-charts")]
22162 return false;
22163 #[cfg(feature = "dml-charts")]
22164 return false;
22165 #[cfg(feature = "dml-charts")]
22166 if self.tx.is_some() {
22167 return false;
22168 }
22169 #[cfg(feature = "dml-charts")]
22170 if self.sp_pr.is_some() {
22171 return false;
22172 }
22173 #[cfg(feature = "dml-charts")]
22174 if self.explosion.is_some() {
22175 return false;
22176 }
22177 #[cfg(feature = "dml-charts")]
22178 if !self.d_pt.is_empty() {
22179 return false;
22180 }
22181 #[cfg(feature = "dml-charts")]
22182 if self.d_lbls.is_some() {
22183 return false;
22184 }
22185 #[cfg(feature = "dml-charts")]
22186 if self.cat.is_some() {
22187 return false;
22188 }
22189 #[cfg(feature = "dml-charts")]
22190 if self.value.is_some() {
22191 return false;
22192 }
22193 #[cfg(feature = "dml-charts")]
22194 if self.ext_lst.is_some() {
22195 return false;
22196 }
22197 #[cfg(feature = "extra-children")]
22198 if !self.extra_children.is_empty() {
22199 return false;
22200 }
22201 true
22202 }
22203}
22204
22205impl ToXml for BubbleSeries {
22206 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
22207 #[cfg(feature = "extra-children")]
22208 let mut extra_iter = self.extra_children.iter().peekable();
22209 #[cfg(feature = "extra-children")]
22210 let mut emit_idx: usize = 0;
22211 #[cfg(feature = "extra-children")]
22212 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22213 extra_iter
22214 .next()
22215 .unwrap()
22216 .node
22217 .write_to(writer)
22218 .map_err(SerializeError::from)?;
22219 }
22220 #[cfg(feature = "dml-charts")]
22221 {
22222 let val = &self.idx;
22223 val.write_element("a:idx", writer)?;
22224 }
22225 #[cfg(feature = "extra-children")]
22226 {
22227 emit_idx += 1;
22228 }
22229 #[cfg(feature = "extra-children")]
22230 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22231 extra_iter
22232 .next()
22233 .unwrap()
22234 .node
22235 .write_to(writer)
22236 .map_err(SerializeError::from)?;
22237 }
22238 #[cfg(feature = "dml-charts")]
22239 {
22240 let val = &self.order;
22241 val.write_element("a:order", writer)?;
22242 }
22243 #[cfg(feature = "extra-children")]
22244 {
22245 emit_idx += 1;
22246 }
22247 #[cfg(feature = "extra-children")]
22248 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22249 extra_iter
22250 .next()
22251 .unwrap()
22252 .node
22253 .write_to(writer)
22254 .map_err(SerializeError::from)?;
22255 }
22256 #[cfg(feature = "dml-charts")]
22257 if let Some(ref val) = self.tx {
22258 val.write_element("a:tx", writer)?;
22259 }
22260 #[cfg(feature = "extra-children")]
22261 {
22262 emit_idx += 1;
22263 }
22264 #[cfg(feature = "extra-children")]
22265 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22266 extra_iter
22267 .next()
22268 .unwrap()
22269 .node
22270 .write_to(writer)
22271 .map_err(SerializeError::from)?;
22272 }
22273 #[cfg(feature = "dml-charts")]
22274 if let Some(ref val) = self.sp_pr {
22275 val.write_element("a:spPr", writer)?;
22276 }
22277 #[cfg(feature = "extra-children")]
22278 {
22279 emit_idx += 1;
22280 }
22281 #[cfg(feature = "extra-children")]
22282 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22283 extra_iter
22284 .next()
22285 .unwrap()
22286 .node
22287 .write_to(writer)
22288 .map_err(SerializeError::from)?;
22289 }
22290 #[cfg(feature = "dml-charts")]
22291 if let Some(ref val) = self.invert_if_negative {
22292 val.write_element("a:invertIfNegative", writer)?;
22293 }
22294 #[cfg(feature = "extra-children")]
22295 {
22296 emit_idx += 1;
22297 }
22298 #[cfg(feature = "dml-charts")]
22299 for item in &self.d_pt {
22300 #[cfg(feature = "extra-children")]
22301 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22302 extra_iter
22303 .next()
22304 .unwrap()
22305 .node
22306 .write_to(writer)
22307 .map_err(SerializeError::from)?;
22308 }
22309 item.write_element("a:dPt", writer)?;
22310 #[cfg(feature = "extra-children")]
22311 {
22312 emit_idx += 1;
22313 }
22314 }
22315 #[cfg(feature = "extra-children")]
22316 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22317 extra_iter
22318 .next()
22319 .unwrap()
22320 .node
22321 .write_to(writer)
22322 .map_err(SerializeError::from)?;
22323 }
22324 #[cfg(feature = "dml-charts")]
22325 if let Some(ref val) = self.d_lbls {
22326 val.write_element("a:dLbls", writer)?;
22327 }
22328 #[cfg(feature = "extra-children")]
22329 {
22330 emit_idx += 1;
22331 }
22332 #[cfg(feature = "dml-charts")]
22333 for item in &self.trendline {
22334 #[cfg(feature = "extra-children")]
22335 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22336 extra_iter
22337 .next()
22338 .unwrap()
22339 .node
22340 .write_to(writer)
22341 .map_err(SerializeError::from)?;
22342 }
22343 item.write_element("a:trendline", writer)?;
22344 #[cfg(feature = "extra-children")]
22345 {
22346 emit_idx += 1;
22347 }
22348 }
22349 #[cfg(feature = "dml-charts")]
22350 for item in &self.err_bars {
22351 #[cfg(feature = "extra-children")]
22352 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22353 extra_iter
22354 .next()
22355 .unwrap()
22356 .node
22357 .write_to(writer)
22358 .map_err(SerializeError::from)?;
22359 }
22360 item.write_element("a:errBars", writer)?;
22361 #[cfg(feature = "extra-children")]
22362 {
22363 emit_idx += 1;
22364 }
22365 }
22366 #[cfg(feature = "extra-children")]
22367 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22368 extra_iter
22369 .next()
22370 .unwrap()
22371 .node
22372 .write_to(writer)
22373 .map_err(SerializeError::from)?;
22374 }
22375 #[cfg(feature = "dml-charts")]
22376 if let Some(ref val) = self.x_val {
22377 val.write_element("a:xVal", writer)?;
22378 }
22379 #[cfg(feature = "extra-children")]
22380 {
22381 emit_idx += 1;
22382 }
22383 #[cfg(feature = "extra-children")]
22384 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22385 extra_iter
22386 .next()
22387 .unwrap()
22388 .node
22389 .write_to(writer)
22390 .map_err(SerializeError::from)?;
22391 }
22392 #[cfg(feature = "dml-charts")]
22393 if let Some(ref val) = self.y_val {
22394 val.write_element("a:yVal", writer)?;
22395 }
22396 #[cfg(feature = "extra-children")]
22397 {
22398 emit_idx += 1;
22399 }
22400 #[cfg(feature = "extra-children")]
22401 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22402 extra_iter
22403 .next()
22404 .unwrap()
22405 .node
22406 .write_to(writer)
22407 .map_err(SerializeError::from)?;
22408 }
22409 #[cfg(feature = "dml-charts")]
22410 if let Some(ref val) = self.bubble_size {
22411 val.write_element("a:bubbleSize", writer)?;
22412 }
22413 #[cfg(feature = "extra-children")]
22414 {
22415 emit_idx += 1;
22416 }
22417 #[cfg(feature = "extra-children")]
22418 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22419 extra_iter
22420 .next()
22421 .unwrap()
22422 .node
22423 .write_to(writer)
22424 .map_err(SerializeError::from)?;
22425 }
22426 #[cfg(feature = "dml-charts")]
22427 if let Some(ref val) = self.bubble3_d {
22428 val.write_element("a:bubble3D", writer)?;
22429 }
22430 #[cfg(feature = "extra-children")]
22431 {
22432 emit_idx += 1;
22433 }
22434 #[cfg(feature = "extra-children")]
22435 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22436 extra_iter
22437 .next()
22438 .unwrap()
22439 .node
22440 .write_to(writer)
22441 .map_err(SerializeError::from)?;
22442 }
22443 #[cfg(feature = "dml-charts")]
22444 if let Some(ref val) = self.ext_lst {
22445 val.write_element("a:extLst", writer)?;
22446 }
22447 #[cfg(feature = "extra-children")]
22448 {
22449 emit_idx += 1;
22450 }
22451 #[cfg(feature = "extra-children")]
22452 for extra in extra_iter {
22453 extra.node.write_to(writer).map_err(SerializeError::from)?;
22454 }
22455 Ok(())
22456 }
22457
22458 fn is_empty_element(&self) -> bool {
22459 #[cfg(feature = "dml-charts")]
22460 return false;
22461 #[cfg(feature = "dml-charts")]
22462 return false;
22463 #[cfg(feature = "dml-charts")]
22464 if self.tx.is_some() {
22465 return false;
22466 }
22467 #[cfg(feature = "dml-charts")]
22468 if self.sp_pr.is_some() {
22469 return false;
22470 }
22471 #[cfg(feature = "dml-charts")]
22472 if self.invert_if_negative.is_some() {
22473 return false;
22474 }
22475 #[cfg(feature = "dml-charts")]
22476 if !self.d_pt.is_empty() {
22477 return false;
22478 }
22479 #[cfg(feature = "dml-charts")]
22480 if self.d_lbls.is_some() {
22481 return false;
22482 }
22483 #[cfg(feature = "dml-charts")]
22484 if !self.trendline.is_empty() {
22485 return false;
22486 }
22487 #[cfg(feature = "dml-charts")]
22488 if !self.err_bars.is_empty() {
22489 return false;
22490 }
22491 #[cfg(feature = "dml-charts")]
22492 if self.x_val.is_some() {
22493 return false;
22494 }
22495 #[cfg(feature = "dml-charts")]
22496 if self.y_val.is_some() {
22497 return false;
22498 }
22499 #[cfg(feature = "dml-charts")]
22500 if self.bubble_size.is_some() {
22501 return false;
22502 }
22503 #[cfg(feature = "dml-charts")]
22504 if self.bubble3_d.is_some() {
22505 return false;
22506 }
22507 #[cfg(feature = "dml-charts")]
22508 if self.ext_lst.is_some() {
22509 return false;
22510 }
22511 #[cfg(feature = "extra-children")]
22512 if !self.extra_children.is_empty() {
22513 return false;
22514 }
22515 true
22516 }
22517}
22518
22519impl ToXml for SurfaceSeries {
22520 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
22521 #[cfg(feature = "extra-children")]
22522 let mut extra_iter = self.extra_children.iter().peekable();
22523 #[cfg(feature = "extra-children")]
22524 let mut emit_idx: usize = 0;
22525 #[cfg(feature = "extra-children")]
22526 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22527 extra_iter
22528 .next()
22529 .unwrap()
22530 .node
22531 .write_to(writer)
22532 .map_err(SerializeError::from)?;
22533 }
22534 #[cfg(feature = "dml-charts")]
22535 {
22536 let val = &self.idx;
22537 val.write_element("a:idx", writer)?;
22538 }
22539 #[cfg(feature = "extra-children")]
22540 {
22541 emit_idx += 1;
22542 }
22543 #[cfg(feature = "extra-children")]
22544 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22545 extra_iter
22546 .next()
22547 .unwrap()
22548 .node
22549 .write_to(writer)
22550 .map_err(SerializeError::from)?;
22551 }
22552 #[cfg(feature = "dml-charts")]
22553 {
22554 let val = &self.order;
22555 val.write_element("a:order", writer)?;
22556 }
22557 #[cfg(feature = "extra-children")]
22558 {
22559 emit_idx += 1;
22560 }
22561 #[cfg(feature = "extra-children")]
22562 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22563 extra_iter
22564 .next()
22565 .unwrap()
22566 .node
22567 .write_to(writer)
22568 .map_err(SerializeError::from)?;
22569 }
22570 #[cfg(feature = "dml-charts")]
22571 if let Some(ref val) = self.tx {
22572 val.write_element("a:tx", writer)?;
22573 }
22574 #[cfg(feature = "extra-children")]
22575 {
22576 emit_idx += 1;
22577 }
22578 #[cfg(feature = "extra-children")]
22579 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22580 extra_iter
22581 .next()
22582 .unwrap()
22583 .node
22584 .write_to(writer)
22585 .map_err(SerializeError::from)?;
22586 }
22587 #[cfg(feature = "dml-charts")]
22588 if let Some(ref val) = self.sp_pr {
22589 val.write_element("a:spPr", writer)?;
22590 }
22591 #[cfg(feature = "extra-children")]
22592 {
22593 emit_idx += 1;
22594 }
22595 #[cfg(feature = "extra-children")]
22596 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22597 extra_iter
22598 .next()
22599 .unwrap()
22600 .node
22601 .write_to(writer)
22602 .map_err(SerializeError::from)?;
22603 }
22604 #[cfg(feature = "dml-charts")]
22605 if let Some(ref val) = self.cat {
22606 val.write_element("a:cat", writer)?;
22607 }
22608 #[cfg(feature = "extra-children")]
22609 {
22610 emit_idx += 1;
22611 }
22612 #[cfg(feature = "extra-children")]
22613 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22614 extra_iter
22615 .next()
22616 .unwrap()
22617 .node
22618 .write_to(writer)
22619 .map_err(SerializeError::from)?;
22620 }
22621 #[cfg(feature = "dml-charts")]
22622 if let Some(ref val) = self.value {
22623 val.write_element("a:val", writer)?;
22624 }
22625 #[cfg(feature = "extra-children")]
22626 {
22627 emit_idx += 1;
22628 }
22629 #[cfg(feature = "extra-children")]
22630 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22631 extra_iter
22632 .next()
22633 .unwrap()
22634 .node
22635 .write_to(writer)
22636 .map_err(SerializeError::from)?;
22637 }
22638 #[cfg(feature = "dml-charts")]
22639 if let Some(ref val) = self.ext_lst {
22640 val.write_element("a:extLst", writer)?;
22641 }
22642 #[cfg(feature = "extra-children")]
22643 {
22644 emit_idx += 1;
22645 }
22646 #[cfg(feature = "extra-children")]
22647 for extra in extra_iter {
22648 extra.node.write_to(writer).map_err(SerializeError::from)?;
22649 }
22650 Ok(())
22651 }
22652
22653 fn is_empty_element(&self) -> bool {
22654 #[cfg(feature = "dml-charts")]
22655 return false;
22656 #[cfg(feature = "dml-charts")]
22657 return false;
22658 #[cfg(feature = "dml-charts")]
22659 if self.tx.is_some() {
22660 return false;
22661 }
22662 #[cfg(feature = "dml-charts")]
22663 if self.sp_pr.is_some() {
22664 return false;
22665 }
22666 #[cfg(feature = "dml-charts")]
22667 if self.cat.is_some() {
22668 return false;
22669 }
22670 #[cfg(feature = "dml-charts")]
22671 if self.value.is_some() {
22672 return false;
22673 }
22674 #[cfg(feature = "dml-charts")]
22675 if self.ext_lst.is_some() {
22676 return false;
22677 }
22678 #[cfg(feature = "extra-children")]
22679 if !self.extra_children.is_empty() {
22680 return false;
22681 }
22682 true
22683 }
22684}
22685
22686impl ToXml for ChartGrouping {
22687 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
22688 #[allow(unused_mut)]
22689 let mut start = start;
22690 #[cfg(feature = "dml-charts")]
22691 if let Some(ref val) = self.value {
22692 {
22693 let s = val.to_string();
22694 start.push_attribute(("val", s.as_str()));
22695 }
22696 }
22697 #[cfg(feature = "extra-attrs")]
22698 for (key, value) in &self.extra_attrs {
22699 start.push_attribute((key.as_str(), value.as_str()));
22700 }
22701 start
22702 }
22703
22704 fn is_empty_element(&self) -> bool {
22705 true
22706 }
22707}
22708
22709impl ToXml for ChartLines {
22710 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
22711 #[cfg(feature = "extra-children")]
22712 let mut extra_iter = self.extra_children.iter().peekable();
22713 #[cfg(feature = "extra-children")]
22714 let mut emit_idx: usize = 0;
22715 #[cfg(feature = "extra-children")]
22716 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22717 extra_iter
22718 .next()
22719 .unwrap()
22720 .node
22721 .write_to(writer)
22722 .map_err(SerializeError::from)?;
22723 }
22724 #[cfg(feature = "dml-charts")]
22725 if let Some(ref val) = self.sp_pr {
22726 val.write_element("a:spPr", writer)?;
22727 }
22728 #[cfg(feature = "extra-children")]
22729 {
22730 emit_idx += 1;
22731 }
22732 #[cfg(feature = "extra-children")]
22733 for extra in extra_iter {
22734 extra.node.write_to(writer).map_err(SerializeError::from)?;
22735 }
22736 Ok(())
22737 }
22738
22739 fn is_empty_element(&self) -> bool {
22740 #[cfg(feature = "dml-charts")]
22741 if self.sp_pr.is_some() {
22742 return false;
22743 }
22744 #[cfg(feature = "extra-children")]
22745 if !self.extra_children.is_empty() {
22746 return false;
22747 }
22748 true
22749 }
22750}
22751
22752impl ToXml for EGLineChartShared {
22753 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
22754 #[cfg(feature = "extra-children")]
22755 let mut extra_iter = self.extra_children.iter().peekable();
22756 #[cfg(feature = "extra-children")]
22757 let mut emit_idx: usize = 0;
22758 #[cfg(feature = "extra-children")]
22759 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22760 extra_iter
22761 .next()
22762 .unwrap()
22763 .node
22764 .write_to(writer)
22765 .map_err(SerializeError::from)?;
22766 }
22767 {
22768 let val = &self.grouping;
22769 val.write_element("a:grouping", writer)?;
22770 }
22771 #[cfg(feature = "extra-children")]
22772 {
22773 emit_idx += 1;
22774 }
22775 #[cfg(feature = "extra-children")]
22776 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22777 extra_iter
22778 .next()
22779 .unwrap()
22780 .node
22781 .write_to(writer)
22782 .map_err(SerializeError::from)?;
22783 }
22784 if let Some(ref val) = self.vary_colors {
22785 val.write_element("a:varyColors", writer)?;
22786 }
22787 #[cfg(feature = "extra-children")]
22788 {
22789 emit_idx += 1;
22790 }
22791 for item in &self.ser {
22792 #[cfg(feature = "extra-children")]
22793 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22794 extra_iter
22795 .next()
22796 .unwrap()
22797 .node
22798 .write_to(writer)
22799 .map_err(SerializeError::from)?;
22800 }
22801 item.write_element("a:ser", writer)?;
22802 #[cfg(feature = "extra-children")]
22803 {
22804 emit_idx += 1;
22805 }
22806 }
22807 #[cfg(feature = "extra-children")]
22808 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22809 extra_iter
22810 .next()
22811 .unwrap()
22812 .node
22813 .write_to(writer)
22814 .map_err(SerializeError::from)?;
22815 }
22816 if let Some(ref val) = self.d_lbls {
22817 val.write_element("a:dLbls", writer)?;
22818 }
22819 #[cfg(feature = "extra-children")]
22820 {
22821 emit_idx += 1;
22822 }
22823 #[cfg(feature = "extra-children")]
22824 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22825 extra_iter
22826 .next()
22827 .unwrap()
22828 .node
22829 .write_to(writer)
22830 .map_err(SerializeError::from)?;
22831 }
22832 if let Some(ref val) = self.drop_lines {
22833 val.write_element("a:dropLines", writer)?;
22834 }
22835 #[cfg(feature = "extra-children")]
22836 {
22837 emit_idx += 1;
22838 }
22839 #[cfg(feature = "extra-children")]
22840 for extra in extra_iter {
22841 extra.node.write_to(writer).map_err(SerializeError::from)?;
22842 }
22843 Ok(())
22844 }
22845
22846 fn is_empty_element(&self) -> bool {
22847 false
22848 }
22849}
22850
22851impl ToXml for LineChart {
22852 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
22853 #[cfg(feature = "extra-children")]
22854 let mut extra_iter = self.extra_children.iter().peekable();
22855 #[cfg(feature = "extra-children")]
22856 let mut emit_idx: usize = 0;
22857 #[cfg(feature = "extra-children")]
22858 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22859 extra_iter
22860 .next()
22861 .unwrap()
22862 .node
22863 .write_to(writer)
22864 .map_err(SerializeError::from)?;
22865 }
22866 #[cfg(feature = "dml-charts")]
22867 {
22868 let val = &self.grouping;
22869 val.write_element("a:grouping", writer)?;
22870 }
22871 #[cfg(feature = "extra-children")]
22872 {
22873 emit_idx += 1;
22874 }
22875 #[cfg(feature = "extra-children")]
22876 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22877 extra_iter
22878 .next()
22879 .unwrap()
22880 .node
22881 .write_to(writer)
22882 .map_err(SerializeError::from)?;
22883 }
22884 #[cfg(feature = "dml-charts")]
22885 if let Some(ref val) = self.vary_colors {
22886 val.write_element("a:varyColors", writer)?;
22887 }
22888 #[cfg(feature = "extra-children")]
22889 {
22890 emit_idx += 1;
22891 }
22892 #[cfg(feature = "dml-charts")]
22893 for item in &self.ser {
22894 #[cfg(feature = "extra-children")]
22895 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22896 extra_iter
22897 .next()
22898 .unwrap()
22899 .node
22900 .write_to(writer)
22901 .map_err(SerializeError::from)?;
22902 }
22903 item.write_element("a:ser", writer)?;
22904 #[cfg(feature = "extra-children")]
22905 {
22906 emit_idx += 1;
22907 }
22908 }
22909 #[cfg(feature = "extra-children")]
22910 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22911 extra_iter
22912 .next()
22913 .unwrap()
22914 .node
22915 .write_to(writer)
22916 .map_err(SerializeError::from)?;
22917 }
22918 #[cfg(feature = "dml-charts")]
22919 if let Some(ref val) = self.d_lbls {
22920 val.write_element("a:dLbls", writer)?;
22921 }
22922 #[cfg(feature = "extra-children")]
22923 {
22924 emit_idx += 1;
22925 }
22926 #[cfg(feature = "extra-children")]
22927 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22928 extra_iter
22929 .next()
22930 .unwrap()
22931 .node
22932 .write_to(writer)
22933 .map_err(SerializeError::from)?;
22934 }
22935 #[cfg(feature = "dml-charts")]
22936 if let Some(ref val) = self.drop_lines {
22937 val.write_element("a:dropLines", writer)?;
22938 }
22939 #[cfg(feature = "extra-children")]
22940 {
22941 emit_idx += 1;
22942 }
22943 #[cfg(feature = "extra-children")]
22944 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22945 extra_iter
22946 .next()
22947 .unwrap()
22948 .node
22949 .write_to(writer)
22950 .map_err(SerializeError::from)?;
22951 }
22952 #[cfg(feature = "dml-charts")]
22953 if let Some(ref val) = self.hi_low_lines {
22954 val.write_element("a:hiLowLines", writer)?;
22955 }
22956 #[cfg(feature = "extra-children")]
22957 {
22958 emit_idx += 1;
22959 }
22960 #[cfg(feature = "extra-children")]
22961 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22962 extra_iter
22963 .next()
22964 .unwrap()
22965 .node
22966 .write_to(writer)
22967 .map_err(SerializeError::from)?;
22968 }
22969 #[cfg(feature = "dml-charts")]
22970 if let Some(ref val) = self.up_down_bars {
22971 val.write_element("a:upDownBars", writer)?;
22972 }
22973 #[cfg(feature = "extra-children")]
22974 {
22975 emit_idx += 1;
22976 }
22977 #[cfg(feature = "extra-children")]
22978 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22979 extra_iter
22980 .next()
22981 .unwrap()
22982 .node
22983 .write_to(writer)
22984 .map_err(SerializeError::from)?;
22985 }
22986 #[cfg(feature = "dml-charts")]
22987 if let Some(ref val) = self.marker {
22988 val.write_element("a:marker", writer)?;
22989 }
22990 #[cfg(feature = "extra-children")]
22991 {
22992 emit_idx += 1;
22993 }
22994 #[cfg(feature = "extra-children")]
22995 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
22996 extra_iter
22997 .next()
22998 .unwrap()
22999 .node
23000 .write_to(writer)
23001 .map_err(SerializeError::from)?;
23002 }
23003 #[cfg(feature = "dml-charts")]
23004 if let Some(ref val) = self.smooth {
23005 val.write_element("a:smooth", writer)?;
23006 }
23007 #[cfg(feature = "extra-children")]
23008 {
23009 emit_idx += 1;
23010 }
23011 #[cfg(feature = "dml-charts")]
23012 for item in &self.ax_id {
23013 #[cfg(feature = "extra-children")]
23014 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23015 extra_iter
23016 .next()
23017 .unwrap()
23018 .node
23019 .write_to(writer)
23020 .map_err(SerializeError::from)?;
23021 }
23022 item.write_element("a:axId", writer)?;
23023 #[cfg(feature = "extra-children")]
23024 {
23025 emit_idx += 1;
23026 }
23027 }
23028 #[cfg(feature = "extra-children")]
23029 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23030 extra_iter
23031 .next()
23032 .unwrap()
23033 .node
23034 .write_to(writer)
23035 .map_err(SerializeError::from)?;
23036 }
23037 #[cfg(feature = "dml-charts")]
23038 if let Some(ref val) = self.ext_lst {
23039 val.write_element("a:extLst", writer)?;
23040 }
23041 #[cfg(feature = "extra-children")]
23042 {
23043 emit_idx += 1;
23044 }
23045 #[cfg(feature = "extra-children")]
23046 for extra in extra_iter {
23047 extra.node.write_to(writer).map_err(SerializeError::from)?;
23048 }
23049 Ok(())
23050 }
23051
23052 fn is_empty_element(&self) -> bool {
23053 #[cfg(feature = "dml-charts")]
23054 return false;
23055 #[cfg(feature = "dml-charts")]
23056 if self.vary_colors.is_some() {
23057 return false;
23058 }
23059 #[cfg(feature = "dml-charts")]
23060 if !self.ser.is_empty() {
23061 return false;
23062 }
23063 #[cfg(feature = "dml-charts")]
23064 if self.d_lbls.is_some() {
23065 return false;
23066 }
23067 #[cfg(feature = "dml-charts")]
23068 if self.drop_lines.is_some() {
23069 return false;
23070 }
23071 #[cfg(feature = "dml-charts")]
23072 if self.hi_low_lines.is_some() {
23073 return false;
23074 }
23075 #[cfg(feature = "dml-charts")]
23076 if self.up_down_bars.is_some() {
23077 return false;
23078 }
23079 #[cfg(feature = "dml-charts")]
23080 if self.marker.is_some() {
23081 return false;
23082 }
23083 #[cfg(feature = "dml-charts")]
23084 if self.smooth.is_some() {
23085 return false;
23086 }
23087 #[cfg(feature = "dml-charts")]
23088 if !self.ax_id.is_empty() {
23089 return false;
23090 }
23091 #[cfg(feature = "dml-charts")]
23092 if self.ext_lst.is_some() {
23093 return false;
23094 }
23095 #[cfg(feature = "extra-children")]
23096 if !self.extra_children.is_empty() {
23097 return false;
23098 }
23099 true
23100 }
23101}
23102
23103impl ToXml for Line3DChart {
23104 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23105 #[cfg(feature = "extra-children")]
23106 let mut extra_iter = self.extra_children.iter().peekable();
23107 #[cfg(feature = "extra-children")]
23108 let mut emit_idx: usize = 0;
23109 #[cfg(feature = "extra-children")]
23110 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23111 extra_iter
23112 .next()
23113 .unwrap()
23114 .node
23115 .write_to(writer)
23116 .map_err(SerializeError::from)?;
23117 }
23118 #[cfg(feature = "dml-charts")]
23119 {
23120 let val = &self.grouping;
23121 val.write_element("a:grouping", writer)?;
23122 }
23123 #[cfg(feature = "extra-children")]
23124 {
23125 emit_idx += 1;
23126 }
23127 #[cfg(feature = "extra-children")]
23128 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23129 extra_iter
23130 .next()
23131 .unwrap()
23132 .node
23133 .write_to(writer)
23134 .map_err(SerializeError::from)?;
23135 }
23136 #[cfg(feature = "dml-charts")]
23137 if let Some(ref val) = self.vary_colors {
23138 val.write_element("a:varyColors", writer)?;
23139 }
23140 #[cfg(feature = "extra-children")]
23141 {
23142 emit_idx += 1;
23143 }
23144 #[cfg(feature = "dml-charts")]
23145 for item in &self.ser {
23146 #[cfg(feature = "extra-children")]
23147 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23148 extra_iter
23149 .next()
23150 .unwrap()
23151 .node
23152 .write_to(writer)
23153 .map_err(SerializeError::from)?;
23154 }
23155 item.write_element("a:ser", writer)?;
23156 #[cfg(feature = "extra-children")]
23157 {
23158 emit_idx += 1;
23159 }
23160 }
23161 #[cfg(feature = "extra-children")]
23162 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23163 extra_iter
23164 .next()
23165 .unwrap()
23166 .node
23167 .write_to(writer)
23168 .map_err(SerializeError::from)?;
23169 }
23170 #[cfg(feature = "dml-charts")]
23171 if let Some(ref val) = self.d_lbls {
23172 val.write_element("a:dLbls", writer)?;
23173 }
23174 #[cfg(feature = "extra-children")]
23175 {
23176 emit_idx += 1;
23177 }
23178 #[cfg(feature = "extra-children")]
23179 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23180 extra_iter
23181 .next()
23182 .unwrap()
23183 .node
23184 .write_to(writer)
23185 .map_err(SerializeError::from)?;
23186 }
23187 #[cfg(feature = "dml-charts")]
23188 if let Some(ref val) = self.drop_lines {
23189 val.write_element("a:dropLines", writer)?;
23190 }
23191 #[cfg(feature = "extra-children")]
23192 {
23193 emit_idx += 1;
23194 }
23195 #[cfg(feature = "extra-children")]
23196 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23197 extra_iter
23198 .next()
23199 .unwrap()
23200 .node
23201 .write_to(writer)
23202 .map_err(SerializeError::from)?;
23203 }
23204 #[cfg(feature = "dml-charts")]
23205 if let Some(ref val) = self.gap_depth {
23206 val.write_element("a:gapDepth", writer)?;
23207 }
23208 #[cfg(feature = "extra-children")]
23209 {
23210 emit_idx += 1;
23211 }
23212 #[cfg(feature = "dml-charts")]
23213 for item in &self.ax_id {
23214 #[cfg(feature = "extra-children")]
23215 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23216 extra_iter
23217 .next()
23218 .unwrap()
23219 .node
23220 .write_to(writer)
23221 .map_err(SerializeError::from)?;
23222 }
23223 item.write_element("a:axId", writer)?;
23224 #[cfg(feature = "extra-children")]
23225 {
23226 emit_idx += 1;
23227 }
23228 }
23229 #[cfg(feature = "extra-children")]
23230 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23231 extra_iter
23232 .next()
23233 .unwrap()
23234 .node
23235 .write_to(writer)
23236 .map_err(SerializeError::from)?;
23237 }
23238 #[cfg(feature = "dml-charts")]
23239 if let Some(ref val) = self.ext_lst {
23240 val.write_element("a:extLst", writer)?;
23241 }
23242 #[cfg(feature = "extra-children")]
23243 {
23244 emit_idx += 1;
23245 }
23246 #[cfg(feature = "extra-children")]
23247 for extra in extra_iter {
23248 extra.node.write_to(writer).map_err(SerializeError::from)?;
23249 }
23250 Ok(())
23251 }
23252
23253 fn is_empty_element(&self) -> bool {
23254 #[cfg(feature = "dml-charts")]
23255 return false;
23256 #[cfg(feature = "dml-charts")]
23257 if self.vary_colors.is_some() {
23258 return false;
23259 }
23260 #[cfg(feature = "dml-charts")]
23261 if !self.ser.is_empty() {
23262 return false;
23263 }
23264 #[cfg(feature = "dml-charts")]
23265 if self.d_lbls.is_some() {
23266 return false;
23267 }
23268 #[cfg(feature = "dml-charts")]
23269 if self.drop_lines.is_some() {
23270 return false;
23271 }
23272 #[cfg(feature = "dml-charts")]
23273 if self.gap_depth.is_some() {
23274 return false;
23275 }
23276 #[cfg(feature = "dml-charts")]
23277 if !self.ax_id.is_empty() {
23278 return false;
23279 }
23280 #[cfg(feature = "dml-charts")]
23281 if self.ext_lst.is_some() {
23282 return false;
23283 }
23284 #[cfg(feature = "extra-children")]
23285 if !self.extra_children.is_empty() {
23286 return false;
23287 }
23288 true
23289 }
23290}
23291
23292impl ToXml for StockChart {
23293 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23294 #[cfg(feature = "extra-children")]
23295 let mut extra_iter = self.extra_children.iter().peekable();
23296 #[cfg(feature = "extra-children")]
23297 let mut emit_idx: usize = 0;
23298 #[cfg(feature = "dml-charts")]
23299 for item in &self.ser {
23300 #[cfg(feature = "extra-children")]
23301 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23302 extra_iter
23303 .next()
23304 .unwrap()
23305 .node
23306 .write_to(writer)
23307 .map_err(SerializeError::from)?;
23308 }
23309 item.write_element("a:ser", writer)?;
23310 #[cfg(feature = "extra-children")]
23311 {
23312 emit_idx += 1;
23313 }
23314 }
23315 #[cfg(feature = "extra-children")]
23316 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23317 extra_iter
23318 .next()
23319 .unwrap()
23320 .node
23321 .write_to(writer)
23322 .map_err(SerializeError::from)?;
23323 }
23324 #[cfg(feature = "dml-charts")]
23325 if let Some(ref val) = self.d_lbls {
23326 val.write_element("a:dLbls", writer)?;
23327 }
23328 #[cfg(feature = "extra-children")]
23329 {
23330 emit_idx += 1;
23331 }
23332 #[cfg(feature = "extra-children")]
23333 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23334 extra_iter
23335 .next()
23336 .unwrap()
23337 .node
23338 .write_to(writer)
23339 .map_err(SerializeError::from)?;
23340 }
23341 #[cfg(feature = "dml-charts")]
23342 if let Some(ref val) = self.drop_lines {
23343 val.write_element("a:dropLines", writer)?;
23344 }
23345 #[cfg(feature = "extra-children")]
23346 {
23347 emit_idx += 1;
23348 }
23349 #[cfg(feature = "extra-children")]
23350 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23351 extra_iter
23352 .next()
23353 .unwrap()
23354 .node
23355 .write_to(writer)
23356 .map_err(SerializeError::from)?;
23357 }
23358 #[cfg(feature = "dml-charts")]
23359 if let Some(ref val) = self.hi_low_lines {
23360 val.write_element("a:hiLowLines", writer)?;
23361 }
23362 #[cfg(feature = "extra-children")]
23363 {
23364 emit_idx += 1;
23365 }
23366 #[cfg(feature = "extra-children")]
23367 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23368 extra_iter
23369 .next()
23370 .unwrap()
23371 .node
23372 .write_to(writer)
23373 .map_err(SerializeError::from)?;
23374 }
23375 #[cfg(feature = "dml-charts")]
23376 if let Some(ref val) = self.up_down_bars {
23377 val.write_element("a:upDownBars", writer)?;
23378 }
23379 #[cfg(feature = "extra-children")]
23380 {
23381 emit_idx += 1;
23382 }
23383 #[cfg(feature = "dml-charts")]
23384 for item in &self.ax_id {
23385 #[cfg(feature = "extra-children")]
23386 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23387 extra_iter
23388 .next()
23389 .unwrap()
23390 .node
23391 .write_to(writer)
23392 .map_err(SerializeError::from)?;
23393 }
23394 item.write_element("a:axId", writer)?;
23395 #[cfg(feature = "extra-children")]
23396 {
23397 emit_idx += 1;
23398 }
23399 }
23400 #[cfg(feature = "extra-children")]
23401 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23402 extra_iter
23403 .next()
23404 .unwrap()
23405 .node
23406 .write_to(writer)
23407 .map_err(SerializeError::from)?;
23408 }
23409 #[cfg(feature = "dml-charts")]
23410 if let Some(ref val) = self.ext_lst {
23411 val.write_element("a:extLst", writer)?;
23412 }
23413 #[cfg(feature = "extra-children")]
23414 {
23415 emit_idx += 1;
23416 }
23417 #[cfg(feature = "extra-children")]
23418 for extra in extra_iter {
23419 extra.node.write_to(writer).map_err(SerializeError::from)?;
23420 }
23421 Ok(())
23422 }
23423
23424 fn is_empty_element(&self) -> bool {
23425 #[cfg(feature = "dml-charts")]
23426 if !self.ser.is_empty() {
23427 return false;
23428 }
23429 #[cfg(feature = "dml-charts")]
23430 if self.d_lbls.is_some() {
23431 return false;
23432 }
23433 #[cfg(feature = "dml-charts")]
23434 if self.drop_lines.is_some() {
23435 return false;
23436 }
23437 #[cfg(feature = "dml-charts")]
23438 if self.hi_low_lines.is_some() {
23439 return false;
23440 }
23441 #[cfg(feature = "dml-charts")]
23442 if self.up_down_bars.is_some() {
23443 return false;
23444 }
23445 #[cfg(feature = "dml-charts")]
23446 if !self.ax_id.is_empty() {
23447 return false;
23448 }
23449 #[cfg(feature = "dml-charts")]
23450 if self.ext_lst.is_some() {
23451 return false;
23452 }
23453 #[cfg(feature = "extra-children")]
23454 if !self.extra_children.is_empty() {
23455 return false;
23456 }
23457 true
23458 }
23459}
23460
23461impl ToXml for ScatterStyle {
23462 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
23463 #[allow(unused_mut)]
23464 let mut start = start;
23465 #[cfg(feature = "dml-charts")]
23466 if let Some(ref val) = self.value {
23467 {
23468 let s = val.to_string();
23469 start.push_attribute(("val", s.as_str()));
23470 }
23471 }
23472 #[cfg(feature = "extra-attrs")]
23473 for (key, value) in &self.extra_attrs {
23474 start.push_attribute((key.as_str(), value.as_str()));
23475 }
23476 start
23477 }
23478
23479 fn is_empty_element(&self) -> bool {
23480 true
23481 }
23482}
23483
23484impl ToXml for ScatterChart {
23485 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23486 #[cfg(feature = "extra-children")]
23487 let mut extra_iter = self.extra_children.iter().peekable();
23488 #[cfg(feature = "extra-children")]
23489 let mut emit_idx: usize = 0;
23490 #[cfg(feature = "extra-children")]
23491 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23492 extra_iter
23493 .next()
23494 .unwrap()
23495 .node
23496 .write_to(writer)
23497 .map_err(SerializeError::from)?;
23498 }
23499 #[cfg(feature = "dml-charts")]
23500 {
23501 let val = &self.scatter_style;
23502 val.write_element("a:scatterStyle", writer)?;
23503 }
23504 #[cfg(feature = "extra-children")]
23505 {
23506 emit_idx += 1;
23507 }
23508 #[cfg(feature = "extra-children")]
23509 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23510 extra_iter
23511 .next()
23512 .unwrap()
23513 .node
23514 .write_to(writer)
23515 .map_err(SerializeError::from)?;
23516 }
23517 #[cfg(feature = "dml-charts")]
23518 if let Some(ref val) = self.vary_colors {
23519 val.write_element("a:varyColors", writer)?;
23520 }
23521 #[cfg(feature = "extra-children")]
23522 {
23523 emit_idx += 1;
23524 }
23525 #[cfg(feature = "dml-charts")]
23526 for item in &self.ser {
23527 #[cfg(feature = "extra-children")]
23528 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23529 extra_iter
23530 .next()
23531 .unwrap()
23532 .node
23533 .write_to(writer)
23534 .map_err(SerializeError::from)?;
23535 }
23536 item.write_element("a:ser", writer)?;
23537 #[cfg(feature = "extra-children")]
23538 {
23539 emit_idx += 1;
23540 }
23541 }
23542 #[cfg(feature = "extra-children")]
23543 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23544 extra_iter
23545 .next()
23546 .unwrap()
23547 .node
23548 .write_to(writer)
23549 .map_err(SerializeError::from)?;
23550 }
23551 #[cfg(feature = "dml-charts")]
23552 if let Some(ref val) = self.d_lbls {
23553 val.write_element("a:dLbls", writer)?;
23554 }
23555 #[cfg(feature = "extra-children")]
23556 {
23557 emit_idx += 1;
23558 }
23559 #[cfg(feature = "dml-charts")]
23560 for item in &self.ax_id {
23561 #[cfg(feature = "extra-children")]
23562 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23563 extra_iter
23564 .next()
23565 .unwrap()
23566 .node
23567 .write_to(writer)
23568 .map_err(SerializeError::from)?;
23569 }
23570 item.write_element("a:axId", writer)?;
23571 #[cfg(feature = "extra-children")]
23572 {
23573 emit_idx += 1;
23574 }
23575 }
23576 #[cfg(feature = "extra-children")]
23577 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23578 extra_iter
23579 .next()
23580 .unwrap()
23581 .node
23582 .write_to(writer)
23583 .map_err(SerializeError::from)?;
23584 }
23585 #[cfg(feature = "dml-charts")]
23586 if let Some(ref val) = self.ext_lst {
23587 val.write_element("a:extLst", writer)?;
23588 }
23589 #[cfg(feature = "extra-children")]
23590 {
23591 emit_idx += 1;
23592 }
23593 #[cfg(feature = "extra-children")]
23594 for extra in extra_iter {
23595 extra.node.write_to(writer).map_err(SerializeError::from)?;
23596 }
23597 Ok(())
23598 }
23599
23600 fn is_empty_element(&self) -> bool {
23601 #[cfg(feature = "dml-charts")]
23602 return false;
23603 #[cfg(feature = "dml-charts")]
23604 if self.vary_colors.is_some() {
23605 return false;
23606 }
23607 #[cfg(feature = "dml-charts")]
23608 if !self.ser.is_empty() {
23609 return false;
23610 }
23611 #[cfg(feature = "dml-charts")]
23612 if self.d_lbls.is_some() {
23613 return false;
23614 }
23615 #[cfg(feature = "dml-charts")]
23616 if !self.ax_id.is_empty() {
23617 return false;
23618 }
23619 #[cfg(feature = "dml-charts")]
23620 if self.ext_lst.is_some() {
23621 return false;
23622 }
23623 #[cfg(feature = "extra-children")]
23624 if !self.extra_children.is_empty() {
23625 return false;
23626 }
23627 true
23628 }
23629}
23630
23631impl ToXml for RadarStyle {
23632 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
23633 #[allow(unused_mut)]
23634 let mut start = start;
23635 #[cfg(feature = "dml-charts")]
23636 if let Some(ref val) = self.value {
23637 {
23638 let s = val.to_string();
23639 start.push_attribute(("val", s.as_str()));
23640 }
23641 }
23642 #[cfg(feature = "extra-attrs")]
23643 for (key, value) in &self.extra_attrs {
23644 start.push_attribute((key.as_str(), value.as_str()));
23645 }
23646 start
23647 }
23648
23649 fn is_empty_element(&self) -> bool {
23650 true
23651 }
23652}
23653
23654impl ToXml for RadarChart {
23655 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23656 #[cfg(feature = "extra-children")]
23657 let mut extra_iter = self.extra_children.iter().peekable();
23658 #[cfg(feature = "extra-children")]
23659 let mut emit_idx: usize = 0;
23660 #[cfg(feature = "extra-children")]
23661 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23662 extra_iter
23663 .next()
23664 .unwrap()
23665 .node
23666 .write_to(writer)
23667 .map_err(SerializeError::from)?;
23668 }
23669 #[cfg(feature = "dml-charts")]
23670 {
23671 let val = &self.radar_style;
23672 val.write_element("a:radarStyle", writer)?;
23673 }
23674 #[cfg(feature = "extra-children")]
23675 {
23676 emit_idx += 1;
23677 }
23678 #[cfg(feature = "extra-children")]
23679 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23680 extra_iter
23681 .next()
23682 .unwrap()
23683 .node
23684 .write_to(writer)
23685 .map_err(SerializeError::from)?;
23686 }
23687 #[cfg(feature = "dml-charts")]
23688 if let Some(ref val) = self.vary_colors {
23689 val.write_element("a:varyColors", writer)?;
23690 }
23691 #[cfg(feature = "extra-children")]
23692 {
23693 emit_idx += 1;
23694 }
23695 #[cfg(feature = "dml-charts")]
23696 for item in &self.ser {
23697 #[cfg(feature = "extra-children")]
23698 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23699 extra_iter
23700 .next()
23701 .unwrap()
23702 .node
23703 .write_to(writer)
23704 .map_err(SerializeError::from)?;
23705 }
23706 item.write_element("a:ser", writer)?;
23707 #[cfg(feature = "extra-children")]
23708 {
23709 emit_idx += 1;
23710 }
23711 }
23712 #[cfg(feature = "extra-children")]
23713 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23714 extra_iter
23715 .next()
23716 .unwrap()
23717 .node
23718 .write_to(writer)
23719 .map_err(SerializeError::from)?;
23720 }
23721 #[cfg(feature = "dml-charts")]
23722 if let Some(ref val) = self.d_lbls {
23723 val.write_element("a:dLbls", writer)?;
23724 }
23725 #[cfg(feature = "extra-children")]
23726 {
23727 emit_idx += 1;
23728 }
23729 #[cfg(feature = "dml-charts")]
23730 for item in &self.ax_id {
23731 #[cfg(feature = "extra-children")]
23732 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23733 extra_iter
23734 .next()
23735 .unwrap()
23736 .node
23737 .write_to(writer)
23738 .map_err(SerializeError::from)?;
23739 }
23740 item.write_element("a:axId", writer)?;
23741 #[cfg(feature = "extra-children")]
23742 {
23743 emit_idx += 1;
23744 }
23745 }
23746 #[cfg(feature = "extra-children")]
23747 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23748 extra_iter
23749 .next()
23750 .unwrap()
23751 .node
23752 .write_to(writer)
23753 .map_err(SerializeError::from)?;
23754 }
23755 #[cfg(feature = "dml-charts")]
23756 if let Some(ref val) = self.ext_lst {
23757 val.write_element("a:extLst", writer)?;
23758 }
23759 #[cfg(feature = "extra-children")]
23760 {
23761 emit_idx += 1;
23762 }
23763 #[cfg(feature = "extra-children")]
23764 for extra in extra_iter {
23765 extra.node.write_to(writer).map_err(SerializeError::from)?;
23766 }
23767 Ok(())
23768 }
23769
23770 fn is_empty_element(&self) -> bool {
23771 #[cfg(feature = "dml-charts")]
23772 return false;
23773 #[cfg(feature = "dml-charts")]
23774 if self.vary_colors.is_some() {
23775 return false;
23776 }
23777 #[cfg(feature = "dml-charts")]
23778 if !self.ser.is_empty() {
23779 return false;
23780 }
23781 #[cfg(feature = "dml-charts")]
23782 if self.d_lbls.is_some() {
23783 return false;
23784 }
23785 #[cfg(feature = "dml-charts")]
23786 if !self.ax_id.is_empty() {
23787 return false;
23788 }
23789 #[cfg(feature = "dml-charts")]
23790 if self.ext_lst.is_some() {
23791 return false;
23792 }
23793 #[cfg(feature = "extra-children")]
23794 if !self.extra_children.is_empty() {
23795 return false;
23796 }
23797 true
23798 }
23799}
23800
23801impl ToXml for BarGrouping {
23802 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
23803 #[allow(unused_mut)]
23804 let mut start = start;
23805 #[cfg(feature = "dml-charts")]
23806 if let Some(ref val) = self.value {
23807 {
23808 let s = val.to_string();
23809 start.push_attribute(("val", s.as_str()));
23810 }
23811 }
23812 #[cfg(feature = "extra-attrs")]
23813 for (key, value) in &self.extra_attrs {
23814 start.push_attribute((key.as_str(), value.as_str()));
23815 }
23816 start
23817 }
23818
23819 fn is_empty_element(&self) -> bool {
23820 true
23821 }
23822}
23823
23824impl ToXml for BarDirection {
23825 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
23826 #[allow(unused_mut)]
23827 let mut start = start;
23828 #[cfg(feature = "dml-charts")]
23829 if let Some(ref val) = self.value {
23830 {
23831 let s = val.to_string();
23832 start.push_attribute(("val", s.as_str()));
23833 }
23834 }
23835 #[cfg(feature = "extra-attrs")]
23836 for (key, value) in &self.extra_attrs {
23837 start.push_attribute((key.as_str(), value.as_str()));
23838 }
23839 start
23840 }
23841
23842 fn is_empty_element(&self) -> bool {
23843 true
23844 }
23845}
23846
23847impl ToXml for DiagramShape {
23848 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
23849 #[allow(unused_mut)]
23850 let mut start = start;
23851 #[cfg(feature = "dml-diagrams")]
23852 if let Some(ref val) = self.value {
23853 {
23854 let s = val.to_string();
23855 start.push_attribute(("val", s.as_str()));
23856 }
23857 }
23858 #[cfg(feature = "extra-attrs")]
23859 for (key, value) in &self.extra_attrs {
23860 start.push_attribute((key.as_str(), value.as_str()));
23861 }
23862 start
23863 }
23864
23865 fn is_empty_element(&self) -> bool {
23866 true
23867 }
23868}
23869
23870impl ToXml for EGBarChartShared {
23871 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23872 #[cfg(feature = "extra-children")]
23873 let mut extra_iter = self.extra_children.iter().peekable();
23874 #[cfg(feature = "extra-children")]
23875 let mut emit_idx: usize = 0;
23876 #[cfg(feature = "extra-children")]
23877 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23878 extra_iter
23879 .next()
23880 .unwrap()
23881 .node
23882 .write_to(writer)
23883 .map_err(SerializeError::from)?;
23884 }
23885 {
23886 let val = &self.bar_dir;
23887 val.write_element("a:barDir", writer)?;
23888 }
23889 #[cfg(feature = "extra-children")]
23890 {
23891 emit_idx += 1;
23892 }
23893 #[cfg(feature = "extra-children")]
23894 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23895 extra_iter
23896 .next()
23897 .unwrap()
23898 .node
23899 .write_to(writer)
23900 .map_err(SerializeError::from)?;
23901 }
23902 if let Some(ref val) = self.grouping {
23903 val.write_element("a:grouping", writer)?;
23904 }
23905 #[cfg(feature = "extra-children")]
23906 {
23907 emit_idx += 1;
23908 }
23909 #[cfg(feature = "extra-children")]
23910 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23911 extra_iter
23912 .next()
23913 .unwrap()
23914 .node
23915 .write_to(writer)
23916 .map_err(SerializeError::from)?;
23917 }
23918 if let Some(ref val) = self.vary_colors {
23919 val.write_element("a:varyColors", writer)?;
23920 }
23921 #[cfg(feature = "extra-children")]
23922 {
23923 emit_idx += 1;
23924 }
23925 for item in &self.ser {
23926 #[cfg(feature = "extra-children")]
23927 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23928 extra_iter
23929 .next()
23930 .unwrap()
23931 .node
23932 .write_to(writer)
23933 .map_err(SerializeError::from)?;
23934 }
23935 item.write_element("a:ser", writer)?;
23936 #[cfg(feature = "extra-children")]
23937 {
23938 emit_idx += 1;
23939 }
23940 }
23941 #[cfg(feature = "extra-children")]
23942 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23943 extra_iter
23944 .next()
23945 .unwrap()
23946 .node
23947 .write_to(writer)
23948 .map_err(SerializeError::from)?;
23949 }
23950 if let Some(ref val) = self.d_lbls {
23951 val.write_element("a:dLbls", writer)?;
23952 }
23953 #[cfg(feature = "extra-children")]
23954 {
23955 emit_idx += 1;
23956 }
23957 #[cfg(feature = "extra-children")]
23958 for extra in extra_iter {
23959 extra.node.write_to(writer).map_err(SerializeError::from)?;
23960 }
23961 Ok(())
23962 }
23963
23964 fn is_empty_element(&self) -> bool {
23965 false
23966 }
23967}
23968
23969impl ToXml for BarChart {
23970 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
23971 #[cfg(feature = "extra-children")]
23972 let mut extra_iter = self.extra_children.iter().peekable();
23973 #[cfg(feature = "extra-children")]
23974 let mut emit_idx: usize = 0;
23975 #[cfg(feature = "extra-children")]
23976 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23977 extra_iter
23978 .next()
23979 .unwrap()
23980 .node
23981 .write_to(writer)
23982 .map_err(SerializeError::from)?;
23983 }
23984 #[cfg(feature = "dml-charts")]
23985 {
23986 let val = &self.bar_dir;
23987 val.write_element("a:barDir", writer)?;
23988 }
23989 #[cfg(feature = "extra-children")]
23990 {
23991 emit_idx += 1;
23992 }
23993 #[cfg(feature = "extra-children")]
23994 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
23995 extra_iter
23996 .next()
23997 .unwrap()
23998 .node
23999 .write_to(writer)
24000 .map_err(SerializeError::from)?;
24001 }
24002 #[cfg(feature = "dml-charts")]
24003 if let Some(ref val) = self.grouping {
24004 val.write_element("a:grouping", writer)?;
24005 }
24006 #[cfg(feature = "extra-children")]
24007 {
24008 emit_idx += 1;
24009 }
24010 #[cfg(feature = "extra-children")]
24011 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24012 extra_iter
24013 .next()
24014 .unwrap()
24015 .node
24016 .write_to(writer)
24017 .map_err(SerializeError::from)?;
24018 }
24019 #[cfg(feature = "dml-charts")]
24020 if let Some(ref val) = self.vary_colors {
24021 val.write_element("a:varyColors", writer)?;
24022 }
24023 #[cfg(feature = "extra-children")]
24024 {
24025 emit_idx += 1;
24026 }
24027 #[cfg(feature = "dml-charts")]
24028 for item in &self.ser {
24029 #[cfg(feature = "extra-children")]
24030 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24031 extra_iter
24032 .next()
24033 .unwrap()
24034 .node
24035 .write_to(writer)
24036 .map_err(SerializeError::from)?;
24037 }
24038 item.write_element("a:ser", writer)?;
24039 #[cfg(feature = "extra-children")]
24040 {
24041 emit_idx += 1;
24042 }
24043 }
24044 #[cfg(feature = "extra-children")]
24045 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24046 extra_iter
24047 .next()
24048 .unwrap()
24049 .node
24050 .write_to(writer)
24051 .map_err(SerializeError::from)?;
24052 }
24053 #[cfg(feature = "dml-charts")]
24054 if let Some(ref val) = self.d_lbls {
24055 val.write_element("a:dLbls", writer)?;
24056 }
24057 #[cfg(feature = "extra-children")]
24058 {
24059 emit_idx += 1;
24060 }
24061 #[cfg(feature = "extra-children")]
24062 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24063 extra_iter
24064 .next()
24065 .unwrap()
24066 .node
24067 .write_to(writer)
24068 .map_err(SerializeError::from)?;
24069 }
24070 #[cfg(feature = "dml-charts")]
24071 if let Some(ref val) = self.gap_width {
24072 val.write_element("a:gapWidth", writer)?;
24073 }
24074 #[cfg(feature = "extra-children")]
24075 {
24076 emit_idx += 1;
24077 }
24078 #[cfg(feature = "extra-children")]
24079 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24080 extra_iter
24081 .next()
24082 .unwrap()
24083 .node
24084 .write_to(writer)
24085 .map_err(SerializeError::from)?;
24086 }
24087 #[cfg(feature = "dml-charts")]
24088 if let Some(ref val) = self.overlap {
24089 val.write_element("a:overlap", writer)?;
24090 }
24091 #[cfg(feature = "extra-children")]
24092 {
24093 emit_idx += 1;
24094 }
24095 #[cfg(feature = "dml-charts")]
24096 for item in &self.ser_lines {
24097 #[cfg(feature = "extra-children")]
24098 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24099 extra_iter
24100 .next()
24101 .unwrap()
24102 .node
24103 .write_to(writer)
24104 .map_err(SerializeError::from)?;
24105 }
24106 item.write_element("a:serLines", writer)?;
24107 #[cfg(feature = "extra-children")]
24108 {
24109 emit_idx += 1;
24110 }
24111 }
24112 #[cfg(feature = "dml-charts")]
24113 for item in &self.ax_id {
24114 #[cfg(feature = "extra-children")]
24115 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24116 extra_iter
24117 .next()
24118 .unwrap()
24119 .node
24120 .write_to(writer)
24121 .map_err(SerializeError::from)?;
24122 }
24123 item.write_element("a:axId", writer)?;
24124 #[cfg(feature = "extra-children")]
24125 {
24126 emit_idx += 1;
24127 }
24128 }
24129 #[cfg(feature = "extra-children")]
24130 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24131 extra_iter
24132 .next()
24133 .unwrap()
24134 .node
24135 .write_to(writer)
24136 .map_err(SerializeError::from)?;
24137 }
24138 #[cfg(feature = "dml-charts")]
24139 if let Some(ref val) = self.ext_lst {
24140 val.write_element("a:extLst", writer)?;
24141 }
24142 #[cfg(feature = "extra-children")]
24143 {
24144 emit_idx += 1;
24145 }
24146 #[cfg(feature = "extra-children")]
24147 for extra in extra_iter {
24148 extra.node.write_to(writer).map_err(SerializeError::from)?;
24149 }
24150 Ok(())
24151 }
24152
24153 fn is_empty_element(&self) -> bool {
24154 #[cfg(feature = "dml-charts")]
24155 return false;
24156 #[cfg(feature = "dml-charts")]
24157 if self.grouping.is_some() {
24158 return false;
24159 }
24160 #[cfg(feature = "dml-charts")]
24161 if self.vary_colors.is_some() {
24162 return false;
24163 }
24164 #[cfg(feature = "dml-charts")]
24165 if !self.ser.is_empty() {
24166 return false;
24167 }
24168 #[cfg(feature = "dml-charts")]
24169 if self.d_lbls.is_some() {
24170 return false;
24171 }
24172 #[cfg(feature = "dml-charts")]
24173 if self.gap_width.is_some() {
24174 return false;
24175 }
24176 #[cfg(feature = "dml-charts")]
24177 if self.overlap.is_some() {
24178 return false;
24179 }
24180 #[cfg(feature = "dml-charts")]
24181 if !self.ser_lines.is_empty() {
24182 return false;
24183 }
24184 #[cfg(feature = "dml-charts")]
24185 if !self.ax_id.is_empty() {
24186 return false;
24187 }
24188 #[cfg(feature = "dml-charts")]
24189 if self.ext_lst.is_some() {
24190 return false;
24191 }
24192 #[cfg(feature = "extra-children")]
24193 if !self.extra_children.is_empty() {
24194 return false;
24195 }
24196 true
24197 }
24198}
24199
24200impl ToXml for Bar3DChart {
24201 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24202 #[cfg(feature = "extra-children")]
24203 let mut extra_iter = self.extra_children.iter().peekable();
24204 #[cfg(feature = "extra-children")]
24205 let mut emit_idx: usize = 0;
24206 #[cfg(feature = "extra-children")]
24207 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24208 extra_iter
24209 .next()
24210 .unwrap()
24211 .node
24212 .write_to(writer)
24213 .map_err(SerializeError::from)?;
24214 }
24215 #[cfg(feature = "dml-charts")]
24216 {
24217 let val = &self.bar_dir;
24218 val.write_element("a:barDir", writer)?;
24219 }
24220 #[cfg(feature = "extra-children")]
24221 {
24222 emit_idx += 1;
24223 }
24224 #[cfg(feature = "extra-children")]
24225 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24226 extra_iter
24227 .next()
24228 .unwrap()
24229 .node
24230 .write_to(writer)
24231 .map_err(SerializeError::from)?;
24232 }
24233 #[cfg(feature = "dml-charts")]
24234 if let Some(ref val) = self.grouping {
24235 val.write_element("a:grouping", writer)?;
24236 }
24237 #[cfg(feature = "extra-children")]
24238 {
24239 emit_idx += 1;
24240 }
24241 #[cfg(feature = "extra-children")]
24242 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24243 extra_iter
24244 .next()
24245 .unwrap()
24246 .node
24247 .write_to(writer)
24248 .map_err(SerializeError::from)?;
24249 }
24250 #[cfg(feature = "dml-charts")]
24251 if let Some(ref val) = self.vary_colors {
24252 val.write_element("a:varyColors", writer)?;
24253 }
24254 #[cfg(feature = "extra-children")]
24255 {
24256 emit_idx += 1;
24257 }
24258 #[cfg(feature = "dml-charts")]
24259 for item in &self.ser {
24260 #[cfg(feature = "extra-children")]
24261 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24262 extra_iter
24263 .next()
24264 .unwrap()
24265 .node
24266 .write_to(writer)
24267 .map_err(SerializeError::from)?;
24268 }
24269 item.write_element("a:ser", writer)?;
24270 #[cfg(feature = "extra-children")]
24271 {
24272 emit_idx += 1;
24273 }
24274 }
24275 #[cfg(feature = "extra-children")]
24276 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24277 extra_iter
24278 .next()
24279 .unwrap()
24280 .node
24281 .write_to(writer)
24282 .map_err(SerializeError::from)?;
24283 }
24284 #[cfg(feature = "dml-charts")]
24285 if let Some(ref val) = self.d_lbls {
24286 val.write_element("a:dLbls", writer)?;
24287 }
24288 #[cfg(feature = "extra-children")]
24289 {
24290 emit_idx += 1;
24291 }
24292 #[cfg(feature = "extra-children")]
24293 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24294 extra_iter
24295 .next()
24296 .unwrap()
24297 .node
24298 .write_to(writer)
24299 .map_err(SerializeError::from)?;
24300 }
24301 #[cfg(feature = "dml-charts")]
24302 if let Some(ref val) = self.gap_width {
24303 val.write_element("a:gapWidth", writer)?;
24304 }
24305 #[cfg(feature = "extra-children")]
24306 {
24307 emit_idx += 1;
24308 }
24309 #[cfg(feature = "extra-children")]
24310 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24311 extra_iter
24312 .next()
24313 .unwrap()
24314 .node
24315 .write_to(writer)
24316 .map_err(SerializeError::from)?;
24317 }
24318 #[cfg(feature = "dml-charts")]
24319 if let Some(ref val) = self.gap_depth {
24320 val.write_element("a:gapDepth", writer)?;
24321 }
24322 #[cfg(feature = "extra-children")]
24323 {
24324 emit_idx += 1;
24325 }
24326 #[cfg(feature = "extra-children")]
24327 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24328 extra_iter
24329 .next()
24330 .unwrap()
24331 .node
24332 .write_to(writer)
24333 .map_err(SerializeError::from)?;
24334 }
24335 #[cfg(feature = "dml-charts")]
24336 if let Some(ref val) = self.shape {
24337 val.write_element("a:shape", writer)?;
24338 }
24339 #[cfg(feature = "extra-children")]
24340 {
24341 emit_idx += 1;
24342 }
24343 #[cfg(feature = "dml-charts")]
24344 for item in &self.ax_id {
24345 #[cfg(feature = "extra-children")]
24346 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24347 extra_iter
24348 .next()
24349 .unwrap()
24350 .node
24351 .write_to(writer)
24352 .map_err(SerializeError::from)?;
24353 }
24354 item.write_element("a:axId", writer)?;
24355 #[cfg(feature = "extra-children")]
24356 {
24357 emit_idx += 1;
24358 }
24359 }
24360 #[cfg(feature = "extra-children")]
24361 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24362 extra_iter
24363 .next()
24364 .unwrap()
24365 .node
24366 .write_to(writer)
24367 .map_err(SerializeError::from)?;
24368 }
24369 #[cfg(feature = "dml-charts")]
24370 if let Some(ref val) = self.ext_lst {
24371 val.write_element("a:extLst", writer)?;
24372 }
24373 #[cfg(feature = "extra-children")]
24374 {
24375 emit_idx += 1;
24376 }
24377 #[cfg(feature = "extra-children")]
24378 for extra in extra_iter {
24379 extra.node.write_to(writer).map_err(SerializeError::from)?;
24380 }
24381 Ok(())
24382 }
24383
24384 fn is_empty_element(&self) -> bool {
24385 #[cfg(feature = "dml-charts")]
24386 return false;
24387 #[cfg(feature = "dml-charts")]
24388 if self.grouping.is_some() {
24389 return false;
24390 }
24391 #[cfg(feature = "dml-charts")]
24392 if self.vary_colors.is_some() {
24393 return false;
24394 }
24395 #[cfg(feature = "dml-charts")]
24396 if !self.ser.is_empty() {
24397 return false;
24398 }
24399 #[cfg(feature = "dml-charts")]
24400 if self.d_lbls.is_some() {
24401 return false;
24402 }
24403 #[cfg(feature = "dml-charts")]
24404 if self.gap_width.is_some() {
24405 return false;
24406 }
24407 #[cfg(feature = "dml-charts")]
24408 if self.gap_depth.is_some() {
24409 return false;
24410 }
24411 #[cfg(feature = "dml-charts")]
24412 if self.shape.is_some() {
24413 return false;
24414 }
24415 #[cfg(feature = "dml-charts")]
24416 if !self.ax_id.is_empty() {
24417 return false;
24418 }
24419 #[cfg(feature = "dml-charts")]
24420 if self.ext_lst.is_some() {
24421 return false;
24422 }
24423 #[cfg(feature = "extra-children")]
24424 if !self.extra_children.is_empty() {
24425 return false;
24426 }
24427 true
24428 }
24429}
24430
24431impl ToXml for EGAreaChartShared {
24432 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24433 #[cfg(feature = "extra-children")]
24434 let mut extra_iter = self.extra_children.iter().peekable();
24435 #[cfg(feature = "extra-children")]
24436 let mut emit_idx: usize = 0;
24437 #[cfg(feature = "extra-children")]
24438 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24439 extra_iter
24440 .next()
24441 .unwrap()
24442 .node
24443 .write_to(writer)
24444 .map_err(SerializeError::from)?;
24445 }
24446 if let Some(ref val) = self.grouping {
24447 val.write_element("a:grouping", writer)?;
24448 }
24449 #[cfg(feature = "extra-children")]
24450 {
24451 emit_idx += 1;
24452 }
24453 #[cfg(feature = "extra-children")]
24454 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24455 extra_iter
24456 .next()
24457 .unwrap()
24458 .node
24459 .write_to(writer)
24460 .map_err(SerializeError::from)?;
24461 }
24462 if let Some(ref val) = self.vary_colors {
24463 val.write_element("a:varyColors", writer)?;
24464 }
24465 #[cfg(feature = "extra-children")]
24466 {
24467 emit_idx += 1;
24468 }
24469 for item in &self.ser {
24470 #[cfg(feature = "extra-children")]
24471 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24472 extra_iter
24473 .next()
24474 .unwrap()
24475 .node
24476 .write_to(writer)
24477 .map_err(SerializeError::from)?;
24478 }
24479 item.write_element("a:ser", writer)?;
24480 #[cfg(feature = "extra-children")]
24481 {
24482 emit_idx += 1;
24483 }
24484 }
24485 #[cfg(feature = "extra-children")]
24486 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24487 extra_iter
24488 .next()
24489 .unwrap()
24490 .node
24491 .write_to(writer)
24492 .map_err(SerializeError::from)?;
24493 }
24494 if let Some(ref val) = self.d_lbls {
24495 val.write_element("a:dLbls", writer)?;
24496 }
24497 #[cfg(feature = "extra-children")]
24498 {
24499 emit_idx += 1;
24500 }
24501 #[cfg(feature = "extra-children")]
24502 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24503 extra_iter
24504 .next()
24505 .unwrap()
24506 .node
24507 .write_to(writer)
24508 .map_err(SerializeError::from)?;
24509 }
24510 if let Some(ref val) = self.drop_lines {
24511 val.write_element("a:dropLines", writer)?;
24512 }
24513 #[cfg(feature = "extra-children")]
24514 {
24515 emit_idx += 1;
24516 }
24517 #[cfg(feature = "extra-children")]
24518 for extra in extra_iter {
24519 extra.node.write_to(writer).map_err(SerializeError::from)?;
24520 }
24521 Ok(())
24522 }
24523
24524 fn is_empty_element(&self) -> bool {
24525 if self.grouping.is_some() {
24526 return false;
24527 }
24528 if self.vary_colors.is_some() {
24529 return false;
24530 }
24531 if !self.ser.is_empty() {
24532 return false;
24533 }
24534 if self.d_lbls.is_some() {
24535 return false;
24536 }
24537 if self.drop_lines.is_some() {
24538 return false;
24539 }
24540 #[cfg(feature = "extra-children")]
24541 if !self.extra_children.is_empty() {
24542 return false;
24543 }
24544 true
24545 }
24546}
24547
24548impl ToXml for AreaChart {
24549 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24550 #[cfg(feature = "extra-children")]
24551 let mut extra_iter = self.extra_children.iter().peekable();
24552 #[cfg(feature = "extra-children")]
24553 let mut emit_idx: usize = 0;
24554 #[cfg(feature = "extra-children")]
24555 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24556 extra_iter
24557 .next()
24558 .unwrap()
24559 .node
24560 .write_to(writer)
24561 .map_err(SerializeError::from)?;
24562 }
24563 #[cfg(feature = "dml-charts")]
24564 if let Some(ref val) = self.grouping {
24565 val.write_element("a:grouping", writer)?;
24566 }
24567 #[cfg(feature = "extra-children")]
24568 {
24569 emit_idx += 1;
24570 }
24571 #[cfg(feature = "extra-children")]
24572 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24573 extra_iter
24574 .next()
24575 .unwrap()
24576 .node
24577 .write_to(writer)
24578 .map_err(SerializeError::from)?;
24579 }
24580 #[cfg(feature = "dml-charts")]
24581 if let Some(ref val) = self.vary_colors {
24582 val.write_element("a:varyColors", writer)?;
24583 }
24584 #[cfg(feature = "extra-children")]
24585 {
24586 emit_idx += 1;
24587 }
24588 #[cfg(feature = "dml-charts")]
24589 for item in &self.ser {
24590 #[cfg(feature = "extra-children")]
24591 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24592 extra_iter
24593 .next()
24594 .unwrap()
24595 .node
24596 .write_to(writer)
24597 .map_err(SerializeError::from)?;
24598 }
24599 item.write_element("a:ser", writer)?;
24600 #[cfg(feature = "extra-children")]
24601 {
24602 emit_idx += 1;
24603 }
24604 }
24605 #[cfg(feature = "extra-children")]
24606 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24607 extra_iter
24608 .next()
24609 .unwrap()
24610 .node
24611 .write_to(writer)
24612 .map_err(SerializeError::from)?;
24613 }
24614 #[cfg(feature = "dml-charts")]
24615 if let Some(ref val) = self.d_lbls {
24616 val.write_element("a:dLbls", writer)?;
24617 }
24618 #[cfg(feature = "extra-children")]
24619 {
24620 emit_idx += 1;
24621 }
24622 #[cfg(feature = "extra-children")]
24623 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24624 extra_iter
24625 .next()
24626 .unwrap()
24627 .node
24628 .write_to(writer)
24629 .map_err(SerializeError::from)?;
24630 }
24631 #[cfg(feature = "dml-charts")]
24632 if let Some(ref val) = self.drop_lines {
24633 val.write_element("a:dropLines", writer)?;
24634 }
24635 #[cfg(feature = "extra-children")]
24636 {
24637 emit_idx += 1;
24638 }
24639 #[cfg(feature = "dml-charts")]
24640 for item in &self.ax_id {
24641 #[cfg(feature = "extra-children")]
24642 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24643 extra_iter
24644 .next()
24645 .unwrap()
24646 .node
24647 .write_to(writer)
24648 .map_err(SerializeError::from)?;
24649 }
24650 item.write_element("a:axId", writer)?;
24651 #[cfg(feature = "extra-children")]
24652 {
24653 emit_idx += 1;
24654 }
24655 }
24656 #[cfg(feature = "extra-children")]
24657 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24658 extra_iter
24659 .next()
24660 .unwrap()
24661 .node
24662 .write_to(writer)
24663 .map_err(SerializeError::from)?;
24664 }
24665 #[cfg(feature = "dml-charts")]
24666 if let Some(ref val) = self.ext_lst {
24667 val.write_element("a:extLst", writer)?;
24668 }
24669 #[cfg(feature = "extra-children")]
24670 {
24671 emit_idx += 1;
24672 }
24673 #[cfg(feature = "extra-children")]
24674 for extra in extra_iter {
24675 extra.node.write_to(writer).map_err(SerializeError::from)?;
24676 }
24677 Ok(())
24678 }
24679
24680 fn is_empty_element(&self) -> bool {
24681 #[cfg(feature = "dml-charts")]
24682 if self.grouping.is_some() {
24683 return false;
24684 }
24685 #[cfg(feature = "dml-charts")]
24686 if self.vary_colors.is_some() {
24687 return false;
24688 }
24689 #[cfg(feature = "dml-charts")]
24690 if !self.ser.is_empty() {
24691 return false;
24692 }
24693 #[cfg(feature = "dml-charts")]
24694 if self.d_lbls.is_some() {
24695 return false;
24696 }
24697 #[cfg(feature = "dml-charts")]
24698 if self.drop_lines.is_some() {
24699 return false;
24700 }
24701 #[cfg(feature = "dml-charts")]
24702 if !self.ax_id.is_empty() {
24703 return false;
24704 }
24705 #[cfg(feature = "dml-charts")]
24706 if self.ext_lst.is_some() {
24707 return false;
24708 }
24709 #[cfg(feature = "extra-children")]
24710 if !self.extra_children.is_empty() {
24711 return false;
24712 }
24713 true
24714 }
24715}
24716
24717impl ToXml for Area3DChart {
24718 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24719 #[cfg(feature = "extra-children")]
24720 let mut extra_iter = self.extra_children.iter().peekable();
24721 #[cfg(feature = "extra-children")]
24722 let mut emit_idx: usize = 0;
24723 #[cfg(feature = "extra-children")]
24724 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24725 extra_iter
24726 .next()
24727 .unwrap()
24728 .node
24729 .write_to(writer)
24730 .map_err(SerializeError::from)?;
24731 }
24732 #[cfg(feature = "dml-charts")]
24733 if let Some(ref val) = self.grouping {
24734 val.write_element("a:grouping", writer)?;
24735 }
24736 #[cfg(feature = "extra-children")]
24737 {
24738 emit_idx += 1;
24739 }
24740 #[cfg(feature = "extra-children")]
24741 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24742 extra_iter
24743 .next()
24744 .unwrap()
24745 .node
24746 .write_to(writer)
24747 .map_err(SerializeError::from)?;
24748 }
24749 #[cfg(feature = "dml-charts")]
24750 if let Some(ref val) = self.vary_colors {
24751 val.write_element("a:varyColors", writer)?;
24752 }
24753 #[cfg(feature = "extra-children")]
24754 {
24755 emit_idx += 1;
24756 }
24757 #[cfg(feature = "dml-charts")]
24758 for item in &self.ser {
24759 #[cfg(feature = "extra-children")]
24760 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24761 extra_iter
24762 .next()
24763 .unwrap()
24764 .node
24765 .write_to(writer)
24766 .map_err(SerializeError::from)?;
24767 }
24768 item.write_element("a:ser", writer)?;
24769 #[cfg(feature = "extra-children")]
24770 {
24771 emit_idx += 1;
24772 }
24773 }
24774 #[cfg(feature = "extra-children")]
24775 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24776 extra_iter
24777 .next()
24778 .unwrap()
24779 .node
24780 .write_to(writer)
24781 .map_err(SerializeError::from)?;
24782 }
24783 #[cfg(feature = "dml-charts")]
24784 if let Some(ref val) = self.d_lbls {
24785 val.write_element("a:dLbls", writer)?;
24786 }
24787 #[cfg(feature = "extra-children")]
24788 {
24789 emit_idx += 1;
24790 }
24791 #[cfg(feature = "extra-children")]
24792 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24793 extra_iter
24794 .next()
24795 .unwrap()
24796 .node
24797 .write_to(writer)
24798 .map_err(SerializeError::from)?;
24799 }
24800 #[cfg(feature = "dml-charts")]
24801 if let Some(ref val) = self.drop_lines {
24802 val.write_element("a:dropLines", writer)?;
24803 }
24804 #[cfg(feature = "extra-children")]
24805 {
24806 emit_idx += 1;
24807 }
24808 #[cfg(feature = "extra-children")]
24809 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24810 extra_iter
24811 .next()
24812 .unwrap()
24813 .node
24814 .write_to(writer)
24815 .map_err(SerializeError::from)?;
24816 }
24817 #[cfg(feature = "dml-charts")]
24818 if let Some(ref val) = self.gap_depth {
24819 val.write_element("a:gapDepth", writer)?;
24820 }
24821 #[cfg(feature = "extra-children")]
24822 {
24823 emit_idx += 1;
24824 }
24825 #[cfg(feature = "dml-charts")]
24826 for item in &self.ax_id {
24827 #[cfg(feature = "extra-children")]
24828 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24829 extra_iter
24830 .next()
24831 .unwrap()
24832 .node
24833 .write_to(writer)
24834 .map_err(SerializeError::from)?;
24835 }
24836 item.write_element("a:axId", writer)?;
24837 #[cfg(feature = "extra-children")]
24838 {
24839 emit_idx += 1;
24840 }
24841 }
24842 #[cfg(feature = "extra-children")]
24843 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24844 extra_iter
24845 .next()
24846 .unwrap()
24847 .node
24848 .write_to(writer)
24849 .map_err(SerializeError::from)?;
24850 }
24851 #[cfg(feature = "dml-charts")]
24852 if let Some(ref val) = self.ext_lst {
24853 val.write_element("a:extLst", writer)?;
24854 }
24855 #[cfg(feature = "extra-children")]
24856 {
24857 emit_idx += 1;
24858 }
24859 #[cfg(feature = "extra-children")]
24860 for extra in extra_iter {
24861 extra.node.write_to(writer).map_err(SerializeError::from)?;
24862 }
24863 Ok(())
24864 }
24865
24866 fn is_empty_element(&self) -> bool {
24867 #[cfg(feature = "dml-charts")]
24868 if self.grouping.is_some() {
24869 return false;
24870 }
24871 #[cfg(feature = "dml-charts")]
24872 if self.vary_colors.is_some() {
24873 return false;
24874 }
24875 #[cfg(feature = "dml-charts")]
24876 if !self.ser.is_empty() {
24877 return false;
24878 }
24879 #[cfg(feature = "dml-charts")]
24880 if self.d_lbls.is_some() {
24881 return false;
24882 }
24883 #[cfg(feature = "dml-charts")]
24884 if self.drop_lines.is_some() {
24885 return false;
24886 }
24887 #[cfg(feature = "dml-charts")]
24888 if self.gap_depth.is_some() {
24889 return false;
24890 }
24891 #[cfg(feature = "dml-charts")]
24892 if !self.ax_id.is_empty() {
24893 return false;
24894 }
24895 #[cfg(feature = "dml-charts")]
24896 if self.ext_lst.is_some() {
24897 return false;
24898 }
24899 #[cfg(feature = "extra-children")]
24900 if !self.extra_children.is_empty() {
24901 return false;
24902 }
24903 true
24904 }
24905}
24906
24907impl ToXml for EGPieChartShared {
24908 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24909 #[cfg(feature = "extra-children")]
24910 let mut extra_iter = self.extra_children.iter().peekable();
24911 #[cfg(feature = "extra-children")]
24912 let mut emit_idx: usize = 0;
24913 #[cfg(feature = "extra-children")]
24914 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24915 extra_iter
24916 .next()
24917 .unwrap()
24918 .node
24919 .write_to(writer)
24920 .map_err(SerializeError::from)?;
24921 }
24922 if let Some(ref val) = self.vary_colors {
24923 val.write_element("a:varyColors", writer)?;
24924 }
24925 #[cfg(feature = "extra-children")]
24926 {
24927 emit_idx += 1;
24928 }
24929 for item in &self.ser {
24930 #[cfg(feature = "extra-children")]
24931 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24932 extra_iter
24933 .next()
24934 .unwrap()
24935 .node
24936 .write_to(writer)
24937 .map_err(SerializeError::from)?;
24938 }
24939 item.write_element("a:ser", writer)?;
24940 #[cfg(feature = "extra-children")]
24941 {
24942 emit_idx += 1;
24943 }
24944 }
24945 #[cfg(feature = "extra-children")]
24946 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24947 extra_iter
24948 .next()
24949 .unwrap()
24950 .node
24951 .write_to(writer)
24952 .map_err(SerializeError::from)?;
24953 }
24954 if let Some(ref val) = self.d_lbls {
24955 val.write_element("a:dLbls", writer)?;
24956 }
24957 #[cfg(feature = "extra-children")]
24958 {
24959 emit_idx += 1;
24960 }
24961 #[cfg(feature = "extra-children")]
24962 for extra in extra_iter {
24963 extra.node.write_to(writer).map_err(SerializeError::from)?;
24964 }
24965 Ok(())
24966 }
24967
24968 fn is_empty_element(&self) -> bool {
24969 if self.vary_colors.is_some() {
24970 return false;
24971 }
24972 if !self.ser.is_empty() {
24973 return false;
24974 }
24975 if self.d_lbls.is_some() {
24976 return false;
24977 }
24978 #[cfg(feature = "extra-children")]
24979 if !self.extra_children.is_empty() {
24980 return false;
24981 }
24982 true
24983 }
24984}
24985
24986impl ToXml for PieChart {
24987 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
24988 #[cfg(feature = "extra-children")]
24989 let mut extra_iter = self.extra_children.iter().peekable();
24990 #[cfg(feature = "extra-children")]
24991 let mut emit_idx: usize = 0;
24992 #[cfg(feature = "extra-children")]
24993 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
24994 extra_iter
24995 .next()
24996 .unwrap()
24997 .node
24998 .write_to(writer)
24999 .map_err(SerializeError::from)?;
25000 }
25001 #[cfg(feature = "dml-charts")]
25002 if let Some(ref val) = self.vary_colors {
25003 val.write_element("a:varyColors", writer)?;
25004 }
25005 #[cfg(feature = "extra-children")]
25006 {
25007 emit_idx += 1;
25008 }
25009 #[cfg(feature = "dml-charts")]
25010 for item in &self.ser {
25011 #[cfg(feature = "extra-children")]
25012 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25013 extra_iter
25014 .next()
25015 .unwrap()
25016 .node
25017 .write_to(writer)
25018 .map_err(SerializeError::from)?;
25019 }
25020 item.write_element("a:ser", writer)?;
25021 #[cfg(feature = "extra-children")]
25022 {
25023 emit_idx += 1;
25024 }
25025 }
25026 #[cfg(feature = "extra-children")]
25027 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25028 extra_iter
25029 .next()
25030 .unwrap()
25031 .node
25032 .write_to(writer)
25033 .map_err(SerializeError::from)?;
25034 }
25035 #[cfg(feature = "dml-charts")]
25036 if let Some(ref val) = self.d_lbls {
25037 val.write_element("a:dLbls", writer)?;
25038 }
25039 #[cfg(feature = "extra-children")]
25040 {
25041 emit_idx += 1;
25042 }
25043 #[cfg(feature = "extra-children")]
25044 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25045 extra_iter
25046 .next()
25047 .unwrap()
25048 .node
25049 .write_to(writer)
25050 .map_err(SerializeError::from)?;
25051 }
25052 #[cfg(feature = "dml-charts")]
25053 if let Some(ref val) = self.first_slice_ang {
25054 val.write_element("a:firstSliceAng", writer)?;
25055 }
25056 #[cfg(feature = "extra-children")]
25057 {
25058 emit_idx += 1;
25059 }
25060 #[cfg(feature = "extra-children")]
25061 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25062 extra_iter
25063 .next()
25064 .unwrap()
25065 .node
25066 .write_to(writer)
25067 .map_err(SerializeError::from)?;
25068 }
25069 #[cfg(feature = "dml-charts")]
25070 if let Some(ref val) = self.ext_lst {
25071 val.write_element("a:extLst", writer)?;
25072 }
25073 #[cfg(feature = "extra-children")]
25074 {
25075 emit_idx += 1;
25076 }
25077 #[cfg(feature = "extra-children")]
25078 for extra in extra_iter {
25079 extra.node.write_to(writer).map_err(SerializeError::from)?;
25080 }
25081 Ok(())
25082 }
25083
25084 fn is_empty_element(&self) -> bool {
25085 #[cfg(feature = "dml-charts")]
25086 if self.vary_colors.is_some() {
25087 return false;
25088 }
25089 #[cfg(feature = "dml-charts")]
25090 if !self.ser.is_empty() {
25091 return false;
25092 }
25093 #[cfg(feature = "dml-charts")]
25094 if self.d_lbls.is_some() {
25095 return false;
25096 }
25097 #[cfg(feature = "dml-charts")]
25098 if self.first_slice_ang.is_some() {
25099 return false;
25100 }
25101 #[cfg(feature = "dml-charts")]
25102 if self.ext_lst.is_some() {
25103 return false;
25104 }
25105 #[cfg(feature = "extra-children")]
25106 if !self.extra_children.is_empty() {
25107 return false;
25108 }
25109 true
25110 }
25111}
25112
25113impl ToXml for Pie3DChart {
25114 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25115 #[cfg(feature = "extra-children")]
25116 let mut extra_iter = self.extra_children.iter().peekable();
25117 #[cfg(feature = "extra-children")]
25118 let mut emit_idx: usize = 0;
25119 #[cfg(feature = "extra-children")]
25120 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25121 extra_iter
25122 .next()
25123 .unwrap()
25124 .node
25125 .write_to(writer)
25126 .map_err(SerializeError::from)?;
25127 }
25128 #[cfg(feature = "dml-charts")]
25129 if let Some(ref val) = self.vary_colors {
25130 val.write_element("a:varyColors", writer)?;
25131 }
25132 #[cfg(feature = "extra-children")]
25133 {
25134 emit_idx += 1;
25135 }
25136 #[cfg(feature = "dml-charts")]
25137 for item in &self.ser {
25138 #[cfg(feature = "extra-children")]
25139 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25140 extra_iter
25141 .next()
25142 .unwrap()
25143 .node
25144 .write_to(writer)
25145 .map_err(SerializeError::from)?;
25146 }
25147 item.write_element("a:ser", writer)?;
25148 #[cfg(feature = "extra-children")]
25149 {
25150 emit_idx += 1;
25151 }
25152 }
25153 #[cfg(feature = "extra-children")]
25154 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25155 extra_iter
25156 .next()
25157 .unwrap()
25158 .node
25159 .write_to(writer)
25160 .map_err(SerializeError::from)?;
25161 }
25162 #[cfg(feature = "dml-charts")]
25163 if let Some(ref val) = self.d_lbls {
25164 val.write_element("a:dLbls", writer)?;
25165 }
25166 #[cfg(feature = "extra-children")]
25167 {
25168 emit_idx += 1;
25169 }
25170 #[cfg(feature = "extra-children")]
25171 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25172 extra_iter
25173 .next()
25174 .unwrap()
25175 .node
25176 .write_to(writer)
25177 .map_err(SerializeError::from)?;
25178 }
25179 #[cfg(feature = "dml-charts")]
25180 if let Some(ref val) = self.ext_lst {
25181 val.write_element("a:extLst", writer)?;
25182 }
25183 #[cfg(feature = "extra-children")]
25184 {
25185 emit_idx += 1;
25186 }
25187 #[cfg(feature = "extra-children")]
25188 for extra in extra_iter {
25189 extra.node.write_to(writer).map_err(SerializeError::from)?;
25190 }
25191 Ok(())
25192 }
25193
25194 fn is_empty_element(&self) -> bool {
25195 #[cfg(feature = "dml-charts")]
25196 if self.vary_colors.is_some() {
25197 return false;
25198 }
25199 #[cfg(feature = "dml-charts")]
25200 if !self.ser.is_empty() {
25201 return false;
25202 }
25203 #[cfg(feature = "dml-charts")]
25204 if self.d_lbls.is_some() {
25205 return false;
25206 }
25207 #[cfg(feature = "dml-charts")]
25208 if self.ext_lst.is_some() {
25209 return false;
25210 }
25211 #[cfg(feature = "extra-children")]
25212 if !self.extra_children.is_empty() {
25213 return false;
25214 }
25215 true
25216 }
25217}
25218
25219impl ToXml for DoughnutChart {
25220 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25221 #[cfg(feature = "extra-children")]
25222 let mut extra_iter = self.extra_children.iter().peekable();
25223 #[cfg(feature = "extra-children")]
25224 let mut emit_idx: usize = 0;
25225 #[cfg(feature = "extra-children")]
25226 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25227 extra_iter
25228 .next()
25229 .unwrap()
25230 .node
25231 .write_to(writer)
25232 .map_err(SerializeError::from)?;
25233 }
25234 #[cfg(feature = "dml-charts")]
25235 if let Some(ref val) = self.vary_colors {
25236 val.write_element("a:varyColors", writer)?;
25237 }
25238 #[cfg(feature = "extra-children")]
25239 {
25240 emit_idx += 1;
25241 }
25242 #[cfg(feature = "dml-charts")]
25243 for item in &self.ser {
25244 #[cfg(feature = "extra-children")]
25245 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25246 extra_iter
25247 .next()
25248 .unwrap()
25249 .node
25250 .write_to(writer)
25251 .map_err(SerializeError::from)?;
25252 }
25253 item.write_element("a:ser", writer)?;
25254 #[cfg(feature = "extra-children")]
25255 {
25256 emit_idx += 1;
25257 }
25258 }
25259 #[cfg(feature = "extra-children")]
25260 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25261 extra_iter
25262 .next()
25263 .unwrap()
25264 .node
25265 .write_to(writer)
25266 .map_err(SerializeError::from)?;
25267 }
25268 #[cfg(feature = "dml-charts")]
25269 if let Some(ref val) = self.d_lbls {
25270 val.write_element("a:dLbls", writer)?;
25271 }
25272 #[cfg(feature = "extra-children")]
25273 {
25274 emit_idx += 1;
25275 }
25276 #[cfg(feature = "extra-children")]
25277 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25278 extra_iter
25279 .next()
25280 .unwrap()
25281 .node
25282 .write_to(writer)
25283 .map_err(SerializeError::from)?;
25284 }
25285 #[cfg(feature = "dml-charts")]
25286 if let Some(ref val) = self.first_slice_ang {
25287 val.write_element("a:firstSliceAng", writer)?;
25288 }
25289 #[cfg(feature = "extra-children")]
25290 {
25291 emit_idx += 1;
25292 }
25293 #[cfg(feature = "extra-children")]
25294 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25295 extra_iter
25296 .next()
25297 .unwrap()
25298 .node
25299 .write_to(writer)
25300 .map_err(SerializeError::from)?;
25301 }
25302 #[cfg(feature = "dml-charts")]
25303 if let Some(ref val) = self.hole_size {
25304 val.write_element("a:holeSize", writer)?;
25305 }
25306 #[cfg(feature = "extra-children")]
25307 {
25308 emit_idx += 1;
25309 }
25310 #[cfg(feature = "extra-children")]
25311 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25312 extra_iter
25313 .next()
25314 .unwrap()
25315 .node
25316 .write_to(writer)
25317 .map_err(SerializeError::from)?;
25318 }
25319 #[cfg(feature = "dml-charts")]
25320 if let Some(ref val) = self.ext_lst {
25321 val.write_element("a:extLst", writer)?;
25322 }
25323 #[cfg(feature = "extra-children")]
25324 {
25325 emit_idx += 1;
25326 }
25327 #[cfg(feature = "extra-children")]
25328 for extra in extra_iter {
25329 extra.node.write_to(writer).map_err(SerializeError::from)?;
25330 }
25331 Ok(())
25332 }
25333
25334 fn is_empty_element(&self) -> bool {
25335 #[cfg(feature = "dml-charts")]
25336 if self.vary_colors.is_some() {
25337 return false;
25338 }
25339 #[cfg(feature = "dml-charts")]
25340 if !self.ser.is_empty() {
25341 return false;
25342 }
25343 #[cfg(feature = "dml-charts")]
25344 if self.d_lbls.is_some() {
25345 return false;
25346 }
25347 #[cfg(feature = "dml-charts")]
25348 if self.first_slice_ang.is_some() {
25349 return false;
25350 }
25351 #[cfg(feature = "dml-charts")]
25352 if self.hole_size.is_some() {
25353 return false;
25354 }
25355 #[cfg(feature = "dml-charts")]
25356 if self.ext_lst.is_some() {
25357 return false;
25358 }
25359 #[cfg(feature = "extra-children")]
25360 if !self.extra_children.is_empty() {
25361 return false;
25362 }
25363 true
25364 }
25365}
25366
25367impl ToXml for OfPieType {
25368 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
25369 #[allow(unused_mut)]
25370 let mut start = start;
25371 #[cfg(feature = "dml-charts")]
25372 if let Some(ref val) = self.value {
25373 {
25374 let s = val.to_string();
25375 start.push_attribute(("val", s.as_str()));
25376 }
25377 }
25378 #[cfg(feature = "extra-attrs")]
25379 for (key, value) in &self.extra_attrs {
25380 start.push_attribute((key.as_str(), value.as_str()));
25381 }
25382 start
25383 }
25384
25385 fn is_empty_element(&self) -> bool {
25386 true
25387 }
25388}
25389
25390impl ToXml for OfPieChart {
25391 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25392 #[cfg(feature = "extra-children")]
25393 let mut extra_iter = self.extra_children.iter().peekable();
25394 #[cfg(feature = "extra-children")]
25395 let mut emit_idx: usize = 0;
25396 #[cfg(feature = "extra-children")]
25397 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25398 extra_iter
25399 .next()
25400 .unwrap()
25401 .node
25402 .write_to(writer)
25403 .map_err(SerializeError::from)?;
25404 }
25405 #[cfg(feature = "dml-charts")]
25406 {
25407 let val = &self.of_pie_type;
25408 val.write_element("a:ofPieType", writer)?;
25409 }
25410 #[cfg(feature = "extra-children")]
25411 {
25412 emit_idx += 1;
25413 }
25414 #[cfg(feature = "extra-children")]
25415 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25416 extra_iter
25417 .next()
25418 .unwrap()
25419 .node
25420 .write_to(writer)
25421 .map_err(SerializeError::from)?;
25422 }
25423 #[cfg(feature = "dml-charts")]
25424 if let Some(ref val) = self.vary_colors {
25425 val.write_element("a:varyColors", writer)?;
25426 }
25427 #[cfg(feature = "extra-children")]
25428 {
25429 emit_idx += 1;
25430 }
25431 #[cfg(feature = "dml-charts")]
25432 for item in &self.ser {
25433 #[cfg(feature = "extra-children")]
25434 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25435 extra_iter
25436 .next()
25437 .unwrap()
25438 .node
25439 .write_to(writer)
25440 .map_err(SerializeError::from)?;
25441 }
25442 item.write_element("a:ser", writer)?;
25443 #[cfg(feature = "extra-children")]
25444 {
25445 emit_idx += 1;
25446 }
25447 }
25448 #[cfg(feature = "extra-children")]
25449 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25450 extra_iter
25451 .next()
25452 .unwrap()
25453 .node
25454 .write_to(writer)
25455 .map_err(SerializeError::from)?;
25456 }
25457 #[cfg(feature = "dml-charts")]
25458 if let Some(ref val) = self.d_lbls {
25459 val.write_element("a:dLbls", writer)?;
25460 }
25461 #[cfg(feature = "extra-children")]
25462 {
25463 emit_idx += 1;
25464 }
25465 #[cfg(feature = "extra-children")]
25466 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25467 extra_iter
25468 .next()
25469 .unwrap()
25470 .node
25471 .write_to(writer)
25472 .map_err(SerializeError::from)?;
25473 }
25474 #[cfg(feature = "dml-charts")]
25475 if let Some(ref val) = self.gap_width {
25476 val.write_element("a:gapWidth", writer)?;
25477 }
25478 #[cfg(feature = "extra-children")]
25479 {
25480 emit_idx += 1;
25481 }
25482 #[cfg(feature = "extra-children")]
25483 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25484 extra_iter
25485 .next()
25486 .unwrap()
25487 .node
25488 .write_to(writer)
25489 .map_err(SerializeError::from)?;
25490 }
25491 #[cfg(feature = "dml-charts")]
25492 if let Some(ref val) = self.split_type {
25493 val.write_element("a:splitType", writer)?;
25494 }
25495 #[cfg(feature = "extra-children")]
25496 {
25497 emit_idx += 1;
25498 }
25499 #[cfg(feature = "extra-children")]
25500 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25501 extra_iter
25502 .next()
25503 .unwrap()
25504 .node
25505 .write_to(writer)
25506 .map_err(SerializeError::from)?;
25507 }
25508 #[cfg(feature = "dml-charts")]
25509 if let Some(ref val) = self.split_pos {
25510 val.write_element("a:splitPos", writer)?;
25511 }
25512 #[cfg(feature = "extra-children")]
25513 {
25514 emit_idx += 1;
25515 }
25516 #[cfg(feature = "extra-children")]
25517 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25518 extra_iter
25519 .next()
25520 .unwrap()
25521 .node
25522 .write_to(writer)
25523 .map_err(SerializeError::from)?;
25524 }
25525 #[cfg(feature = "dml-charts")]
25526 if let Some(ref val) = self.cust_split {
25527 val.write_element("a:custSplit", writer)?;
25528 }
25529 #[cfg(feature = "extra-children")]
25530 {
25531 emit_idx += 1;
25532 }
25533 #[cfg(feature = "extra-children")]
25534 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25535 extra_iter
25536 .next()
25537 .unwrap()
25538 .node
25539 .write_to(writer)
25540 .map_err(SerializeError::from)?;
25541 }
25542 #[cfg(feature = "dml-charts")]
25543 if let Some(ref val) = self.second_pie_size {
25544 val.write_element("a:secondPieSize", writer)?;
25545 }
25546 #[cfg(feature = "extra-children")]
25547 {
25548 emit_idx += 1;
25549 }
25550 #[cfg(feature = "dml-charts")]
25551 for item in &self.ser_lines {
25552 #[cfg(feature = "extra-children")]
25553 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25554 extra_iter
25555 .next()
25556 .unwrap()
25557 .node
25558 .write_to(writer)
25559 .map_err(SerializeError::from)?;
25560 }
25561 item.write_element("a:serLines", writer)?;
25562 #[cfg(feature = "extra-children")]
25563 {
25564 emit_idx += 1;
25565 }
25566 }
25567 #[cfg(feature = "extra-children")]
25568 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25569 extra_iter
25570 .next()
25571 .unwrap()
25572 .node
25573 .write_to(writer)
25574 .map_err(SerializeError::from)?;
25575 }
25576 #[cfg(feature = "dml-charts")]
25577 if let Some(ref val) = self.ext_lst {
25578 val.write_element("a:extLst", writer)?;
25579 }
25580 #[cfg(feature = "extra-children")]
25581 {
25582 emit_idx += 1;
25583 }
25584 #[cfg(feature = "extra-children")]
25585 for extra in extra_iter {
25586 extra.node.write_to(writer).map_err(SerializeError::from)?;
25587 }
25588 Ok(())
25589 }
25590
25591 fn is_empty_element(&self) -> bool {
25592 #[cfg(feature = "dml-charts")]
25593 return false;
25594 #[cfg(feature = "dml-charts")]
25595 if self.vary_colors.is_some() {
25596 return false;
25597 }
25598 #[cfg(feature = "dml-charts")]
25599 if !self.ser.is_empty() {
25600 return false;
25601 }
25602 #[cfg(feature = "dml-charts")]
25603 if self.d_lbls.is_some() {
25604 return false;
25605 }
25606 #[cfg(feature = "dml-charts")]
25607 if self.gap_width.is_some() {
25608 return false;
25609 }
25610 #[cfg(feature = "dml-charts")]
25611 if self.split_type.is_some() {
25612 return false;
25613 }
25614 #[cfg(feature = "dml-charts")]
25615 if self.split_pos.is_some() {
25616 return false;
25617 }
25618 #[cfg(feature = "dml-charts")]
25619 if self.cust_split.is_some() {
25620 return false;
25621 }
25622 #[cfg(feature = "dml-charts")]
25623 if self.second_pie_size.is_some() {
25624 return false;
25625 }
25626 #[cfg(feature = "dml-charts")]
25627 if !self.ser_lines.is_empty() {
25628 return false;
25629 }
25630 #[cfg(feature = "dml-charts")]
25631 if self.ext_lst.is_some() {
25632 return false;
25633 }
25634 #[cfg(feature = "extra-children")]
25635 if !self.extra_children.is_empty() {
25636 return false;
25637 }
25638 true
25639 }
25640}
25641
25642impl ToXml for BubbleChart {
25643 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25644 #[cfg(feature = "extra-children")]
25645 let mut extra_iter = self.extra_children.iter().peekable();
25646 #[cfg(feature = "extra-children")]
25647 let mut emit_idx: usize = 0;
25648 #[cfg(feature = "extra-children")]
25649 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25650 extra_iter
25651 .next()
25652 .unwrap()
25653 .node
25654 .write_to(writer)
25655 .map_err(SerializeError::from)?;
25656 }
25657 #[cfg(feature = "dml-charts")]
25658 if let Some(ref val) = self.vary_colors {
25659 val.write_element("a:varyColors", writer)?;
25660 }
25661 #[cfg(feature = "extra-children")]
25662 {
25663 emit_idx += 1;
25664 }
25665 #[cfg(feature = "dml-charts")]
25666 for item in &self.ser {
25667 #[cfg(feature = "extra-children")]
25668 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25669 extra_iter
25670 .next()
25671 .unwrap()
25672 .node
25673 .write_to(writer)
25674 .map_err(SerializeError::from)?;
25675 }
25676 item.write_element("a:ser", writer)?;
25677 #[cfg(feature = "extra-children")]
25678 {
25679 emit_idx += 1;
25680 }
25681 }
25682 #[cfg(feature = "extra-children")]
25683 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25684 extra_iter
25685 .next()
25686 .unwrap()
25687 .node
25688 .write_to(writer)
25689 .map_err(SerializeError::from)?;
25690 }
25691 #[cfg(feature = "dml-charts")]
25692 if let Some(ref val) = self.d_lbls {
25693 val.write_element("a:dLbls", writer)?;
25694 }
25695 #[cfg(feature = "extra-children")]
25696 {
25697 emit_idx += 1;
25698 }
25699 #[cfg(feature = "extra-children")]
25700 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25701 extra_iter
25702 .next()
25703 .unwrap()
25704 .node
25705 .write_to(writer)
25706 .map_err(SerializeError::from)?;
25707 }
25708 #[cfg(feature = "dml-charts")]
25709 if let Some(ref val) = self.bubble3_d {
25710 val.write_element("a:bubble3D", writer)?;
25711 }
25712 #[cfg(feature = "extra-children")]
25713 {
25714 emit_idx += 1;
25715 }
25716 #[cfg(feature = "extra-children")]
25717 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25718 extra_iter
25719 .next()
25720 .unwrap()
25721 .node
25722 .write_to(writer)
25723 .map_err(SerializeError::from)?;
25724 }
25725 #[cfg(feature = "dml-charts")]
25726 if let Some(ref val) = self.bubble_scale {
25727 val.write_element("a:bubbleScale", writer)?;
25728 }
25729 #[cfg(feature = "extra-children")]
25730 {
25731 emit_idx += 1;
25732 }
25733 #[cfg(feature = "extra-children")]
25734 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25735 extra_iter
25736 .next()
25737 .unwrap()
25738 .node
25739 .write_to(writer)
25740 .map_err(SerializeError::from)?;
25741 }
25742 #[cfg(feature = "dml-charts")]
25743 if let Some(ref val) = self.show_neg_bubbles {
25744 val.write_element("a:showNegBubbles", writer)?;
25745 }
25746 #[cfg(feature = "extra-children")]
25747 {
25748 emit_idx += 1;
25749 }
25750 #[cfg(feature = "extra-children")]
25751 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25752 extra_iter
25753 .next()
25754 .unwrap()
25755 .node
25756 .write_to(writer)
25757 .map_err(SerializeError::from)?;
25758 }
25759 #[cfg(feature = "dml-charts")]
25760 if let Some(ref val) = self.size_represents {
25761 val.write_element("a:sizeRepresents", writer)?;
25762 }
25763 #[cfg(feature = "extra-children")]
25764 {
25765 emit_idx += 1;
25766 }
25767 #[cfg(feature = "dml-charts")]
25768 for item in &self.ax_id {
25769 #[cfg(feature = "extra-children")]
25770 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25771 extra_iter
25772 .next()
25773 .unwrap()
25774 .node
25775 .write_to(writer)
25776 .map_err(SerializeError::from)?;
25777 }
25778 item.write_element("a:axId", writer)?;
25779 #[cfg(feature = "extra-children")]
25780 {
25781 emit_idx += 1;
25782 }
25783 }
25784 #[cfg(feature = "extra-children")]
25785 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25786 extra_iter
25787 .next()
25788 .unwrap()
25789 .node
25790 .write_to(writer)
25791 .map_err(SerializeError::from)?;
25792 }
25793 #[cfg(feature = "dml-charts")]
25794 if let Some(ref val) = self.ext_lst {
25795 val.write_element("a:extLst", writer)?;
25796 }
25797 #[cfg(feature = "extra-children")]
25798 {
25799 emit_idx += 1;
25800 }
25801 #[cfg(feature = "extra-children")]
25802 for extra in extra_iter {
25803 extra.node.write_to(writer).map_err(SerializeError::from)?;
25804 }
25805 Ok(())
25806 }
25807
25808 fn is_empty_element(&self) -> bool {
25809 #[cfg(feature = "dml-charts")]
25810 if self.vary_colors.is_some() {
25811 return false;
25812 }
25813 #[cfg(feature = "dml-charts")]
25814 if !self.ser.is_empty() {
25815 return false;
25816 }
25817 #[cfg(feature = "dml-charts")]
25818 if self.d_lbls.is_some() {
25819 return false;
25820 }
25821 #[cfg(feature = "dml-charts")]
25822 if self.bubble3_d.is_some() {
25823 return false;
25824 }
25825 #[cfg(feature = "dml-charts")]
25826 if self.bubble_scale.is_some() {
25827 return false;
25828 }
25829 #[cfg(feature = "dml-charts")]
25830 if self.show_neg_bubbles.is_some() {
25831 return false;
25832 }
25833 #[cfg(feature = "dml-charts")]
25834 if self.size_represents.is_some() {
25835 return false;
25836 }
25837 #[cfg(feature = "dml-charts")]
25838 if !self.ax_id.is_empty() {
25839 return false;
25840 }
25841 #[cfg(feature = "dml-charts")]
25842 if self.ext_lst.is_some() {
25843 return false;
25844 }
25845 #[cfg(feature = "extra-children")]
25846 if !self.extra_children.is_empty() {
25847 return false;
25848 }
25849 true
25850 }
25851}
25852
25853impl ToXml for BandFormat {
25854 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25855 #[cfg(feature = "extra-children")]
25856 let mut extra_iter = self.extra_children.iter().peekable();
25857 #[cfg(feature = "extra-children")]
25858 let mut emit_idx: usize = 0;
25859 #[cfg(feature = "extra-children")]
25860 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25861 extra_iter
25862 .next()
25863 .unwrap()
25864 .node
25865 .write_to(writer)
25866 .map_err(SerializeError::from)?;
25867 }
25868 #[cfg(feature = "dml-charts")]
25869 {
25870 let val = &self.idx;
25871 val.write_element("a:idx", writer)?;
25872 }
25873 #[cfg(feature = "extra-children")]
25874 {
25875 emit_idx += 1;
25876 }
25877 #[cfg(feature = "extra-children")]
25878 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25879 extra_iter
25880 .next()
25881 .unwrap()
25882 .node
25883 .write_to(writer)
25884 .map_err(SerializeError::from)?;
25885 }
25886 #[cfg(feature = "dml-charts")]
25887 if let Some(ref val) = self.sp_pr {
25888 val.write_element("a:spPr", writer)?;
25889 }
25890 #[cfg(feature = "extra-children")]
25891 {
25892 emit_idx += 1;
25893 }
25894 #[cfg(feature = "extra-children")]
25895 for extra in extra_iter {
25896 extra.node.write_to(writer).map_err(SerializeError::from)?;
25897 }
25898 Ok(())
25899 }
25900
25901 fn is_empty_element(&self) -> bool {
25902 #[cfg(feature = "dml-charts")]
25903 return false;
25904 #[cfg(feature = "dml-charts")]
25905 if self.sp_pr.is_some() {
25906 return false;
25907 }
25908 #[cfg(feature = "extra-children")]
25909 if !self.extra_children.is_empty() {
25910 return false;
25911 }
25912 true
25913 }
25914}
25915
25916impl ToXml for BandFormats {
25917 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25918 #[cfg(feature = "extra-children")]
25919 let mut extra_iter = self.extra_children.iter().peekable();
25920 #[cfg(feature = "extra-children")]
25921 let mut emit_idx: usize = 0;
25922 #[cfg(feature = "dml-charts")]
25923 for item in &self.band_fmt {
25924 #[cfg(feature = "extra-children")]
25925 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25926 extra_iter
25927 .next()
25928 .unwrap()
25929 .node
25930 .write_to(writer)
25931 .map_err(SerializeError::from)?;
25932 }
25933 item.write_element("a:bandFmt", writer)?;
25934 #[cfg(feature = "extra-children")]
25935 {
25936 emit_idx += 1;
25937 }
25938 }
25939 #[cfg(feature = "extra-children")]
25940 for extra in extra_iter {
25941 extra.node.write_to(writer).map_err(SerializeError::from)?;
25942 }
25943 Ok(())
25944 }
25945
25946 fn is_empty_element(&self) -> bool {
25947 #[cfg(feature = "dml-charts")]
25948 if !self.band_fmt.is_empty() {
25949 return false;
25950 }
25951 #[cfg(feature = "extra-children")]
25952 if !self.extra_children.is_empty() {
25953 return false;
25954 }
25955 true
25956 }
25957}
25958
25959impl ToXml for EGSurfaceChartShared {
25960 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
25961 #[cfg(feature = "extra-children")]
25962 let mut extra_iter = self.extra_children.iter().peekable();
25963 #[cfg(feature = "extra-children")]
25964 let mut emit_idx: usize = 0;
25965 #[cfg(feature = "extra-children")]
25966 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25967 extra_iter
25968 .next()
25969 .unwrap()
25970 .node
25971 .write_to(writer)
25972 .map_err(SerializeError::from)?;
25973 }
25974 if let Some(ref val) = self.wireframe {
25975 val.write_element("a:wireframe", writer)?;
25976 }
25977 #[cfg(feature = "extra-children")]
25978 {
25979 emit_idx += 1;
25980 }
25981 for item in &self.ser {
25982 #[cfg(feature = "extra-children")]
25983 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25984 extra_iter
25985 .next()
25986 .unwrap()
25987 .node
25988 .write_to(writer)
25989 .map_err(SerializeError::from)?;
25990 }
25991 item.write_element("a:ser", writer)?;
25992 #[cfg(feature = "extra-children")]
25993 {
25994 emit_idx += 1;
25995 }
25996 }
25997 #[cfg(feature = "extra-children")]
25998 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
25999 extra_iter
26000 .next()
26001 .unwrap()
26002 .node
26003 .write_to(writer)
26004 .map_err(SerializeError::from)?;
26005 }
26006 if let Some(ref val) = self.band_fmts {
26007 val.write_element("a:bandFmts", writer)?;
26008 }
26009 #[cfg(feature = "extra-children")]
26010 {
26011 emit_idx += 1;
26012 }
26013 #[cfg(feature = "extra-children")]
26014 for extra in extra_iter {
26015 extra.node.write_to(writer).map_err(SerializeError::from)?;
26016 }
26017 Ok(())
26018 }
26019
26020 fn is_empty_element(&self) -> bool {
26021 if self.wireframe.is_some() {
26022 return false;
26023 }
26024 if !self.ser.is_empty() {
26025 return false;
26026 }
26027 if self.band_fmts.is_some() {
26028 return false;
26029 }
26030 #[cfg(feature = "extra-children")]
26031 if !self.extra_children.is_empty() {
26032 return false;
26033 }
26034 true
26035 }
26036}
26037
26038impl ToXml for SurfaceChart {
26039 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26040 #[cfg(feature = "extra-children")]
26041 let mut extra_iter = self.extra_children.iter().peekable();
26042 #[cfg(feature = "extra-children")]
26043 let mut emit_idx: usize = 0;
26044 #[cfg(feature = "extra-children")]
26045 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26046 extra_iter
26047 .next()
26048 .unwrap()
26049 .node
26050 .write_to(writer)
26051 .map_err(SerializeError::from)?;
26052 }
26053 #[cfg(feature = "dml-charts")]
26054 if let Some(ref val) = self.wireframe {
26055 val.write_element("a:wireframe", writer)?;
26056 }
26057 #[cfg(feature = "extra-children")]
26058 {
26059 emit_idx += 1;
26060 }
26061 #[cfg(feature = "dml-charts")]
26062 for item in &self.ser {
26063 #[cfg(feature = "extra-children")]
26064 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26065 extra_iter
26066 .next()
26067 .unwrap()
26068 .node
26069 .write_to(writer)
26070 .map_err(SerializeError::from)?;
26071 }
26072 item.write_element("a:ser", writer)?;
26073 #[cfg(feature = "extra-children")]
26074 {
26075 emit_idx += 1;
26076 }
26077 }
26078 #[cfg(feature = "extra-children")]
26079 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26080 extra_iter
26081 .next()
26082 .unwrap()
26083 .node
26084 .write_to(writer)
26085 .map_err(SerializeError::from)?;
26086 }
26087 #[cfg(feature = "dml-charts")]
26088 if let Some(ref val) = self.band_fmts {
26089 val.write_element("a:bandFmts", writer)?;
26090 }
26091 #[cfg(feature = "extra-children")]
26092 {
26093 emit_idx += 1;
26094 }
26095 #[cfg(feature = "dml-charts")]
26096 for item in &self.ax_id {
26097 #[cfg(feature = "extra-children")]
26098 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26099 extra_iter
26100 .next()
26101 .unwrap()
26102 .node
26103 .write_to(writer)
26104 .map_err(SerializeError::from)?;
26105 }
26106 item.write_element("a:axId", writer)?;
26107 #[cfg(feature = "extra-children")]
26108 {
26109 emit_idx += 1;
26110 }
26111 }
26112 #[cfg(feature = "extra-children")]
26113 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26114 extra_iter
26115 .next()
26116 .unwrap()
26117 .node
26118 .write_to(writer)
26119 .map_err(SerializeError::from)?;
26120 }
26121 #[cfg(feature = "dml-charts")]
26122 if let Some(ref val) = self.ext_lst {
26123 val.write_element("a:extLst", writer)?;
26124 }
26125 #[cfg(feature = "extra-children")]
26126 {
26127 emit_idx += 1;
26128 }
26129 #[cfg(feature = "extra-children")]
26130 for extra in extra_iter {
26131 extra.node.write_to(writer).map_err(SerializeError::from)?;
26132 }
26133 Ok(())
26134 }
26135
26136 fn is_empty_element(&self) -> bool {
26137 #[cfg(feature = "dml-charts")]
26138 if self.wireframe.is_some() {
26139 return false;
26140 }
26141 #[cfg(feature = "dml-charts")]
26142 if !self.ser.is_empty() {
26143 return false;
26144 }
26145 #[cfg(feature = "dml-charts")]
26146 if self.band_fmts.is_some() {
26147 return false;
26148 }
26149 #[cfg(feature = "dml-charts")]
26150 if !self.ax_id.is_empty() {
26151 return false;
26152 }
26153 #[cfg(feature = "dml-charts")]
26154 if self.ext_lst.is_some() {
26155 return false;
26156 }
26157 #[cfg(feature = "extra-children")]
26158 if !self.extra_children.is_empty() {
26159 return false;
26160 }
26161 true
26162 }
26163}
26164
26165impl ToXml for Surface3DChart {
26166 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26167 #[cfg(feature = "extra-children")]
26168 let mut extra_iter = self.extra_children.iter().peekable();
26169 #[cfg(feature = "extra-children")]
26170 let mut emit_idx: usize = 0;
26171 #[cfg(feature = "extra-children")]
26172 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26173 extra_iter
26174 .next()
26175 .unwrap()
26176 .node
26177 .write_to(writer)
26178 .map_err(SerializeError::from)?;
26179 }
26180 #[cfg(feature = "dml-charts")]
26181 if let Some(ref val) = self.wireframe {
26182 val.write_element("a:wireframe", writer)?;
26183 }
26184 #[cfg(feature = "extra-children")]
26185 {
26186 emit_idx += 1;
26187 }
26188 #[cfg(feature = "dml-charts")]
26189 for item in &self.ser {
26190 #[cfg(feature = "extra-children")]
26191 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26192 extra_iter
26193 .next()
26194 .unwrap()
26195 .node
26196 .write_to(writer)
26197 .map_err(SerializeError::from)?;
26198 }
26199 item.write_element("a:ser", writer)?;
26200 #[cfg(feature = "extra-children")]
26201 {
26202 emit_idx += 1;
26203 }
26204 }
26205 #[cfg(feature = "extra-children")]
26206 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26207 extra_iter
26208 .next()
26209 .unwrap()
26210 .node
26211 .write_to(writer)
26212 .map_err(SerializeError::from)?;
26213 }
26214 #[cfg(feature = "dml-charts")]
26215 if let Some(ref val) = self.band_fmts {
26216 val.write_element("a:bandFmts", writer)?;
26217 }
26218 #[cfg(feature = "extra-children")]
26219 {
26220 emit_idx += 1;
26221 }
26222 #[cfg(feature = "dml-charts")]
26223 for item in &self.ax_id {
26224 #[cfg(feature = "extra-children")]
26225 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26226 extra_iter
26227 .next()
26228 .unwrap()
26229 .node
26230 .write_to(writer)
26231 .map_err(SerializeError::from)?;
26232 }
26233 item.write_element("a:axId", writer)?;
26234 #[cfg(feature = "extra-children")]
26235 {
26236 emit_idx += 1;
26237 }
26238 }
26239 #[cfg(feature = "extra-children")]
26240 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26241 extra_iter
26242 .next()
26243 .unwrap()
26244 .node
26245 .write_to(writer)
26246 .map_err(SerializeError::from)?;
26247 }
26248 #[cfg(feature = "dml-charts")]
26249 if let Some(ref val) = self.ext_lst {
26250 val.write_element("a:extLst", writer)?;
26251 }
26252 #[cfg(feature = "extra-children")]
26253 {
26254 emit_idx += 1;
26255 }
26256 #[cfg(feature = "extra-children")]
26257 for extra in extra_iter {
26258 extra.node.write_to(writer).map_err(SerializeError::from)?;
26259 }
26260 Ok(())
26261 }
26262
26263 fn is_empty_element(&self) -> bool {
26264 #[cfg(feature = "dml-charts")]
26265 if self.wireframe.is_some() {
26266 return false;
26267 }
26268 #[cfg(feature = "dml-charts")]
26269 if !self.ser.is_empty() {
26270 return false;
26271 }
26272 #[cfg(feature = "dml-charts")]
26273 if self.band_fmts.is_some() {
26274 return false;
26275 }
26276 #[cfg(feature = "dml-charts")]
26277 if !self.ax_id.is_empty() {
26278 return false;
26279 }
26280 #[cfg(feature = "dml-charts")]
26281 if self.ext_lst.is_some() {
26282 return false;
26283 }
26284 #[cfg(feature = "extra-children")]
26285 if !self.extra_children.is_empty() {
26286 return false;
26287 }
26288 true
26289 }
26290}
26291
26292impl ToXml for AxisPosition {
26293 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26294 #[allow(unused_mut)]
26295 let mut start = start;
26296 #[cfg(feature = "dml-charts")]
26297 {
26298 let val = &self.value;
26299 {
26300 let s = val.to_string();
26301 start.push_attribute(("val", s.as_str()));
26302 }
26303 }
26304 #[cfg(feature = "extra-attrs")]
26305 for (key, value) in &self.extra_attrs {
26306 start.push_attribute((key.as_str(), value.as_str()));
26307 }
26308 start
26309 }
26310
26311 fn is_empty_element(&self) -> bool {
26312 true
26313 }
26314}
26315
26316impl ToXml for AxisCrosses {
26317 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26318 #[allow(unused_mut)]
26319 let mut start = start;
26320 #[cfg(feature = "dml-charts")]
26321 {
26322 let val = &self.value;
26323 {
26324 let s = val.to_string();
26325 start.push_attribute(("val", s.as_str()));
26326 }
26327 }
26328 #[cfg(feature = "extra-attrs")]
26329 for (key, value) in &self.extra_attrs {
26330 start.push_attribute((key.as_str(), value.as_str()));
26331 }
26332 start
26333 }
26334
26335 fn is_empty_element(&self) -> bool {
26336 true
26337 }
26338}
26339
26340impl ToXml for CrossBetween {
26341 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26342 #[allow(unused_mut)]
26343 let mut start = start;
26344 #[cfg(feature = "dml-charts")]
26345 {
26346 let val = &self.value;
26347 {
26348 let s = val.to_string();
26349 start.push_attribute(("val", s.as_str()));
26350 }
26351 }
26352 #[cfg(feature = "extra-attrs")]
26353 for (key, value) in &self.extra_attrs {
26354 start.push_attribute((key.as_str(), value.as_str()));
26355 }
26356 start
26357 }
26358
26359 fn is_empty_element(&self) -> bool {
26360 true
26361 }
26362}
26363
26364impl ToXml for TickMark {
26365 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26366 #[allow(unused_mut)]
26367 let mut start = start;
26368 #[cfg(feature = "dml-charts")]
26369 if let Some(ref val) = self.value {
26370 {
26371 let s = val.to_string();
26372 start.push_attribute(("val", s.as_str()));
26373 }
26374 }
26375 #[cfg(feature = "extra-attrs")]
26376 for (key, value) in &self.extra_attrs {
26377 start.push_attribute((key.as_str(), value.as_str()));
26378 }
26379 start
26380 }
26381
26382 fn is_empty_element(&self) -> bool {
26383 true
26384 }
26385}
26386
26387impl ToXml for TickLabelPosition {
26388 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26389 #[allow(unused_mut)]
26390 let mut start = start;
26391 #[cfg(feature = "dml-charts")]
26392 if let Some(ref val) = self.value {
26393 {
26394 let s = val.to_string();
26395 start.push_attribute(("val", s.as_str()));
26396 }
26397 }
26398 #[cfg(feature = "extra-attrs")]
26399 for (key, value) in &self.extra_attrs {
26400 start.push_attribute((key.as_str(), value.as_str()));
26401 }
26402 start
26403 }
26404
26405 fn is_empty_element(&self) -> bool {
26406 true
26407 }
26408}
26409
26410impl ToXml for AxisSkip {
26411 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26412 #[allow(unused_mut)]
26413 let mut start = start;
26414 #[cfg(feature = "dml-charts")]
26415 {
26416 let val = &self.value;
26417 {
26418 let s = val.to_string();
26419 start.push_attribute(("val", s.as_str()));
26420 }
26421 }
26422 #[cfg(feature = "extra-attrs")]
26423 for (key, value) in &self.extra_attrs {
26424 start.push_attribute((key.as_str(), value.as_str()));
26425 }
26426 start
26427 }
26428
26429 fn is_empty_element(&self) -> bool {
26430 true
26431 }
26432}
26433
26434impl ToXml for TimeUnit {
26435 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26436 #[allow(unused_mut)]
26437 let mut start = start;
26438 #[cfg(feature = "dml-charts")]
26439 if let Some(ref val) = self.value {
26440 {
26441 let s = val.to_string();
26442 start.push_attribute(("val", s.as_str()));
26443 }
26444 }
26445 #[cfg(feature = "extra-attrs")]
26446 for (key, value) in &self.extra_attrs {
26447 start.push_attribute((key.as_str(), value.as_str()));
26448 }
26449 start
26450 }
26451
26452 fn is_empty_element(&self) -> bool {
26453 true
26454 }
26455}
26456
26457impl ToXml for AxisUnit {
26458 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26459 #[allow(unused_mut)]
26460 let mut start = start;
26461 #[cfg(feature = "dml-charts")]
26462 {
26463 let val = &self.value;
26464 {
26465 let s = val.to_string();
26466 start.push_attribute(("val", s.as_str()));
26467 }
26468 }
26469 #[cfg(feature = "extra-attrs")]
26470 for (key, value) in &self.extra_attrs {
26471 start.push_attribute((key.as_str(), value.as_str()));
26472 }
26473 start
26474 }
26475
26476 fn is_empty_element(&self) -> bool {
26477 true
26478 }
26479}
26480
26481impl ToXml for BuiltInUnit {
26482 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26483 #[allow(unused_mut)]
26484 let mut start = start;
26485 #[cfg(feature = "dml-charts")]
26486 if let Some(ref val) = self.value {
26487 {
26488 let s = val.to_string();
26489 start.push_attribute(("val", s.as_str()));
26490 }
26491 }
26492 #[cfg(feature = "extra-attrs")]
26493 for (key, value) in &self.extra_attrs {
26494 start.push_attribute((key.as_str(), value.as_str()));
26495 }
26496 start
26497 }
26498
26499 fn is_empty_element(&self) -> bool {
26500 true
26501 }
26502}
26503
26504impl ToXml for ChartPictureFormat {
26505 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26506 #[allow(unused_mut)]
26507 let mut start = start;
26508 #[cfg(feature = "dml-charts")]
26509 {
26510 let val = &self.value;
26511 {
26512 let s = val.to_string();
26513 start.push_attribute(("val", s.as_str()));
26514 }
26515 }
26516 #[cfg(feature = "extra-attrs")]
26517 for (key, value) in &self.extra_attrs {
26518 start.push_attribute((key.as_str(), value.as_str()));
26519 }
26520 start
26521 }
26522
26523 fn is_empty_element(&self) -> bool {
26524 true
26525 }
26526}
26527
26528impl ToXml for PictureStackUnit {
26529 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26530 #[allow(unused_mut)]
26531 let mut start = start;
26532 #[cfg(feature = "dml-charts")]
26533 {
26534 let val = &self.value;
26535 {
26536 let s = val.to_string();
26537 start.push_attribute(("val", s.as_str()));
26538 }
26539 }
26540 #[cfg(feature = "extra-attrs")]
26541 for (key, value) in &self.extra_attrs {
26542 start.push_attribute((key.as_str(), value.as_str()));
26543 }
26544 start
26545 }
26546
26547 fn is_empty_element(&self) -> bool {
26548 true
26549 }
26550}
26551
26552impl ToXml for PictureOptions {
26553 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26554 #[cfg(feature = "extra-children")]
26555 let mut extra_iter = self.extra_children.iter().peekable();
26556 #[cfg(feature = "extra-children")]
26557 let mut emit_idx: usize = 0;
26558 #[cfg(feature = "extra-children")]
26559 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26560 extra_iter
26561 .next()
26562 .unwrap()
26563 .node
26564 .write_to(writer)
26565 .map_err(SerializeError::from)?;
26566 }
26567 #[cfg(feature = "dml-charts")]
26568 if let Some(ref val) = self.apply_to_front {
26569 val.write_element("a:applyToFront", writer)?;
26570 }
26571 #[cfg(feature = "extra-children")]
26572 {
26573 emit_idx += 1;
26574 }
26575 #[cfg(feature = "extra-children")]
26576 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26577 extra_iter
26578 .next()
26579 .unwrap()
26580 .node
26581 .write_to(writer)
26582 .map_err(SerializeError::from)?;
26583 }
26584 #[cfg(feature = "dml-charts")]
26585 if let Some(ref val) = self.apply_to_sides {
26586 val.write_element("a:applyToSides", writer)?;
26587 }
26588 #[cfg(feature = "extra-children")]
26589 {
26590 emit_idx += 1;
26591 }
26592 #[cfg(feature = "extra-children")]
26593 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26594 extra_iter
26595 .next()
26596 .unwrap()
26597 .node
26598 .write_to(writer)
26599 .map_err(SerializeError::from)?;
26600 }
26601 #[cfg(feature = "dml-charts")]
26602 if let Some(ref val) = self.apply_to_end {
26603 val.write_element("a:applyToEnd", writer)?;
26604 }
26605 #[cfg(feature = "extra-children")]
26606 {
26607 emit_idx += 1;
26608 }
26609 #[cfg(feature = "extra-children")]
26610 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26611 extra_iter
26612 .next()
26613 .unwrap()
26614 .node
26615 .write_to(writer)
26616 .map_err(SerializeError::from)?;
26617 }
26618 #[cfg(feature = "dml-charts")]
26619 if let Some(ref val) = self.picture_format {
26620 val.write_element("a:pictureFormat", writer)?;
26621 }
26622 #[cfg(feature = "extra-children")]
26623 {
26624 emit_idx += 1;
26625 }
26626 #[cfg(feature = "extra-children")]
26627 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26628 extra_iter
26629 .next()
26630 .unwrap()
26631 .node
26632 .write_to(writer)
26633 .map_err(SerializeError::from)?;
26634 }
26635 #[cfg(feature = "dml-charts")]
26636 if let Some(ref val) = self.picture_stack_unit {
26637 val.write_element("a:pictureStackUnit", writer)?;
26638 }
26639 #[cfg(feature = "extra-children")]
26640 {
26641 emit_idx += 1;
26642 }
26643 #[cfg(feature = "extra-children")]
26644 for extra in extra_iter {
26645 extra.node.write_to(writer).map_err(SerializeError::from)?;
26646 }
26647 Ok(())
26648 }
26649
26650 fn is_empty_element(&self) -> bool {
26651 #[cfg(feature = "dml-charts")]
26652 if self.apply_to_front.is_some() {
26653 return false;
26654 }
26655 #[cfg(feature = "dml-charts")]
26656 if self.apply_to_sides.is_some() {
26657 return false;
26658 }
26659 #[cfg(feature = "dml-charts")]
26660 if self.apply_to_end.is_some() {
26661 return false;
26662 }
26663 #[cfg(feature = "dml-charts")]
26664 if self.picture_format.is_some() {
26665 return false;
26666 }
26667 #[cfg(feature = "dml-charts")]
26668 if self.picture_stack_unit.is_some() {
26669 return false;
26670 }
26671 #[cfg(feature = "extra-children")]
26672 if !self.extra_children.is_empty() {
26673 return false;
26674 }
26675 true
26676 }
26677}
26678
26679impl ToXml for DisplayUnitsLabel {
26680 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26681 #[cfg(feature = "extra-children")]
26682 let mut extra_iter = self.extra_children.iter().peekable();
26683 #[cfg(feature = "extra-children")]
26684 let mut emit_idx: usize = 0;
26685 #[cfg(feature = "extra-children")]
26686 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26687 extra_iter
26688 .next()
26689 .unwrap()
26690 .node
26691 .write_to(writer)
26692 .map_err(SerializeError::from)?;
26693 }
26694 #[cfg(feature = "dml-charts")]
26695 if let Some(ref val) = self.layout {
26696 val.write_element("a:layout", writer)?;
26697 }
26698 #[cfg(feature = "extra-children")]
26699 {
26700 emit_idx += 1;
26701 }
26702 #[cfg(feature = "extra-children")]
26703 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26704 extra_iter
26705 .next()
26706 .unwrap()
26707 .node
26708 .write_to(writer)
26709 .map_err(SerializeError::from)?;
26710 }
26711 #[cfg(feature = "dml-charts")]
26712 if let Some(ref val) = self.tx {
26713 val.write_element("a:tx", writer)?;
26714 }
26715 #[cfg(feature = "extra-children")]
26716 {
26717 emit_idx += 1;
26718 }
26719 #[cfg(feature = "extra-children")]
26720 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26721 extra_iter
26722 .next()
26723 .unwrap()
26724 .node
26725 .write_to(writer)
26726 .map_err(SerializeError::from)?;
26727 }
26728 #[cfg(feature = "dml-charts")]
26729 if let Some(ref val) = self.sp_pr {
26730 val.write_element("a:spPr", writer)?;
26731 }
26732 #[cfg(feature = "extra-children")]
26733 {
26734 emit_idx += 1;
26735 }
26736 #[cfg(feature = "extra-children")]
26737 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26738 extra_iter
26739 .next()
26740 .unwrap()
26741 .node
26742 .write_to(writer)
26743 .map_err(SerializeError::from)?;
26744 }
26745 #[cfg(feature = "dml-charts")]
26746 if let Some(ref val) = self.tx_pr {
26747 val.write_element("a:txPr", writer)?;
26748 }
26749 #[cfg(feature = "extra-children")]
26750 {
26751 emit_idx += 1;
26752 }
26753 #[cfg(feature = "extra-children")]
26754 for extra in extra_iter {
26755 extra.node.write_to(writer).map_err(SerializeError::from)?;
26756 }
26757 Ok(())
26758 }
26759
26760 fn is_empty_element(&self) -> bool {
26761 #[cfg(feature = "dml-charts")]
26762 if self.layout.is_some() {
26763 return false;
26764 }
26765 #[cfg(feature = "dml-charts")]
26766 if self.tx.is_some() {
26767 return false;
26768 }
26769 #[cfg(feature = "dml-charts")]
26770 if self.sp_pr.is_some() {
26771 return false;
26772 }
26773 #[cfg(feature = "dml-charts")]
26774 if self.tx_pr.is_some() {
26775 return false;
26776 }
26777 #[cfg(feature = "extra-children")]
26778 if !self.extra_children.is_empty() {
26779 return false;
26780 }
26781 true
26782 }
26783}
26784
26785impl ToXml for DisplayUnits {
26786 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26787 #[cfg(feature = "extra-children")]
26788 let mut extra_iter = self.extra_children.iter().peekable();
26789 #[cfg(feature = "extra-children")]
26790 let mut emit_idx: usize = 0;
26791 #[cfg(feature = "extra-children")]
26792 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26793 extra_iter
26794 .next()
26795 .unwrap()
26796 .node
26797 .write_to(writer)
26798 .map_err(SerializeError::from)?;
26799 }
26800 #[cfg(feature = "dml-charts")]
26801 if let Some(ref val) = self.cust_unit {
26802 val.write_element("a:custUnit", writer)?;
26803 }
26804 #[cfg(feature = "extra-children")]
26805 {
26806 emit_idx += 1;
26807 }
26808 #[cfg(feature = "extra-children")]
26809 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26810 extra_iter
26811 .next()
26812 .unwrap()
26813 .node
26814 .write_to(writer)
26815 .map_err(SerializeError::from)?;
26816 }
26817 #[cfg(feature = "dml-charts")]
26818 if let Some(ref val) = self.built_in_unit {
26819 val.write_element("a:builtInUnit", writer)?;
26820 }
26821 #[cfg(feature = "extra-children")]
26822 {
26823 emit_idx += 1;
26824 }
26825 #[cfg(feature = "extra-children")]
26826 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26827 extra_iter
26828 .next()
26829 .unwrap()
26830 .node
26831 .write_to(writer)
26832 .map_err(SerializeError::from)?;
26833 }
26834 #[cfg(feature = "dml-charts")]
26835 if let Some(ref val) = self.disp_units_lbl {
26836 val.write_element("a:dispUnitsLbl", writer)?;
26837 }
26838 #[cfg(feature = "extra-children")]
26839 {
26840 emit_idx += 1;
26841 }
26842 #[cfg(feature = "extra-children")]
26843 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26844 extra_iter
26845 .next()
26846 .unwrap()
26847 .node
26848 .write_to(writer)
26849 .map_err(SerializeError::from)?;
26850 }
26851 #[cfg(feature = "dml-charts")]
26852 if let Some(ref val) = self.ext_lst {
26853 val.write_element("a:extLst", writer)?;
26854 }
26855 #[cfg(feature = "extra-children")]
26856 {
26857 emit_idx += 1;
26858 }
26859 #[cfg(feature = "extra-children")]
26860 for extra in extra_iter {
26861 extra.node.write_to(writer).map_err(SerializeError::from)?;
26862 }
26863 Ok(())
26864 }
26865
26866 fn is_empty_element(&self) -> bool {
26867 #[cfg(feature = "dml-charts")]
26868 if self.cust_unit.is_some() {
26869 return false;
26870 }
26871 #[cfg(feature = "dml-charts")]
26872 if self.built_in_unit.is_some() {
26873 return false;
26874 }
26875 #[cfg(feature = "dml-charts")]
26876 if self.disp_units_lbl.is_some() {
26877 return false;
26878 }
26879 #[cfg(feature = "dml-charts")]
26880 if self.ext_lst.is_some() {
26881 return false;
26882 }
26883 #[cfg(feature = "extra-children")]
26884 if !self.extra_children.is_empty() {
26885 return false;
26886 }
26887 true
26888 }
26889}
26890
26891impl ToXml for AxisOrientation {
26892 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26893 #[allow(unused_mut)]
26894 let mut start = start;
26895 #[cfg(feature = "dml-charts")]
26896 if let Some(ref val) = self.value {
26897 {
26898 let s = val.to_string();
26899 start.push_attribute(("val", s.as_str()));
26900 }
26901 }
26902 #[cfg(feature = "extra-attrs")]
26903 for (key, value) in &self.extra_attrs {
26904 start.push_attribute((key.as_str(), value.as_str()));
26905 }
26906 start
26907 }
26908
26909 fn is_empty_element(&self) -> bool {
26910 true
26911 }
26912}
26913
26914impl ToXml for LogBase {
26915 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
26916 #[allow(unused_mut)]
26917 let mut start = start;
26918 #[cfg(feature = "dml-charts")]
26919 {
26920 let val = &self.value;
26921 {
26922 let s = val.to_string();
26923 start.push_attribute(("val", s.as_str()));
26924 }
26925 }
26926 #[cfg(feature = "extra-attrs")]
26927 for (key, value) in &self.extra_attrs {
26928 start.push_attribute((key.as_str(), value.as_str()));
26929 }
26930 start
26931 }
26932
26933 fn is_empty_element(&self) -> bool {
26934 true
26935 }
26936}
26937
26938impl ToXml for AxisScaling {
26939 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
26940 #[cfg(feature = "extra-children")]
26941 let mut extra_iter = self.extra_children.iter().peekable();
26942 #[cfg(feature = "extra-children")]
26943 let mut emit_idx: usize = 0;
26944 #[cfg(feature = "extra-children")]
26945 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26946 extra_iter
26947 .next()
26948 .unwrap()
26949 .node
26950 .write_to(writer)
26951 .map_err(SerializeError::from)?;
26952 }
26953 #[cfg(feature = "dml-charts")]
26954 if let Some(ref val) = self.log_base {
26955 val.write_element("a:logBase", writer)?;
26956 }
26957 #[cfg(feature = "extra-children")]
26958 {
26959 emit_idx += 1;
26960 }
26961 #[cfg(feature = "extra-children")]
26962 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26963 extra_iter
26964 .next()
26965 .unwrap()
26966 .node
26967 .write_to(writer)
26968 .map_err(SerializeError::from)?;
26969 }
26970 #[cfg(feature = "dml-charts")]
26971 if let Some(ref val) = self.orientation {
26972 val.write_element("a:orientation", writer)?;
26973 }
26974 #[cfg(feature = "extra-children")]
26975 {
26976 emit_idx += 1;
26977 }
26978 #[cfg(feature = "extra-children")]
26979 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26980 extra_iter
26981 .next()
26982 .unwrap()
26983 .node
26984 .write_to(writer)
26985 .map_err(SerializeError::from)?;
26986 }
26987 #[cfg(feature = "dml-charts")]
26988 if let Some(ref val) = self.max {
26989 val.write_element("a:max", writer)?;
26990 }
26991 #[cfg(feature = "extra-children")]
26992 {
26993 emit_idx += 1;
26994 }
26995 #[cfg(feature = "extra-children")]
26996 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
26997 extra_iter
26998 .next()
26999 .unwrap()
27000 .node
27001 .write_to(writer)
27002 .map_err(SerializeError::from)?;
27003 }
27004 #[cfg(feature = "dml-charts")]
27005 if let Some(ref val) = self.min {
27006 val.write_element("a:min", writer)?;
27007 }
27008 #[cfg(feature = "extra-children")]
27009 {
27010 emit_idx += 1;
27011 }
27012 #[cfg(feature = "extra-children")]
27013 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27014 extra_iter
27015 .next()
27016 .unwrap()
27017 .node
27018 .write_to(writer)
27019 .map_err(SerializeError::from)?;
27020 }
27021 #[cfg(feature = "dml-charts")]
27022 if let Some(ref val) = self.ext_lst {
27023 val.write_element("a:extLst", writer)?;
27024 }
27025 #[cfg(feature = "extra-children")]
27026 {
27027 emit_idx += 1;
27028 }
27029 #[cfg(feature = "extra-children")]
27030 for extra in extra_iter {
27031 extra.node.write_to(writer).map_err(SerializeError::from)?;
27032 }
27033 Ok(())
27034 }
27035
27036 fn is_empty_element(&self) -> bool {
27037 #[cfg(feature = "dml-charts")]
27038 if self.log_base.is_some() {
27039 return false;
27040 }
27041 #[cfg(feature = "dml-charts")]
27042 if self.orientation.is_some() {
27043 return false;
27044 }
27045 #[cfg(feature = "dml-charts")]
27046 if self.max.is_some() {
27047 return false;
27048 }
27049 #[cfg(feature = "dml-charts")]
27050 if self.min.is_some() {
27051 return false;
27052 }
27053 #[cfg(feature = "dml-charts")]
27054 if self.ext_lst.is_some() {
27055 return false;
27056 }
27057 #[cfg(feature = "extra-children")]
27058 if !self.extra_children.is_empty() {
27059 return false;
27060 }
27061 true
27062 }
27063}
27064
27065impl ToXml for LabelOffset {
27066 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
27067 #[allow(unused_mut)]
27068 let mut start = start;
27069 #[cfg(feature = "dml-charts")]
27070 if let Some(ref val) = self.value {
27071 {
27072 let s = val.to_string();
27073 start.push_attribute(("val", s.as_str()));
27074 }
27075 }
27076 #[cfg(feature = "extra-attrs")]
27077 for (key, value) in &self.extra_attrs {
27078 start.push_attribute((key.as_str(), value.as_str()));
27079 }
27080 start
27081 }
27082
27083 fn is_empty_element(&self) -> bool {
27084 true
27085 }
27086}
27087
27088impl ToXml for EGAxShared {
27089 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
27090 #[cfg(feature = "extra-children")]
27091 let mut extra_iter = self.extra_children.iter().peekable();
27092 #[cfg(feature = "extra-children")]
27093 let mut emit_idx: usize = 0;
27094 #[cfg(feature = "extra-children")]
27095 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27096 extra_iter
27097 .next()
27098 .unwrap()
27099 .node
27100 .write_to(writer)
27101 .map_err(SerializeError::from)?;
27102 }
27103 {
27104 let val = &self.ax_id;
27105 val.write_element("a:axId", writer)?;
27106 }
27107 #[cfg(feature = "extra-children")]
27108 {
27109 emit_idx += 1;
27110 }
27111 #[cfg(feature = "extra-children")]
27112 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27113 extra_iter
27114 .next()
27115 .unwrap()
27116 .node
27117 .write_to(writer)
27118 .map_err(SerializeError::from)?;
27119 }
27120 {
27121 let val = &self.scaling;
27122 val.write_element("a:scaling", writer)?;
27123 }
27124 #[cfg(feature = "extra-children")]
27125 {
27126 emit_idx += 1;
27127 }
27128 #[cfg(feature = "extra-children")]
27129 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27130 extra_iter
27131 .next()
27132 .unwrap()
27133 .node
27134 .write_to(writer)
27135 .map_err(SerializeError::from)?;
27136 }
27137 if let Some(ref val) = self.delete {
27138 val.write_element("a:delete", writer)?;
27139 }
27140 #[cfg(feature = "extra-children")]
27141 {
27142 emit_idx += 1;
27143 }
27144 #[cfg(feature = "extra-children")]
27145 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27146 extra_iter
27147 .next()
27148 .unwrap()
27149 .node
27150 .write_to(writer)
27151 .map_err(SerializeError::from)?;
27152 }
27153 {
27154 let val = &self.ax_pos;
27155 val.write_element("a:axPos", writer)?;
27156 }
27157 #[cfg(feature = "extra-children")]
27158 {
27159 emit_idx += 1;
27160 }
27161 #[cfg(feature = "extra-children")]
27162 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27163 extra_iter
27164 .next()
27165 .unwrap()
27166 .node
27167 .write_to(writer)
27168 .map_err(SerializeError::from)?;
27169 }
27170 if let Some(ref val) = self.major_gridlines {
27171 val.write_element("a:majorGridlines", writer)?;
27172 }
27173 #[cfg(feature = "extra-children")]
27174 {
27175 emit_idx += 1;
27176 }
27177 #[cfg(feature = "extra-children")]
27178 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27179 extra_iter
27180 .next()
27181 .unwrap()
27182 .node
27183 .write_to(writer)
27184 .map_err(SerializeError::from)?;
27185 }
27186 if let Some(ref val) = self.minor_gridlines {
27187 val.write_element("a:minorGridlines", writer)?;
27188 }
27189 #[cfg(feature = "extra-children")]
27190 {
27191 emit_idx += 1;
27192 }
27193 #[cfg(feature = "extra-children")]
27194 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27195 extra_iter
27196 .next()
27197 .unwrap()
27198 .node
27199 .write_to(writer)
27200 .map_err(SerializeError::from)?;
27201 }
27202 if let Some(ref val) = self.title {
27203 val.write_element("a:title", writer)?;
27204 }
27205 #[cfg(feature = "extra-children")]
27206 {
27207 emit_idx += 1;
27208 }
27209 #[cfg(feature = "extra-children")]
27210 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27211 extra_iter
27212 .next()
27213 .unwrap()
27214 .node
27215 .write_to(writer)
27216 .map_err(SerializeError::from)?;
27217 }
27218 if let Some(ref val) = self.num_fmt {
27219 val.write_element("a:numFmt", writer)?;
27220 }
27221 #[cfg(feature = "extra-children")]
27222 {
27223 emit_idx += 1;
27224 }
27225 #[cfg(feature = "extra-children")]
27226 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27227 extra_iter
27228 .next()
27229 .unwrap()
27230 .node
27231 .write_to(writer)
27232 .map_err(SerializeError::from)?;
27233 }
27234 if let Some(ref val) = self.major_tick_mark {
27235 val.write_element("a:majorTickMark", writer)?;
27236 }
27237 #[cfg(feature = "extra-children")]
27238 {
27239 emit_idx += 1;
27240 }
27241 #[cfg(feature = "extra-children")]
27242 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27243 extra_iter
27244 .next()
27245 .unwrap()
27246 .node
27247 .write_to(writer)
27248 .map_err(SerializeError::from)?;
27249 }
27250 if let Some(ref val) = self.minor_tick_mark {
27251 val.write_element("a:minorTickMark", writer)?;
27252 }
27253 #[cfg(feature = "extra-children")]
27254 {
27255 emit_idx += 1;
27256 }
27257 #[cfg(feature = "extra-children")]
27258 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27259 extra_iter
27260 .next()
27261 .unwrap()
27262 .node
27263 .write_to(writer)
27264 .map_err(SerializeError::from)?;
27265 }
27266 if let Some(ref val) = self.tick_lbl_pos {
27267 val.write_element("a:tickLblPos", writer)?;
27268 }
27269 #[cfg(feature = "extra-children")]
27270 {
27271 emit_idx += 1;
27272 }
27273 #[cfg(feature = "extra-children")]
27274 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27275 extra_iter
27276 .next()
27277 .unwrap()
27278 .node
27279 .write_to(writer)
27280 .map_err(SerializeError::from)?;
27281 }
27282 if let Some(ref val) = self.sp_pr {
27283 val.write_element("a:spPr", writer)?;
27284 }
27285 #[cfg(feature = "extra-children")]
27286 {
27287 emit_idx += 1;
27288 }
27289 #[cfg(feature = "extra-children")]
27290 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27291 extra_iter
27292 .next()
27293 .unwrap()
27294 .node
27295 .write_to(writer)
27296 .map_err(SerializeError::from)?;
27297 }
27298 if let Some(ref val) = self.tx_pr {
27299 val.write_element("a:txPr", writer)?;
27300 }
27301 #[cfg(feature = "extra-children")]
27302 {
27303 emit_idx += 1;
27304 }
27305 #[cfg(feature = "extra-children")]
27306 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27307 extra_iter
27308 .next()
27309 .unwrap()
27310 .node
27311 .write_to(writer)
27312 .map_err(SerializeError::from)?;
27313 }
27314 {
27315 let val = &self.cross_ax;
27316 val.write_element("a:crossAx", writer)?;
27317 }
27318 #[cfg(feature = "extra-children")]
27319 {
27320 emit_idx += 1;
27321 }
27322 #[cfg(feature = "extra-children")]
27323 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27324 extra_iter
27325 .next()
27326 .unwrap()
27327 .node
27328 .write_to(writer)
27329 .map_err(SerializeError::from)?;
27330 }
27331 if let Some(ref val) = self.crosses {
27332 val.write_element("a:crosses", writer)?;
27333 }
27334 #[cfg(feature = "extra-children")]
27335 {
27336 emit_idx += 1;
27337 }
27338 #[cfg(feature = "extra-children")]
27339 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27340 extra_iter
27341 .next()
27342 .unwrap()
27343 .node
27344 .write_to(writer)
27345 .map_err(SerializeError::from)?;
27346 }
27347 if let Some(ref val) = self.crosses_at {
27348 val.write_element("a:crossesAt", writer)?;
27349 }
27350 #[cfg(feature = "extra-children")]
27351 {
27352 emit_idx += 1;
27353 }
27354 #[cfg(feature = "extra-children")]
27355 for extra in extra_iter {
27356 extra.node.write_to(writer).map_err(SerializeError::from)?;
27357 }
27358 Ok(())
27359 }
27360
27361 fn is_empty_element(&self) -> bool {
27362 false
27363 }
27364}
27365
27366impl ToXml for CategoryAxis {
27367 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
27368 #[cfg(feature = "extra-children")]
27369 let mut extra_iter = self.extra_children.iter().peekable();
27370 #[cfg(feature = "extra-children")]
27371 let mut emit_idx: usize = 0;
27372 #[cfg(feature = "extra-children")]
27373 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27374 extra_iter
27375 .next()
27376 .unwrap()
27377 .node
27378 .write_to(writer)
27379 .map_err(SerializeError::from)?;
27380 }
27381 #[cfg(feature = "dml-charts")]
27382 {
27383 let val = &self.ax_id;
27384 val.write_element("a:axId", writer)?;
27385 }
27386 #[cfg(feature = "extra-children")]
27387 {
27388 emit_idx += 1;
27389 }
27390 #[cfg(feature = "extra-children")]
27391 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27392 extra_iter
27393 .next()
27394 .unwrap()
27395 .node
27396 .write_to(writer)
27397 .map_err(SerializeError::from)?;
27398 }
27399 #[cfg(feature = "dml-charts")]
27400 {
27401 let val = &self.scaling;
27402 val.write_element("a:scaling", writer)?;
27403 }
27404 #[cfg(feature = "extra-children")]
27405 {
27406 emit_idx += 1;
27407 }
27408 #[cfg(feature = "extra-children")]
27409 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27410 extra_iter
27411 .next()
27412 .unwrap()
27413 .node
27414 .write_to(writer)
27415 .map_err(SerializeError::from)?;
27416 }
27417 #[cfg(feature = "dml-charts")]
27418 if let Some(ref val) = self.delete {
27419 val.write_element("a:delete", writer)?;
27420 }
27421 #[cfg(feature = "extra-children")]
27422 {
27423 emit_idx += 1;
27424 }
27425 #[cfg(feature = "extra-children")]
27426 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27427 extra_iter
27428 .next()
27429 .unwrap()
27430 .node
27431 .write_to(writer)
27432 .map_err(SerializeError::from)?;
27433 }
27434 #[cfg(feature = "dml-charts")]
27435 {
27436 let val = &self.ax_pos;
27437 val.write_element("a:axPos", writer)?;
27438 }
27439 #[cfg(feature = "extra-children")]
27440 {
27441 emit_idx += 1;
27442 }
27443 #[cfg(feature = "extra-children")]
27444 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27445 extra_iter
27446 .next()
27447 .unwrap()
27448 .node
27449 .write_to(writer)
27450 .map_err(SerializeError::from)?;
27451 }
27452 #[cfg(feature = "dml-charts")]
27453 if let Some(ref val) = self.major_gridlines {
27454 val.write_element("a:majorGridlines", writer)?;
27455 }
27456 #[cfg(feature = "extra-children")]
27457 {
27458 emit_idx += 1;
27459 }
27460 #[cfg(feature = "extra-children")]
27461 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27462 extra_iter
27463 .next()
27464 .unwrap()
27465 .node
27466 .write_to(writer)
27467 .map_err(SerializeError::from)?;
27468 }
27469 #[cfg(feature = "dml-charts")]
27470 if let Some(ref val) = self.minor_gridlines {
27471 val.write_element("a:minorGridlines", writer)?;
27472 }
27473 #[cfg(feature = "extra-children")]
27474 {
27475 emit_idx += 1;
27476 }
27477 #[cfg(feature = "extra-children")]
27478 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27479 extra_iter
27480 .next()
27481 .unwrap()
27482 .node
27483 .write_to(writer)
27484 .map_err(SerializeError::from)?;
27485 }
27486 #[cfg(feature = "dml-charts")]
27487 if let Some(ref val) = self.title {
27488 val.write_element("a:title", writer)?;
27489 }
27490 #[cfg(feature = "extra-children")]
27491 {
27492 emit_idx += 1;
27493 }
27494 #[cfg(feature = "extra-children")]
27495 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27496 extra_iter
27497 .next()
27498 .unwrap()
27499 .node
27500 .write_to(writer)
27501 .map_err(SerializeError::from)?;
27502 }
27503 #[cfg(feature = "dml-charts")]
27504 if let Some(ref val) = self.num_fmt {
27505 val.write_element("a:numFmt", writer)?;
27506 }
27507 #[cfg(feature = "extra-children")]
27508 {
27509 emit_idx += 1;
27510 }
27511 #[cfg(feature = "extra-children")]
27512 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27513 extra_iter
27514 .next()
27515 .unwrap()
27516 .node
27517 .write_to(writer)
27518 .map_err(SerializeError::from)?;
27519 }
27520 #[cfg(feature = "dml-charts")]
27521 if let Some(ref val) = self.major_tick_mark {
27522 val.write_element("a:majorTickMark", writer)?;
27523 }
27524 #[cfg(feature = "extra-children")]
27525 {
27526 emit_idx += 1;
27527 }
27528 #[cfg(feature = "extra-children")]
27529 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27530 extra_iter
27531 .next()
27532 .unwrap()
27533 .node
27534 .write_to(writer)
27535 .map_err(SerializeError::from)?;
27536 }
27537 #[cfg(feature = "dml-charts")]
27538 if let Some(ref val) = self.minor_tick_mark {
27539 val.write_element("a:minorTickMark", writer)?;
27540 }
27541 #[cfg(feature = "extra-children")]
27542 {
27543 emit_idx += 1;
27544 }
27545 #[cfg(feature = "extra-children")]
27546 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27547 extra_iter
27548 .next()
27549 .unwrap()
27550 .node
27551 .write_to(writer)
27552 .map_err(SerializeError::from)?;
27553 }
27554 #[cfg(feature = "dml-charts")]
27555 if let Some(ref val) = self.tick_lbl_pos {
27556 val.write_element("a:tickLblPos", writer)?;
27557 }
27558 #[cfg(feature = "extra-children")]
27559 {
27560 emit_idx += 1;
27561 }
27562 #[cfg(feature = "extra-children")]
27563 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27564 extra_iter
27565 .next()
27566 .unwrap()
27567 .node
27568 .write_to(writer)
27569 .map_err(SerializeError::from)?;
27570 }
27571 #[cfg(feature = "dml-charts")]
27572 if let Some(ref val) = self.sp_pr {
27573 val.write_element("a:spPr", writer)?;
27574 }
27575 #[cfg(feature = "extra-children")]
27576 {
27577 emit_idx += 1;
27578 }
27579 #[cfg(feature = "extra-children")]
27580 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27581 extra_iter
27582 .next()
27583 .unwrap()
27584 .node
27585 .write_to(writer)
27586 .map_err(SerializeError::from)?;
27587 }
27588 #[cfg(feature = "dml-charts")]
27589 if let Some(ref val) = self.tx_pr {
27590 val.write_element("a:txPr", writer)?;
27591 }
27592 #[cfg(feature = "extra-children")]
27593 {
27594 emit_idx += 1;
27595 }
27596 #[cfg(feature = "extra-children")]
27597 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27598 extra_iter
27599 .next()
27600 .unwrap()
27601 .node
27602 .write_to(writer)
27603 .map_err(SerializeError::from)?;
27604 }
27605 #[cfg(feature = "dml-charts")]
27606 {
27607 let val = &self.cross_ax;
27608 val.write_element("a:crossAx", writer)?;
27609 }
27610 #[cfg(feature = "extra-children")]
27611 {
27612 emit_idx += 1;
27613 }
27614 #[cfg(feature = "extra-children")]
27615 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27616 extra_iter
27617 .next()
27618 .unwrap()
27619 .node
27620 .write_to(writer)
27621 .map_err(SerializeError::from)?;
27622 }
27623 #[cfg(feature = "dml-charts")]
27624 if let Some(ref val) = self.crosses {
27625 val.write_element("a:crosses", writer)?;
27626 }
27627 #[cfg(feature = "extra-children")]
27628 {
27629 emit_idx += 1;
27630 }
27631 #[cfg(feature = "extra-children")]
27632 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27633 extra_iter
27634 .next()
27635 .unwrap()
27636 .node
27637 .write_to(writer)
27638 .map_err(SerializeError::from)?;
27639 }
27640 #[cfg(feature = "dml-charts")]
27641 if let Some(ref val) = self.crosses_at {
27642 val.write_element("a:crossesAt", writer)?;
27643 }
27644 #[cfg(feature = "extra-children")]
27645 {
27646 emit_idx += 1;
27647 }
27648 #[cfg(feature = "extra-children")]
27649 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27650 extra_iter
27651 .next()
27652 .unwrap()
27653 .node
27654 .write_to(writer)
27655 .map_err(SerializeError::from)?;
27656 }
27657 #[cfg(feature = "dml-charts")]
27658 if let Some(ref val) = self.auto {
27659 val.write_element("a:auto", writer)?;
27660 }
27661 #[cfg(feature = "extra-children")]
27662 {
27663 emit_idx += 1;
27664 }
27665 #[cfg(feature = "extra-children")]
27666 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27667 extra_iter
27668 .next()
27669 .unwrap()
27670 .node
27671 .write_to(writer)
27672 .map_err(SerializeError::from)?;
27673 }
27674 #[cfg(feature = "dml-charts")]
27675 if let Some(ref val) = self.lbl_algn {
27676 val.write_element("a:lblAlgn", writer)?;
27677 }
27678 #[cfg(feature = "extra-children")]
27679 {
27680 emit_idx += 1;
27681 }
27682 #[cfg(feature = "extra-children")]
27683 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27684 extra_iter
27685 .next()
27686 .unwrap()
27687 .node
27688 .write_to(writer)
27689 .map_err(SerializeError::from)?;
27690 }
27691 #[cfg(feature = "dml-charts")]
27692 if let Some(ref val) = self.lbl_offset {
27693 val.write_element("a:lblOffset", writer)?;
27694 }
27695 #[cfg(feature = "extra-children")]
27696 {
27697 emit_idx += 1;
27698 }
27699 #[cfg(feature = "extra-children")]
27700 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27701 extra_iter
27702 .next()
27703 .unwrap()
27704 .node
27705 .write_to(writer)
27706 .map_err(SerializeError::from)?;
27707 }
27708 #[cfg(feature = "dml-charts")]
27709 if let Some(ref val) = self.tick_lbl_skip {
27710 val.write_element("a:tickLblSkip", writer)?;
27711 }
27712 #[cfg(feature = "extra-children")]
27713 {
27714 emit_idx += 1;
27715 }
27716 #[cfg(feature = "extra-children")]
27717 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27718 extra_iter
27719 .next()
27720 .unwrap()
27721 .node
27722 .write_to(writer)
27723 .map_err(SerializeError::from)?;
27724 }
27725 #[cfg(feature = "dml-charts")]
27726 if let Some(ref val) = self.tick_mark_skip {
27727 val.write_element("a:tickMarkSkip", writer)?;
27728 }
27729 #[cfg(feature = "extra-children")]
27730 {
27731 emit_idx += 1;
27732 }
27733 #[cfg(feature = "extra-children")]
27734 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27735 extra_iter
27736 .next()
27737 .unwrap()
27738 .node
27739 .write_to(writer)
27740 .map_err(SerializeError::from)?;
27741 }
27742 #[cfg(feature = "dml-charts")]
27743 if let Some(ref val) = self.no_multi_lvl_lbl {
27744 val.write_element("a:noMultiLvlLbl", writer)?;
27745 }
27746 #[cfg(feature = "extra-children")]
27747 {
27748 emit_idx += 1;
27749 }
27750 #[cfg(feature = "extra-children")]
27751 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27752 extra_iter
27753 .next()
27754 .unwrap()
27755 .node
27756 .write_to(writer)
27757 .map_err(SerializeError::from)?;
27758 }
27759 #[cfg(feature = "dml-charts")]
27760 if let Some(ref val) = self.ext_lst {
27761 val.write_element("a:extLst", writer)?;
27762 }
27763 #[cfg(feature = "extra-children")]
27764 {
27765 emit_idx += 1;
27766 }
27767 #[cfg(feature = "extra-children")]
27768 for extra in extra_iter {
27769 extra.node.write_to(writer).map_err(SerializeError::from)?;
27770 }
27771 Ok(())
27772 }
27773
27774 fn is_empty_element(&self) -> bool {
27775 #[cfg(feature = "dml-charts")]
27776 return false;
27777 #[cfg(feature = "dml-charts")]
27778 return false;
27779 #[cfg(feature = "dml-charts")]
27780 if self.delete.is_some() {
27781 return false;
27782 }
27783 #[cfg(feature = "dml-charts")]
27784 return false;
27785 #[cfg(feature = "dml-charts")]
27786 if self.major_gridlines.is_some() {
27787 return false;
27788 }
27789 #[cfg(feature = "dml-charts")]
27790 if self.minor_gridlines.is_some() {
27791 return false;
27792 }
27793 #[cfg(feature = "dml-charts")]
27794 if self.title.is_some() {
27795 return false;
27796 }
27797 #[cfg(feature = "dml-charts")]
27798 if self.num_fmt.is_some() {
27799 return false;
27800 }
27801 #[cfg(feature = "dml-charts")]
27802 if self.major_tick_mark.is_some() {
27803 return false;
27804 }
27805 #[cfg(feature = "dml-charts")]
27806 if self.minor_tick_mark.is_some() {
27807 return false;
27808 }
27809 #[cfg(feature = "dml-charts")]
27810 if self.tick_lbl_pos.is_some() {
27811 return false;
27812 }
27813 #[cfg(feature = "dml-charts")]
27814 if self.sp_pr.is_some() {
27815 return false;
27816 }
27817 #[cfg(feature = "dml-charts")]
27818 if self.tx_pr.is_some() {
27819 return false;
27820 }
27821 #[cfg(feature = "dml-charts")]
27822 return false;
27823 #[cfg(feature = "dml-charts")]
27824 if self.crosses.is_some() {
27825 return false;
27826 }
27827 #[cfg(feature = "dml-charts")]
27828 if self.crosses_at.is_some() {
27829 return false;
27830 }
27831 #[cfg(feature = "dml-charts")]
27832 if self.auto.is_some() {
27833 return false;
27834 }
27835 #[cfg(feature = "dml-charts")]
27836 if self.lbl_algn.is_some() {
27837 return false;
27838 }
27839 #[cfg(feature = "dml-charts")]
27840 if self.lbl_offset.is_some() {
27841 return false;
27842 }
27843 #[cfg(feature = "dml-charts")]
27844 if self.tick_lbl_skip.is_some() {
27845 return false;
27846 }
27847 #[cfg(feature = "dml-charts")]
27848 if self.tick_mark_skip.is_some() {
27849 return false;
27850 }
27851 #[cfg(feature = "dml-charts")]
27852 if self.no_multi_lvl_lbl.is_some() {
27853 return false;
27854 }
27855 #[cfg(feature = "dml-charts")]
27856 if self.ext_lst.is_some() {
27857 return false;
27858 }
27859 #[cfg(feature = "extra-children")]
27860 if !self.extra_children.is_empty() {
27861 return false;
27862 }
27863 true
27864 }
27865}
27866
27867impl ToXml for DateAxis {
27868 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
27869 #[cfg(feature = "extra-children")]
27870 let mut extra_iter = self.extra_children.iter().peekable();
27871 #[cfg(feature = "extra-children")]
27872 let mut emit_idx: usize = 0;
27873 #[cfg(feature = "extra-children")]
27874 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27875 extra_iter
27876 .next()
27877 .unwrap()
27878 .node
27879 .write_to(writer)
27880 .map_err(SerializeError::from)?;
27881 }
27882 #[cfg(feature = "dml-charts")]
27883 {
27884 let val = &self.ax_id;
27885 val.write_element("a:axId", writer)?;
27886 }
27887 #[cfg(feature = "extra-children")]
27888 {
27889 emit_idx += 1;
27890 }
27891 #[cfg(feature = "extra-children")]
27892 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27893 extra_iter
27894 .next()
27895 .unwrap()
27896 .node
27897 .write_to(writer)
27898 .map_err(SerializeError::from)?;
27899 }
27900 #[cfg(feature = "dml-charts")]
27901 {
27902 let val = &self.scaling;
27903 val.write_element("a:scaling", writer)?;
27904 }
27905 #[cfg(feature = "extra-children")]
27906 {
27907 emit_idx += 1;
27908 }
27909 #[cfg(feature = "extra-children")]
27910 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27911 extra_iter
27912 .next()
27913 .unwrap()
27914 .node
27915 .write_to(writer)
27916 .map_err(SerializeError::from)?;
27917 }
27918 #[cfg(feature = "dml-charts")]
27919 if let Some(ref val) = self.delete {
27920 val.write_element("a:delete", writer)?;
27921 }
27922 #[cfg(feature = "extra-children")]
27923 {
27924 emit_idx += 1;
27925 }
27926 #[cfg(feature = "extra-children")]
27927 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27928 extra_iter
27929 .next()
27930 .unwrap()
27931 .node
27932 .write_to(writer)
27933 .map_err(SerializeError::from)?;
27934 }
27935 #[cfg(feature = "dml-charts")]
27936 {
27937 let val = &self.ax_pos;
27938 val.write_element("a:axPos", writer)?;
27939 }
27940 #[cfg(feature = "extra-children")]
27941 {
27942 emit_idx += 1;
27943 }
27944 #[cfg(feature = "extra-children")]
27945 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27946 extra_iter
27947 .next()
27948 .unwrap()
27949 .node
27950 .write_to(writer)
27951 .map_err(SerializeError::from)?;
27952 }
27953 #[cfg(feature = "dml-charts")]
27954 if let Some(ref val) = self.major_gridlines {
27955 val.write_element("a:majorGridlines", writer)?;
27956 }
27957 #[cfg(feature = "extra-children")]
27958 {
27959 emit_idx += 1;
27960 }
27961 #[cfg(feature = "extra-children")]
27962 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27963 extra_iter
27964 .next()
27965 .unwrap()
27966 .node
27967 .write_to(writer)
27968 .map_err(SerializeError::from)?;
27969 }
27970 #[cfg(feature = "dml-charts")]
27971 if let Some(ref val) = self.minor_gridlines {
27972 val.write_element("a:minorGridlines", writer)?;
27973 }
27974 #[cfg(feature = "extra-children")]
27975 {
27976 emit_idx += 1;
27977 }
27978 #[cfg(feature = "extra-children")]
27979 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27980 extra_iter
27981 .next()
27982 .unwrap()
27983 .node
27984 .write_to(writer)
27985 .map_err(SerializeError::from)?;
27986 }
27987 #[cfg(feature = "dml-charts")]
27988 if let Some(ref val) = self.title {
27989 val.write_element("a:title", writer)?;
27990 }
27991 #[cfg(feature = "extra-children")]
27992 {
27993 emit_idx += 1;
27994 }
27995 #[cfg(feature = "extra-children")]
27996 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
27997 extra_iter
27998 .next()
27999 .unwrap()
28000 .node
28001 .write_to(writer)
28002 .map_err(SerializeError::from)?;
28003 }
28004 #[cfg(feature = "dml-charts")]
28005 if let Some(ref val) = self.num_fmt {
28006 val.write_element("a:numFmt", writer)?;
28007 }
28008 #[cfg(feature = "extra-children")]
28009 {
28010 emit_idx += 1;
28011 }
28012 #[cfg(feature = "extra-children")]
28013 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28014 extra_iter
28015 .next()
28016 .unwrap()
28017 .node
28018 .write_to(writer)
28019 .map_err(SerializeError::from)?;
28020 }
28021 #[cfg(feature = "dml-charts")]
28022 if let Some(ref val) = self.major_tick_mark {
28023 val.write_element("a:majorTickMark", writer)?;
28024 }
28025 #[cfg(feature = "extra-children")]
28026 {
28027 emit_idx += 1;
28028 }
28029 #[cfg(feature = "extra-children")]
28030 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28031 extra_iter
28032 .next()
28033 .unwrap()
28034 .node
28035 .write_to(writer)
28036 .map_err(SerializeError::from)?;
28037 }
28038 #[cfg(feature = "dml-charts")]
28039 if let Some(ref val) = self.minor_tick_mark {
28040 val.write_element("a:minorTickMark", writer)?;
28041 }
28042 #[cfg(feature = "extra-children")]
28043 {
28044 emit_idx += 1;
28045 }
28046 #[cfg(feature = "extra-children")]
28047 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28048 extra_iter
28049 .next()
28050 .unwrap()
28051 .node
28052 .write_to(writer)
28053 .map_err(SerializeError::from)?;
28054 }
28055 #[cfg(feature = "dml-charts")]
28056 if let Some(ref val) = self.tick_lbl_pos {
28057 val.write_element("a:tickLblPos", writer)?;
28058 }
28059 #[cfg(feature = "extra-children")]
28060 {
28061 emit_idx += 1;
28062 }
28063 #[cfg(feature = "extra-children")]
28064 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28065 extra_iter
28066 .next()
28067 .unwrap()
28068 .node
28069 .write_to(writer)
28070 .map_err(SerializeError::from)?;
28071 }
28072 #[cfg(feature = "dml-charts")]
28073 if let Some(ref val) = self.sp_pr {
28074 val.write_element("a:spPr", writer)?;
28075 }
28076 #[cfg(feature = "extra-children")]
28077 {
28078 emit_idx += 1;
28079 }
28080 #[cfg(feature = "extra-children")]
28081 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28082 extra_iter
28083 .next()
28084 .unwrap()
28085 .node
28086 .write_to(writer)
28087 .map_err(SerializeError::from)?;
28088 }
28089 #[cfg(feature = "dml-charts")]
28090 if let Some(ref val) = self.tx_pr {
28091 val.write_element("a:txPr", writer)?;
28092 }
28093 #[cfg(feature = "extra-children")]
28094 {
28095 emit_idx += 1;
28096 }
28097 #[cfg(feature = "extra-children")]
28098 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28099 extra_iter
28100 .next()
28101 .unwrap()
28102 .node
28103 .write_to(writer)
28104 .map_err(SerializeError::from)?;
28105 }
28106 #[cfg(feature = "dml-charts")]
28107 {
28108 let val = &self.cross_ax;
28109 val.write_element("a:crossAx", writer)?;
28110 }
28111 #[cfg(feature = "extra-children")]
28112 {
28113 emit_idx += 1;
28114 }
28115 #[cfg(feature = "extra-children")]
28116 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28117 extra_iter
28118 .next()
28119 .unwrap()
28120 .node
28121 .write_to(writer)
28122 .map_err(SerializeError::from)?;
28123 }
28124 #[cfg(feature = "dml-charts")]
28125 if let Some(ref val) = self.crosses {
28126 val.write_element("a:crosses", writer)?;
28127 }
28128 #[cfg(feature = "extra-children")]
28129 {
28130 emit_idx += 1;
28131 }
28132 #[cfg(feature = "extra-children")]
28133 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28134 extra_iter
28135 .next()
28136 .unwrap()
28137 .node
28138 .write_to(writer)
28139 .map_err(SerializeError::from)?;
28140 }
28141 #[cfg(feature = "dml-charts")]
28142 if let Some(ref val) = self.crosses_at {
28143 val.write_element("a:crossesAt", writer)?;
28144 }
28145 #[cfg(feature = "extra-children")]
28146 {
28147 emit_idx += 1;
28148 }
28149 #[cfg(feature = "extra-children")]
28150 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28151 extra_iter
28152 .next()
28153 .unwrap()
28154 .node
28155 .write_to(writer)
28156 .map_err(SerializeError::from)?;
28157 }
28158 #[cfg(feature = "dml-charts")]
28159 if let Some(ref val) = self.auto {
28160 val.write_element("a:auto", writer)?;
28161 }
28162 #[cfg(feature = "extra-children")]
28163 {
28164 emit_idx += 1;
28165 }
28166 #[cfg(feature = "extra-children")]
28167 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28168 extra_iter
28169 .next()
28170 .unwrap()
28171 .node
28172 .write_to(writer)
28173 .map_err(SerializeError::from)?;
28174 }
28175 #[cfg(feature = "dml-charts")]
28176 if let Some(ref val) = self.lbl_offset {
28177 val.write_element("a:lblOffset", writer)?;
28178 }
28179 #[cfg(feature = "extra-children")]
28180 {
28181 emit_idx += 1;
28182 }
28183 #[cfg(feature = "extra-children")]
28184 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28185 extra_iter
28186 .next()
28187 .unwrap()
28188 .node
28189 .write_to(writer)
28190 .map_err(SerializeError::from)?;
28191 }
28192 #[cfg(feature = "dml-charts")]
28193 if let Some(ref val) = self.base_time_unit {
28194 val.write_element("a:baseTimeUnit", writer)?;
28195 }
28196 #[cfg(feature = "extra-children")]
28197 {
28198 emit_idx += 1;
28199 }
28200 #[cfg(feature = "extra-children")]
28201 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28202 extra_iter
28203 .next()
28204 .unwrap()
28205 .node
28206 .write_to(writer)
28207 .map_err(SerializeError::from)?;
28208 }
28209 #[cfg(feature = "dml-charts")]
28210 if let Some(ref val) = self.major_unit {
28211 val.write_element("a:majorUnit", writer)?;
28212 }
28213 #[cfg(feature = "extra-children")]
28214 {
28215 emit_idx += 1;
28216 }
28217 #[cfg(feature = "extra-children")]
28218 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28219 extra_iter
28220 .next()
28221 .unwrap()
28222 .node
28223 .write_to(writer)
28224 .map_err(SerializeError::from)?;
28225 }
28226 #[cfg(feature = "dml-charts")]
28227 if let Some(ref val) = self.major_time_unit {
28228 val.write_element("a:majorTimeUnit", writer)?;
28229 }
28230 #[cfg(feature = "extra-children")]
28231 {
28232 emit_idx += 1;
28233 }
28234 #[cfg(feature = "extra-children")]
28235 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28236 extra_iter
28237 .next()
28238 .unwrap()
28239 .node
28240 .write_to(writer)
28241 .map_err(SerializeError::from)?;
28242 }
28243 #[cfg(feature = "dml-charts")]
28244 if let Some(ref val) = self.minor_unit {
28245 val.write_element("a:minorUnit", writer)?;
28246 }
28247 #[cfg(feature = "extra-children")]
28248 {
28249 emit_idx += 1;
28250 }
28251 #[cfg(feature = "extra-children")]
28252 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28253 extra_iter
28254 .next()
28255 .unwrap()
28256 .node
28257 .write_to(writer)
28258 .map_err(SerializeError::from)?;
28259 }
28260 #[cfg(feature = "dml-charts")]
28261 if let Some(ref val) = self.minor_time_unit {
28262 val.write_element("a:minorTimeUnit", writer)?;
28263 }
28264 #[cfg(feature = "extra-children")]
28265 {
28266 emit_idx += 1;
28267 }
28268 #[cfg(feature = "extra-children")]
28269 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28270 extra_iter
28271 .next()
28272 .unwrap()
28273 .node
28274 .write_to(writer)
28275 .map_err(SerializeError::from)?;
28276 }
28277 #[cfg(feature = "dml-charts")]
28278 if let Some(ref val) = self.ext_lst {
28279 val.write_element("a:extLst", writer)?;
28280 }
28281 #[cfg(feature = "extra-children")]
28282 {
28283 emit_idx += 1;
28284 }
28285 #[cfg(feature = "extra-children")]
28286 for extra in extra_iter {
28287 extra.node.write_to(writer).map_err(SerializeError::from)?;
28288 }
28289 Ok(())
28290 }
28291
28292 fn is_empty_element(&self) -> bool {
28293 #[cfg(feature = "dml-charts")]
28294 return false;
28295 #[cfg(feature = "dml-charts")]
28296 return false;
28297 #[cfg(feature = "dml-charts")]
28298 if self.delete.is_some() {
28299 return false;
28300 }
28301 #[cfg(feature = "dml-charts")]
28302 return false;
28303 #[cfg(feature = "dml-charts")]
28304 if self.major_gridlines.is_some() {
28305 return false;
28306 }
28307 #[cfg(feature = "dml-charts")]
28308 if self.minor_gridlines.is_some() {
28309 return false;
28310 }
28311 #[cfg(feature = "dml-charts")]
28312 if self.title.is_some() {
28313 return false;
28314 }
28315 #[cfg(feature = "dml-charts")]
28316 if self.num_fmt.is_some() {
28317 return false;
28318 }
28319 #[cfg(feature = "dml-charts")]
28320 if self.major_tick_mark.is_some() {
28321 return false;
28322 }
28323 #[cfg(feature = "dml-charts")]
28324 if self.minor_tick_mark.is_some() {
28325 return false;
28326 }
28327 #[cfg(feature = "dml-charts")]
28328 if self.tick_lbl_pos.is_some() {
28329 return false;
28330 }
28331 #[cfg(feature = "dml-charts")]
28332 if self.sp_pr.is_some() {
28333 return false;
28334 }
28335 #[cfg(feature = "dml-charts")]
28336 if self.tx_pr.is_some() {
28337 return false;
28338 }
28339 #[cfg(feature = "dml-charts")]
28340 return false;
28341 #[cfg(feature = "dml-charts")]
28342 if self.crosses.is_some() {
28343 return false;
28344 }
28345 #[cfg(feature = "dml-charts")]
28346 if self.crosses_at.is_some() {
28347 return false;
28348 }
28349 #[cfg(feature = "dml-charts")]
28350 if self.auto.is_some() {
28351 return false;
28352 }
28353 #[cfg(feature = "dml-charts")]
28354 if self.lbl_offset.is_some() {
28355 return false;
28356 }
28357 #[cfg(feature = "dml-charts")]
28358 if self.base_time_unit.is_some() {
28359 return false;
28360 }
28361 #[cfg(feature = "dml-charts")]
28362 if self.major_unit.is_some() {
28363 return false;
28364 }
28365 #[cfg(feature = "dml-charts")]
28366 if self.major_time_unit.is_some() {
28367 return false;
28368 }
28369 #[cfg(feature = "dml-charts")]
28370 if self.minor_unit.is_some() {
28371 return false;
28372 }
28373 #[cfg(feature = "dml-charts")]
28374 if self.minor_time_unit.is_some() {
28375 return false;
28376 }
28377 #[cfg(feature = "dml-charts")]
28378 if self.ext_lst.is_some() {
28379 return false;
28380 }
28381 #[cfg(feature = "extra-children")]
28382 if !self.extra_children.is_empty() {
28383 return false;
28384 }
28385 true
28386 }
28387}
28388
28389impl ToXml for SeriesAxis {
28390 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
28391 #[cfg(feature = "extra-children")]
28392 let mut extra_iter = self.extra_children.iter().peekable();
28393 #[cfg(feature = "extra-children")]
28394 let mut emit_idx: usize = 0;
28395 #[cfg(feature = "extra-children")]
28396 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28397 extra_iter
28398 .next()
28399 .unwrap()
28400 .node
28401 .write_to(writer)
28402 .map_err(SerializeError::from)?;
28403 }
28404 #[cfg(feature = "dml-charts")]
28405 {
28406 let val = &self.ax_id;
28407 val.write_element("a:axId", writer)?;
28408 }
28409 #[cfg(feature = "extra-children")]
28410 {
28411 emit_idx += 1;
28412 }
28413 #[cfg(feature = "extra-children")]
28414 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28415 extra_iter
28416 .next()
28417 .unwrap()
28418 .node
28419 .write_to(writer)
28420 .map_err(SerializeError::from)?;
28421 }
28422 #[cfg(feature = "dml-charts")]
28423 {
28424 let val = &self.scaling;
28425 val.write_element("a:scaling", writer)?;
28426 }
28427 #[cfg(feature = "extra-children")]
28428 {
28429 emit_idx += 1;
28430 }
28431 #[cfg(feature = "extra-children")]
28432 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28433 extra_iter
28434 .next()
28435 .unwrap()
28436 .node
28437 .write_to(writer)
28438 .map_err(SerializeError::from)?;
28439 }
28440 #[cfg(feature = "dml-charts")]
28441 if let Some(ref val) = self.delete {
28442 val.write_element("a:delete", writer)?;
28443 }
28444 #[cfg(feature = "extra-children")]
28445 {
28446 emit_idx += 1;
28447 }
28448 #[cfg(feature = "extra-children")]
28449 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28450 extra_iter
28451 .next()
28452 .unwrap()
28453 .node
28454 .write_to(writer)
28455 .map_err(SerializeError::from)?;
28456 }
28457 #[cfg(feature = "dml-charts")]
28458 {
28459 let val = &self.ax_pos;
28460 val.write_element("a:axPos", writer)?;
28461 }
28462 #[cfg(feature = "extra-children")]
28463 {
28464 emit_idx += 1;
28465 }
28466 #[cfg(feature = "extra-children")]
28467 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28468 extra_iter
28469 .next()
28470 .unwrap()
28471 .node
28472 .write_to(writer)
28473 .map_err(SerializeError::from)?;
28474 }
28475 #[cfg(feature = "dml-charts")]
28476 if let Some(ref val) = self.major_gridlines {
28477 val.write_element("a:majorGridlines", writer)?;
28478 }
28479 #[cfg(feature = "extra-children")]
28480 {
28481 emit_idx += 1;
28482 }
28483 #[cfg(feature = "extra-children")]
28484 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28485 extra_iter
28486 .next()
28487 .unwrap()
28488 .node
28489 .write_to(writer)
28490 .map_err(SerializeError::from)?;
28491 }
28492 #[cfg(feature = "dml-charts")]
28493 if let Some(ref val) = self.minor_gridlines {
28494 val.write_element("a:minorGridlines", writer)?;
28495 }
28496 #[cfg(feature = "extra-children")]
28497 {
28498 emit_idx += 1;
28499 }
28500 #[cfg(feature = "extra-children")]
28501 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28502 extra_iter
28503 .next()
28504 .unwrap()
28505 .node
28506 .write_to(writer)
28507 .map_err(SerializeError::from)?;
28508 }
28509 #[cfg(feature = "dml-charts")]
28510 if let Some(ref val) = self.title {
28511 val.write_element("a:title", writer)?;
28512 }
28513 #[cfg(feature = "extra-children")]
28514 {
28515 emit_idx += 1;
28516 }
28517 #[cfg(feature = "extra-children")]
28518 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28519 extra_iter
28520 .next()
28521 .unwrap()
28522 .node
28523 .write_to(writer)
28524 .map_err(SerializeError::from)?;
28525 }
28526 #[cfg(feature = "dml-charts")]
28527 if let Some(ref val) = self.num_fmt {
28528 val.write_element("a:numFmt", writer)?;
28529 }
28530 #[cfg(feature = "extra-children")]
28531 {
28532 emit_idx += 1;
28533 }
28534 #[cfg(feature = "extra-children")]
28535 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28536 extra_iter
28537 .next()
28538 .unwrap()
28539 .node
28540 .write_to(writer)
28541 .map_err(SerializeError::from)?;
28542 }
28543 #[cfg(feature = "dml-charts")]
28544 if let Some(ref val) = self.major_tick_mark {
28545 val.write_element("a:majorTickMark", writer)?;
28546 }
28547 #[cfg(feature = "extra-children")]
28548 {
28549 emit_idx += 1;
28550 }
28551 #[cfg(feature = "extra-children")]
28552 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28553 extra_iter
28554 .next()
28555 .unwrap()
28556 .node
28557 .write_to(writer)
28558 .map_err(SerializeError::from)?;
28559 }
28560 #[cfg(feature = "dml-charts")]
28561 if let Some(ref val) = self.minor_tick_mark {
28562 val.write_element("a:minorTickMark", writer)?;
28563 }
28564 #[cfg(feature = "extra-children")]
28565 {
28566 emit_idx += 1;
28567 }
28568 #[cfg(feature = "extra-children")]
28569 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28570 extra_iter
28571 .next()
28572 .unwrap()
28573 .node
28574 .write_to(writer)
28575 .map_err(SerializeError::from)?;
28576 }
28577 #[cfg(feature = "dml-charts")]
28578 if let Some(ref val) = self.tick_lbl_pos {
28579 val.write_element("a:tickLblPos", writer)?;
28580 }
28581 #[cfg(feature = "extra-children")]
28582 {
28583 emit_idx += 1;
28584 }
28585 #[cfg(feature = "extra-children")]
28586 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28587 extra_iter
28588 .next()
28589 .unwrap()
28590 .node
28591 .write_to(writer)
28592 .map_err(SerializeError::from)?;
28593 }
28594 #[cfg(feature = "dml-charts")]
28595 if let Some(ref val) = self.sp_pr {
28596 val.write_element("a:spPr", writer)?;
28597 }
28598 #[cfg(feature = "extra-children")]
28599 {
28600 emit_idx += 1;
28601 }
28602 #[cfg(feature = "extra-children")]
28603 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28604 extra_iter
28605 .next()
28606 .unwrap()
28607 .node
28608 .write_to(writer)
28609 .map_err(SerializeError::from)?;
28610 }
28611 #[cfg(feature = "dml-charts")]
28612 if let Some(ref val) = self.tx_pr {
28613 val.write_element("a:txPr", writer)?;
28614 }
28615 #[cfg(feature = "extra-children")]
28616 {
28617 emit_idx += 1;
28618 }
28619 #[cfg(feature = "extra-children")]
28620 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28621 extra_iter
28622 .next()
28623 .unwrap()
28624 .node
28625 .write_to(writer)
28626 .map_err(SerializeError::from)?;
28627 }
28628 #[cfg(feature = "dml-charts")]
28629 {
28630 let val = &self.cross_ax;
28631 val.write_element("a:crossAx", writer)?;
28632 }
28633 #[cfg(feature = "extra-children")]
28634 {
28635 emit_idx += 1;
28636 }
28637 #[cfg(feature = "extra-children")]
28638 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28639 extra_iter
28640 .next()
28641 .unwrap()
28642 .node
28643 .write_to(writer)
28644 .map_err(SerializeError::from)?;
28645 }
28646 #[cfg(feature = "dml-charts")]
28647 if let Some(ref val) = self.crosses {
28648 val.write_element("a:crosses", writer)?;
28649 }
28650 #[cfg(feature = "extra-children")]
28651 {
28652 emit_idx += 1;
28653 }
28654 #[cfg(feature = "extra-children")]
28655 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28656 extra_iter
28657 .next()
28658 .unwrap()
28659 .node
28660 .write_to(writer)
28661 .map_err(SerializeError::from)?;
28662 }
28663 #[cfg(feature = "dml-charts")]
28664 if let Some(ref val) = self.crosses_at {
28665 val.write_element("a:crossesAt", writer)?;
28666 }
28667 #[cfg(feature = "extra-children")]
28668 {
28669 emit_idx += 1;
28670 }
28671 #[cfg(feature = "extra-children")]
28672 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28673 extra_iter
28674 .next()
28675 .unwrap()
28676 .node
28677 .write_to(writer)
28678 .map_err(SerializeError::from)?;
28679 }
28680 #[cfg(feature = "dml-charts")]
28681 if let Some(ref val) = self.tick_lbl_skip {
28682 val.write_element("a:tickLblSkip", writer)?;
28683 }
28684 #[cfg(feature = "extra-children")]
28685 {
28686 emit_idx += 1;
28687 }
28688 #[cfg(feature = "extra-children")]
28689 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28690 extra_iter
28691 .next()
28692 .unwrap()
28693 .node
28694 .write_to(writer)
28695 .map_err(SerializeError::from)?;
28696 }
28697 #[cfg(feature = "dml-charts")]
28698 if let Some(ref val) = self.tick_mark_skip {
28699 val.write_element("a:tickMarkSkip", writer)?;
28700 }
28701 #[cfg(feature = "extra-children")]
28702 {
28703 emit_idx += 1;
28704 }
28705 #[cfg(feature = "extra-children")]
28706 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28707 extra_iter
28708 .next()
28709 .unwrap()
28710 .node
28711 .write_to(writer)
28712 .map_err(SerializeError::from)?;
28713 }
28714 #[cfg(feature = "dml-charts")]
28715 if let Some(ref val) = self.ext_lst {
28716 val.write_element("a:extLst", writer)?;
28717 }
28718 #[cfg(feature = "extra-children")]
28719 {
28720 emit_idx += 1;
28721 }
28722 #[cfg(feature = "extra-children")]
28723 for extra in extra_iter {
28724 extra.node.write_to(writer).map_err(SerializeError::from)?;
28725 }
28726 Ok(())
28727 }
28728
28729 fn is_empty_element(&self) -> bool {
28730 #[cfg(feature = "dml-charts")]
28731 return false;
28732 #[cfg(feature = "dml-charts")]
28733 return false;
28734 #[cfg(feature = "dml-charts")]
28735 if self.delete.is_some() {
28736 return false;
28737 }
28738 #[cfg(feature = "dml-charts")]
28739 return false;
28740 #[cfg(feature = "dml-charts")]
28741 if self.major_gridlines.is_some() {
28742 return false;
28743 }
28744 #[cfg(feature = "dml-charts")]
28745 if self.minor_gridlines.is_some() {
28746 return false;
28747 }
28748 #[cfg(feature = "dml-charts")]
28749 if self.title.is_some() {
28750 return false;
28751 }
28752 #[cfg(feature = "dml-charts")]
28753 if self.num_fmt.is_some() {
28754 return false;
28755 }
28756 #[cfg(feature = "dml-charts")]
28757 if self.major_tick_mark.is_some() {
28758 return false;
28759 }
28760 #[cfg(feature = "dml-charts")]
28761 if self.minor_tick_mark.is_some() {
28762 return false;
28763 }
28764 #[cfg(feature = "dml-charts")]
28765 if self.tick_lbl_pos.is_some() {
28766 return false;
28767 }
28768 #[cfg(feature = "dml-charts")]
28769 if self.sp_pr.is_some() {
28770 return false;
28771 }
28772 #[cfg(feature = "dml-charts")]
28773 if self.tx_pr.is_some() {
28774 return false;
28775 }
28776 #[cfg(feature = "dml-charts")]
28777 return false;
28778 #[cfg(feature = "dml-charts")]
28779 if self.crosses.is_some() {
28780 return false;
28781 }
28782 #[cfg(feature = "dml-charts")]
28783 if self.crosses_at.is_some() {
28784 return false;
28785 }
28786 #[cfg(feature = "dml-charts")]
28787 if self.tick_lbl_skip.is_some() {
28788 return false;
28789 }
28790 #[cfg(feature = "dml-charts")]
28791 if self.tick_mark_skip.is_some() {
28792 return false;
28793 }
28794 #[cfg(feature = "dml-charts")]
28795 if self.ext_lst.is_some() {
28796 return false;
28797 }
28798 #[cfg(feature = "extra-children")]
28799 if !self.extra_children.is_empty() {
28800 return false;
28801 }
28802 true
28803 }
28804}
28805
28806impl ToXml for ValueAxis {
28807 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
28808 #[cfg(feature = "extra-children")]
28809 let mut extra_iter = self.extra_children.iter().peekable();
28810 #[cfg(feature = "extra-children")]
28811 let mut emit_idx: usize = 0;
28812 #[cfg(feature = "extra-children")]
28813 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28814 extra_iter
28815 .next()
28816 .unwrap()
28817 .node
28818 .write_to(writer)
28819 .map_err(SerializeError::from)?;
28820 }
28821 #[cfg(feature = "dml-charts")]
28822 {
28823 let val = &self.ax_id;
28824 val.write_element("a:axId", writer)?;
28825 }
28826 #[cfg(feature = "extra-children")]
28827 {
28828 emit_idx += 1;
28829 }
28830 #[cfg(feature = "extra-children")]
28831 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28832 extra_iter
28833 .next()
28834 .unwrap()
28835 .node
28836 .write_to(writer)
28837 .map_err(SerializeError::from)?;
28838 }
28839 #[cfg(feature = "dml-charts")]
28840 {
28841 let val = &self.scaling;
28842 val.write_element("a:scaling", writer)?;
28843 }
28844 #[cfg(feature = "extra-children")]
28845 {
28846 emit_idx += 1;
28847 }
28848 #[cfg(feature = "extra-children")]
28849 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28850 extra_iter
28851 .next()
28852 .unwrap()
28853 .node
28854 .write_to(writer)
28855 .map_err(SerializeError::from)?;
28856 }
28857 #[cfg(feature = "dml-charts")]
28858 if let Some(ref val) = self.delete {
28859 val.write_element("a:delete", writer)?;
28860 }
28861 #[cfg(feature = "extra-children")]
28862 {
28863 emit_idx += 1;
28864 }
28865 #[cfg(feature = "extra-children")]
28866 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28867 extra_iter
28868 .next()
28869 .unwrap()
28870 .node
28871 .write_to(writer)
28872 .map_err(SerializeError::from)?;
28873 }
28874 #[cfg(feature = "dml-charts")]
28875 {
28876 let val = &self.ax_pos;
28877 val.write_element("a:axPos", writer)?;
28878 }
28879 #[cfg(feature = "extra-children")]
28880 {
28881 emit_idx += 1;
28882 }
28883 #[cfg(feature = "extra-children")]
28884 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28885 extra_iter
28886 .next()
28887 .unwrap()
28888 .node
28889 .write_to(writer)
28890 .map_err(SerializeError::from)?;
28891 }
28892 #[cfg(feature = "dml-charts")]
28893 if let Some(ref val) = self.major_gridlines {
28894 val.write_element("a:majorGridlines", writer)?;
28895 }
28896 #[cfg(feature = "extra-children")]
28897 {
28898 emit_idx += 1;
28899 }
28900 #[cfg(feature = "extra-children")]
28901 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28902 extra_iter
28903 .next()
28904 .unwrap()
28905 .node
28906 .write_to(writer)
28907 .map_err(SerializeError::from)?;
28908 }
28909 #[cfg(feature = "dml-charts")]
28910 if let Some(ref val) = self.minor_gridlines {
28911 val.write_element("a:minorGridlines", writer)?;
28912 }
28913 #[cfg(feature = "extra-children")]
28914 {
28915 emit_idx += 1;
28916 }
28917 #[cfg(feature = "extra-children")]
28918 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28919 extra_iter
28920 .next()
28921 .unwrap()
28922 .node
28923 .write_to(writer)
28924 .map_err(SerializeError::from)?;
28925 }
28926 #[cfg(feature = "dml-charts")]
28927 if let Some(ref val) = self.title {
28928 val.write_element("a:title", writer)?;
28929 }
28930 #[cfg(feature = "extra-children")]
28931 {
28932 emit_idx += 1;
28933 }
28934 #[cfg(feature = "extra-children")]
28935 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28936 extra_iter
28937 .next()
28938 .unwrap()
28939 .node
28940 .write_to(writer)
28941 .map_err(SerializeError::from)?;
28942 }
28943 #[cfg(feature = "dml-charts")]
28944 if let Some(ref val) = self.num_fmt {
28945 val.write_element("a:numFmt", writer)?;
28946 }
28947 #[cfg(feature = "extra-children")]
28948 {
28949 emit_idx += 1;
28950 }
28951 #[cfg(feature = "extra-children")]
28952 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28953 extra_iter
28954 .next()
28955 .unwrap()
28956 .node
28957 .write_to(writer)
28958 .map_err(SerializeError::from)?;
28959 }
28960 #[cfg(feature = "dml-charts")]
28961 if let Some(ref val) = self.major_tick_mark {
28962 val.write_element("a:majorTickMark", writer)?;
28963 }
28964 #[cfg(feature = "extra-children")]
28965 {
28966 emit_idx += 1;
28967 }
28968 #[cfg(feature = "extra-children")]
28969 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28970 extra_iter
28971 .next()
28972 .unwrap()
28973 .node
28974 .write_to(writer)
28975 .map_err(SerializeError::from)?;
28976 }
28977 #[cfg(feature = "dml-charts")]
28978 if let Some(ref val) = self.minor_tick_mark {
28979 val.write_element("a:minorTickMark", writer)?;
28980 }
28981 #[cfg(feature = "extra-children")]
28982 {
28983 emit_idx += 1;
28984 }
28985 #[cfg(feature = "extra-children")]
28986 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
28987 extra_iter
28988 .next()
28989 .unwrap()
28990 .node
28991 .write_to(writer)
28992 .map_err(SerializeError::from)?;
28993 }
28994 #[cfg(feature = "dml-charts")]
28995 if let Some(ref val) = self.tick_lbl_pos {
28996 val.write_element("a:tickLblPos", writer)?;
28997 }
28998 #[cfg(feature = "extra-children")]
28999 {
29000 emit_idx += 1;
29001 }
29002 #[cfg(feature = "extra-children")]
29003 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29004 extra_iter
29005 .next()
29006 .unwrap()
29007 .node
29008 .write_to(writer)
29009 .map_err(SerializeError::from)?;
29010 }
29011 #[cfg(feature = "dml-charts")]
29012 if let Some(ref val) = self.sp_pr {
29013 val.write_element("a:spPr", writer)?;
29014 }
29015 #[cfg(feature = "extra-children")]
29016 {
29017 emit_idx += 1;
29018 }
29019 #[cfg(feature = "extra-children")]
29020 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29021 extra_iter
29022 .next()
29023 .unwrap()
29024 .node
29025 .write_to(writer)
29026 .map_err(SerializeError::from)?;
29027 }
29028 #[cfg(feature = "dml-charts")]
29029 if let Some(ref val) = self.tx_pr {
29030 val.write_element("a:txPr", writer)?;
29031 }
29032 #[cfg(feature = "extra-children")]
29033 {
29034 emit_idx += 1;
29035 }
29036 #[cfg(feature = "extra-children")]
29037 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29038 extra_iter
29039 .next()
29040 .unwrap()
29041 .node
29042 .write_to(writer)
29043 .map_err(SerializeError::from)?;
29044 }
29045 #[cfg(feature = "dml-charts")]
29046 {
29047 let val = &self.cross_ax;
29048 val.write_element("a:crossAx", writer)?;
29049 }
29050 #[cfg(feature = "extra-children")]
29051 {
29052 emit_idx += 1;
29053 }
29054 #[cfg(feature = "extra-children")]
29055 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29056 extra_iter
29057 .next()
29058 .unwrap()
29059 .node
29060 .write_to(writer)
29061 .map_err(SerializeError::from)?;
29062 }
29063 #[cfg(feature = "dml-charts")]
29064 if let Some(ref val) = self.crosses {
29065 val.write_element("a:crosses", writer)?;
29066 }
29067 #[cfg(feature = "extra-children")]
29068 {
29069 emit_idx += 1;
29070 }
29071 #[cfg(feature = "extra-children")]
29072 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29073 extra_iter
29074 .next()
29075 .unwrap()
29076 .node
29077 .write_to(writer)
29078 .map_err(SerializeError::from)?;
29079 }
29080 #[cfg(feature = "dml-charts")]
29081 if let Some(ref val) = self.crosses_at {
29082 val.write_element("a:crossesAt", writer)?;
29083 }
29084 #[cfg(feature = "extra-children")]
29085 {
29086 emit_idx += 1;
29087 }
29088 #[cfg(feature = "extra-children")]
29089 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29090 extra_iter
29091 .next()
29092 .unwrap()
29093 .node
29094 .write_to(writer)
29095 .map_err(SerializeError::from)?;
29096 }
29097 #[cfg(feature = "dml-charts")]
29098 if let Some(ref val) = self.cross_between {
29099 val.write_element("a:crossBetween", writer)?;
29100 }
29101 #[cfg(feature = "extra-children")]
29102 {
29103 emit_idx += 1;
29104 }
29105 #[cfg(feature = "extra-children")]
29106 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29107 extra_iter
29108 .next()
29109 .unwrap()
29110 .node
29111 .write_to(writer)
29112 .map_err(SerializeError::from)?;
29113 }
29114 #[cfg(feature = "dml-charts")]
29115 if let Some(ref val) = self.major_unit {
29116 val.write_element("a:majorUnit", writer)?;
29117 }
29118 #[cfg(feature = "extra-children")]
29119 {
29120 emit_idx += 1;
29121 }
29122 #[cfg(feature = "extra-children")]
29123 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29124 extra_iter
29125 .next()
29126 .unwrap()
29127 .node
29128 .write_to(writer)
29129 .map_err(SerializeError::from)?;
29130 }
29131 #[cfg(feature = "dml-charts")]
29132 if let Some(ref val) = self.minor_unit {
29133 val.write_element("a:minorUnit", writer)?;
29134 }
29135 #[cfg(feature = "extra-children")]
29136 {
29137 emit_idx += 1;
29138 }
29139 #[cfg(feature = "extra-children")]
29140 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29141 extra_iter
29142 .next()
29143 .unwrap()
29144 .node
29145 .write_to(writer)
29146 .map_err(SerializeError::from)?;
29147 }
29148 #[cfg(feature = "dml-charts")]
29149 if let Some(ref val) = self.disp_units {
29150 val.write_element("a:dispUnits", writer)?;
29151 }
29152 #[cfg(feature = "extra-children")]
29153 {
29154 emit_idx += 1;
29155 }
29156 #[cfg(feature = "extra-children")]
29157 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29158 extra_iter
29159 .next()
29160 .unwrap()
29161 .node
29162 .write_to(writer)
29163 .map_err(SerializeError::from)?;
29164 }
29165 #[cfg(feature = "dml-charts")]
29166 if let Some(ref val) = self.ext_lst {
29167 val.write_element("a:extLst", writer)?;
29168 }
29169 #[cfg(feature = "extra-children")]
29170 {
29171 emit_idx += 1;
29172 }
29173 #[cfg(feature = "extra-children")]
29174 for extra in extra_iter {
29175 extra.node.write_to(writer).map_err(SerializeError::from)?;
29176 }
29177 Ok(())
29178 }
29179
29180 fn is_empty_element(&self) -> bool {
29181 #[cfg(feature = "dml-charts")]
29182 return false;
29183 #[cfg(feature = "dml-charts")]
29184 return false;
29185 #[cfg(feature = "dml-charts")]
29186 if self.delete.is_some() {
29187 return false;
29188 }
29189 #[cfg(feature = "dml-charts")]
29190 return false;
29191 #[cfg(feature = "dml-charts")]
29192 if self.major_gridlines.is_some() {
29193 return false;
29194 }
29195 #[cfg(feature = "dml-charts")]
29196 if self.minor_gridlines.is_some() {
29197 return false;
29198 }
29199 #[cfg(feature = "dml-charts")]
29200 if self.title.is_some() {
29201 return false;
29202 }
29203 #[cfg(feature = "dml-charts")]
29204 if self.num_fmt.is_some() {
29205 return false;
29206 }
29207 #[cfg(feature = "dml-charts")]
29208 if self.major_tick_mark.is_some() {
29209 return false;
29210 }
29211 #[cfg(feature = "dml-charts")]
29212 if self.minor_tick_mark.is_some() {
29213 return false;
29214 }
29215 #[cfg(feature = "dml-charts")]
29216 if self.tick_lbl_pos.is_some() {
29217 return false;
29218 }
29219 #[cfg(feature = "dml-charts")]
29220 if self.sp_pr.is_some() {
29221 return false;
29222 }
29223 #[cfg(feature = "dml-charts")]
29224 if self.tx_pr.is_some() {
29225 return false;
29226 }
29227 #[cfg(feature = "dml-charts")]
29228 return false;
29229 #[cfg(feature = "dml-charts")]
29230 if self.crosses.is_some() {
29231 return false;
29232 }
29233 #[cfg(feature = "dml-charts")]
29234 if self.crosses_at.is_some() {
29235 return false;
29236 }
29237 #[cfg(feature = "dml-charts")]
29238 if self.cross_between.is_some() {
29239 return false;
29240 }
29241 #[cfg(feature = "dml-charts")]
29242 if self.major_unit.is_some() {
29243 return false;
29244 }
29245 #[cfg(feature = "dml-charts")]
29246 if self.minor_unit.is_some() {
29247 return false;
29248 }
29249 #[cfg(feature = "dml-charts")]
29250 if self.disp_units.is_some() {
29251 return false;
29252 }
29253 #[cfg(feature = "dml-charts")]
29254 if self.ext_lst.is_some() {
29255 return false;
29256 }
29257 #[cfg(feature = "extra-children")]
29258 if !self.extra_children.is_empty() {
29259 return false;
29260 }
29261 true
29262 }
29263}
29264
29265impl ToXml for PlotArea {
29266 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
29267 #[cfg(feature = "extra-children")]
29268 let mut extra_iter = self.extra_children.iter().peekable();
29269 #[cfg(feature = "extra-children")]
29270 let mut emit_idx: usize = 0;
29271 #[cfg(feature = "extra-children")]
29272 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29273 extra_iter
29274 .next()
29275 .unwrap()
29276 .node
29277 .write_to(writer)
29278 .map_err(SerializeError::from)?;
29279 }
29280 #[cfg(feature = "dml-charts")]
29281 if let Some(ref val) = self.layout {
29282 val.write_element("a:layout", writer)?;
29283 }
29284 #[cfg(feature = "extra-children")]
29285 {
29286 emit_idx += 1;
29287 }
29288 #[cfg(feature = "dml-charts")]
29289 for item in &self.area_chart {
29290 #[cfg(feature = "extra-children")]
29291 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29292 extra_iter
29293 .next()
29294 .unwrap()
29295 .node
29296 .write_to(writer)
29297 .map_err(SerializeError::from)?;
29298 }
29299 item.write_element("a:areaChart", writer)?;
29300 #[cfg(feature = "extra-children")]
29301 {
29302 emit_idx += 1;
29303 }
29304 }
29305 #[cfg(feature = "dml-charts")]
29306 for item in &self.area3_d_chart {
29307 #[cfg(feature = "extra-children")]
29308 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29309 extra_iter
29310 .next()
29311 .unwrap()
29312 .node
29313 .write_to(writer)
29314 .map_err(SerializeError::from)?;
29315 }
29316 item.write_element("a:area3DChart", writer)?;
29317 #[cfg(feature = "extra-children")]
29318 {
29319 emit_idx += 1;
29320 }
29321 }
29322 #[cfg(feature = "dml-charts")]
29323 for item in &self.line_chart {
29324 #[cfg(feature = "extra-children")]
29325 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29326 extra_iter
29327 .next()
29328 .unwrap()
29329 .node
29330 .write_to(writer)
29331 .map_err(SerializeError::from)?;
29332 }
29333 item.write_element("a:lineChart", writer)?;
29334 #[cfg(feature = "extra-children")]
29335 {
29336 emit_idx += 1;
29337 }
29338 }
29339 #[cfg(feature = "dml-charts")]
29340 for item in &self.line3_d_chart {
29341 #[cfg(feature = "extra-children")]
29342 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29343 extra_iter
29344 .next()
29345 .unwrap()
29346 .node
29347 .write_to(writer)
29348 .map_err(SerializeError::from)?;
29349 }
29350 item.write_element("a:line3DChart", writer)?;
29351 #[cfg(feature = "extra-children")]
29352 {
29353 emit_idx += 1;
29354 }
29355 }
29356 #[cfg(feature = "dml-charts")]
29357 for item in &self.stock_chart {
29358 #[cfg(feature = "extra-children")]
29359 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29360 extra_iter
29361 .next()
29362 .unwrap()
29363 .node
29364 .write_to(writer)
29365 .map_err(SerializeError::from)?;
29366 }
29367 item.write_element("a:stockChart", writer)?;
29368 #[cfg(feature = "extra-children")]
29369 {
29370 emit_idx += 1;
29371 }
29372 }
29373 #[cfg(feature = "dml-charts")]
29374 for item in &self.radar_chart {
29375 #[cfg(feature = "extra-children")]
29376 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29377 extra_iter
29378 .next()
29379 .unwrap()
29380 .node
29381 .write_to(writer)
29382 .map_err(SerializeError::from)?;
29383 }
29384 item.write_element("a:radarChart", writer)?;
29385 #[cfg(feature = "extra-children")]
29386 {
29387 emit_idx += 1;
29388 }
29389 }
29390 #[cfg(feature = "dml-charts")]
29391 for item in &self.scatter_chart {
29392 #[cfg(feature = "extra-children")]
29393 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29394 extra_iter
29395 .next()
29396 .unwrap()
29397 .node
29398 .write_to(writer)
29399 .map_err(SerializeError::from)?;
29400 }
29401 item.write_element("a:scatterChart", writer)?;
29402 #[cfg(feature = "extra-children")]
29403 {
29404 emit_idx += 1;
29405 }
29406 }
29407 #[cfg(feature = "dml-charts")]
29408 for item in &self.pie_chart {
29409 #[cfg(feature = "extra-children")]
29410 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29411 extra_iter
29412 .next()
29413 .unwrap()
29414 .node
29415 .write_to(writer)
29416 .map_err(SerializeError::from)?;
29417 }
29418 item.write_element("a:pieChart", writer)?;
29419 #[cfg(feature = "extra-children")]
29420 {
29421 emit_idx += 1;
29422 }
29423 }
29424 #[cfg(feature = "dml-charts")]
29425 for item in &self.pie3_d_chart {
29426 #[cfg(feature = "extra-children")]
29427 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29428 extra_iter
29429 .next()
29430 .unwrap()
29431 .node
29432 .write_to(writer)
29433 .map_err(SerializeError::from)?;
29434 }
29435 item.write_element("a:pie3DChart", writer)?;
29436 #[cfg(feature = "extra-children")]
29437 {
29438 emit_idx += 1;
29439 }
29440 }
29441 #[cfg(feature = "dml-charts")]
29442 for item in &self.doughnut_chart {
29443 #[cfg(feature = "extra-children")]
29444 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29445 extra_iter
29446 .next()
29447 .unwrap()
29448 .node
29449 .write_to(writer)
29450 .map_err(SerializeError::from)?;
29451 }
29452 item.write_element("a:doughnutChart", writer)?;
29453 #[cfg(feature = "extra-children")]
29454 {
29455 emit_idx += 1;
29456 }
29457 }
29458 #[cfg(feature = "dml-charts")]
29459 for item in &self.bar_chart {
29460 #[cfg(feature = "extra-children")]
29461 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29462 extra_iter
29463 .next()
29464 .unwrap()
29465 .node
29466 .write_to(writer)
29467 .map_err(SerializeError::from)?;
29468 }
29469 item.write_element("a:barChart", writer)?;
29470 #[cfg(feature = "extra-children")]
29471 {
29472 emit_idx += 1;
29473 }
29474 }
29475 #[cfg(feature = "dml-charts")]
29476 for item in &self.bar3_d_chart {
29477 #[cfg(feature = "extra-children")]
29478 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29479 extra_iter
29480 .next()
29481 .unwrap()
29482 .node
29483 .write_to(writer)
29484 .map_err(SerializeError::from)?;
29485 }
29486 item.write_element("a:bar3DChart", writer)?;
29487 #[cfg(feature = "extra-children")]
29488 {
29489 emit_idx += 1;
29490 }
29491 }
29492 #[cfg(feature = "dml-charts")]
29493 for item in &self.of_pie_chart {
29494 #[cfg(feature = "extra-children")]
29495 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29496 extra_iter
29497 .next()
29498 .unwrap()
29499 .node
29500 .write_to(writer)
29501 .map_err(SerializeError::from)?;
29502 }
29503 item.write_element("a:ofPieChart", writer)?;
29504 #[cfg(feature = "extra-children")]
29505 {
29506 emit_idx += 1;
29507 }
29508 }
29509 #[cfg(feature = "dml-charts")]
29510 for item in &self.surface_chart {
29511 #[cfg(feature = "extra-children")]
29512 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29513 extra_iter
29514 .next()
29515 .unwrap()
29516 .node
29517 .write_to(writer)
29518 .map_err(SerializeError::from)?;
29519 }
29520 item.write_element("a:surfaceChart", writer)?;
29521 #[cfg(feature = "extra-children")]
29522 {
29523 emit_idx += 1;
29524 }
29525 }
29526 #[cfg(feature = "dml-charts")]
29527 for item in &self.surface3_d_chart {
29528 #[cfg(feature = "extra-children")]
29529 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29530 extra_iter
29531 .next()
29532 .unwrap()
29533 .node
29534 .write_to(writer)
29535 .map_err(SerializeError::from)?;
29536 }
29537 item.write_element("a:surface3DChart", writer)?;
29538 #[cfg(feature = "extra-children")]
29539 {
29540 emit_idx += 1;
29541 }
29542 }
29543 #[cfg(feature = "dml-charts")]
29544 for item in &self.bubble_chart {
29545 #[cfg(feature = "extra-children")]
29546 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29547 extra_iter
29548 .next()
29549 .unwrap()
29550 .node
29551 .write_to(writer)
29552 .map_err(SerializeError::from)?;
29553 }
29554 item.write_element("a:bubbleChart", writer)?;
29555 #[cfg(feature = "extra-children")]
29556 {
29557 emit_idx += 1;
29558 }
29559 }
29560 #[cfg(feature = "dml-charts")]
29561 for item in &self.val_ax {
29562 #[cfg(feature = "extra-children")]
29563 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29564 extra_iter
29565 .next()
29566 .unwrap()
29567 .node
29568 .write_to(writer)
29569 .map_err(SerializeError::from)?;
29570 }
29571 item.write_element("a:valAx", writer)?;
29572 #[cfg(feature = "extra-children")]
29573 {
29574 emit_idx += 1;
29575 }
29576 }
29577 #[cfg(feature = "dml-charts")]
29578 for item in &self.cat_ax {
29579 #[cfg(feature = "extra-children")]
29580 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29581 extra_iter
29582 .next()
29583 .unwrap()
29584 .node
29585 .write_to(writer)
29586 .map_err(SerializeError::from)?;
29587 }
29588 item.write_element("a:catAx", writer)?;
29589 #[cfg(feature = "extra-children")]
29590 {
29591 emit_idx += 1;
29592 }
29593 }
29594 #[cfg(feature = "dml-charts")]
29595 for item in &self.date_ax {
29596 #[cfg(feature = "extra-children")]
29597 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29598 extra_iter
29599 .next()
29600 .unwrap()
29601 .node
29602 .write_to(writer)
29603 .map_err(SerializeError::from)?;
29604 }
29605 item.write_element("a:dateAx", writer)?;
29606 #[cfg(feature = "extra-children")]
29607 {
29608 emit_idx += 1;
29609 }
29610 }
29611 #[cfg(feature = "dml-charts")]
29612 for item in &self.ser_ax {
29613 #[cfg(feature = "extra-children")]
29614 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29615 extra_iter
29616 .next()
29617 .unwrap()
29618 .node
29619 .write_to(writer)
29620 .map_err(SerializeError::from)?;
29621 }
29622 item.write_element("a:serAx", writer)?;
29623 #[cfg(feature = "extra-children")]
29624 {
29625 emit_idx += 1;
29626 }
29627 }
29628 #[cfg(feature = "extra-children")]
29629 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29630 extra_iter
29631 .next()
29632 .unwrap()
29633 .node
29634 .write_to(writer)
29635 .map_err(SerializeError::from)?;
29636 }
29637 #[cfg(feature = "dml-charts")]
29638 if let Some(ref val) = self.d_table {
29639 val.write_element("a:dTable", writer)?;
29640 }
29641 #[cfg(feature = "extra-children")]
29642 {
29643 emit_idx += 1;
29644 }
29645 #[cfg(feature = "extra-children")]
29646 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29647 extra_iter
29648 .next()
29649 .unwrap()
29650 .node
29651 .write_to(writer)
29652 .map_err(SerializeError::from)?;
29653 }
29654 #[cfg(feature = "dml-charts")]
29655 if let Some(ref val) = self.sp_pr {
29656 val.write_element("a:spPr", writer)?;
29657 }
29658 #[cfg(feature = "extra-children")]
29659 {
29660 emit_idx += 1;
29661 }
29662 #[cfg(feature = "extra-children")]
29663 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29664 extra_iter
29665 .next()
29666 .unwrap()
29667 .node
29668 .write_to(writer)
29669 .map_err(SerializeError::from)?;
29670 }
29671 #[cfg(feature = "dml-charts")]
29672 if let Some(ref val) = self.ext_lst {
29673 val.write_element("a:extLst", writer)?;
29674 }
29675 #[cfg(feature = "extra-children")]
29676 {
29677 emit_idx += 1;
29678 }
29679 #[cfg(feature = "extra-children")]
29680 for extra in extra_iter {
29681 extra.node.write_to(writer).map_err(SerializeError::from)?;
29682 }
29683 Ok(())
29684 }
29685
29686 fn is_empty_element(&self) -> bool {
29687 #[cfg(feature = "dml-charts")]
29688 if self.layout.is_some() {
29689 return false;
29690 }
29691 #[cfg(feature = "dml-charts")]
29692 if !self.area_chart.is_empty() {
29693 return false;
29694 }
29695 #[cfg(feature = "dml-charts")]
29696 if !self.area3_d_chart.is_empty() {
29697 return false;
29698 }
29699 #[cfg(feature = "dml-charts")]
29700 if !self.line_chart.is_empty() {
29701 return false;
29702 }
29703 #[cfg(feature = "dml-charts")]
29704 if !self.line3_d_chart.is_empty() {
29705 return false;
29706 }
29707 #[cfg(feature = "dml-charts")]
29708 if !self.stock_chart.is_empty() {
29709 return false;
29710 }
29711 #[cfg(feature = "dml-charts")]
29712 if !self.radar_chart.is_empty() {
29713 return false;
29714 }
29715 #[cfg(feature = "dml-charts")]
29716 if !self.scatter_chart.is_empty() {
29717 return false;
29718 }
29719 #[cfg(feature = "dml-charts")]
29720 if !self.pie_chart.is_empty() {
29721 return false;
29722 }
29723 #[cfg(feature = "dml-charts")]
29724 if !self.pie3_d_chart.is_empty() {
29725 return false;
29726 }
29727 #[cfg(feature = "dml-charts")]
29728 if !self.doughnut_chart.is_empty() {
29729 return false;
29730 }
29731 #[cfg(feature = "dml-charts")]
29732 if !self.bar_chart.is_empty() {
29733 return false;
29734 }
29735 #[cfg(feature = "dml-charts")]
29736 if !self.bar3_d_chart.is_empty() {
29737 return false;
29738 }
29739 #[cfg(feature = "dml-charts")]
29740 if !self.of_pie_chart.is_empty() {
29741 return false;
29742 }
29743 #[cfg(feature = "dml-charts")]
29744 if !self.surface_chart.is_empty() {
29745 return false;
29746 }
29747 #[cfg(feature = "dml-charts")]
29748 if !self.surface3_d_chart.is_empty() {
29749 return false;
29750 }
29751 #[cfg(feature = "dml-charts")]
29752 if !self.bubble_chart.is_empty() {
29753 return false;
29754 }
29755 #[cfg(feature = "dml-charts")]
29756 if !self.val_ax.is_empty() {
29757 return false;
29758 }
29759 #[cfg(feature = "dml-charts")]
29760 if !self.cat_ax.is_empty() {
29761 return false;
29762 }
29763 #[cfg(feature = "dml-charts")]
29764 if !self.date_ax.is_empty() {
29765 return false;
29766 }
29767 #[cfg(feature = "dml-charts")]
29768 if !self.ser_ax.is_empty() {
29769 return false;
29770 }
29771 #[cfg(feature = "dml-charts")]
29772 if self.d_table.is_some() {
29773 return false;
29774 }
29775 #[cfg(feature = "dml-charts")]
29776 if self.sp_pr.is_some() {
29777 return false;
29778 }
29779 #[cfg(feature = "dml-charts")]
29780 if self.ext_lst.is_some() {
29781 return false;
29782 }
29783 #[cfg(feature = "extra-children")]
29784 if !self.extra_children.is_empty() {
29785 return false;
29786 }
29787 true
29788 }
29789}
29790
29791impl ToXml for PivotFormat {
29792 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
29793 #[cfg(feature = "extra-children")]
29794 let mut extra_iter = self.extra_children.iter().peekable();
29795 #[cfg(feature = "extra-children")]
29796 let mut emit_idx: usize = 0;
29797 #[cfg(feature = "extra-children")]
29798 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29799 extra_iter
29800 .next()
29801 .unwrap()
29802 .node
29803 .write_to(writer)
29804 .map_err(SerializeError::from)?;
29805 }
29806 #[cfg(feature = "dml-charts")]
29807 {
29808 let val = &self.idx;
29809 val.write_element("a:idx", writer)?;
29810 }
29811 #[cfg(feature = "extra-children")]
29812 {
29813 emit_idx += 1;
29814 }
29815 #[cfg(feature = "extra-children")]
29816 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29817 extra_iter
29818 .next()
29819 .unwrap()
29820 .node
29821 .write_to(writer)
29822 .map_err(SerializeError::from)?;
29823 }
29824 #[cfg(feature = "dml-charts")]
29825 if let Some(ref val) = self.sp_pr {
29826 val.write_element("a:spPr", writer)?;
29827 }
29828 #[cfg(feature = "extra-children")]
29829 {
29830 emit_idx += 1;
29831 }
29832 #[cfg(feature = "extra-children")]
29833 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29834 extra_iter
29835 .next()
29836 .unwrap()
29837 .node
29838 .write_to(writer)
29839 .map_err(SerializeError::from)?;
29840 }
29841 #[cfg(feature = "dml-charts")]
29842 if let Some(ref val) = self.tx_pr {
29843 val.write_element("a:txPr", writer)?;
29844 }
29845 #[cfg(feature = "extra-children")]
29846 {
29847 emit_idx += 1;
29848 }
29849 #[cfg(feature = "extra-children")]
29850 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29851 extra_iter
29852 .next()
29853 .unwrap()
29854 .node
29855 .write_to(writer)
29856 .map_err(SerializeError::from)?;
29857 }
29858 #[cfg(feature = "dml-charts")]
29859 if let Some(ref val) = self.marker {
29860 val.write_element("a:marker", writer)?;
29861 }
29862 #[cfg(feature = "extra-children")]
29863 {
29864 emit_idx += 1;
29865 }
29866 #[cfg(feature = "extra-children")]
29867 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29868 extra_iter
29869 .next()
29870 .unwrap()
29871 .node
29872 .write_to(writer)
29873 .map_err(SerializeError::from)?;
29874 }
29875 #[cfg(feature = "dml-charts")]
29876 if let Some(ref val) = self.d_lbl {
29877 val.write_element("a:dLbl", writer)?;
29878 }
29879 #[cfg(feature = "extra-children")]
29880 {
29881 emit_idx += 1;
29882 }
29883 #[cfg(feature = "extra-children")]
29884 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29885 extra_iter
29886 .next()
29887 .unwrap()
29888 .node
29889 .write_to(writer)
29890 .map_err(SerializeError::from)?;
29891 }
29892 #[cfg(feature = "dml-charts")]
29893 if let Some(ref val) = self.ext_lst {
29894 val.write_element("a:extLst", writer)?;
29895 }
29896 #[cfg(feature = "extra-children")]
29897 {
29898 emit_idx += 1;
29899 }
29900 #[cfg(feature = "extra-children")]
29901 for extra in extra_iter {
29902 extra.node.write_to(writer).map_err(SerializeError::from)?;
29903 }
29904 Ok(())
29905 }
29906
29907 fn is_empty_element(&self) -> bool {
29908 #[cfg(feature = "dml-charts")]
29909 return false;
29910 #[cfg(feature = "dml-charts")]
29911 if self.sp_pr.is_some() {
29912 return false;
29913 }
29914 #[cfg(feature = "dml-charts")]
29915 if self.tx_pr.is_some() {
29916 return false;
29917 }
29918 #[cfg(feature = "dml-charts")]
29919 if self.marker.is_some() {
29920 return false;
29921 }
29922 #[cfg(feature = "dml-charts")]
29923 if self.d_lbl.is_some() {
29924 return false;
29925 }
29926 #[cfg(feature = "dml-charts")]
29927 if self.ext_lst.is_some() {
29928 return false;
29929 }
29930 #[cfg(feature = "extra-children")]
29931 if !self.extra_children.is_empty() {
29932 return false;
29933 }
29934 true
29935 }
29936}
29937
29938impl ToXml for PivotFormats {
29939 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
29940 #[cfg(feature = "extra-children")]
29941 let mut extra_iter = self.extra_children.iter().peekable();
29942 #[cfg(feature = "extra-children")]
29943 let mut emit_idx: usize = 0;
29944 #[cfg(feature = "dml-charts")]
29945 for item in &self.pivot_fmt {
29946 #[cfg(feature = "extra-children")]
29947 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
29948 extra_iter
29949 .next()
29950 .unwrap()
29951 .node
29952 .write_to(writer)
29953 .map_err(SerializeError::from)?;
29954 }
29955 item.write_element("a:pivotFmt", writer)?;
29956 #[cfg(feature = "extra-children")]
29957 {
29958 emit_idx += 1;
29959 }
29960 }
29961 #[cfg(feature = "extra-children")]
29962 for extra in extra_iter {
29963 extra.node.write_to(writer).map_err(SerializeError::from)?;
29964 }
29965 Ok(())
29966 }
29967
29968 fn is_empty_element(&self) -> bool {
29969 #[cfg(feature = "dml-charts")]
29970 if !self.pivot_fmt.is_empty() {
29971 return false;
29972 }
29973 #[cfg(feature = "extra-children")]
29974 if !self.extra_children.is_empty() {
29975 return false;
29976 }
29977 true
29978 }
29979}
29980
29981impl ToXml for LegendPosition {
29982 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
29983 #[allow(unused_mut)]
29984 let mut start = start;
29985 #[cfg(feature = "dml-charts")]
29986 if let Some(ref val) = self.value {
29987 {
29988 let s = val.to_string();
29989 start.push_attribute(("val", s.as_str()));
29990 }
29991 }
29992 #[cfg(feature = "extra-attrs")]
29993 for (key, value) in &self.extra_attrs {
29994 start.push_attribute((key.as_str(), value.as_str()));
29995 }
29996 start
29997 }
29998
29999 fn is_empty_element(&self) -> bool {
30000 true
30001 }
30002}
30003
30004impl ToXml for EGLegendEntryData {
30005 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30006 #[cfg(feature = "extra-children")]
30007 let mut extra_iter = self.extra_children.iter().peekable();
30008 #[cfg(feature = "extra-children")]
30009 let mut emit_idx: usize = 0;
30010 #[cfg(feature = "extra-children")]
30011 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30012 extra_iter
30013 .next()
30014 .unwrap()
30015 .node
30016 .write_to(writer)
30017 .map_err(SerializeError::from)?;
30018 }
30019 if let Some(ref val) = self.tx_pr {
30020 val.write_element("a:txPr", writer)?;
30021 }
30022 #[cfg(feature = "extra-children")]
30023 {
30024 emit_idx += 1;
30025 }
30026 #[cfg(feature = "extra-children")]
30027 for extra in extra_iter {
30028 extra.node.write_to(writer).map_err(SerializeError::from)?;
30029 }
30030 Ok(())
30031 }
30032
30033 fn is_empty_element(&self) -> bool {
30034 if self.tx_pr.is_some() {
30035 return false;
30036 }
30037 #[cfg(feature = "extra-children")]
30038 if !self.extra_children.is_empty() {
30039 return false;
30040 }
30041 true
30042 }
30043}
30044
30045impl ToXml for LegendEntry {
30046 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30047 #[cfg(feature = "extra-children")]
30048 let mut extra_iter = self.extra_children.iter().peekable();
30049 #[cfg(feature = "extra-children")]
30050 let mut emit_idx: usize = 0;
30051 #[cfg(feature = "extra-children")]
30052 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30053 extra_iter
30054 .next()
30055 .unwrap()
30056 .node
30057 .write_to(writer)
30058 .map_err(SerializeError::from)?;
30059 }
30060 #[cfg(feature = "dml-charts")]
30061 {
30062 let val = &self.idx;
30063 val.write_element("a:idx", writer)?;
30064 }
30065 #[cfg(feature = "extra-children")]
30066 {
30067 emit_idx += 1;
30068 }
30069 #[cfg(feature = "extra-children")]
30070 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30071 extra_iter
30072 .next()
30073 .unwrap()
30074 .node
30075 .write_to(writer)
30076 .map_err(SerializeError::from)?;
30077 }
30078 #[cfg(feature = "dml-charts")]
30079 if let Some(ref val) = self.delete {
30080 val.write_element("a:delete", writer)?;
30081 }
30082 #[cfg(feature = "extra-children")]
30083 {
30084 emit_idx += 1;
30085 }
30086 #[cfg(feature = "extra-children")]
30087 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30088 extra_iter
30089 .next()
30090 .unwrap()
30091 .node
30092 .write_to(writer)
30093 .map_err(SerializeError::from)?;
30094 }
30095 #[cfg(feature = "dml-charts")]
30096 if let Some(ref val) = self.tx_pr {
30097 val.write_element("a:txPr", writer)?;
30098 }
30099 #[cfg(feature = "extra-children")]
30100 {
30101 emit_idx += 1;
30102 }
30103 #[cfg(feature = "extra-children")]
30104 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30105 extra_iter
30106 .next()
30107 .unwrap()
30108 .node
30109 .write_to(writer)
30110 .map_err(SerializeError::from)?;
30111 }
30112 #[cfg(feature = "dml-charts")]
30113 if let Some(ref val) = self.ext_lst {
30114 val.write_element("a:extLst", writer)?;
30115 }
30116 #[cfg(feature = "extra-children")]
30117 {
30118 emit_idx += 1;
30119 }
30120 #[cfg(feature = "extra-children")]
30121 for extra in extra_iter {
30122 extra.node.write_to(writer).map_err(SerializeError::from)?;
30123 }
30124 Ok(())
30125 }
30126
30127 fn is_empty_element(&self) -> bool {
30128 #[cfg(feature = "dml-charts")]
30129 return false;
30130 #[cfg(feature = "dml-charts")]
30131 if self.delete.is_some() {
30132 return false;
30133 }
30134 #[cfg(feature = "dml-charts")]
30135 if self.tx_pr.is_some() {
30136 return false;
30137 }
30138 #[cfg(feature = "dml-charts")]
30139 if self.ext_lst.is_some() {
30140 return false;
30141 }
30142 #[cfg(feature = "extra-children")]
30143 if !self.extra_children.is_empty() {
30144 return false;
30145 }
30146 true
30147 }
30148}
30149
30150impl ToXml for Legend {
30151 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30152 #[cfg(feature = "extra-children")]
30153 let mut extra_iter = self.extra_children.iter().peekable();
30154 #[cfg(feature = "extra-children")]
30155 let mut emit_idx: usize = 0;
30156 #[cfg(feature = "extra-children")]
30157 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30158 extra_iter
30159 .next()
30160 .unwrap()
30161 .node
30162 .write_to(writer)
30163 .map_err(SerializeError::from)?;
30164 }
30165 #[cfg(feature = "dml-charts")]
30166 if let Some(ref val) = self.legend_pos {
30167 val.write_element("a:legendPos", writer)?;
30168 }
30169 #[cfg(feature = "extra-children")]
30170 {
30171 emit_idx += 1;
30172 }
30173 #[cfg(feature = "dml-charts")]
30174 for item in &self.legend_entry {
30175 #[cfg(feature = "extra-children")]
30176 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30177 extra_iter
30178 .next()
30179 .unwrap()
30180 .node
30181 .write_to(writer)
30182 .map_err(SerializeError::from)?;
30183 }
30184 item.write_element("a:legendEntry", writer)?;
30185 #[cfg(feature = "extra-children")]
30186 {
30187 emit_idx += 1;
30188 }
30189 }
30190 #[cfg(feature = "extra-children")]
30191 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30192 extra_iter
30193 .next()
30194 .unwrap()
30195 .node
30196 .write_to(writer)
30197 .map_err(SerializeError::from)?;
30198 }
30199 #[cfg(feature = "dml-charts")]
30200 if let Some(ref val) = self.layout {
30201 val.write_element("a:layout", writer)?;
30202 }
30203 #[cfg(feature = "extra-children")]
30204 {
30205 emit_idx += 1;
30206 }
30207 #[cfg(feature = "extra-children")]
30208 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30209 extra_iter
30210 .next()
30211 .unwrap()
30212 .node
30213 .write_to(writer)
30214 .map_err(SerializeError::from)?;
30215 }
30216 #[cfg(feature = "dml-charts")]
30217 if let Some(ref val) = self.overlay {
30218 val.write_element("a:overlay", writer)?;
30219 }
30220 #[cfg(feature = "extra-children")]
30221 {
30222 emit_idx += 1;
30223 }
30224 #[cfg(feature = "extra-children")]
30225 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30226 extra_iter
30227 .next()
30228 .unwrap()
30229 .node
30230 .write_to(writer)
30231 .map_err(SerializeError::from)?;
30232 }
30233 #[cfg(feature = "dml-charts")]
30234 if let Some(ref val) = self.sp_pr {
30235 val.write_element("a:spPr", writer)?;
30236 }
30237 #[cfg(feature = "extra-children")]
30238 {
30239 emit_idx += 1;
30240 }
30241 #[cfg(feature = "extra-children")]
30242 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30243 extra_iter
30244 .next()
30245 .unwrap()
30246 .node
30247 .write_to(writer)
30248 .map_err(SerializeError::from)?;
30249 }
30250 #[cfg(feature = "dml-charts")]
30251 if let Some(ref val) = self.tx_pr {
30252 val.write_element("a:txPr", writer)?;
30253 }
30254 #[cfg(feature = "extra-children")]
30255 {
30256 emit_idx += 1;
30257 }
30258 #[cfg(feature = "extra-children")]
30259 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30260 extra_iter
30261 .next()
30262 .unwrap()
30263 .node
30264 .write_to(writer)
30265 .map_err(SerializeError::from)?;
30266 }
30267 #[cfg(feature = "dml-charts")]
30268 if let Some(ref val) = self.ext_lst {
30269 val.write_element("a:extLst", writer)?;
30270 }
30271 #[cfg(feature = "extra-children")]
30272 {
30273 emit_idx += 1;
30274 }
30275 #[cfg(feature = "extra-children")]
30276 for extra in extra_iter {
30277 extra.node.write_to(writer).map_err(SerializeError::from)?;
30278 }
30279 Ok(())
30280 }
30281
30282 fn is_empty_element(&self) -> bool {
30283 #[cfg(feature = "dml-charts")]
30284 if self.legend_pos.is_some() {
30285 return false;
30286 }
30287 #[cfg(feature = "dml-charts")]
30288 if !self.legend_entry.is_empty() {
30289 return false;
30290 }
30291 #[cfg(feature = "dml-charts")]
30292 if self.layout.is_some() {
30293 return false;
30294 }
30295 #[cfg(feature = "dml-charts")]
30296 if self.overlay.is_some() {
30297 return false;
30298 }
30299 #[cfg(feature = "dml-charts")]
30300 if self.sp_pr.is_some() {
30301 return false;
30302 }
30303 #[cfg(feature = "dml-charts")]
30304 if self.tx_pr.is_some() {
30305 return false;
30306 }
30307 #[cfg(feature = "dml-charts")]
30308 if self.ext_lst.is_some() {
30309 return false;
30310 }
30311 #[cfg(feature = "extra-children")]
30312 if !self.extra_children.is_empty() {
30313 return false;
30314 }
30315 true
30316 }
30317}
30318
30319impl ToXml for DisplayBlanksAs {
30320 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
30321 #[allow(unused_mut)]
30322 let mut start = start;
30323 #[cfg(feature = "dml-charts")]
30324 if let Some(ref val) = self.value {
30325 {
30326 let s = val.to_string();
30327 start.push_attribute(("val", s.as_str()));
30328 }
30329 }
30330 #[cfg(feature = "extra-attrs")]
30331 for (key, value) in &self.extra_attrs {
30332 start.push_attribute((key.as_str(), value.as_str()));
30333 }
30334 start
30335 }
30336
30337 fn is_empty_element(&self) -> bool {
30338 true
30339 }
30340}
30341
30342impl ToXml for Chart {
30343 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30344 #[cfg(feature = "extra-children")]
30345 let mut extra_iter = self.extra_children.iter().peekable();
30346 #[cfg(feature = "extra-children")]
30347 let mut emit_idx: usize = 0;
30348 #[cfg(feature = "extra-children")]
30349 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30350 extra_iter
30351 .next()
30352 .unwrap()
30353 .node
30354 .write_to(writer)
30355 .map_err(SerializeError::from)?;
30356 }
30357 #[cfg(feature = "dml-charts")]
30358 if let Some(ref val) = self.title {
30359 val.write_element("a:title", writer)?;
30360 }
30361 #[cfg(feature = "extra-children")]
30362 {
30363 emit_idx += 1;
30364 }
30365 #[cfg(feature = "extra-children")]
30366 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30367 extra_iter
30368 .next()
30369 .unwrap()
30370 .node
30371 .write_to(writer)
30372 .map_err(SerializeError::from)?;
30373 }
30374 #[cfg(feature = "dml-charts")]
30375 if let Some(ref val) = self.auto_title_deleted {
30376 val.write_element("a:autoTitleDeleted", writer)?;
30377 }
30378 #[cfg(feature = "extra-children")]
30379 {
30380 emit_idx += 1;
30381 }
30382 #[cfg(feature = "extra-children")]
30383 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30384 extra_iter
30385 .next()
30386 .unwrap()
30387 .node
30388 .write_to(writer)
30389 .map_err(SerializeError::from)?;
30390 }
30391 #[cfg(feature = "dml-charts")]
30392 if let Some(ref val) = self.pivot_fmts {
30393 val.write_element("a:pivotFmts", writer)?;
30394 }
30395 #[cfg(feature = "extra-children")]
30396 {
30397 emit_idx += 1;
30398 }
30399 #[cfg(feature = "extra-children")]
30400 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30401 extra_iter
30402 .next()
30403 .unwrap()
30404 .node
30405 .write_to(writer)
30406 .map_err(SerializeError::from)?;
30407 }
30408 #[cfg(feature = "dml-charts")]
30409 if let Some(ref val) = self.view3_d {
30410 val.write_element("a:view3D", writer)?;
30411 }
30412 #[cfg(feature = "extra-children")]
30413 {
30414 emit_idx += 1;
30415 }
30416 #[cfg(feature = "extra-children")]
30417 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30418 extra_iter
30419 .next()
30420 .unwrap()
30421 .node
30422 .write_to(writer)
30423 .map_err(SerializeError::from)?;
30424 }
30425 #[cfg(feature = "dml-charts")]
30426 if let Some(ref val) = self.floor {
30427 val.write_element("a:floor", writer)?;
30428 }
30429 #[cfg(feature = "extra-children")]
30430 {
30431 emit_idx += 1;
30432 }
30433 #[cfg(feature = "extra-children")]
30434 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30435 extra_iter
30436 .next()
30437 .unwrap()
30438 .node
30439 .write_to(writer)
30440 .map_err(SerializeError::from)?;
30441 }
30442 #[cfg(feature = "dml-charts")]
30443 if let Some(ref val) = self.side_wall {
30444 val.write_element("a:sideWall", writer)?;
30445 }
30446 #[cfg(feature = "extra-children")]
30447 {
30448 emit_idx += 1;
30449 }
30450 #[cfg(feature = "extra-children")]
30451 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30452 extra_iter
30453 .next()
30454 .unwrap()
30455 .node
30456 .write_to(writer)
30457 .map_err(SerializeError::from)?;
30458 }
30459 #[cfg(feature = "dml-charts")]
30460 if let Some(ref val) = self.back_wall {
30461 val.write_element("a:backWall", writer)?;
30462 }
30463 #[cfg(feature = "extra-children")]
30464 {
30465 emit_idx += 1;
30466 }
30467 #[cfg(feature = "extra-children")]
30468 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30469 extra_iter
30470 .next()
30471 .unwrap()
30472 .node
30473 .write_to(writer)
30474 .map_err(SerializeError::from)?;
30475 }
30476 #[cfg(feature = "dml-charts")]
30477 {
30478 let val = &self.plot_area;
30479 val.write_element("a:plotArea", writer)?;
30480 }
30481 #[cfg(feature = "extra-children")]
30482 {
30483 emit_idx += 1;
30484 }
30485 #[cfg(feature = "extra-children")]
30486 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30487 extra_iter
30488 .next()
30489 .unwrap()
30490 .node
30491 .write_to(writer)
30492 .map_err(SerializeError::from)?;
30493 }
30494 #[cfg(feature = "dml-charts")]
30495 if let Some(ref val) = self.legend {
30496 val.write_element("a:legend", writer)?;
30497 }
30498 #[cfg(feature = "extra-children")]
30499 {
30500 emit_idx += 1;
30501 }
30502 #[cfg(feature = "extra-children")]
30503 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30504 extra_iter
30505 .next()
30506 .unwrap()
30507 .node
30508 .write_to(writer)
30509 .map_err(SerializeError::from)?;
30510 }
30511 #[cfg(feature = "dml-charts")]
30512 if let Some(ref val) = self.plot_vis_only {
30513 val.write_element("a:plotVisOnly", writer)?;
30514 }
30515 #[cfg(feature = "extra-children")]
30516 {
30517 emit_idx += 1;
30518 }
30519 #[cfg(feature = "extra-children")]
30520 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30521 extra_iter
30522 .next()
30523 .unwrap()
30524 .node
30525 .write_to(writer)
30526 .map_err(SerializeError::from)?;
30527 }
30528 #[cfg(feature = "dml-charts")]
30529 if let Some(ref val) = self.disp_blanks_as {
30530 val.write_element("a:dispBlanksAs", writer)?;
30531 }
30532 #[cfg(feature = "extra-children")]
30533 {
30534 emit_idx += 1;
30535 }
30536 #[cfg(feature = "extra-children")]
30537 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30538 extra_iter
30539 .next()
30540 .unwrap()
30541 .node
30542 .write_to(writer)
30543 .map_err(SerializeError::from)?;
30544 }
30545 #[cfg(feature = "dml-charts")]
30546 if let Some(ref val) = self.show_d_lbls_over_max {
30547 val.write_element("a:showDLblsOverMax", writer)?;
30548 }
30549 #[cfg(feature = "extra-children")]
30550 {
30551 emit_idx += 1;
30552 }
30553 #[cfg(feature = "extra-children")]
30554 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30555 extra_iter
30556 .next()
30557 .unwrap()
30558 .node
30559 .write_to(writer)
30560 .map_err(SerializeError::from)?;
30561 }
30562 #[cfg(feature = "dml-charts")]
30563 if let Some(ref val) = self.ext_lst {
30564 val.write_element("a:extLst", writer)?;
30565 }
30566 #[cfg(feature = "extra-children")]
30567 {
30568 emit_idx += 1;
30569 }
30570 #[cfg(feature = "extra-children")]
30571 for extra in extra_iter {
30572 extra.node.write_to(writer).map_err(SerializeError::from)?;
30573 }
30574 Ok(())
30575 }
30576
30577 fn is_empty_element(&self) -> bool {
30578 #[cfg(feature = "dml-charts")]
30579 if self.title.is_some() {
30580 return false;
30581 }
30582 #[cfg(feature = "dml-charts")]
30583 if self.auto_title_deleted.is_some() {
30584 return false;
30585 }
30586 #[cfg(feature = "dml-charts")]
30587 if self.pivot_fmts.is_some() {
30588 return false;
30589 }
30590 #[cfg(feature = "dml-charts")]
30591 if self.view3_d.is_some() {
30592 return false;
30593 }
30594 #[cfg(feature = "dml-charts")]
30595 if self.floor.is_some() {
30596 return false;
30597 }
30598 #[cfg(feature = "dml-charts")]
30599 if self.side_wall.is_some() {
30600 return false;
30601 }
30602 #[cfg(feature = "dml-charts")]
30603 if self.back_wall.is_some() {
30604 return false;
30605 }
30606 #[cfg(feature = "dml-charts")]
30607 return false;
30608 #[cfg(feature = "dml-charts")]
30609 if self.legend.is_some() {
30610 return false;
30611 }
30612 #[cfg(feature = "dml-charts")]
30613 if self.plot_vis_only.is_some() {
30614 return false;
30615 }
30616 #[cfg(feature = "dml-charts")]
30617 if self.disp_blanks_as.is_some() {
30618 return false;
30619 }
30620 #[cfg(feature = "dml-charts")]
30621 if self.show_d_lbls_over_max.is_some() {
30622 return false;
30623 }
30624 #[cfg(feature = "dml-charts")]
30625 if self.ext_lst.is_some() {
30626 return false;
30627 }
30628 #[cfg(feature = "extra-children")]
30629 if !self.extra_children.is_empty() {
30630 return false;
30631 }
30632 true
30633 }
30634}
30635
30636impl ToXml for ChartStyle {
30637 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
30638 #[allow(unused_mut)]
30639 let mut start = start;
30640 #[cfg(feature = "dml-charts")]
30641 {
30642 let val = &self.value;
30643 {
30644 let s = val.to_string();
30645 start.push_attribute(("val", s.as_str()));
30646 }
30647 }
30648 #[cfg(feature = "extra-attrs")]
30649 for (key, value) in &self.extra_attrs {
30650 start.push_attribute((key.as_str(), value.as_str()));
30651 }
30652 start
30653 }
30654
30655 fn is_empty_element(&self) -> bool {
30656 true
30657 }
30658}
30659
30660impl ToXml for PivotSource {
30661 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30662 #[cfg(feature = "extra-children")]
30663 let mut extra_iter = self.extra_children.iter().peekable();
30664 #[cfg(feature = "extra-children")]
30665 let mut emit_idx: usize = 0;
30666 #[cfg(feature = "extra-children")]
30667 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30668 extra_iter
30669 .next()
30670 .unwrap()
30671 .node
30672 .write_to(writer)
30673 .map_err(SerializeError::from)?;
30674 }
30675 #[cfg(feature = "dml-charts")]
30676 {
30677 let val = &self.name;
30678 {
30679 let start = BytesStart::new("a:name");
30680 writer.write_event(Event::Start(start))?;
30681 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
30682 writer.write_event(Event::End(BytesEnd::new("a:name")))?;
30683 }
30684 }
30685 #[cfg(feature = "extra-children")]
30686 {
30687 emit_idx += 1;
30688 }
30689 #[cfg(feature = "extra-children")]
30690 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30691 extra_iter
30692 .next()
30693 .unwrap()
30694 .node
30695 .write_to(writer)
30696 .map_err(SerializeError::from)?;
30697 }
30698 #[cfg(feature = "dml-charts")]
30699 {
30700 let val = &self.fmt_id;
30701 val.write_element("a:fmtId", writer)?;
30702 }
30703 #[cfg(feature = "extra-children")]
30704 {
30705 emit_idx += 1;
30706 }
30707 #[cfg(feature = "dml-charts")]
30708 for item in &self.ext_lst {
30709 #[cfg(feature = "extra-children")]
30710 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30711 extra_iter
30712 .next()
30713 .unwrap()
30714 .node
30715 .write_to(writer)
30716 .map_err(SerializeError::from)?;
30717 }
30718 item.write_element("a:extLst", writer)?;
30719 #[cfg(feature = "extra-children")]
30720 {
30721 emit_idx += 1;
30722 }
30723 }
30724 #[cfg(feature = "extra-children")]
30725 for extra in extra_iter {
30726 extra.node.write_to(writer).map_err(SerializeError::from)?;
30727 }
30728 Ok(())
30729 }
30730
30731 fn is_empty_element(&self) -> bool {
30732 #[cfg(feature = "dml-charts")]
30733 return false;
30734 #[cfg(feature = "dml-charts")]
30735 return false;
30736 #[cfg(feature = "dml-charts")]
30737 if !self.ext_lst.is_empty() {
30738 return false;
30739 }
30740 #[cfg(feature = "extra-children")]
30741 if !self.extra_children.is_empty() {
30742 return false;
30743 }
30744 true
30745 }
30746}
30747
30748impl ToXml for ChartProtection {
30749 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30750 #[cfg(feature = "extra-children")]
30751 let mut extra_iter = self.extra_children.iter().peekable();
30752 #[cfg(feature = "extra-children")]
30753 let mut emit_idx: usize = 0;
30754 #[cfg(feature = "extra-children")]
30755 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30756 extra_iter
30757 .next()
30758 .unwrap()
30759 .node
30760 .write_to(writer)
30761 .map_err(SerializeError::from)?;
30762 }
30763 #[cfg(feature = "dml-charts")]
30764 if let Some(ref val) = self.chart_object {
30765 val.write_element("a:chartObject", writer)?;
30766 }
30767 #[cfg(feature = "extra-children")]
30768 {
30769 emit_idx += 1;
30770 }
30771 #[cfg(feature = "extra-children")]
30772 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30773 extra_iter
30774 .next()
30775 .unwrap()
30776 .node
30777 .write_to(writer)
30778 .map_err(SerializeError::from)?;
30779 }
30780 #[cfg(feature = "dml-charts")]
30781 if let Some(ref val) = self.data {
30782 val.write_element("a:data", writer)?;
30783 }
30784 #[cfg(feature = "extra-children")]
30785 {
30786 emit_idx += 1;
30787 }
30788 #[cfg(feature = "extra-children")]
30789 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30790 extra_iter
30791 .next()
30792 .unwrap()
30793 .node
30794 .write_to(writer)
30795 .map_err(SerializeError::from)?;
30796 }
30797 #[cfg(feature = "dml-charts")]
30798 if let Some(ref val) = self.formatting {
30799 val.write_element("a:formatting", writer)?;
30800 }
30801 #[cfg(feature = "extra-children")]
30802 {
30803 emit_idx += 1;
30804 }
30805 #[cfg(feature = "extra-children")]
30806 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30807 extra_iter
30808 .next()
30809 .unwrap()
30810 .node
30811 .write_to(writer)
30812 .map_err(SerializeError::from)?;
30813 }
30814 #[cfg(feature = "dml-charts")]
30815 if let Some(ref val) = self.selection {
30816 val.write_element("a:selection", writer)?;
30817 }
30818 #[cfg(feature = "extra-children")]
30819 {
30820 emit_idx += 1;
30821 }
30822 #[cfg(feature = "extra-children")]
30823 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30824 extra_iter
30825 .next()
30826 .unwrap()
30827 .node
30828 .write_to(writer)
30829 .map_err(SerializeError::from)?;
30830 }
30831 #[cfg(feature = "dml-charts")]
30832 if let Some(ref val) = self.user_interface {
30833 val.write_element("a:userInterface", writer)?;
30834 }
30835 #[cfg(feature = "extra-children")]
30836 {
30837 emit_idx += 1;
30838 }
30839 #[cfg(feature = "extra-children")]
30840 for extra in extra_iter {
30841 extra.node.write_to(writer).map_err(SerializeError::from)?;
30842 }
30843 Ok(())
30844 }
30845
30846 fn is_empty_element(&self) -> bool {
30847 #[cfg(feature = "dml-charts")]
30848 if self.chart_object.is_some() {
30849 return false;
30850 }
30851 #[cfg(feature = "dml-charts")]
30852 if self.data.is_some() {
30853 return false;
30854 }
30855 #[cfg(feature = "dml-charts")]
30856 if self.formatting.is_some() {
30857 return false;
30858 }
30859 #[cfg(feature = "dml-charts")]
30860 if self.selection.is_some() {
30861 return false;
30862 }
30863 #[cfg(feature = "dml-charts")]
30864 if self.user_interface.is_some() {
30865 return false;
30866 }
30867 #[cfg(feature = "extra-children")]
30868 if !self.extra_children.is_empty() {
30869 return false;
30870 }
30871 true
30872 }
30873}
30874
30875impl ToXml for ChartHeaderFooter {
30876 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
30877 #[allow(unused_mut)]
30878 let mut start = start;
30879 #[cfg(feature = "dml-charts")]
30880 if let Some(ref val) = self.align_with_margins {
30881 start.push_attribute(("alignWithMargins", if *val { "1" } else { "0" }));
30882 }
30883 #[cfg(feature = "dml-charts")]
30884 if let Some(ref val) = self.different_odd_even {
30885 start.push_attribute(("differentOddEven", if *val { "1" } else { "0" }));
30886 }
30887 #[cfg(feature = "dml-charts")]
30888 if let Some(ref val) = self.different_first {
30889 start.push_attribute(("differentFirst", if *val { "1" } else { "0" }));
30890 }
30891 #[cfg(feature = "extra-attrs")]
30892 for (key, value) in &self.extra_attrs {
30893 start.push_attribute((key.as_str(), value.as_str()));
30894 }
30895 start
30896 }
30897
30898 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
30899 #[cfg(feature = "extra-children")]
30900 let mut extra_iter = self.extra_children.iter().peekable();
30901 #[cfg(feature = "extra-children")]
30902 let mut emit_idx: usize = 0;
30903 #[cfg(feature = "extra-children")]
30904 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30905 extra_iter
30906 .next()
30907 .unwrap()
30908 .node
30909 .write_to(writer)
30910 .map_err(SerializeError::from)?;
30911 }
30912 #[cfg(feature = "dml-charts")]
30913 if let Some(ref val) = self.odd_header {
30914 {
30915 let start = BytesStart::new("a:oddHeader");
30916 writer.write_event(Event::Start(start))?;
30917 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
30918 writer.write_event(Event::End(BytesEnd::new("a:oddHeader")))?;
30919 }
30920 }
30921 #[cfg(feature = "extra-children")]
30922 {
30923 emit_idx += 1;
30924 }
30925 #[cfg(feature = "extra-children")]
30926 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30927 extra_iter
30928 .next()
30929 .unwrap()
30930 .node
30931 .write_to(writer)
30932 .map_err(SerializeError::from)?;
30933 }
30934 #[cfg(feature = "dml-charts")]
30935 if let Some(ref val) = self.odd_footer {
30936 {
30937 let start = BytesStart::new("a:oddFooter");
30938 writer.write_event(Event::Start(start))?;
30939 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
30940 writer.write_event(Event::End(BytesEnd::new("a:oddFooter")))?;
30941 }
30942 }
30943 #[cfg(feature = "extra-children")]
30944 {
30945 emit_idx += 1;
30946 }
30947 #[cfg(feature = "extra-children")]
30948 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30949 extra_iter
30950 .next()
30951 .unwrap()
30952 .node
30953 .write_to(writer)
30954 .map_err(SerializeError::from)?;
30955 }
30956 #[cfg(feature = "dml-charts")]
30957 if let Some(ref val) = self.even_header {
30958 {
30959 let start = BytesStart::new("a:evenHeader");
30960 writer.write_event(Event::Start(start))?;
30961 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
30962 writer.write_event(Event::End(BytesEnd::new("a:evenHeader")))?;
30963 }
30964 }
30965 #[cfg(feature = "extra-children")]
30966 {
30967 emit_idx += 1;
30968 }
30969 #[cfg(feature = "extra-children")]
30970 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30971 extra_iter
30972 .next()
30973 .unwrap()
30974 .node
30975 .write_to(writer)
30976 .map_err(SerializeError::from)?;
30977 }
30978 #[cfg(feature = "dml-charts")]
30979 if let Some(ref val) = self.even_footer {
30980 {
30981 let start = BytesStart::new("a:evenFooter");
30982 writer.write_event(Event::Start(start))?;
30983 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
30984 writer.write_event(Event::End(BytesEnd::new("a:evenFooter")))?;
30985 }
30986 }
30987 #[cfg(feature = "extra-children")]
30988 {
30989 emit_idx += 1;
30990 }
30991 #[cfg(feature = "extra-children")]
30992 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
30993 extra_iter
30994 .next()
30995 .unwrap()
30996 .node
30997 .write_to(writer)
30998 .map_err(SerializeError::from)?;
30999 }
31000 #[cfg(feature = "dml-charts")]
31001 if let Some(ref val) = self.first_header {
31002 {
31003 let start = BytesStart::new("a:firstHeader");
31004 writer.write_event(Event::Start(start))?;
31005 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
31006 writer.write_event(Event::End(BytesEnd::new("a:firstHeader")))?;
31007 }
31008 }
31009 #[cfg(feature = "extra-children")]
31010 {
31011 emit_idx += 1;
31012 }
31013 #[cfg(feature = "extra-children")]
31014 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31015 extra_iter
31016 .next()
31017 .unwrap()
31018 .node
31019 .write_to(writer)
31020 .map_err(SerializeError::from)?;
31021 }
31022 #[cfg(feature = "dml-charts")]
31023 if let Some(ref val) = self.first_footer {
31024 {
31025 let start = BytesStart::new("a:firstFooter");
31026 writer.write_event(Event::Start(start))?;
31027 writer.write_event(Event::Text(BytesText::new(val.as_str())))?;
31028 writer.write_event(Event::End(BytesEnd::new("a:firstFooter")))?;
31029 }
31030 }
31031 #[cfg(feature = "extra-children")]
31032 {
31033 emit_idx += 1;
31034 }
31035 #[cfg(feature = "extra-children")]
31036 for extra in extra_iter {
31037 extra.node.write_to(writer).map_err(SerializeError::from)?;
31038 }
31039 Ok(())
31040 }
31041
31042 fn is_empty_element(&self) -> bool {
31043 #[cfg(feature = "dml-charts")]
31044 if self.odd_header.is_some() {
31045 return false;
31046 }
31047 #[cfg(feature = "dml-charts")]
31048 if self.odd_footer.is_some() {
31049 return false;
31050 }
31051 #[cfg(feature = "dml-charts")]
31052 if self.even_header.is_some() {
31053 return false;
31054 }
31055 #[cfg(feature = "dml-charts")]
31056 if self.even_footer.is_some() {
31057 return false;
31058 }
31059 #[cfg(feature = "dml-charts")]
31060 if self.first_header.is_some() {
31061 return false;
31062 }
31063 #[cfg(feature = "dml-charts")]
31064 if self.first_footer.is_some() {
31065 return false;
31066 }
31067 #[cfg(feature = "extra-children")]
31068 if !self.extra_children.is_empty() {
31069 return false;
31070 }
31071 true
31072 }
31073}
31074
31075impl ToXml for ChartPageMargins {
31076 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31077 #[allow(unused_mut)]
31078 let mut start = start;
31079 #[cfg(feature = "dml-charts")]
31080 {
31081 let val = &self.l;
31082 {
31083 let s = val.to_string();
31084 start.push_attribute(("l", s.as_str()));
31085 }
31086 }
31087 #[cfg(feature = "dml-charts")]
31088 {
31089 let val = &self.relationship_id;
31090 {
31091 let s = val.to_string();
31092 start.push_attribute(("r", s.as_str()));
31093 }
31094 }
31095 #[cfg(feature = "dml-charts")]
31096 {
31097 let val = &self.t;
31098 {
31099 let s = val.to_string();
31100 start.push_attribute(("t", s.as_str()));
31101 }
31102 }
31103 #[cfg(feature = "dml-charts")]
31104 {
31105 let val = &self.b;
31106 {
31107 let s = val.to_string();
31108 start.push_attribute(("b", s.as_str()));
31109 }
31110 }
31111 #[cfg(feature = "dml-charts")]
31112 {
31113 let val = &self.header;
31114 {
31115 let s = val.to_string();
31116 start.push_attribute(("header", s.as_str()));
31117 }
31118 }
31119 #[cfg(feature = "dml-charts")]
31120 {
31121 let val = &self.footer;
31122 {
31123 let s = val.to_string();
31124 start.push_attribute(("footer", s.as_str()));
31125 }
31126 }
31127 #[cfg(feature = "extra-attrs")]
31128 for (key, value) in &self.extra_attrs {
31129 start.push_attribute((key.as_str(), value.as_str()));
31130 }
31131 start
31132 }
31133
31134 fn is_empty_element(&self) -> bool {
31135 true
31136 }
31137}
31138
31139impl ToXml for ExternalData {
31140 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31141 #[allow(unused_mut)]
31142 let mut start = start;
31143 #[cfg(feature = "dml-charts")]
31144 {
31145 let val = &self.id;
31146 start.push_attribute(("r:id", val.as_str()));
31147 }
31148 #[cfg(feature = "extra-attrs")]
31149 for (key, value) in &self.extra_attrs {
31150 start.push_attribute((key.as_str(), value.as_str()));
31151 }
31152 start
31153 }
31154
31155 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31156 #[cfg(feature = "extra-children")]
31157 let mut extra_iter = self.extra_children.iter().peekable();
31158 #[cfg(feature = "extra-children")]
31159 let mut emit_idx: usize = 0;
31160 #[cfg(feature = "extra-children")]
31161 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31162 extra_iter
31163 .next()
31164 .unwrap()
31165 .node
31166 .write_to(writer)
31167 .map_err(SerializeError::from)?;
31168 }
31169 #[cfg(feature = "dml-charts")]
31170 if let Some(ref val) = self.auto_update {
31171 val.write_element("a:autoUpdate", writer)?;
31172 }
31173 #[cfg(feature = "extra-children")]
31174 {
31175 emit_idx += 1;
31176 }
31177 #[cfg(feature = "extra-children")]
31178 for extra in extra_iter {
31179 extra.node.write_to(writer).map_err(SerializeError::from)?;
31180 }
31181 Ok(())
31182 }
31183
31184 fn is_empty_element(&self) -> bool {
31185 #[cfg(feature = "dml-charts")]
31186 if self.auto_update.is_some() {
31187 return false;
31188 }
31189 #[cfg(feature = "extra-children")]
31190 if !self.extra_children.is_empty() {
31191 return false;
31192 }
31193 true
31194 }
31195}
31196
31197impl ToXml for ChartPageSetup {
31198 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31199 #[allow(unused_mut)]
31200 let mut start = start;
31201 #[cfg(feature = "dml-charts")]
31202 if let Some(ref val) = self.paper_size {
31203 {
31204 let s = val.to_string();
31205 start.push_attribute(("paperSize", s.as_str()));
31206 }
31207 }
31208 #[cfg(feature = "dml-charts")]
31209 if let Some(ref val) = self.paper_height {
31210 start.push_attribute(("paperHeight", val.as_str()));
31211 }
31212 #[cfg(feature = "dml-charts")]
31213 if let Some(ref val) = self.paper_width {
31214 start.push_attribute(("paperWidth", val.as_str()));
31215 }
31216 #[cfg(feature = "dml-charts")]
31217 if let Some(ref val) = self.first_page_number {
31218 {
31219 let s = val.to_string();
31220 start.push_attribute(("firstPageNumber", s.as_str()));
31221 }
31222 }
31223 #[cfg(feature = "dml-charts")]
31224 if let Some(ref val) = self.orientation {
31225 {
31226 let s = val.to_string();
31227 start.push_attribute(("orientation", s.as_str()));
31228 }
31229 }
31230 #[cfg(feature = "dml-charts")]
31231 if let Some(ref val) = self.black_and_white {
31232 start.push_attribute(("blackAndWhite", if *val { "1" } else { "0" }));
31233 }
31234 #[cfg(feature = "dml-charts")]
31235 if let Some(ref val) = self.draft {
31236 start.push_attribute(("draft", if *val { "1" } else { "0" }));
31237 }
31238 #[cfg(feature = "dml-charts")]
31239 if let Some(ref val) = self.use_first_page_number {
31240 start.push_attribute(("useFirstPageNumber", if *val { "1" } else { "0" }));
31241 }
31242 #[cfg(feature = "dml-charts")]
31243 if let Some(ref val) = self.horizontal_dpi {
31244 {
31245 let s = val.to_string();
31246 start.push_attribute(("horizontalDpi", s.as_str()));
31247 }
31248 }
31249 #[cfg(feature = "dml-charts")]
31250 if let Some(ref val) = self.vertical_dpi {
31251 {
31252 let s = val.to_string();
31253 start.push_attribute(("verticalDpi", s.as_str()));
31254 }
31255 }
31256 #[cfg(feature = "dml-charts")]
31257 if let Some(ref val) = self.copies {
31258 {
31259 let s = val.to_string();
31260 start.push_attribute(("copies", s.as_str()));
31261 }
31262 }
31263 #[cfg(feature = "extra-attrs")]
31264 for (key, value) in &self.extra_attrs {
31265 start.push_attribute((key.as_str(), value.as_str()));
31266 }
31267 start
31268 }
31269
31270 fn is_empty_element(&self) -> bool {
31271 true
31272 }
31273}
31274
31275impl ToXml for PrintSettings {
31276 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31277 #[cfg(feature = "extra-children")]
31278 let mut extra_iter = self.extra_children.iter().peekable();
31279 #[cfg(feature = "extra-children")]
31280 let mut emit_idx: usize = 0;
31281 #[cfg(feature = "extra-children")]
31282 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31283 extra_iter
31284 .next()
31285 .unwrap()
31286 .node
31287 .write_to(writer)
31288 .map_err(SerializeError::from)?;
31289 }
31290 #[cfg(feature = "dml-charts")]
31291 if let Some(ref val) = self.header_footer {
31292 val.write_element("a:headerFooter", writer)?;
31293 }
31294 #[cfg(feature = "extra-children")]
31295 {
31296 emit_idx += 1;
31297 }
31298 #[cfg(feature = "extra-children")]
31299 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31300 extra_iter
31301 .next()
31302 .unwrap()
31303 .node
31304 .write_to(writer)
31305 .map_err(SerializeError::from)?;
31306 }
31307 #[cfg(feature = "dml-charts")]
31308 if let Some(ref val) = self.page_margins {
31309 val.write_element("a:pageMargins", writer)?;
31310 }
31311 #[cfg(feature = "extra-children")]
31312 {
31313 emit_idx += 1;
31314 }
31315 #[cfg(feature = "extra-children")]
31316 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31317 extra_iter
31318 .next()
31319 .unwrap()
31320 .node
31321 .write_to(writer)
31322 .map_err(SerializeError::from)?;
31323 }
31324 #[cfg(feature = "dml-charts")]
31325 if let Some(ref val) = self.page_setup {
31326 val.write_element("a:pageSetup", writer)?;
31327 }
31328 #[cfg(feature = "extra-children")]
31329 {
31330 emit_idx += 1;
31331 }
31332 #[cfg(feature = "extra-children")]
31333 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31334 extra_iter
31335 .next()
31336 .unwrap()
31337 .node
31338 .write_to(writer)
31339 .map_err(SerializeError::from)?;
31340 }
31341 #[cfg(feature = "dml-charts")]
31342 if let Some(ref val) = self.legacy_drawing_h_f {
31343 val.write_element("a:legacyDrawingHF", writer)?;
31344 }
31345 #[cfg(feature = "extra-children")]
31346 {
31347 emit_idx += 1;
31348 }
31349 #[cfg(feature = "extra-children")]
31350 for extra in extra_iter {
31351 extra.node.write_to(writer).map_err(SerializeError::from)?;
31352 }
31353 Ok(())
31354 }
31355
31356 fn is_empty_element(&self) -> bool {
31357 #[cfg(feature = "dml-charts")]
31358 if self.header_footer.is_some() {
31359 return false;
31360 }
31361 #[cfg(feature = "dml-charts")]
31362 if self.page_margins.is_some() {
31363 return false;
31364 }
31365 #[cfg(feature = "dml-charts")]
31366 if self.page_setup.is_some() {
31367 return false;
31368 }
31369 #[cfg(feature = "dml-charts")]
31370 if self.legacy_drawing_h_f.is_some() {
31371 return false;
31372 }
31373 #[cfg(feature = "extra-children")]
31374 if !self.extra_children.is_empty() {
31375 return false;
31376 }
31377 true
31378 }
31379}
31380
31381impl ToXml for ChartSpace {
31382 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31383 #[cfg(feature = "extra-children")]
31384 let mut extra_iter = self.extra_children.iter().peekable();
31385 #[cfg(feature = "extra-children")]
31386 let mut emit_idx: usize = 0;
31387 #[cfg(feature = "extra-children")]
31388 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31389 extra_iter
31390 .next()
31391 .unwrap()
31392 .node
31393 .write_to(writer)
31394 .map_err(SerializeError::from)?;
31395 }
31396 #[cfg(feature = "dml-charts")]
31397 if let Some(ref val) = self.date1904 {
31398 val.write_element("a:date1904", writer)?;
31399 }
31400 #[cfg(feature = "extra-children")]
31401 {
31402 emit_idx += 1;
31403 }
31404 #[cfg(feature = "extra-children")]
31405 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31406 extra_iter
31407 .next()
31408 .unwrap()
31409 .node
31410 .write_to(writer)
31411 .map_err(SerializeError::from)?;
31412 }
31413 #[cfg(feature = "dml-charts")]
31414 if let Some(ref val) = self.lang {
31415 val.write_element("a:lang", writer)?;
31416 }
31417 #[cfg(feature = "extra-children")]
31418 {
31419 emit_idx += 1;
31420 }
31421 #[cfg(feature = "extra-children")]
31422 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31423 extra_iter
31424 .next()
31425 .unwrap()
31426 .node
31427 .write_to(writer)
31428 .map_err(SerializeError::from)?;
31429 }
31430 #[cfg(feature = "dml-charts")]
31431 if let Some(ref val) = self.rounded_corners {
31432 val.write_element("a:roundedCorners", writer)?;
31433 }
31434 #[cfg(feature = "extra-children")]
31435 {
31436 emit_idx += 1;
31437 }
31438 #[cfg(feature = "extra-children")]
31439 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31440 extra_iter
31441 .next()
31442 .unwrap()
31443 .node
31444 .write_to(writer)
31445 .map_err(SerializeError::from)?;
31446 }
31447 #[cfg(feature = "dml-charts")]
31448 if let Some(ref val) = self.style {
31449 val.write_element("a:style", writer)?;
31450 }
31451 #[cfg(feature = "extra-children")]
31452 {
31453 emit_idx += 1;
31454 }
31455 #[cfg(feature = "extra-children")]
31456 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31457 extra_iter
31458 .next()
31459 .unwrap()
31460 .node
31461 .write_to(writer)
31462 .map_err(SerializeError::from)?;
31463 }
31464 #[cfg(feature = "dml-charts")]
31465 if let Some(ref val) = self.clr_map_ovr {
31466 val.write_element("a:clrMapOvr", writer)?;
31467 }
31468 #[cfg(feature = "extra-children")]
31469 {
31470 emit_idx += 1;
31471 }
31472 #[cfg(feature = "extra-children")]
31473 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31474 extra_iter
31475 .next()
31476 .unwrap()
31477 .node
31478 .write_to(writer)
31479 .map_err(SerializeError::from)?;
31480 }
31481 #[cfg(feature = "dml-charts")]
31482 if let Some(ref val) = self.pivot_source {
31483 val.write_element("a:pivotSource", writer)?;
31484 }
31485 #[cfg(feature = "extra-children")]
31486 {
31487 emit_idx += 1;
31488 }
31489 #[cfg(feature = "extra-children")]
31490 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31491 extra_iter
31492 .next()
31493 .unwrap()
31494 .node
31495 .write_to(writer)
31496 .map_err(SerializeError::from)?;
31497 }
31498 #[cfg(feature = "dml-charts")]
31499 if let Some(ref val) = self.protection {
31500 val.write_element("a:protection", writer)?;
31501 }
31502 #[cfg(feature = "extra-children")]
31503 {
31504 emit_idx += 1;
31505 }
31506 #[cfg(feature = "extra-children")]
31507 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31508 extra_iter
31509 .next()
31510 .unwrap()
31511 .node
31512 .write_to(writer)
31513 .map_err(SerializeError::from)?;
31514 }
31515 #[cfg(feature = "dml-charts")]
31516 {
31517 let val = &self.chart;
31518 val.write_element("a:chart", writer)?;
31519 }
31520 #[cfg(feature = "extra-children")]
31521 {
31522 emit_idx += 1;
31523 }
31524 #[cfg(feature = "extra-children")]
31525 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31526 extra_iter
31527 .next()
31528 .unwrap()
31529 .node
31530 .write_to(writer)
31531 .map_err(SerializeError::from)?;
31532 }
31533 #[cfg(feature = "dml-charts")]
31534 if let Some(ref val) = self.sp_pr {
31535 val.write_element("a:spPr", writer)?;
31536 }
31537 #[cfg(feature = "extra-children")]
31538 {
31539 emit_idx += 1;
31540 }
31541 #[cfg(feature = "extra-children")]
31542 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31543 extra_iter
31544 .next()
31545 .unwrap()
31546 .node
31547 .write_to(writer)
31548 .map_err(SerializeError::from)?;
31549 }
31550 #[cfg(feature = "dml-charts")]
31551 if let Some(ref val) = self.tx_pr {
31552 val.write_element("a:txPr", writer)?;
31553 }
31554 #[cfg(feature = "extra-children")]
31555 {
31556 emit_idx += 1;
31557 }
31558 #[cfg(feature = "extra-children")]
31559 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31560 extra_iter
31561 .next()
31562 .unwrap()
31563 .node
31564 .write_to(writer)
31565 .map_err(SerializeError::from)?;
31566 }
31567 #[cfg(feature = "dml-charts")]
31568 if let Some(ref val) = self.external_data {
31569 val.write_element("a:externalData", writer)?;
31570 }
31571 #[cfg(feature = "extra-children")]
31572 {
31573 emit_idx += 1;
31574 }
31575 #[cfg(feature = "extra-children")]
31576 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31577 extra_iter
31578 .next()
31579 .unwrap()
31580 .node
31581 .write_to(writer)
31582 .map_err(SerializeError::from)?;
31583 }
31584 #[cfg(feature = "dml-charts")]
31585 if let Some(ref val) = self.print_settings {
31586 val.write_element("a:printSettings", writer)?;
31587 }
31588 #[cfg(feature = "extra-children")]
31589 {
31590 emit_idx += 1;
31591 }
31592 #[cfg(feature = "extra-children")]
31593 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31594 extra_iter
31595 .next()
31596 .unwrap()
31597 .node
31598 .write_to(writer)
31599 .map_err(SerializeError::from)?;
31600 }
31601 #[cfg(feature = "dml-charts")]
31602 if let Some(ref val) = self.user_shapes {
31603 val.write_element("a:userShapes", writer)?;
31604 }
31605 #[cfg(feature = "extra-children")]
31606 {
31607 emit_idx += 1;
31608 }
31609 #[cfg(feature = "extra-children")]
31610 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31611 extra_iter
31612 .next()
31613 .unwrap()
31614 .node
31615 .write_to(writer)
31616 .map_err(SerializeError::from)?;
31617 }
31618 #[cfg(feature = "dml-charts")]
31619 if let Some(ref val) = self.ext_lst {
31620 val.write_element("a:extLst", writer)?;
31621 }
31622 #[cfg(feature = "extra-children")]
31623 {
31624 emit_idx += 1;
31625 }
31626 #[cfg(feature = "extra-children")]
31627 for extra in extra_iter {
31628 extra.node.write_to(writer).map_err(SerializeError::from)?;
31629 }
31630 Ok(())
31631 }
31632
31633 fn is_empty_element(&self) -> bool {
31634 #[cfg(feature = "dml-charts")]
31635 if self.date1904.is_some() {
31636 return false;
31637 }
31638 #[cfg(feature = "dml-charts")]
31639 if self.lang.is_some() {
31640 return false;
31641 }
31642 #[cfg(feature = "dml-charts")]
31643 if self.rounded_corners.is_some() {
31644 return false;
31645 }
31646 #[cfg(feature = "dml-charts")]
31647 if self.style.is_some() {
31648 return false;
31649 }
31650 #[cfg(feature = "dml-charts")]
31651 if self.clr_map_ovr.is_some() {
31652 return false;
31653 }
31654 #[cfg(feature = "dml-charts")]
31655 if self.pivot_source.is_some() {
31656 return false;
31657 }
31658 #[cfg(feature = "dml-charts")]
31659 if self.protection.is_some() {
31660 return false;
31661 }
31662 #[cfg(feature = "dml-charts")]
31663 return false;
31664 #[cfg(feature = "dml-charts")]
31665 if self.sp_pr.is_some() {
31666 return false;
31667 }
31668 #[cfg(feature = "dml-charts")]
31669 if self.tx_pr.is_some() {
31670 return false;
31671 }
31672 #[cfg(feature = "dml-charts")]
31673 if self.external_data.is_some() {
31674 return false;
31675 }
31676 #[cfg(feature = "dml-charts")]
31677 if self.print_settings.is_some() {
31678 return false;
31679 }
31680 #[cfg(feature = "dml-charts")]
31681 if self.user_shapes.is_some() {
31682 return false;
31683 }
31684 #[cfg(feature = "dml-charts")]
31685 if self.ext_lst.is_some() {
31686 return false;
31687 }
31688 #[cfg(feature = "extra-children")]
31689 if !self.extra_children.is_empty() {
31690 return false;
31691 }
31692 true
31693 }
31694}
31695
31696impl ToXml for ColorTransformName {
31697 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31698 #[allow(unused_mut)]
31699 let mut start = start;
31700 #[cfg(feature = "dml-diagrams")]
31701 if let Some(ref val) = self.lang {
31702 start.push_attribute(("lang", val.as_str()));
31703 }
31704 #[cfg(feature = "dml-diagrams")]
31705 {
31706 let val = &self.value;
31707 start.push_attribute(("val", val.as_str()));
31708 }
31709 #[cfg(feature = "extra-attrs")]
31710 for (key, value) in &self.extra_attrs {
31711 start.push_attribute((key.as_str(), value.as_str()));
31712 }
31713 start
31714 }
31715
31716 fn is_empty_element(&self) -> bool {
31717 true
31718 }
31719}
31720
31721impl ToXml for ColorTransformDescription {
31722 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31723 #[allow(unused_mut)]
31724 let mut start = start;
31725 #[cfg(feature = "dml-diagrams")]
31726 if let Some(ref val) = self.lang {
31727 start.push_attribute(("lang", val.as_str()));
31728 }
31729 #[cfg(feature = "dml-diagrams")]
31730 {
31731 let val = &self.value;
31732 start.push_attribute(("val", val.as_str()));
31733 }
31734 #[cfg(feature = "extra-attrs")]
31735 for (key, value) in &self.extra_attrs {
31736 start.push_attribute((key.as_str(), value.as_str()));
31737 }
31738 start
31739 }
31740
31741 fn is_empty_element(&self) -> bool {
31742 true
31743 }
31744}
31745
31746impl ToXml for DiagramColorCategory {
31747 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31748 #[allow(unused_mut)]
31749 let mut start = start;
31750 #[cfg(feature = "dml-diagrams")]
31751 {
31752 let val = &self.r#type;
31753 start.push_attribute(("type", val.as_str()));
31754 }
31755 #[cfg(feature = "dml-diagrams")]
31756 {
31757 let val = &self.pri;
31758 {
31759 let s = val.to_string();
31760 start.push_attribute(("pri", s.as_str()));
31761 }
31762 }
31763 #[cfg(feature = "extra-attrs")]
31764 for (key, value) in &self.extra_attrs {
31765 start.push_attribute((key.as_str(), value.as_str()));
31766 }
31767 start
31768 }
31769
31770 fn is_empty_element(&self) -> bool {
31771 true
31772 }
31773}
31774
31775impl ToXml for DiagramColorCategories {
31776 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31777 #[cfg(feature = "extra-children")]
31778 let mut extra_iter = self.extra_children.iter().peekable();
31779 #[cfg(feature = "extra-children")]
31780 let mut emit_idx: usize = 0;
31781 #[cfg(feature = "dml-diagrams")]
31782 for item in &self.cat {
31783 #[cfg(feature = "extra-children")]
31784 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31785 extra_iter
31786 .next()
31787 .unwrap()
31788 .node
31789 .write_to(writer)
31790 .map_err(SerializeError::from)?;
31791 }
31792 item.write_element("a:cat", writer)?;
31793 #[cfg(feature = "extra-children")]
31794 {
31795 emit_idx += 1;
31796 }
31797 }
31798 #[cfg(feature = "extra-children")]
31799 for extra in extra_iter {
31800 extra.node.write_to(writer).map_err(SerializeError::from)?;
31801 }
31802 Ok(())
31803 }
31804
31805 fn is_empty_element(&self) -> bool {
31806 #[cfg(feature = "dml-diagrams")]
31807 if !self.cat.is_empty() {
31808 return false;
31809 }
31810 #[cfg(feature = "extra-children")]
31811 if !self.extra_children.is_empty() {
31812 return false;
31813 }
31814 true
31815 }
31816}
31817
31818impl ToXml for DiagramColors {
31819 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31820 #[allow(unused_mut)]
31821 let mut start = start;
31822 #[cfg(feature = "dml-diagrams")]
31823 if let Some(ref val) = self.meth {
31824 {
31825 let s = val.to_string();
31826 start.push_attribute(("meth", s.as_str()));
31827 }
31828 }
31829 #[cfg(feature = "dml-diagrams")]
31830 if let Some(ref val) = self.hue_dir {
31831 {
31832 let s = val.to_string();
31833 start.push_attribute(("hueDir", s.as_str()));
31834 }
31835 }
31836 #[cfg(feature = "extra-attrs")]
31837 for (key, value) in &self.extra_attrs {
31838 start.push_attribute((key.as_str(), value.as_str()));
31839 }
31840 start
31841 }
31842
31843 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31844 #[cfg(feature = "extra-children")]
31845 let mut extra_iter = self.extra_children.iter().peekable();
31846 #[cfg(feature = "extra-children")]
31847 let mut emit_idx: usize = 0;
31848 #[cfg(feature = "dml-diagrams")]
31849 for item in &self.color_choice {
31850 #[cfg(feature = "extra-children")]
31851 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31852 extra_iter
31853 .next()
31854 .unwrap()
31855 .node
31856 .write_to(writer)
31857 .map_err(SerializeError::from)?;
31858 }
31859 item.write_element("", writer)?;
31860 #[cfg(feature = "extra-children")]
31861 {
31862 emit_idx += 1;
31863 }
31864 }
31865 #[cfg(feature = "extra-children")]
31866 for extra in extra_iter {
31867 extra.node.write_to(writer).map_err(SerializeError::from)?;
31868 }
31869 Ok(())
31870 }
31871
31872 fn is_empty_element(&self) -> bool {
31873 #[cfg(feature = "dml-diagrams")]
31874 if !self.color_choice.is_empty() {
31875 return false;
31876 }
31877 #[cfg(feature = "extra-children")]
31878 if !self.extra_children.is_empty() {
31879 return false;
31880 }
31881 true
31882 }
31883}
31884
31885impl ToXml for DiagramColorStyleLabel {
31886 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
31887 #[allow(unused_mut)]
31888 let mut start = start;
31889 #[cfg(feature = "dml-diagrams")]
31890 {
31891 let val = &self.name;
31892 start.push_attribute(("name", val.as_str()));
31893 }
31894 #[cfg(feature = "extra-attrs")]
31895 for (key, value) in &self.extra_attrs {
31896 start.push_attribute((key.as_str(), value.as_str()));
31897 }
31898 start
31899 }
31900
31901 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
31902 #[cfg(feature = "extra-children")]
31903 let mut extra_iter = self.extra_children.iter().peekable();
31904 #[cfg(feature = "extra-children")]
31905 let mut emit_idx: usize = 0;
31906 #[cfg(feature = "extra-children")]
31907 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31908 extra_iter
31909 .next()
31910 .unwrap()
31911 .node
31912 .write_to(writer)
31913 .map_err(SerializeError::from)?;
31914 }
31915 #[cfg(feature = "dml-diagrams")]
31916 if let Some(ref val) = self.fill_clr_lst {
31917 val.write_element("a:fillClrLst", writer)?;
31918 }
31919 #[cfg(feature = "extra-children")]
31920 {
31921 emit_idx += 1;
31922 }
31923 #[cfg(feature = "extra-children")]
31924 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31925 extra_iter
31926 .next()
31927 .unwrap()
31928 .node
31929 .write_to(writer)
31930 .map_err(SerializeError::from)?;
31931 }
31932 #[cfg(feature = "dml-diagrams")]
31933 if let Some(ref val) = self.lin_clr_lst {
31934 val.write_element("a:linClrLst", writer)?;
31935 }
31936 #[cfg(feature = "extra-children")]
31937 {
31938 emit_idx += 1;
31939 }
31940 #[cfg(feature = "extra-children")]
31941 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31942 extra_iter
31943 .next()
31944 .unwrap()
31945 .node
31946 .write_to(writer)
31947 .map_err(SerializeError::from)?;
31948 }
31949 #[cfg(feature = "dml-diagrams")]
31950 if let Some(ref val) = self.effect_clr_lst {
31951 val.write_element("a:effectClrLst", writer)?;
31952 }
31953 #[cfg(feature = "extra-children")]
31954 {
31955 emit_idx += 1;
31956 }
31957 #[cfg(feature = "extra-children")]
31958 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31959 extra_iter
31960 .next()
31961 .unwrap()
31962 .node
31963 .write_to(writer)
31964 .map_err(SerializeError::from)?;
31965 }
31966 #[cfg(feature = "dml-diagrams")]
31967 if let Some(ref val) = self.tx_lin_clr_lst {
31968 val.write_element("a:txLinClrLst", writer)?;
31969 }
31970 #[cfg(feature = "extra-children")]
31971 {
31972 emit_idx += 1;
31973 }
31974 #[cfg(feature = "extra-children")]
31975 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31976 extra_iter
31977 .next()
31978 .unwrap()
31979 .node
31980 .write_to(writer)
31981 .map_err(SerializeError::from)?;
31982 }
31983 #[cfg(feature = "dml-diagrams")]
31984 if let Some(ref val) = self.tx_fill_clr_lst {
31985 val.write_element("a:txFillClrLst", writer)?;
31986 }
31987 #[cfg(feature = "extra-children")]
31988 {
31989 emit_idx += 1;
31990 }
31991 #[cfg(feature = "extra-children")]
31992 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
31993 extra_iter
31994 .next()
31995 .unwrap()
31996 .node
31997 .write_to(writer)
31998 .map_err(SerializeError::from)?;
31999 }
32000 #[cfg(feature = "dml-diagrams")]
32001 if let Some(ref val) = self.tx_effect_clr_lst {
32002 val.write_element("a:txEffectClrLst", writer)?;
32003 }
32004 #[cfg(feature = "extra-children")]
32005 {
32006 emit_idx += 1;
32007 }
32008 #[cfg(feature = "extra-children")]
32009 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32010 extra_iter
32011 .next()
32012 .unwrap()
32013 .node
32014 .write_to(writer)
32015 .map_err(SerializeError::from)?;
32016 }
32017 #[cfg(feature = "dml-diagrams")]
32018 if let Some(ref val) = self.ext_lst {
32019 val.write_element("a:extLst", writer)?;
32020 }
32021 #[cfg(feature = "extra-children")]
32022 {
32023 emit_idx += 1;
32024 }
32025 #[cfg(feature = "extra-children")]
32026 for extra in extra_iter {
32027 extra.node.write_to(writer).map_err(SerializeError::from)?;
32028 }
32029 Ok(())
32030 }
32031
32032 fn is_empty_element(&self) -> bool {
32033 #[cfg(feature = "dml-diagrams")]
32034 if self.fill_clr_lst.is_some() {
32035 return false;
32036 }
32037 #[cfg(feature = "dml-diagrams")]
32038 if self.lin_clr_lst.is_some() {
32039 return false;
32040 }
32041 #[cfg(feature = "dml-diagrams")]
32042 if self.effect_clr_lst.is_some() {
32043 return false;
32044 }
32045 #[cfg(feature = "dml-diagrams")]
32046 if self.tx_lin_clr_lst.is_some() {
32047 return false;
32048 }
32049 #[cfg(feature = "dml-diagrams")]
32050 if self.tx_fill_clr_lst.is_some() {
32051 return false;
32052 }
32053 #[cfg(feature = "dml-diagrams")]
32054 if self.tx_effect_clr_lst.is_some() {
32055 return false;
32056 }
32057 #[cfg(feature = "dml-diagrams")]
32058 if self.ext_lst.is_some() {
32059 return false;
32060 }
32061 #[cfg(feature = "extra-children")]
32062 if !self.extra_children.is_empty() {
32063 return false;
32064 }
32065 true
32066 }
32067}
32068
32069impl ToXml for DiagramColorTransform {
32070 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32071 #[allow(unused_mut)]
32072 let mut start = start;
32073 #[cfg(feature = "dml-diagrams")]
32074 if let Some(ref val) = self.unique_id {
32075 start.push_attribute(("uniqueId", val.as_str()));
32076 }
32077 #[cfg(feature = "dml-diagrams")]
32078 if let Some(ref val) = self.min_ver {
32079 start.push_attribute(("minVer", val.as_str()));
32080 }
32081 #[cfg(feature = "extra-attrs")]
32082 for (key, value) in &self.extra_attrs {
32083 start.push_attribute((key.as_str(), value.as_str()));
32084 }
32085 start
32086 }
32087
32088 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32089 #[cfg(feature = "extra-children")]
32090 let mut extra_iter = self.extra_children.iter().peekable();
32091 #[cfg(feature = "extra-children")]
32092 let mut emit_idx: usize = 0;
32093 #[cfg(feature = "dml-diagrams")]
32094 for item in &self.title {
32095 #[cfg(feature = "extra-children")]
32096 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32097 extra_iter
32098 .next()
32099 .unwrap()
32100 .node
32101 .write_to(writer)
32102 .map_err(SerializeError::from)?;
32103 }
32104 item.write_element("a:title", writer)?;
32105 #[cfg(feature = "extra-children")]
32106 {
32107 emit_idx += 1;
32108 }
32109 }
32110 #[cfg(feature = "dml-diagrams")]
32111 for item in &self.desc {
32112 #[cfg(feature = "extra-children")]
32113 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32114 extra_iter
32115 .next()
32116 .unwrap()
32117 .node
32118 .write_to(writer)
32119 .map_err(SerializeError::from)?;
32120 }
32121 item.write_element("a:desc", writer)?;
32122 #[cfg(feature = "extra-children")]
32123 {
32124 emit_idx += 1;
32125 }
32126 }
32127 #[cfg(feature = "extra-children")]
32128 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32129 extra_iter
32130 .next()
32131 .unwrap()
32132 .node
32133 .write_to(writer)
32134 .map_err(SerializeError::from)?;
32135 }
32136 #[cfg(feature = "dml-diagrams")]
32137 if let Some(ref val) = self.cat_lst {
32138 val.write_element("a:catLst", writer)?;
32139 }
32140 #[cfg(feature = "extra-children")]
32141 {
32142 emit_idx += 1;
32143 }
32144 #[cfg(feature = "dml-diagrams")]
32145 for item in &self.style_lbl {
32146 #[cfg(feature = "extra-children")]
32147 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32148 extra_iter
32149 .next()
32150 .unwrap()
32151 .node
32152 .write_to(writer)
32153 .map_err(SerializeError::from)?;
32154 }
32155 item.write_element("a:styleLbl", writer)?;
32156 #[cfg(feature = "extra-children")]
32157 {
32158 emit_idx += 1;
32159 }
32160 }
32161 #[cfg(feature = "extra-children")]
32162 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32163 extra_iter
32164 .next()
32165 .unwrap()
32166 .node
32167 .write_to(writer)
32168 .map_err(SerializeError::from)?;
32169 }
32170 #[cfg(feature = "dml-diagrams")]
32171 if let Some(ref val) = self.ext_lst {
32172 val.write_element("a:extLst", writer)?;
32173 }
32174 #[cfg(feature = "extra-children")]
32175 {
32176 emit_idx += 1;
32177 }
32178 #[cfg(feature = "extra-children")]
32179 for extra in extra_iter {
32180 extra.node.write_to(writer).map_err(SerializeError::from)?;
32181 }
32182 Ok(())
32183 }
32184
32185 fn is_empty_element(&self) -> bool {
32186 #[cfg(feature = "dml-diagrams")]
32187 if !self.title.is_empty() {
32188 return false;
32189 }
32190 #[cfg(feature = "dml-diagrams")]
32191 if !self.desc.is_empty() {
32192 return false;
32193 }
32194 #[cfg(feature = "dml-diagrams")]
32195 if self.cat_lst.is_some() {
32196 return false;
32197 }
32198 #[cfg(feature = "dml-diagrams")]
32199 if !self.style_lbl.is_empty() {
32200 return false;
32201 }
32202 #[cfg(feature = "dml-diagrams")]
32203 if self.ext_lst.is_some() {
32204 return false;
32205 }
32206 #[cfg(feature = "extra-children")]
32207 if !self.extra_children.is_empty() {
32208 return false;
32209 }
32210 true
32211 }
32212}
32213
32214impl ToXml for DiagramColorTransformHeader {
32215 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32216 #[allow(unused_mut)]
32217 let mut start = start;
32218 #[cfg(feature = "dml-diagrams")]
32219 {
32220 let val = &self.unique_id;
32221 start.push_attribute(("uniqueId", val.as_str()));
32222 }
32223 #[cfg(feature = "dml-diagrams")]
32224 if let Some(ref val) = self.min_ver {
32225 start.push_attribute(("minVer", val.as_str()));
32226 }
32227 #[cfg(feature = "dml-diagrams")]
32228 if let Some(ref val) = self.res_id {
32229 {
32230 let s = val.to_string();
32231 start.push_attribute(("resId", s.as_str()));
32232 }
32233 }
32234 #[cfg(feature = "extra-attrs")]
32235 for (key, value) in &self.extra_attrs {
32236 start.push_attribute((key.as_str(), value.as_str()));
32237 }
32238 start
32239 }
32240
32241 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32242 #[cfg(feature = "extra-children")]
32243 let mut extra_iter = self.extra_children.iter().peekable();
32244 #[cfg(feature = "extra-children")]
32245 let mut emit_idx: usize = 0;
32246 #[cfg(feature = "dml-diagrams")]
32247 for item in &self.title {
32248 #[cfg(feature = "extra-children")]
32249 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32250 extra_iter
32251 .next()
32252 .unwrap()
32253 .node
32254 .write_to(writer)
32255 .map_err(SerializeError::from)?;
32256 }
32257 item.write_element("a:title", writer)?;
32258 #[cfg(feature = "extra-children")]
32259 {
32260 emit_idx += 1;
32261 }
32262 }
32263 #[cfg(feature = "dml-diagrams")]
32264 for item in &self.desc {
32265 #[cfg(feature = "extra-children")]
32266 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32267 extra_iter
32268 .next()
32269 .unwrap()
32270 .node
32271 .write_to(writer)
32272 .map_err(SerializeError::from)?;
32273 }
32274 item.write_element("a:desc", writer)?;
32275 #[cfg(feature = "extra-children")]
32276 {
32277 emit_idx += 1;
32278 }
32279 }
32280 #[cfg(feature = "extra-children")]
32281 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32282 extra_iter
32283 .next()
32284 .unwrap()
32285 .node
32286 .write_to(writer)
32287 .map_err(SerializeError::from)?;
32288 }
32289 #[cfg(feature = "dml-diagrams")]
32290 if let Some(ref val) = self.cat_lst {
32291 val.write_element("a:catLst", writer)?;
32292 }
32293 #[cfg(feature = "extra-children")]
32294 {
32295 emit_idx += 1;
32296 }
32297 #[cfg(feature = "extra-children")]
32298 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32299 extra_iter
32300 .next()
32301 .unwrap()
32302 .node
32303 .write_to(writer)
32304 .map_err(SerializeError::from)?;
32305 }
32306 #[cfg(feature = "dml-diagrams")]
32307 if let Some(ref val) = self.ext_lst {
32308 val.write_element("a:extLst", writer)?;
32309 }
32310 #[cfg(feature = "extra-children")]
32311 {
32312 emit_idx += 1;
32313 }
32314 #[cfg(feature = "extra-children")]
32315 for extra in extra_iter {
32316 extra.node.write_to(writer).map_err(SerializeError::from)?;
32317 }
32318 Ok(())
32319 }
32320
32321 fn is_empty_element(&self) -> bool {
32322 #[cfg(feature = "dml-diagrams")]
32323 if !self.title.is_empty() {
32324 return false;
32325 }
32326 #[cfg(feature = "dml-diagrams")]
32327 if !self.desc.is_empty() {
32328 return false;
32329 }
32330 #[cfg(feature = "dml-diagrams")]
32331 if self.cat_lst.is_some() {
32332 return false;
32333 }
32334 #[cfg(feature = "dml-diagrams")]
32335 if self.ext_lst.is_some() {
32336 return false;
32337 }
32338 #[cfg(feature = "extra-children")]
32339 if !self.extra_children.is_empty() {
32340 return false;
32341 }
32342 true
32343 }
32344}
32345
32346impl ToXml for DiagramColorTransformHeaderList {
32347 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32348 #[cfg(feature = "extra-children")]
32349 let mut extra_iter = self.extra_children.iter().peekable();
32350 #[cfg(feature = "extra-children")]
32351 let mut emit_idx: usize = 0;
32352 #[cfg(feature = "dml-diagrams")]
32353 for item in &self.colors_def_hdr {
32354 #[cfg(feature = "extra-children")]
32355 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32356 extra_iter
32357 .next()
32358 .unwrap()
32359 .node
32360 .write_to(writer)
32361 .map_err(SerializeError::from)?;
32362 }
32363 item.write_element("a:colorsDefHdr", writer)?;
32364 #[cfg(feature = "extra-children")]
32365 {
32366 emit_idx += 1;
32367 }
32368 }
32369 #[cfg(feature = "extra-children")]
32370 for extra in extra_iter {
32371 extra.node.write_to(writer).map_err(SerializeError::from)?;
32372 }
32373 Ok(())
32374 }
32375
32376 fn is_empty_element(&self) -> bool {
32377 #[cfg(feature = "dml-diagrams")]
32378 if !self.colors_def_hdr.is_empty() {
32379 return false;
32380 }
32381 #[cfg(feature = "extra-children")]
32382 if !self.extra_children.is_empty() {
32383 return false;
32384 }
32385 true
32386 }
32387}
32388
32389impl ToXml for DiagramPoint {
32390 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32391 #[allow(unused_mut)]
32392 let mut start = start;
32393 #[cfg(feature = "dml-diagrams")]
32394 {
32395 let val = &self.model_id;
32396 {
32397 let s = val.to_string();
32398 start.push_attribute(("modelId", s.as_str()));
32399 }
32400 }
32401 #[cfg(feature = "dml-diagrams")]
32402 if let Some(ref val) = self.r#type {
32403 {
32404 let s = val.to_string();
32405 start.push_attribute(("type", s.as_str()));
32406 }
32407 }
32408 #[cfg(feature = "dml-diagrams")]
32409 if let Some(ref val) = self.cxn_id {
32410 {
32411 let s = val.to_string();
32412 start.push_attribute(("cxnId", s.as_str()));
32413 }
32414 }
32415 #[cfg(feature = "extra-attrs")]
32416 for (key, value) in &self.extra_attrs {
32417 start.push_attribute((key.as_str(), value.as_str()));
32418 }
32419 start
32420 }
32421
32422 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32423 #[cfg(feature = "extra-children")]
32424 let mut extra_iter = self.extra_children.iter().peekable();
32425 #[cfg(feature = "extra-children")]
32426 let mut emit_idx: usize = 0;
32427 #[cfg(feature = "extra-children")]
32428 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32429 extra_iter
32430 .next()
32431 .unwrap()
32432 .node
32433 .write_to(writer)
32434 .map_err(SerializeError::from)?;
32435 }
32436 #[cfg(feature = "dml-diagrams")]
32437 if let Some(ref val) = self.pr_set {
32438 val.write_element("a:prSet", writer)?;
32439 }
32440 #[cfg(feature = "extra-children")]
32441 {
32442 emit_idx += 1;
32443 }
32444 #[cfg(feature = "extra-children")]
32445 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32446 extra_iter
32447 .next()
32448 .unwrap()
32449 .node
32450 .write_to(writer)
32451 .map_err(SerializeError::from)?;
32452 }
32453 #[cfg(feature = "dml-diagrams")]
32454 if let Some(ref val) = self.sp_pr {
32455 val.write_element("a:spPr", writer)?;
32456 }
32457 #[cfg(feature = "extra-children")]
32458 {
32459 emit_idx += 1;
32460 }
32461 #[cfg(feature = "extra-children")]
32462 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32463 extra_iter
32464 .next()
32465 .unwrap()
32466 .node
32467 .write_to(writer)
32468 .map_err(SerializeError::from)?;
32469 }
32470 #[cfg(feature = "dml-diagrams")]
32471 if let Some(ref val) = self.t {
32472 val.write_element("a:t", writer)?;
32473 }
32474 #[cfg(feature = "extra-children")]
32475 {
32476 emit_idx += 1;
32477 }
32478 #[cfg(feature = "extra-children")]
32479 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32480 extra_iter
32481 .next()
32482 .unwrap()
32483 .node
32484 .write_to(writer)
32485 .map_err(SerializeError::from)?;
32486 }
32487 #[cfg(feature = "dml-diagrams")]
32488 if let Some(ref val) = self.ext_lst {
32489 val.write_element("a:extLst", writer)?;
32490 }
32491 #[cfg(feature = "extra-children")]
32492 {
32493 emit_idx += 1;
32494 }
32495 #[cfg(feature = "extra-children")]
32496 for extra in extra_iter {
32497 extra.node.write_to(writer).map_err(SerializeError::from)?;
32498 }
32499 Ok(())
32500 }
32501
32502 fn is_empty_element(&self) -> bool {
32503 #[cfg(feature = "dml-diagrams")]
32504 if self.pr_set.is_some() {
32505 return false;
32506 }
32507 #[cfg(feature = "dml-diagrams")]
32508 if self.sp_pr.is_some() {
32509 return false;
32510 }
32511 #[cfg(feature = "dml-diagrams")]
32512 if self.t.is_some() {
32513 return false;
32514 }
32515 #[cfg(feature = "dml-diagrams")]
32516 if self.ext_lst.is_some() {
32517 return false;
32518 }
32519 #[cfg(feature = "extra-children")]
32520 if !self.extra_children.is_empty() {
32521 return false;
32522 }
32523 true
32524 }
32525}
32526
32527impl ToXml for DiagramPointList {
32528 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32529 #[cfg(feature = "extra-children")]
32530 let mut extra_iter = self.extra_children.iter().peekable();
32531 #[cfg(feature = "extra-children")]
32532 let mut emit_idx: usize = 0;
32533 #[cfg(feature = "dml-diagrams")]
32534 for item in &self.pt {
32535 #[cfg(feature = "extra-children")]
32536 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32537 extra_iter
32538 .next()
32539 .unwrap()
32540 .node
32541 .write_to(writer)
32542 .map_err(SerializeError::from)?;
32543 }
32544 item.write_element("a:pt", writer)?;
32545 #[cfg(feature = "extra-children")]
32546 {
32547 emit_idx += 1;
32548 }
32549 }
32550 #[cfg(feature = "extra-children")]
32551 for extra in extra_iter {
32552 extra.node.write_to(writer).map_err(SerializeError::from)?;
32553 }
32554 Ok(())
32555 }
32556
32557 fn is_empty_element(&self) -> bool {
32558 #[cfg(feature = "dml-diagrams")]
32559 if !self.pt.is_empty() {
32560 return false;
32561 }
32562 #[cfg(feature = "extra-children")]
32563 if !self.extra_children.is_empty() {
32564 return false;
32565 }
32566 true
32567 }
32568}
32569
32570impl ToXml for DiagramConnection {
32571 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32572 #[allow(unused_mut)]
32573 let mut start = start;
32574 #[cfg(feature = "dml-diagrams")]
32575 {
32576 let val = &self.model_id;
32577 {
32578 let s = val.to_string();
32579 start.push_attribute(("modelId", s.as_str()));
32580 }
32581 }
32582 #[cfg(feature = "dml-diagrams")]
32583 if let Some(ref val) = self.r#type {
32584 {
32585 let s = val.to_string();
32586 start.push_attribute(("type", s.as_str()));
32587 }
32588 }
32589 #[cfg(feature = "dml-diagrams")]
32590 {
32591 let val = &self.src_id;
32592 {
32593 let s = val.to_string();
32594 start.push_attribute(("srcId", s.as_str()));
32595 }
32596 }
32597 #[cfg(feature = "dml-diagrams")]
32598 {
32599 let val = &self.dest_id;
32600 {
32601 let s = val.to_string();
32602 start.push_attribute(("destId", s.as_str()));
32603 }
32604 }
32605 #[cfg(feature = "dml-diagrams")]
32606 {
32607 let val = &self.src_ord;
32608 {
32609 let s = val.to_string();
32610 start.push_attribute(("srcOrd", s.as_str()));
32611 }
32612 }
32613 #[cfg(feature = "dml-diagrams")]
32614 {
32615 let val = &self.dest_ord;
32616 {
32617 let s = val.to_string();
32618 start.push_attribute(("destOrd", s.as_str()));
32619 }
32620 }
32621 #[cfg(feature = "dml-diagrams")]
32622 if let Some(ref val) = self.par_trans_id {
32623 {
32624 let s = val.to_string();
32625 start.push_attribute(("parTransId", s.as_str()));
32626 }
32627 }
32628 #[cfg(feature = "dml-diagrams")]
32629 if let Some(ref val) = self.sib_trans_id {
32630 {
32631 let s = val.to_string();
32632 start.push_attribute(("sibTransId", s.as_str()));
32633 }
32634 }
32635 #[cfg(feature = "dml-diagrams")]
32636 if let Some(ref val) = self.pres_id {
32637 start.push_attribute(("presId", val.as_str()));
32638 }
32639 #[cfg(feature = "extra-attrs")]
32640 for (key, value) in &self.extra_attrs {
32641 start.push_attribute((key.as_str(), value.as_str()));
32642 }
32643 start
32644 }
32645
32646 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32647 #[cfg(feature = "extra-children")]
32648 let mut extra_iter = self.extra_children.iter().peekable();
32649 #[cfg(feature = "extra-children")]
32650 let mut emit_idx: usize = 0;
32651 #[cfg(feature = "extra-children")]
32652 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32653 extra_iter
32654 .next()
32655 .unwrap()
32656 .node
32657 .write_to(writer)
32658 .map_err(SerializeError::from)?;
32659 }
32660 #[cfg(feature = "dml-diagrams")]
32661 if let Some(ref val) = self.ext_lst {
32662 val.write_element("a:extLst", writer)?;
32663 }
32664 #[cfg(feature = "extra-children")]
32665 {
32666 emit_idx += 1;
32667 }
32668 #[cfg(feature = "extra-children")]
32669 for extra in extra_iter {
32670 extra.node.write_to(writer).map_err(SerializeError::from)?;
32671 }
32672 Ok(())
32673 }
32674
32675 fn is_empty_element(&self) -> bool {
32676 #[cfg(feature = "dml-diagrams")]
32677 if self.ext_lst.is_some() {
32678 return false;
32679 }
32680 #[cfg(feature = "extra-children")]
32681 if !self.extra_children.is_empty() {
32682 return false;
32683 }
32684 true
32685 }
32686}
32687
32688impl ToXml for DiagramConnectionList {
32689 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32690 #[cfg(feature = "extra-children")]
32691 let mut extra_iter = self.extra_children.iter().peekable();
32692 #[cfg(feature = "extra-children")]
32693 let mut emit_idx: usize = 0;
32694 #[cfg(feature = "dml-diagrams")]
32695 for item in &self.cxn {
32696 #[cfg(feature = "extra-children")]
32697 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32698 extra_iter
32699 .next()
32700 .unwrap()
32701 .node
32702 .write_to(writer)
32703 .map_err(SerializeError::from)?;
32704 }
32705 item.write_element("a:cxn", writer)?;
32706 #[cfg(feature = "extra-children")]
32707 {
32708 emit_idx += 1;
32709 }
32710 }
32711 #[cfg(feature = "extra-children")]
32712 for extra in extra_iter {
32713 extra.node.write_to(writer).map_err(SerializeError::from)?;
32714 }
32715 Ok(())
32716 }
32717
32718 fn is_empty_element(&self) -> bool {
32719 #[cfg(feature = "dml-diagrams")]
32720 if !self.cxn.is_empty() {
32721 return false;
32722 }
32723 #[cfg(feature = "extra-children")]
32724 if !self.extra_children.is_empty() {
32725 return false;
32726 }
32727 true
32728 }
32729}
32730
32731impl ToXml for DataModel {
32732 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
32733 #[cfg(feature = "extra-children")]
32734 let mut extra_iter = self.extra_children.iter().peekable();
32735 #[cfg(feature = "extra-children")]
32736 let mut emit_idx: usize = 0;
32737 #[cfg(feature = "extra-children")]
32738 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32739 extra_iter
32740 .next()
32741 .unwrap()
32742 .node
32743 .write_to(writer)
32744 .map_err(SerializeError::from)?;
32745 }
32746 #[cfg(feature = "dml-diagrams")]
32747 {
32748 let val = &self.pt_lst;
32749 val.write_element("a:ptLst", writer)?;
32750 }
32751 #[cfg(feature = "extra-children")]
32752 {
32753 emit_idx += 1;
32754 }
32755 #[cfg(feature = "extra-children")]
32756 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32757 extra_iter
32758 .next()
32759 .unwrap()
32760 .node
32761 .write_to(writer)
32762 .map_err(SerializeError::from)?;
32763 }
32764 #[cfg(feature = "dml-diagrams")]
32765 if let Some(ref val) = self.cxn_lst {
32766 val.write_element("a:cxnLst", writer)?;
32767 }
32768 #[cfg(feature = "extra-children")]
32769 {
32770 emit_idx += 1;
32771 }
32772 #[cfg(feature = "extra-children")]
32773 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32774 extra_iter
32775 .next()
32776 .unwrap()
32777 .node
32778 .write_to(writer)
32779 .map_err(SerializeError::from)?;
32780 }
32781 #[cfg(feature = "dml-diagrams")]
32782 if let Some(ref val) = self.bg {
32783 val.write_element("a:bg", writer)?;
32784 }
32785 #[cfg(feature = "extra-children")]
32786 {
32787 emit_idx += 1;
32788 }
32789 #[cfg(feature = "extra-children")]
32790 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32791 extra_iter
32792 .next()
32793 .unwrap()
32794 .node
32795 .write_to(writer)
32796 .map_err(SerializeError::from)?;
32797 }
32798 #[cfg(feature = "dml-diagrams")]
32799 if let Some(ref val) = self.whole {
32800 val.write_element("a:whole", writer)?;
32801 }
32802 #[cfg(feature = "extra-children")]
32803 {
32804 emit_idx += 1;
32805 }
32806 #[cfg(feature = "extra-children")]
32807 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
32808 extra_iter
32809 .next()
32810 .unwrap()
32811 .node
32812 .write_to(writer)
32813 .map_err(SerializeError::from)?;
32814 }
32815 #[cfg(feature = "dml-diagrams")]
32816 if let Some(ref val) = self.ext_lst {
32817 val.write_element("a:extLst", writer)?;
32818 }
32819 #[cfg(feature = "extra-children")]
32820 {
32821 emit_idx += 1;
32822 }
32823 #[cfg(feature = "extra-children")]
32824 for extra in extra_iter {
32825 extra.node.write_to(writer).map_err(SerializeError::from)?;
32826 }
32827 Ok(())
32828 }
32829
32830 fn is_empty_element(&self) -> bool {
32831 #[cfg(feature = "dml-diagrams")]
32832 return false;
32833 #[cfg(feature = "dml-diagrams")]
32834 if self.cxn_lst.is_some() {
32835 return false;
32836 }
32837 #[cfg(feature = "dml-diagrams")]
32838 if self.bg.is_some() {
32839 return false;
32840 }
32841 #[cfg(feature = "dml-diagrams")]
32842 if self.whole.is_some() {
32843 return false;
32844 }
32845 #[cfg(feature = "dml-diagrams")]
32846 if self.ext_lst.is_some() {
32847 return false;
32848 }
32849 #[cfg(feature = "extra-children")]
32850 if !self.extra_children.is_empty() {
32851 return false;
32852 }
32853 true
32854 }
32855}
32856
32857impl ToXml for DdgrmAGIteratorAttributes {
32858 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32859 #[allow(unused_mut)]
32860 let mut start = start;
32861 if let Some(ref val) = self.axis {
32862 start.push_attribute(("axis", val.as_str()));
32863 }
32864 if let Some(ref val) = self.pt_type {
32865 start.push_attribute(("ptType", val.as_str()));
32866 }
32867 if let Some(ref val) = self.hide_last_trans {
32868 start.push_attribute(("hideLastTrans", val.as_str()));
32869 }
32870 if let Some(ref val) = self.st {
32871 start.push_attribute(("st", val.as_str()));
32872 }
32873 if let Some(ref val) = self.cnt {
32874 start.push_attribute(("cnt", val.as_str()));
32875 }
32876 if let Some(ref val) = self.step {
32877 start.push_attribute(("step", val.as_str()));
32878 }
32879 #[cfg(feature = "extra-attrs")]
32880 for (key, value) in &self.extra_attrs {
32881 start.push_attribute((key.as_str(), value.as_str()));
32882 }
32883 start
32884 }
32885
32886 fn is_empty_element(&self) -> bool {
32887 true
32888 }
32889}
32890
32891impl ToXml for DdgrmAGConstraintAttributes {
32892 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32893 #[allow(unused_mut)]
32894 let mut start = start;
32895 {
32896 let val = &self.r#type;
32897 {
32898 let s = val.to_string();
32899 start.push_attribute(("type", s.as_str()));
32900 }
32901 }
32902 if let Some(ref val) = self.r#for {
32903 {
32904 let s = val.to_string();
32905 start.push_attribute(("for", s.as_str()));
32906 }
32907 }
32908 if let Some(ref val) = self.for_name {
32909 start.push_attribute(("forName", val.as_str()));
32910 }
32911 if let Some(ref val) = self.pt_type {
32912 {
32913 let s = val.to_string();
32914 start.push_attribute(("ptType", s.as_str()));
32915 }
32916 }
32917 #[cfg(feature = "extra-attrs")]
32918 for (key, value) in &self.extra_attrs {
32919 start.push_attribute((key.as_str(), value.as_str()));
32920 }
32921 start
32922 }
32923
32924 fn is_empty_element(&self) -> bool {
32925 true
32926 }
32927}
32928
32929impl ToXml for DdgrmAGConstraintRefAttributes {
32930 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32931 #[allow(unused_mut)]
32932 let mut start = start;
32933 if let Some(ref val) = self.ref_type {
32934 {
32935 let s = val.to_string();
32936 start.push_attribute(("refType", s.as_str()));
32937 }
32938 }
32939 if let Some(ref val) = self.ref_for {
32940 {
32941 let s = val.to_string();
32942 start.push_attribute(("refFor", s.as_str()));
32943 }
32944 }
32945 if let Some(ref val) = self.ref_for_name {
32946 start.push_attribute(("refForName", val.as_str()));
32947 }
32948 if let Some(ref val) = self.ref_pt_type {
32949 {
32950 let s = val.to_string();
32951 start.push_attribute(("refPtType", s.as_str()));
32952 }
32953 }
32954 #[cfg(feature = "extra-attrs")]
32955 for (key, value) in &self.extra_attrs {
32956 start.push_attribute((key.as_str(), value.as_str()));
32957 }
32958 start
32959 }
32960
32961 fn is_empty_element(&self) -> bool {
32962 true
32963 }
32964}
32965
32966impl ToXml for LayoutConstraint {
32967 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
32968 #[allow(unused_mut)]
32969 let mut start = start;
32970 #[cfg(feature = "dml-diagrams")]
32971 {
32972 let val = &self.r#type;
32973 {
32974 let s = val.to_string();
32975 start.push_attribute(("type", s.as_str()));
32976 }
32977 }
32978 #[cfg(feature = "dml-diagrams")]
32979 if let Some(ref val) = self.r#for {
32980 {
32981 let s = val.to_string();
32982 start.push_attribute(("for", s.as_str()));
32983 }
32984 }
32985 #[cfg(feature = "dml-diagrams")]
32986 if let Some(ref val) = self.for_name {
32987 start.push_attribute(("forName", val.as_str()));
32988 }
32989 #[cfg(feature = "dml-diagrams")]
32990 if let Some(ref val) = self.pt_type {
32991 {
32992 let s = val.to_string();
32993 start.push_attribute(("ptType", s.as_str()));
32994 }
32995 }
32996 #[cfg(feature = "dml-diagrams")]
32997 if let Some(ref val) = self.ref_type {
32998 {
32999 let s = val.to_string();
33000 start.push_attribute(("refType", s.as_str()));
33001 }
33002 }
33003 #[cfg(feature = "dml-diagrams")]
33004 if let Some(ref val) = self.ref_for {
33005 {
33006 let s = val.to_string();
33007 start.push_attribute(("refFor", s.as_str()));
33008 }
33009 }
33010 #[cfg(feature = "dml-diagrams")]
33011 if let Some(ref val) = self.ref_for_name {
33012 start.push_attribute(("refForName", val.as_str()));
33013 }
33014 #[cfg(feature = "dml-diagrams")]
33015 if let Some(ref val) = self.ref_pt_type {
33016 {
33017 let s = val.to_string();
33018 start.push_attribute(("refPtType", s.as_str()));
33019 }
33020 }
33021 #[cfg(feature = "dml-diagrams")]
33022 if let Some(ref val) = self.op {
33023 {
33024 let s = val.to_string();
33025 start.push_attribute(("op", s.as_str()));
33026 }
33027 }
33028 #[cfg(feature = "dml-diagrams")]
33029 if let Some(ref val) = self.value {
33030 {
33031 let s = val.to_string();
33032 start.push_attribute(("val", s.as_str()));
33033 }
33034 }
33035 #[cfg(feature = "dml-diagrams")]
33036 if let Some(ref val) = self.fact {
33037 {
33038 let s = val.to_string();
33039 start.push_attribute(("fact", s.as_str()));
33040 }
33041 }
33042 #[cfg(feature = "extra-attrs")]
33043 for (key, value) in &self.extra_attrs {
33044 start.push_attribute((key.as_str(), value.as_str()));
33045 }
33046 start
33047 }
33048
33049 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33050 #[cfg(feature = "extra-children")]
33051 let mut extra_iter = self.extra_children.iter().peekable();
33052 #[cfg(feature = "extra-children")]
33053 let mut emit_idx: usize = 0;
33054 #[cfg(feature = "extra-children")]
33055 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33056 extra_iter
33057 .next()
33058 .unwrap()
33059 .node
33060 .write_to(writer)
33061 .map_err(SerializeError::from)?;
33062 }
33063 #[cfg(feature = "dml-diagrams")]
33064 if let Some(ref val) = self.ext_lst {
33065 val.write_element("a:extLst", writer)?;
33066 }
33067 #[cfg(feature = "extra-children")]
33068 {
33069 emit_idx += 1;
33070 }
33071 #[cfg(feature = "extra-children")]
33072 for extra in extra_iter {
33073 extra.node.write_to(writer).map_err(SerializeError::from)?;
33074 }
33075 Ok(())
33076 }
33077
33078 fn is_empty_element(&self) -> bool {
33079 #[cfg(feature = "dml-diagrams")]
33080 if self.ext_lst.is_some() {
33081 return false;
33082 }
33083 #[cfg(feature = "extra-children")]
33084 if !self.extra_children.is_empty() {
33085 return false;
33086 }
33087 true
33088 }
33089}
33090
33091impl ToXml for LayoutConstraints {
33092 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33093 #[cfg(feature = "extra-children")]
33094 let mut extra_iter = self.extra_children.iter().peekable();
33095 #[cfg(feature = "extra-children")]
33096 let mut emit_idx: usize = 0;
33097 #[cfg(feature = "dml-diagrams")]
33098 for item in &self.constr {
33099 #[cfg(feature = "extra-children")]
33100 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33101 extra_iter
33102 .next()
33103 .unwrap()
33104 .node
33105 .write_to(writer)
33106 .map_err(SerializeError::from)?;
33107 }
33108 item.write_element("a:constr", writer)?;
33109 #[cfg(feature = "extra-children")]
33110 {
33111 emit_idx += 1;
33112 }
33113 }
33114 #[cfg(feature = "extra-children")]
33115 for extra in extra_iter {
33116 extra.node.write_to(writer).map_err(SerializeError::from)?;
33117 }
33118 Ok(())
33119 }
33120
33121 fn is_empty_element(&self) -> bool {
33122 #[cfg(feature = "dml-diagrams")]
33123 if !self.constr.is_empty() {
33124 return false;
33125 }
33126 #[cfg(feature = "extra-children")]
33127 if !self.extra_children.is_empty() {
33128 return false;
33129 }
33130 true
33131 }
33132}
33133
33134impl ToXml for NumericRule {
33135 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33136 #[allow(unused_mut)]
33137 let mut start = start;
33138 #[cfg(feature = "dml-diagrams")]
33139 {
33140 let val = &self.r#type;
33141 {
33142 let s = val.to_string();
33143 start.push_attribute(("type", s.as_str()));
33144 }
33145 }
33146 #[cfg(feature = "dml-diagrams")]
33147 if let Some(ref val) = self.r#for {
33148 {
33149 let s = val.to_string();
33150 start.push_attribute(("for", s.as_str()));
33151 }
33152 }
33153 #[cfg(feature = "dml-diagrams")]
33154 if let Some(ref val) = self.for_name {
33155 start.push_attribute(("forName", val.as_str()));
33156 }
33157 #[cfg(feature = "dml-diagrams")]
33158 if let Some(ref val) = self.pt_type {
33159 {
33160 let s = val.to_string();
33161 start.push_attribute(("ptType", s.as_str()));
33162 }
33163 }
33164 #[cfg(feature = "dml-diagrams")]
33165 if let Some(ref val) = self.value {
33166 {
33167 let s = val.to_string();
33168 start.push_attribute(("val", s.as_str()));
33169 }
33170 }
33171 #[cfg(feature = "dml-diagrams")]
33172 if let Some(ref val) = self.fact {
33173 {
33174 let s = val.to_string();
33175 start.push_attribute(("fact", s.as_str()));
33176 }
33177 }
33178 #[cfg(feature = "dml-diagrams")]
33179 if let Some(ref val) = self.max {
33180 {
33181 let s = val.to_string();
33182 start.push_attribute(("max", s.as_str()));
33183 }
33184 }
33185 #[cfg(feature = "extra-attrs")]
33186 for (key, value) in &self.extra_attrs {
33187 start.push_attribute((key.as_str(), value.as_str()));
33188 }
33189 start
33190 }
33191
33192 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33193 #[cfg(feature = "extra-children")]
33194 let mut extra_iter = self.extra_children.iter().peekable();
33195 #[cfg(feature = "extra-children")]
33196 let mut emit_idx: usize = 0;
33197 #[cfg(feature = "extra-children")]
33198 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33199 extra_iter
33200 .next()
33201 .unwrap()
33202 .node
33203 .write_to(writer)
33204 .map_err(SerializeError::from)?;
33205 }
33206 #[cfg(feature = "dml-diagrams")]
33207 if let Some(ref val) = self.ext_lst {
33208 val.write_element("a:extLst", writer)?;
33209 }
33210 #[cfg(feature = "extra-children")]
33211 {
33212 emit_idx += 1;
33213 }
33214 #[cfg(feature = "extra-children")]
33215 for extra in extra_iter {
33216 extra.node.write_to(writer).map_err(SerializeError::from)?;
33217 }
33218 Ok(())
33219 }
33220
33221 fn is_empty_element(&self) -> bool {
33222 #[cfg(feature = "dml-diagrams")]
33223 if self.ext_lst.is_some() {
33224 return false;
33225 }
33226 #[cfg(feature = "extra-children")]
33227 if !self.extra_children.is_empty() {
33228 return false;
33229 }
33230 true
33231 }
33232}
33233
33234impl ToXml for LayoutRules {
33235 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33236 #[cfg(feature = "extra-children")]
33237 let mut extra_iter = self.extra_children.iter().peekable();
33238 #[cfg(feature = "extra-children")]
33239 let mut emit_idx: usize = 0;
33240 #[cfg(feature = "dml-diagrams")]
33241 for item in &self.rule {
33242 #[cfg(feature = "extra-children")]
33243 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33244 extra_iter
33245 .next()
33246 .unwrap()
33247 .node
33248 .write_to(writer)
33249 .map_err(SerializeError::from)?;
33250 }
33251 item.write_element("a:rule", writer)?;
33252 #[cfg(feature = "extra-children")]
33253 {
33254 emit_idx += 1;
33255 }
33256 }
33257 #[cfg(feature = "extra-children")]
33258 for extra in extra_iter {
33259 extra.node.write_to(writer).map_err(SerializeError::from)?;
33260 }
33261 Ok(())
33262 }
33263
33264 fn is_empty_element(&self) -> bool {
33265 #[cfg(feature = "dml-diagrams")]
33266 if !self.rule.is_empty() {
33267 return false;
33268 }
33269 #[cfg(feature = "extra-children")]
33270 if !self.extra_children.is_empty() {
33271 return false;
33272 }
33273 true
33274 }
33275}
33276
33277impl ToXml for PresentationOf {
33278 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33279 #[allow(unused_mut)]
33280 let mut start = start;
33281 #[cfg(feature = "dml-diagrams")]
33282 if let Some(ref val) = self.axis {
33283 start.push_attribute(("axis", val.as_str()));
33284 }
33285 #[cfg(feature = "dml-diagrams")]
33286 if let Some(ref val) = self.pt_type {
33287 start.push_attribute(("ptType", val.as_str()));
33288 }
33289 #[cfg(feature = "dml-diagrams")]
33290 if let Some(ref val) = self.hide_last_trans {
33291 start.push_attribute(("hideLastTrans", val.as_str()));
33292 }
33293 #[cfg(feature = "dml-diagrams")]
33294 if let Some(ref val) = self.st {
33295 start.push_attribute(("st", val.as_str()));
33296 }
33297 #[cfg(feature = "dml-diagrams")]
33298 if let Some(ref val) = self.cnt {
33299 start.push_attribute(("cnt", val.as_str()));
33300 }
33301 #[cfg(feature = "dml-diagrams")]
33302 if let Some(ref val) = self.step {
33303 start.push_attribute(("step", val.as_str()));
33304 }
33305 #[cfg(feature = "extra-attrs")]
33306 for (key, value) in &self.extra_attrs {
33307 start.push_attribute((key.as_str(), value.as_str()));
33308 }
33309 start
33310 }
33311
33312 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33313 #[cfg(feature = "extra-children")]
33314 let mut extra_iter = self.extra_children.iter().peekable();
33315 #[cfg(feature = "extra-children")]
33316 let mut emit_idx: usize = 0;
33317 #[cfg(feature = "extra-children")]
33318 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33319 extra_iter
33320 .next()
33321 .unwrap()
33322 .node
33323 .write_to(writer)
33324 .map_err(SerializeError::from)?;
33325 }
33326 #[cfg(feature = "dml-diagrams")]
33327 if let Some(ref val) = self.ext_lst {
33328 val.write_element("a:extLst", writer)?;
33329 }
33330 #[cfg(feature = "extra-children")]
33331 {
33332 emit_idx += 1;
33333 }
33334 #[cfg(feature = "extra-children")]
33335 for extra in extra_iter {
33336 extra.node.write_to(writer).map_err(SerializeError::from)?;
33337 }
33338 Ok(())
33339 }
33340
33341 fn is_empty_element(&self) -> bool {
33342 #[cfg(feature = "dml-diagrams")]
33343 if self.ext_lst.is_some() {
33344 return false;
33345 }
33346 #[cfg(feature = "extra-children")]
33347 if !self.extra_children.is_empty() {
33348 return false;
33349 }
33350 true
33351 }
33352}
33353
33354impl ToXml for LayoutAdjustment {
33355 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33356 #[allow(unused_mut)]
33357 let mut start = start;
33358 #[cfg(feature = "dml-diagrams")]
33359 {
33360 let val = &self.idx;
33361 {
33362 let s = val.to_string();
33363 start.push_attribute(("idx", s.as_str()));
33364 }
33365 }
33366 #[cfg(feature = "dml-diagrams")]
33367 {
33368 let val = &self.value;
33369 {
33370 let s = val.to_string();
33371 start.push_attribute(("val", s.as_str()));
33372 }
33373 }
33374 #[cfg(feature = "extra-attrs")]
33375 for (key, value) in &self.extra_attrs {
33376 start.push_attribute((key.as_str(), value.as_str()));
33377 }
33378 start
33379 }
33380
33381 fn is_empty_element(&self) -> bool {
33382 true
33383 }
33384}
33385
33386impl ToXml for LayoutAdjustmentList {
33387 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33388 #[cfg(feature = "extra-children")]
33389 let mut extra_iter = self.extra_children.iter().peekable();
33390 #[cfg(feature = "extra-children")]
33391 let mut emit_idx: usize = 0;
33392 #[cfg(feature = "dml-diagrams")]
33393 for item in &self.adj {
33394 #[cfg(feature = "extra-children")]
33395 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33396 extra_iter
33397 .next()
33398 .unwrap()
33399 .node
33400 .write_to(writer)
33401 .map_err(SerializeError::from)?;
33402 }
33403 item.write_element("a:adj", writer)?;
33404 #[cfg(feature = "extra-children")]
33405 {
33406 emit_idx += 1;
33407 }
33408 }
33409 #[cfg(feature = "extra-children")]
33410 for extra in extra_iter {
33411 extra.node.write_to(writer).map_err(SerializeError::from)?;
33412 }
33413 Ok(())
33414 }
33415
33416 fn is_empty_element(&self) -> bool {
33417 #[cfg(feature = "dml-diagrams")]
33418 if !self.adj.is_empty() {
33419 return false;
33420 }
33421 #[cfg(feature = "extra-children")]
33422 if !self.extra_children.is_empty() {
33423 return false;
33424 }
33425 true
33426 }
33427}
33428
33429impl ToXml for AlgorithmParameter {
33430 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33431 #[allow(unused_mut)]
33432 let mut start = start;
33433 #[cfg(feature = "dml-diagrams")]
33434 {
33435 let val = &self.r#type;
33436 {
33437 let s = val.to_string();
33438 start.push_attribute(("type", s.as_str()));
33439 }
33440 }
33441 #[cfg(feature = "dml-diagrams")]
33442 {
33443 let val = &self.value;
33444 {
33445 let s = val.to_string();
33446 start.push_attribute(("val", s.as_str()));
33447 }
33448 }
33449 #[cfg(feature = "extra-attrs")]
33450 for (key, value) in &self.extra_attrs {
33451 start.push_attribute((key.as_str(), value.as_str()));
33452 }
33453 start
33454 }
33455
33456 fn is_empty_element(&self) -> bool {
33457 true
33458 }
33459}
33460
33461impl ToXml for LayoutAlgorithm {
33462 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33463 #[allow(unused_mut)]
33464 let mut start = start;
33465 #[cfg(feature = "dml-diagrams")]
33466 {
33467 let val = &self.r#type;
33468 {
33469 let s = val.to_string();
33470 start.push_attribute(("type", s.as_str()));
33471 }
33472 }
33473 #[cfg(feature = "dml-diagrams")]
33474 if let Some(ref val) = self.rev {
33475 {
33476 let s = val.to_string();
33477 start.push_attribute(("rev", s.as_str()));
33478 }
33479 }
33480 #[cfg(feature = "extra-attrs")]
33481 for (key, value) in &self.extra_attrs {
33482 start.push_attribute((key.as_str(), value.as_str()));
33483 }
33484 start
33485 }
33486
33487 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33488 #[cfg(feature = "extra-children")]
33489 let mut extra_iter = self.extra_children.iter().peekable();
33490 #[cfg(feature = "extra-children")]
33491 let mut emit_idx: usize = 0;
33492 #[cfg(feature = "dml-diagrams")]
33493 for item in &self.param {
33494 #[cfg(feature = "extra-children")]
33495 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33496 extra_iter
33497 .next()
33498 .unwrap()
33499 .node
33500 .write_to(writer)
33501 .map_err(SerializeError::from)?;
33502 }
33503 item.write_element("a:param", writer)?;
33504 #[cfg(feature = "extra-children")]
33505 {
33506 emit_idx += 1;
33507 }
33508 }
33509 #[cfg(feature = "extra-children")]
33510 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33511 extra_iter
33512 .next()
33513 .unwrap()
33514 .node
33515 .write_to(writer)
33516 .map_err(SerializeError::from)?;
33517 }
33518 #[cfg(feature = "dml-diagrams")]
33519 if let Some(ref val) = self.ext_lst {
33520 val.write_element("a:extLst", writer)?;
33521 }
33522 #[cfg(feature = "extra-children")]
33523 {
33524 emit_idx += 1;
33525 }
33526 #[cfg(feature = "extra-children")]
33527 for extra in extra_iter {
33528 extra.node.write_to(writer).map_err(SerializeError::from)?;
33529 }
33530 Ok(())
33531 }
33532
33533 fn is_empty_element(&self) -> bool {
33534 #[cfg(feature = "dml-diagrams")]
33535 if !self.param.is_empty() {
33536 return false;
33537 }
33538 #[cfg(feature = "dml-diagrams")]
33539 if self.ext_lst.is_some() {
33540 return false;
33541 }
33542 #[cfg(feature = "extra-children")]
33543 if !self.extra_children.is_empty() {
33544 return false;
33545 }
33546 true
33547 }
33548}
33549
33550impl ToXml for LayoutNode {
33551 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33552 #[allow(unused_mut)]
33553 let mut start = start;
33554 #[cfg(feature = "dml-diagrams")]
33555 if let Some(ref val) = self.name {
33556 start.push_attribute(("name", val.as_str()));
33557 }
33558 #[cfg(feature = "dml-diagrams")]
33559 if let Some(ref val) = self.style_lbl {
33560 start.push_attribute(("styleLbl", val.as_str()));
33561 }
33562 #[cfg(feature = "dml-diagrams")]
33563 if let Some(ref val) = self.ch_order {
33564 {
33565 let s = val.to_string();
33566 start.push_attribute(("chOrder", s.as_str()));
33567 }
33568 }
33569 #[cfg(feature = "dml-diagrams")]
33570 if let Some(ref val) = self.move_with {
33571 start.push_attribute(("moveWith", val.as_str()));
33572 }
33573 #[cfg(feature = "extra-attrs")]
33574 for (key, value) in &self.extra_attrs {
33575 start.push_attribute((key.as_str(), value.as_str()));
33576 }
33577 start
33578 }
33579
33580 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33581 #[cfg(feature = "extra-children")]
33582 let mut extra_iter = self.extra_children.iter().peekable();
33583 #[cfg(feature = "extra-children")]
33584 let mut emit_idx: usize = 0;
33585 #[cfg(feature = "extra-children")]
33586 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33587 extra_iter
33588 .next()
33589 .unwrap()
33590 .node
33591 .write_to(writer)
33592 .map_err(SerializeError::from)?;
33593 }
33594 #[cfg(feature = "dml-diagrams")]
33595 if let Some(ref val) = self.alg {
33596 val.write_element("a:alg", writer)?;
33597 }
33598 #[cfg(feature = "extra-children")]
33599 {
33600 emit_idx += 1;
33601 }
33602 #[cfg(feature = "extra-children")]
33603 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33604 extra_iter
33605 .next()
33606 .unwrap()
33607 .node
33608 .write_to(writer)
33609 .map_err(SerializeError::from)?;
33610 }
33611 #[cfg(feature = "dml-diagrams")]
33612 if let Some(ref val) = self.shape {
33613 val.write_element("a:shape", writer)?;
33614 }
33615 #[cfg(feature = "extra-children")]
33616 {
33617 emit_idx += 1;
33618 }
33619 #[cfg(feature = "extra-children")]
33620 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33621 extra_iter
33622 .next()
33623 .unwrap()
33624 .node
33625 .write_to(writer)
33626 .map_err(SerializeError::from)?;
33627 }
33628 #[cfg(feature = "dml-diagrams")]
33629 if let Some(ref val) = self.pres_of {
33630 val.write_element("a:presOf", writer)?;
33631 }
33632 #[cfg(feature = "extra-children")]
33633 {
33634 emit_idx += 1;
33635 }
33636 #[cfg(feature = "extra-children")]
33637 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33638 extra_iter
33639 .next()
33640 .unwrap()
33641 .node
33642 .write_to(writer)
33643 .map_err(SerializeError::from)?;
33644 }
33645 #[cfg(feature = "dml-diagrams")]
33646 if let Some(ref val) = self.constr_lst {
33647 val.write_element("a:constrLst", writer)?;
33648 }
33649 #[cfg(feature = "extra-children")]
33650 {
33651 emit_idx += 1;
33652 }
33653 #[cfg(feature = "extra-children")]
33654 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33655 extra_iter
33656 .next()
33657 .unwrap()
33658 .node
33659 .write_to(writer)
33660 .map_err(SerializeError::from)?;
33661 }
33662 #[cfg(feature = "dml-diagrams")]
33663 if let Some(ref val) = self.rule_lst {
33664 val.write_element("a:ruleLst", writer)?;
33665 }
33666 #[cfg(feature = "extra-children")]
33667 {
33668 emit_idx += 1;
33669 }
33670 #[cfg(feature = "extra-children")]
33671 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33672 extra_iter
33673 .next()
33674 .unwrap()
33675 .node
33676 .write_to(writer)
33677 .map_err(SerializeError::from)?;
33678 }
33679 #[cfg(feature = "dml-diagrams")]
33680 if let Some(ref val) = self.var_lst {
33681 val.write_element("a:varLst", writer)?;
33682 }
33683 #[cfg(feature = "extra-children")]
33684 {
33685 emit_idx += 1;
33686 }
33687 #[cfg(feature = "dml-diagrams")]
33688 for item in &self.for_each {
33689 #[cfg(feature = "extra-children")]
33690 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33691 extra_iter
33692 .next()
33693 .unwrap()
33694 .node
33695 .write_to(writer)
33696 .map_err(SerializeError::from)?;
33697 }
33698 item.write_element("a:forEach", writer)?;
33699 #[cfg(feature = "extra-children")]
33700 {
33701 emit_idx += 1;
33702 }
33703 }
33704 #[cfg(feature = "dml-diagrams")]
33705 for item in &self.layout_node {
33706 #[cfg(feature = "extra-children")]
33707 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33708 extra_iter
33709 .next()
33710 .unwrap()
33711 .node
33712 .write_to(writer)
33713 .map_err(SerializeError::from)?;
33714 }
33715 item.write_element("a:layoutNode", writer)?;
33716 #[cfg(feature = "extra-children")]
33717 {
33718 emit_idx += 1;
33719 }
33720 }
33721 #[cfg(feature = "dml-diagrams")]
33722 for item in &self.choose {
33723 #[cfg(feature = "extra-children")]
33724 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33725 extra_iter
33726 .next()
33727 .unwrap()
33728 .node
33729 .write_to(writer)
33730 .map_err(SerializeError::from)?;
33731 }
33732 item.write_element("a:choose", writer)?;
33733 #[cfg(feature = "extra-children")]
33734 {
33735 emit_idx += 1;
33736 }
33737 }
33738 #[cfg(feature = "extra-children")]
33739 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33740 extra_iter
33741 .next()
33742 .unwrap()
33743 .node
33744 .write_to(writer)
33745 .map_err(SerializeError::from)?;
33746 }
33747 #[cfg(feature = "dml-diagrams")]
33748 if let Some(ref val) = self.ext_lst {
33749 val.write_element("a:extLst", writer)?;
33750 }
33751 #[cfg(feature = "extra-children")]
33752 {
33753 emit_idx += 1;
33754 }
33755 #[cfg(feature = "extra-children")]
33756 for extra in extra_iter {
33757 extra.node.write_to(writer).map_err(SerializeError::from)?;
33758 }
33759 Ok(())
33760 }
33761
33762 fn is_empty_element(&self) -> bool {
33763 #[cfg(feature = "dml-diagrams")]
33764 if self.alg.is_some() {
33765 return false;
33766 }
33767 #[cfg(feature = "dml-diagrams")]
33768 if self.shape.is_some() {
33769 return false;
33770 }
33771 #[cfg(feature = "dml-diagrams")]
33772 if self.pres_of.is_some() {
33773 return false;
33774 }
33775 #[cfg(feature = "dml-diagrams")]
33776 if self.constr_lst.is_some() {
33777 return false;
33778 }
33779 #[cfg(feature = "dml-diagrams")]
33780 if self.rule_lst.is_some() {
33781 return false;
33782 }
33783 #[cfg(feature = "dml-diagrams")]
33784 if self.var_lst.is_some() {
33785 return false;
33786 }
33787 #[cfg(feature = "dml-diagrams")]
33788 if !self.for_each.is_empty() {
33789 return false;
33790 }
33791 #[cfg(feature = "dml-diagrams")]
33792 if !self.layout_node.is_empty() {
33793 return false;
33794 }
33795 #[cfg(feature = "dml-diagrams")]
33796 if !self.choose.is_empty() {
33797 return false;
33798 }
33799 #[cfg(feature = "dml-diagrams")]
33800 if self.ext_lst.is_some() {
33801 return false;
33802 }
33803 #[cfg(feature = "extra-children")]
33804 if !self.extra_children.is_empty() {
33805 return false;
33806 }
33807 true
33808 }
33809}
33810
33811impl ToXml for LayoutForEach {
33812 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
33813 #[allow(unused_mut)]
33814 let mut start = start;
33815 #[cfg(feature = "dml-diagrams")]
33816 if let Some(ref val) = self.name {
33817 start.push_attribute(("name", val.as_str()));
33818 }
33819 #[cfg(feature = "dml-diagrams")]
33820 if let Some(ref val) = self.r#ref {
33821 start.push_attribute(("ref", val.as_str()));
33822 }
33823 #[cfg(feature = "dml-diagrams")]
33824 if let Some(ref val) = self.axis {
33825 start.push_attribute(("axis", val.as_str()));
33826 }
33827 #[cfg(feature = "dml-diagrams")]
33828 if let Some(ref val) = self.pt_type {
33829 start.push_attribute(("ptType", val.as_str()));
33830 }
33831 #[cfg(feature = "dml-diagrams")]
33832 if let Some(ref val) = self.hide_last_trans {
33833 start.push_attribute(("hideLastTrans", val.as_str()));
33834 }
33835 #[cfg(feature = "dml-diagrams")]
33836 if let Some(ref val) = self.st {
33837 start.push_attribute(("st", val.as_str()));
33838 }
33839 #[cfg(feature = "dml-diagrams")]
33840 if let Some(ref val) = self.cnt {
33841 start.push_attribute(("cnt", val.as_str()));
33842 }
33843 #[cfg(feature = "dml-diagrams")]
33844 if let Some(ref val) = self.step {
33845 start.push_attribute(("step", val.as_str()));
33846 }
33847 #[cfg(feature = "extra-attrs")]
33848 for (key, value) in &self.extra_attrs {
33849 start.push_attribute((key.as_str(), value.as_str()));
33850 }
33851 start
33852 }
33853
33854 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
33855 #[cfg(feature = "extra-children")]
33856 let mut extra_iter = self.extra_children.iter().peekable();
33857 #[cfg(feature = "extra-children")]
33858 let mut emit_idx: usize = 0;
33859 #[cfg(feature = "extra-children")]
33860 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33861 extra_iter
33862 .next()
33863 .unwrap()
33864 .node
33865 .write_to(writer)
33866 .map_err(SerializeError::from)?;
33867 }
33868 #[cfg(feature = "dml-diagrams")]
33869 if let Some(ref val) = self.alg {
33870 val.write_element("a:alg", writer)?;
33871 }
33872 #[cfg(feature = "extra-children")]
33873 {
33874 emit_idx += 1;
33875 }
33876 #[cfg(feature = "extra-children")]
33877 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33878 extra_iter
33879 .next()
33880 .unwrap()
33881 .node
33882 .write_to(writer)
33883 .map_err(SerializeError::from)?;
33884 }
33885 #[cfg(feature = "dml-diagrams")]
33886 if let Some(ref val) = self.shape {
33887 val.write_element("a:shape", writer)?;
33888 }
33889 #[cfg(feature = "extra-children")]
33890 {
33891 emit_idx += 1;
33892 }
33893 #[cfg(feature = "extra-children")]
33894 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33895 extra_iter
33896 .next()
33897 .unwrap()
33898 .node
33899 .write_to(writer)
33900 .map_err(SerializeError::from)?;
33901 }
33902 #[cfg(feature = "dml-diagrams")]
33903 if let Some(ref val) = self.pres_of {
33904 val.write_element("a:presOf", writer)?;
33905 }
33906 #[cfg(feature = "extra-children")]
33907 {
33908 emit_idx += 1;
33909 }
33910 #[cfg(feature = "extra-children")]
33911 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33912 extra_iter
33913 .next()
33914 .unwrap()
33915 .node
33916 .write_to(writer)
33917 .map_err(SerializeError::from)?;
33918 }
33919 #[cfg(feature = "dml-diagrams")]
33920 if let Some(ref val) = self.constr_lst {
33921 val.write_element("a:constrLst", writer)?;
33922 }
33923 #[cfg(feature = "extra-children")]
33924 {
33925 emit_idx += 1;
33926 }
33927 #[cfg(feature = "extra-children")]
33928 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33929 extra_iter
33930 .next()
33931 .unwrap()
33932 .node
33933 .write_to(writer)
33934 .map_err(SerializeError::from)?;
33935 }
33936 #[cfg(feature = "dml-diagrams")]
33937 if let Some(ref val) = self.rule_lst {
33938 val.write_element("a:ruleLst", writer)?;
33939 }
33940 #[cfg(feature = "extra-children")]
33941 {
33942 emit_idx += 1;
33943 }
33944 #[cfg(feature = "dml-diagrams")]
33945 for item in &self.for_each {
33946 #[cfg(feature = "extra-children")]
33947 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33948 extra_iter
33949 .next()
33950 .unwrap()
33951 .node
33952 .write_to(writer)
33953 .map_err(SerializeError::from)?;
33954 }
33955 item.write_element("a:forEach", writer)?;
33956 #[cfg(feature = "extra-children")]
33957 {
33958 emit_idx += 1;
33959 }
33960 }
33961 #[cfg(feature = "dml-diagrams")]
33962 for item in &self.layout_node {
33963 #[cfg(feature = "extra-children")]
33964 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33965 extra_iter
33966 .next()
33967 .unwrap()
33968 .node
33969 .write_to(writer)
33970 .map_err(SerializeError::from)?;
33971 }
33972 item.write_element("a:layoutNode", writer)?;
33973 #[cfg(feature = "extra-children")]
33974 {
33975 emit_idx += 1;
33976 }
33977 }
33978 #[cfg(feature = "dml-diagrams")]
33979 for item in &self.choose {
33980 #[cfg(feature = "extra-children")]
33981 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33982 extra_iter
33983 .next()
33984 .unwrap()
33985 .node
33986 .write_to(writer)
33987 .map_err(SerializeError::from)?;
33988 }
33989 item.write_element("a:choose", writer)?;
33990 #[cfg(feature = "extra-children")]
33991 {
33992 emit_idx += 1;
33993 }
33994 }
33995 #[cfg(feature = "extra-children")]
33996 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
33997 extra_iter
33998 .next()
33999 .unwrap()
34000 .node
34001 .write_to(writer)
34002 .map_err(SerializeError::from)?;
34003 }
34004 #[cfg(feature = "dml-diagrams")]
34005 if let Some(ref val) = self.ext_lst {
34006 val.write_element("a:extLst", writer)?;
34007 }
34008 #[cfg(feature = "extra-children")]
34009 {
34010 emit_idx += 1;
34011 }
34012 #[cfg(feature = "extra-children")]
34013 for extra in extra_iter {
34014 extra.node.write_to(writer).map_err(SerializeError::from)?;
34015 }
34016 Ok(())
34017 }
34018
34019 fn is_empty_element(&self) -> bool {
34020 #[cfg(feature = "dml-diagrams")]
34021 if self.alg.is_some() {
34022 return false;
34023 }
34024 #[cfg(feature = "dml-diagrams")]
34025 if self.shape.is_some() {
34026 return false;
34027 }
34028 #[cfg(feature = "dml-diagrams")]
34029 if self.pres_of.is_some() {
34030 return false;
34031 }
34032 #[cfg(feature = "dml-diagrams")]
34033 if self.constr_lst.is_some() {
34034 return false;
34035 }
34036 #[cfg(feature = "dml-diagrams")]
34037 if self.rule_lst.is_some() {
34038 return false;
34039 }
34040 #[cfg(feature = "dml-diagrams")]
34041 if !self.for_each.is_empty() {
34042 return false;
34043 }
34044 #[cfg(feature = "dml-diagrams")]
34045 if !self.layout_node.is_empty() {
34046 return false;
34047 }
34048 #[cfg(feature = "dml-diagrams")]
34049 if !self.choose.is_empty() {
34050 return false;
34051 }
34052 #[cfg(feature = "dml-diagrams")]
34053 if self.ext_lst.is_some() {
34054 return false;
34055 }
34056 #[cfg(feature = "extra-children")]
34057 if !self.extra_children.is_empty() {
34058 return false;
34059 }
34060 true
34061 }
34062}
34063
34064impl ToXml for LayoutWhen {
34065 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34066 #[allow(unused_mut)]
34067 let mut start = start;
34068 #[cfg(feature = "dml-diagrams")]
34069 if let Some(ref val) = self.name {
34070 start.push_attribute(("name", val.as_str()));
34071 }
34072 #[cfg(feature = "dml-diagrams")]
34073 if let Some(ref val) = self.axis {
34074 start.push_attribute(("axis", val.as_str()));
34075 }
34076 #[cfg(feature = "dml-diagrams")]
34077 if let Some(ref val) = self.pt_type {
34078 start.push_attribute(("ptType", val.as_str()));
34079 }
34080 #[cfg(feature = "dml-diagrams")]
34081 if let Some(ref val) = self.hide_last_trans {
34082 start.push_attribute(("hideLastTrans", val.as_str()));
34083 }
34084 #[cfg(feature = "dml-diagrams")]
34085 if let Some(ref val) = self.st {
34086 start.push_attribute(("st", val.as_str()));
34087 }
34088 #[cfg(feature = "dml-diagrams")]
34089 if let Some(ref val) = self.cnt {
34090 start.push_attribute(("cnt", val.as_str()));
34091 }
34092 #[cfg(feature = "dml-diagrams")]
34093 if let Some(ref val) = self.step {
34094 start.push_attribute(("step", val.as_str()));
34095 }
34096 #[cfg(feature = "dml-diagrams")]
34097 {
34098 let val = &self.func;
34099 {
34100 let s = val.to_string();
34101 start.push_attribute(("func", s.as_str()));
34102 }
34103 }
34104 #[cfg(feature = "dml-diagrams")]
34105 if let Some(ref val) = self.arg {
34106 {
34107 let s = val.to_string();
34108 start.push_attribute(("arg", s.as_str()));
34109 }
34110 }
34111 #[cfg(feature = "dml-diagrams")]
34112 {
34113 let val = &self.op;
34114 {
34115 let s = val.to_string();
34116 start.push_attribute(("op", s.as_str()));
34117 }
34118 }
34119 #[cfg(feature = "dml-diagrams")]
34120 {
34121 let val = &self.value;
34122 {
34123 let s = val.to_string();
34124 start.push_attribute(("val", s.as_str()));
34125 }
34126 }
34127 #[cfg(feature = "extra-attrs")]
34128 for (key, value) in &self.extra_attrs {
34129 start.push_attribute((key.as_str(), value.as_str()));
34130 }
34131 start
34132 }
34133
34134 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34135 #[cfg(feature = "extra-children")]
34136 let mut extra_iter = self.extra_children.iter().peekable();
34137 #[cfg(feature = "extra-children")]
34138 let mut emit_idx: usize = 0;
34139 #[cfg(feature = "extra-children")]
34140 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34141 extra_iter
34142 .next()
34143 .unwrap()
34144 .node
34145 .write_to(writer)
34146 .map_err(SerializeError::from)?;
34147 }
34148 #[cfg(feature = "dml-diagrams")]
34149 if let Some(ref val) = self.alg {
34150 val.write_element("a:alg", writer)?;
34151 }
34152 #[cfg(feature = "extra-children")]
34153 {
34154 emit_idx += 1;
34155 }
34156 #[cfg(feature = "extra-children")]
34157 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34158 extra_iter
34159 .next()
34160 .unwrap()
34161 .node
34162 .write_to(writer)
34163 .map_err(SerializeError::from)?;
34164 }
34165 #[cfg(feature = "dml-diagrams")]
34166 if let Some(ref val) = self.shape {
34167 val.write_element("a:shape", writer)?;
34168 }
34169 #[cfg(feature = "extra-children")]
34170 {
34171 emit_idx += 1;
34172 }
34173 #[cfg(feature = "extra-children")]
34174 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34175 extra_iter
34176 .next()
34177 .unwrap()
34178 .node
34179 .write_to(writer)
34180 .map_err(SerializeError::from)?;
34181 }
34182 #[cfg(feature = "dml-diagrams")]
34183 if let Some(ref val) = self.pres_of {
34184 val.write_element("a:presOf", writer)?;
34185 }
34186 #[cfg(feature = "extra-children")]
34187 {
34188 emit_idx += 1;
34189 }
34190 #[cfg(feature = "extra-children")]
34191 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34192 extra_iter
34193 .next()
34194 .unwrap()
34195 .node
34196 .write_to(writer)
34197 .map_err(SerializeError::from)?;
34198 }
34199 #[cfg(feature = "dml-diagrams")]
34200 if let Some(ref val) = self.constr_lst {
34201 val.write_element("a:constrLst", writer)?;
34202 }
34203 #[cfg(feature = "extra-children")]
34204 {
34205 emit_idx += 1;
34206 }
34207 #[cfg(feature = "extra-children")]
34208 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34209 extra_iter
34210 .next()
34211 .unwrap()
34212 .node
34213 .write_to(writer)
34214 .map_err(SerializeError::from)?;
34215 }
34216 #[cfg(feature = "dml-diagrams")]
34217 if let Some(ref val) = self.rule_lst {
34218 val.write_element("a:ruleLst", writer)?;
34219 }
34220 #[cfg(feature = "extra-children")]
34221 {
34222 emit_idx += 1;
34223 }
34224 #[cfg(feature = "dml-diagrams")]
34225 for item in &self.for_each {
34226 #[cfg(feature = "extra-children")]
34227 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34228 extra_iter
34229 .next()
34230 .unwrap()
34231 .node
34232 .write_to(writer)
34233 .map_err(SerializeError::from)?;
34234 }
34235 item.write_element("a:forEach", writer)?;
34236 #[cfg(feature = "extra-children")]
34237 {
34238 emit_idx += 1;
34239 }
34240 }
34241 #[cfg(feature = "dml-diagrams")]
34242 for item in &self.layout_node {
34243 #[cfg(feature = "extra-children")]
34244 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34245 extra_iter
34246 .next()
34247 .unwrap()
34248 .node
34249 .write_to(writer)
34250 .map_err(SerializeError::from)?;
34251 }
34252 item.write_element("a:layoutNode", writer)?;
34253 #[cfg(feature = "extra-children")]
34254 {
34255 emit_idx += 1;
34256 }
34257 }
34258 #[cfg(feature = "dml-diagrams")]
34259 for item in &self.choose {
34260 #[cfg(feature = "extra-children")]
34261 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34262 extra_iter
34263 .next()
34264 .unwrap()
34265 .node
34266 .write_to(writer)
34267 .map_err(SerializeError::from)?;
34268 }
34269 item.write_element("a:choose", writer)?;
34270 #[cfg(feature = "extra-children")]
34271 {
34272 emit_idx += 1;
34273 }
34274 }
34275 #[cfg(feature = "extra-children")]
34276 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34277 extra_iter
34278 .next()
34279 .unwrap()
34280 .node
34281 .write_to(writer)
34282 .map_err(SerializeError::from)?;
34283 }
34284 #[cfg(feature = "dml-diagrams")]
34285 if let Some(ref val) = self.ext_lst {
34286 val.write_element("a:extLst", writer)?;
34287 }
34288 #[cfg(feature = "extra-children")]
34289 {
34290 emit_idx += 1;
34291 }
34292 #[cfg(feature = "extra-children")]
34293 for extra in extra_iter {
34294 extra.node.write_to(writer).map_err(SerializeError::from)?;
34295 }
34296 Ok(())
34297 }
34298
34299 fn is_empty_element(&self) -> bool {
34300 #[cfg(feature = "dml-diagrams")]
34301 if self.alg.is_some() {
34302 return false;
34303 }
34304 #[cfg(feature = "dml-diagrams")]
34305 if self.shape.is_some() {
34306 return false;
34307 }
34308 #[cfg(feature = "dml-diagrams")]
34309 if self.pres_of.is_some() {
34310 return false;
34311 }
34312 #[cfg(feature = "dml-diagrams")]
34313 if self.constr_lst.is_some() {
34314 return false;
34315 }
34316 #[cfg(feature = "dml-diagrams")]
34317 if self.rule_lst.is_some() {
34318 return false;
34319 }
34320 #[cfg(feature = "dml-diagrams")]
34321 if !self.for_each.is_empty() {
34322 return false;
34323 }
34324 #[cfg(feature = "dml-diagrams")]
34325 if !self.layout_node.is_empty() {
34326 return false;
34327 }
34328 #[cfg(feature = "dml-diagrams")]
34329 if !self.choose.is_empty() {
34330 return false;
34331 }
34332 #[cfg(feature = "dml-diagrams")]
34333 if self.ext_lst.is_some() {
34334 return false;
34335 }
34336 #[cfg(feature = "extra-children")]
34337 if !self.extra_children.is_empty() {
34338 return false;
34339 }
34340 true
34341 }
34342}
34343
34344impl ToXml for LayoutOtherwise {
34345 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34346 #[allow(unused_mut)]
34347 let mut start = start;
34348 #[cfg(feature = "dml-diagrams")]
34349 if let Some(ref val) = self.name {
34350 start.push_attribute(("name", val.as_str()));
34351 }
34352 #[cfg(feature = "extra-attrs")]
34353 for (key, value) in &self.extra_attrs {
34354 start.push_attribute((key.as_str(), value.as_str()));
34355 }
34356 start
34357 }
34358
34359 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34360 #[cfg(feature = "extra-children")]
34361 let mut extra_iter = self.extra_children.iter().peekable();
34362 #[cfg(feature = "extra-children")]
34363 let mut emit_idx: usize = 0;
34364 #[cfg(feature = "extra-children")]
34365 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34366 extra_iter
34367 .next()
34368 .unwrap()
34369 .node
34370 .write_to(writer)
34371 .map_err(SerializeError::from)?;
34372 }
34373 #[cfg(feature = "dml-diagrams")]
34374 if let Some(ref val) = self.alg {
34375 val.write_element("a:alg", writer)?;
34376 }
34377 #[cfg(feature = "extra-children")]
34378 {
34379 emit_idx += 1;
34380 }
34381 #[cfg(feature = "extra-children")]
34382 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34383 extra_iter
34384 .next()
34385 .unwrap()
34386 .node
34387 .write_to(writer)
34388 .map_err(SerializeError::from)?;
34389 }
34390 #[cfg(feature = "dml-diagrams")]
34391 if let Some(ref val) = self.shape {
34392 val.write_element("a:shape", writer)?;
34393 }
34394 #[cfg(feature = "extra-children")]
34395 {
34396 emit_idx += 1;
34397 }
34398 #[cfg(feature = "extra-children")]
34399 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34400 extra_iter
34401 .next()
34402 .unwrap()
34403 .node
34404 .write_to(writer)
34405 .map_err(SerializeError::from)?;
34406 }
34407 #[cfg(feature = "dml-diagrams")]
34408 if let Some(ref val) = self.pres_of {
34409 val.write_element("a:presOf", writer)?;
34410 }
34411 #[cfg(feature = "extra-children")]
34412 {
34413 emit_idx += 1;
34414 }
34415 #[cfg(feature = "extra-children")]
34416 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34417 extra_iter
34418 .next()
34419 .unwrap()
34420 .node
34421 .write_to(writer)
34422 .map_err(SerializeError::from)?;
34423 }
34424 #[cfg(feature = "dml-diagrams")]
34425 if let Some(ref val) = self.constr_lst {
34426 val.write_element("a:constrLst", writer)?;
34427 }
34428 #[cfg(feature = "extra-children")]
34429 {
34430 emit_idx += 1;
34431 }
34432 #[cfg(feature = "extra-children")]
34433 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34434 extra_iter
34435 .next()
34436 .unwrap()
34437 .node
34438 .write_to(writer)
34439 .map_err(SerializeError::from)?;
34440 }
34441 #[cfg(feature = "dml-diagrams")]
34442 if let Some(ref val) = self.rule_lst {
34443 val.write_element("a:ruleLst", writer)?;
34444 }
34445 #[cfg(feature = "extra-children")]
34446 {
34447 emit_idx += 1;
34448 }
34449 #[cfg(feature = "dml-diagrams")]
34450 for item in &self.for_each {
34451 #[cfg(feature = "extra-children")]
34452 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34453 extra_iter
34454 .next()
34455 .unwrap()
34456 .node
34457 .write_to(writer)
34458 .map_err(SerializeError::from)?;
34459 }
34460 item.write_element("a:forEach", writer)?;
34461 #[cfg(feature = "extra-children")]
34462 {
34463 emit_idx += 1;
34464 }
34465 }
34466 #[cfg(feature = "dml-diagrams")]
34467 for item in &self.layout_node {
34468 #[cfg(feature = "extra-children")]
34469 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34470 extra_iter
34471 .next()
34472 .unwrap()
34473 .node
34474 .write_to(writer)
34475 .map_err(SerializeError::from)?;
34476 }
34477 item.write_element("a:layoutNode", writer)?;
34478 #[cfg(feature = "extra-children")]
34479 {
34480 emit_idx += 1;
34481 }
34482 }
34483 #[cfg(feature = "dml-diagrams")]
34484 for item in &self.choose {
34485 #[cfg(feature = "extra-children")]
34486 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34487 extra_iter
34488 .next()
34489 .unwrap()
34490 .node
34491 .write_to(writer)
34492 .map_err(SerializeError::from)?;
34493 }
34494 item.write_element("a:choose", writer)?;
34495 #[cfg(feature = "extra-children")]
34496 {
34497 emit_idx += 1;
34498 }
34499 }
34500 #[cfg(feature = "extra-children")]
34501 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34502 extra_iter
34503 .next()
34504 .unwrap()
34505 .node
34506 .write_to(writer)
34507 .map_err(SerializeError::from)?;
34508 }
34509 #[cfg(feature = "dml-diagrams")]
34510 if let Some(ref val) = self.ext_lst {
34511 val.write_element("a:extLst", writer)?;
34512 }
34513 #[cfg(feature = "extra-children")]
34514 {
34515 emit_idx += 1;
34516 }
34517 #[cfg(feature = "extra-children")]
34518 for extra in extra_iter {
34519 extra.node.write_to(writer).map_err(SerializeError::from)?;
34520 }
34521 Ok(())
34522 }
34523
34524 fn is_empty_element(&self) -> bool {
34525 #[cfg(feature = "dml-diagrams")]
34526 if self.alg.is_some() {
34527 return false;
34528 }
34529 #[cfg(feature = "dml-diagrams")]
34530 if self.shape.is_some() {
34531 return false;
34532 }
34533 #[cfg(feature = "dml-diagrams")]
34534 if self.pres_of.is_some() {
34535 return false;
34536 }
34537 #[cfg(feature = "dml-diagrams")]
34538 if self.constr_lst.is_some() {
34539 return false;
34540 }
34541 #[cfg(feature = "dml-diagrams")]
34542 if self.rule_lst.is_some() {
34543 return false;
34544 }
34545 #[cfg(feature = "dml-diagrams")]
34546 if !self.for_each.is_empty() {
34547 return false;
34548 }
34549 #[cfg(feature = "dml-diagrams")]
34550 if !self.layout_node.is_empty() {
34551 return false;
34552 }
34553 #[cfg(feature = "dml-diagrams")]
34554 if !self.choose.is_empty() {
34555 return false;
34556 }
34557 #[cfg(feature = "dml-diagrams")]
34558 if self.ext_lst.is_some() {
34559 return false;
34560 }
34561 #[cfg(feature = "extra-children")]
34562 if !self.extra_children.is_empty() {
34563 return false;
34564 }
34565 true
34566 }
34567}
34568
34569impl ToXml for LayoutChoose {
34570 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34571 #[allow(unused_mut)]
34572 let mut start = start;
34573 #[cfg(feature = "dml-diagrams")]
34574 if let Some(ref val) = self.name {
34575 start.push_attribute(("name", val.as_str()));
34576 }
34577 #[cfg(feature = "extra-attrs")]
34578 for (key, value) in &self.extra_attrs {
34579 start.push_attribute((key.as_str(), value.as_str()));
34580 }
34581 start
34582 }
34583
34584 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34585 #[cfg(feature = "extra-children")]
34586 let mut extra_iter = self.extra_children.iter().peekable();
34587 #[cfg(feature = "extra-children")]
34588 let mut emit_idx: usize = 0;
34589 #[cfg(feature = "dml-diagrams")]
34590 for item in &self.r#if {
34591 #[cfg(feature = "extra-children")]
34592 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34593 extra_iter
34594 .next()
34595 .unwrap()
34596 .node
34597 .write_to(writer)
34598 .map_err(SerializeError::from)?;
34599 }
34600 item.write_element("a:if", writer)?;
34601 #[cfg(feature = "extra-children")]
34602 {
34603 emit_idx += 1;
34604 }
34605 }
34606 #[cfg(feature = "extra-children")]
34607 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34608 extra_iter
34609 .next()
34610 .unwrap()
34611 .node
34612 .write_to(writer)
34613 .map_err(SerializeError::from)?;
34614 }
34615 #[cfg(feature = "dml-diagrams")]
34616 if let Some(ref val) = self.r#else {
34617 val.write_element("a:else", writer)?;
34618 }
34619 #[cfg(feature = "extra-children")]
34620 {
34621 emit_idx += 1;
34622 }
34623 #[cfg(feature = "extra-children")]
34624 for extra in extra_iter {
34625 extra.node.write_to(writer).map_err(SerializeError::from)?;
34626 }
34627 Ok(())
34628 }
34629
34630 fn is_empty_element(&self) -> bool {
34631 #[cfg(feature = "dml-diagrams")]
34632 if !self.r#if.is_empty() {
34633 return false;
34634 }
34635 #[cfg(feature = "dml-diagrams")]
34636 if self.r#else.is_some() {
34637 return false;
34638 }
34639 #[cfg(feature = "extra-children")]
34640 if !self.extra_children.is_empty() {
34641 return false;
34642 }
34643 true
34644 }
34645}
34646
34647impl ToXml for DiagramSampleData {
34648 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34649 #[allow(unused_mut)]
34650 let mut start = start;
34651 #[cfg(feature = "dml-diagrams")]
34652 if let Some(ref val) = self.use_def {
34653 start.push_attribute(("useDef", if *val { "1" } else { "0" }));
34654 }
34655 #[cfg(feature = "extra-attrs")]
34656 for (key, value) in &self.extra_attrs {
34657 start.push_attribute((key.as_str(), value.as_str()));
34658 }
34659 start
34660 }
34661
34662 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34663 #[cfg(feature = "extra-children")]
34664 let mut extra_iter = self.extra_children.iter().peekable();
34665 #[cfg(feature = "extra-children")]
34666 let mut emit_idx: usize = 0;
34667 #[cfg(feature = "extra-children")]
34668 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34669 extra_iter
34670 .next()
34671 .unwrap()
34672 .node
34673 .write_to(writer)
34674 .map_err(SerializeError::from)?;
34675 }
34676 #[cfg(feature = "dml-diagrams")]
34677 if let Some(ref val) = self.data_model {
34678 val.write_element("a:dataModel", writer)?;
34679 }
34680 #[cfg(feature = "extra-children")]
34681 {
34682 emit_idx += 1;
34683 }
34684 #[cfg(feature = "extra-children")]
34685 for extra in extra_iter {
34686 extra.node.write_to(writer).map_err(SerializeError::from)?;
34687 }
34688 Ok(())
34689 }
34690
34691 fn is_empty_element(&self) -> bool {
34692 #[cfg(feature = "dml-diagrams")]
34693 if self.data_model.is_some() {
34694 return false;
34695 }
34696 #[cfg(feature = "extra-children")]
34697 if !self.extra_children.is_empty() {
34698 return false;
34699 }
34700 true
34701 }
34702}
34703
34704impl ToXml for DiagramCategory {
34705 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34706 #[allow(unused_mut)]
34707 let mut start = start;
34708 #[cfg(feature = "dml-diagrams")]
34709 {
34710 let val = &self.r#type;
34711 start.push_attribute(("type", val.as_str()));
34712 }
34713 #[cfg(feature = "dml-diagrams")]
34714 {
34715 let val = &self.pri;
34716 {
34717 let s = val.to_string();
34718 start.push_attribute(("pri", s.as_str()));
34719 }
34720 }
34721 #[cfg(feature = "extra-attrs")]
34722 for (key, value) in &self.extra_attrs {
34723 start.push_attribute((key.as_str(), value.as_str()));
34724 }
34725 start
34726 }
34727
34728 fn is_empty_element(&self) -> bool {
34729 true
34730 }
34731}
34732
34733impl ToXml for DiagramCategories {
34734 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34735 #[cfg(feature = "extra-children")]
34736 let mut extra_iter = self.extra_children.iter().peekable();
34737 #[cfg(feature = "extra-children")]
34738 let mut emit_idx: usize = 0;
34739 #[cfg(feature = "dml-diagrams")]
34740 for item in &self.cat {
34741 #[cfg(feature = "extra-children")]
34742 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34743 extra_iter
34744 .next()
34745 .unwrap()
34746 .node
34747 .write_to(writer)
34748 .map_err(SerializeError::from)?;
34749 }
34750 item.write_element("a:cat", writer)?;
34751 #[cfg(feature = "extra-children")]
34752 {
34753 emit_idx += 1;
34754 }
34755 }
34756 #[cfg(feature = "extra-children")]
34757 for extra in extra_iter {
34758 extra.node.write_to(writer).map_err(SerializeError::from)?;
34759 }
34760 Ok(())
34761 }
34762
34763 fn is_empty_element(&self) -> bool {
34764 #[cfg(feature = "dml-diagrams")]
34765 if !self.cat.is_empty() {
34766 return false;
34767 }
34768 #[cfg(feature = "extra-children")]
34769 if !self.extra_children.is_empty() {
34770 return false;
34771 }
34772 true
34773 }
34774}
34775
34776impl ToXml for DiagramName {
34777 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34778 #[allow(unused_mut)]
34779 let mut start = start;
34780 #[cfg(feature = "dml-diagrams")]
34781 if let Some(ref val) = self.lang {
34782 start.push_attribute(("lang", val.as_str()));
34783 }
34784 #[cfg(feature = "dml-diagrams")]
34785 {
34786 let val = &self.value;
34787 start.push_attribute(("val", val.as_str()));
34788 }
34789 #[cfg(feature = "extra-attrs")]
34790 for (key, value) in &self.extra_attrs {
34791 start.push_attribute((key.as_str(), value.as_str()));
34792 }
34793 start
34794 }
34795
34796 fn is_empty_element(&self) -> bool {
34797 true
34798 }
34799}
34800
34801impl ToXml for DiagramDescription {
34802 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34803 #[allow(unused_mut)]
34804 let mut start = start;
34805 #[cfg(feature = "dml-diagrams")]
34806 if let Some(ref val) = self.lang {
34807 start.push_attribute(("lang", val.as_str()));
34808 }
34809 #[cfg(feature = "dml-diagrams")]
34810 {
34811 let val = &self.value;
34812 start.push_attribute(("val", val.as_str()));
34813 }
34814 #[cfg(feature = "extra-attrs")]
34815 for (key, value) in &self.extra_attrs {
34816 start.push_attribute((key.as_str(), value.as_str()));
34817 }
34818 start
34819 }
34820
34821 fn is_empty_element(&self) -> bool {
34822 true
34823 }
34824}
34825
34826impl ToXml for DiagramDefinition {
34827 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
34828 #[allow(unused_mut)]
34829 let mut start = start;
34830 #[cfg(feature = "dml-diagrams")]
34831 if let Some(ref val) = self.unique_id {
34832 start.push_attribute(("uniqueId", val.as_str()));
34833 }
34834 #[cfg(feature = "dml-diagrams")]
34835 if let Some(ref val) = self.min_ver {
34836 start.push_attribute(("minVer", val.as_str()));
34837 }
34838 #[cfg(feature = "dml-diagrams")]
34839 if let Some(ref val) = self.def_style {
34840 start.push_attribute(("defStyle", val.as_str()));
34841 }
34842 #[cfg(feature = "extra-attrs")]
34843 for (key, value) in &self.extra_attrs {
34844 start.push_attribute((key.as_str(), value.as_str()));
34845 }
34846 start
34847 }
34848
34849 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
34850 #[cfg(feature = "extra-children")]
34851 let mut extra_iter = self.extra_children.iter().peekable();
34852 #[cfg(feature = "extra-children")]
34853 let mut emit_idx: usize = 0;
34854 #[cfg(feature = "dml-diagrams")]
34855 for item in &self.title {
34856 #[cfg(feature = "extra-children")]
34857 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34858 extra_iter
34859 .next()
34860 .unwrap()
34861 .node
34862 .write_to(writer)
34863 .map_err(SerializeError::from)?;
34864 }
34865 item.write_element("a:title", writer)?;
34866 #[cfg(feature = "extra-children")]
34867 {
34868 emit_idx += 1;
34869 }
34870 }
34871 #[cfg(feature = "dml-diagrams")]
34872 for item in &self.desc {
34873 #[cfg(feature = "extra-children")]
34874 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34875 extra_iter
34876 .next()
34877 .unwrap()
34878 .node
34879 .write_to(writer)
34880 .map_err(SerializeError::from)?;
34881 }
34882 item.write_element("a:desc", writer)?;
34883 #[cfg(feature = "extra-children")]
34884 {
34885 emit_idx += 1;
34886 }
34887 }
34888 #[cfg(feature = "extra-children")]
34889 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34890 extra_iter
34891 .next()
34892 .unwrap()
34893 .node
34894 .write_to(writer)
34895 .map_err(SerializeError::from)?;
34896 }
34897 #[cfg(feature = "dml-diagrams")]
34898 if let Some(ref val) = self.cat_lst {
34899 val.write_element("a:catLst", writer)?;
34900 }
34901 #[cfg(feature = "extra-children")]
34902 {
34903 emit_idx += 1;
34904 }
34905 #[cfg(feature = "extra-children")]
34906 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34907 extra_iter
34908 .next()
34909 .unwrap()
34910 .node
34911 .write_to(writer)
34912 .map_err(SerializeError::from)?;
34913 }
34914 #[cfg(feature = "dml-diagrams")]
34915 if let Some(ref val) = self.samp_data {
34916 val.write_element("a:sampData", writer)?;
34917 }
34918 #[cfg(feature = "extra-children")]
34919 {
34920 emit_idx += 1;
34921 }
34922 #[cfg(feature = "extra-children")]
34923 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34924 extra_iter
34925 .next()
34926 .unwrap()
34927 .node
34928 .write_to(writer)
34929 .map_err(SerializeError::from)?;
34930 }
34931 #[cfg(feature = "dml-diagrams")]
34932 if let Some(ref val) = self.style_data {
34933 val.write_element("a:styleData", writer)?;
34934 }
34935 #[cfg(feature = "extra-children")]
34936 {
34937 emit_idx += 1;
34938 }
34939 #[cfg(feature = "extra-children")]
34940 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34941 extra_iter
34942 .next()
34943 .unwrap()
34944 .node
34945 .write_to(writer)
34946 .map_err(SerializeError::from)?;
34947 }
34948 #[cfg(feature = "dml-diagrams")]
34949 if let Some(ref val) = self.clr_data {
34950 val.write_element("a:clrData", writer)?;
34951 }
34952 #[cfg(feature = "extra-children")]
34953 {
34954 emit_idx += 1;
34955 }
34956 #[cfg(feature = "extra-children")]
34957 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34958 extra_iter
34959 .next()
34960 .unwrap()
34961 .node
34962 .write_to(writer)
34963 .map_err(SerializeError::from)?;
34964 }
34965 #[cfg(feature = "dml-diagrams")]
34966 {
34967 let val = &self.layout_node;
34968 val.write_element("a:layoutNode", writer)?;
34969 }
34970 #[cfg(feature = "extra-children")]
34971 {
34972 emit_idx += 1;
34973 }
34974 #[cfg(feature = "extra-children")]
34975 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
34976 extra_iter
34977 .next()
34978 .unwrap()
34979 .node
34980 .write_to(writer)
34981 .map_err(SerializeError::from)?;
34982 }
34983 #[cfg(feature = "dml-diagrams")]
34984 if let Some(ref val) = self.ext_lst {
34985 val.write_element("a:extLst", writer)?;
34986 }
34987 #[cfg(feature = "extra-children")]
34988 {
34989 emit_idx += 1;
34990 }
34991 #[cfg(feature = "extra-children")]
34992 for extra in extra_iter {
34993 extra.node.write_to(writer).map_err(SerializeError::from)?;
34994 }
34995 Ok(())
34996 }
34997
34998 fn is_empty_element(&self) -> bool {
34999 #[cfg(feature = "dml-diagrams")]
35000 if !self.title.is_empty() {
35001 return false;
35002 }
35003 #[cfg(feature = "dml-diagrams")]
35004 if !self.desc.is_empty() {
35005 return false;
35006 }
35007 #[cfg(feature = "dml-diagrams")]
35008 if self.cat_lst.is_some() {
35009 return false;
35010 }
35011 #[cfg(feature = "dml-diagrams")]
35012 if self.samp_data.is_some() {
35013 return false;
35014 }
35015 #[cfg(feature = "dml-diagrams")]
35016 if self.style_data.is_some() {
35017 return false;
35018 }
35019 #[cfg(feature = "dml-diagrams")]
35020 if self.clr_data.is_some() {
35021 return false;
35022 }
35023 #[cfg(feature = "dml-diagrams")]
35024 return false;
35025 #[cfg(feature = "dml-diagrams")]
35026 if self.ext_lst.is_some() {
35027 return false;
35028 }
35029 #[cfg(feature = "extra-children")]
35030 if !self.extra_children.is_empty() {
35031 return false;
35032 }
35033 true
35034 }
35035}
35036
35037impl ToXml for DiagramDefinitionHeader {
35038 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35039 #[allow(unused_mut)]
35040 let mut start = start;
35041 #[cfg(feature = "dml-diagrams")]
35042 {
35043 let val = &self.unique_id;
35044 start.push_attribute(("uniqueId", val.as_str()));
35045 }
35046 #[cfg(feature = "dml-diagrams")]
35047 if let Some(ref val) = self.min_ver {
35048 start.push_attribute(("minVer", val.as_str()));
35049 }
35050 #[cfg(feature = "dml-diagrams")]
35051 if let Some(ref val) = self.def_style {
35052 start.push_attribute(("defStyle", val.as_str()));
35053 }
35054 #[cfg(feature = "dml-diagrams")]
35055 if let Some(ref val) = self.res_id {
35056 {
35057 let s = val.to_string();
35058 start.push_attribute(("resId", s.as_str()));
35059 }
35060 }
35061 #[cfg(feature = "extra-attrs")]
35062 for (key, value) in &self.extra_attrs {
35063 start.push_attribute((key.as_str(), value.as_str()));
35064 }
35065 start
35066 }
35067
35068 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
35069 #[cfg(feature = "extra-children")]
35070 let mut extra_iter = self.extra_children.iter().peekable();
35071 #[cfg(feature = "extra-children")]
35072 let mut emit_idx: usize = 0;
35073 #[cfg(feature = "dml-diagrams")]
35074 for item in &self.title {
35075 #[cfg(feature = "extra-children")]
35076 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35077 extra_iter
35078 .next()
35079 .unwrap()
35080 .node
35081 .write_to(writer)
35082 .map_err(SerializeError::from)?;
35083 }
35084 item.write_element("a:title", writer)?;
35085 #[cfg(feature = "extra-children")]
35086 {
35087 emit_idx += 1;
35088 }
35089 }
35090 #[cfg(feature = "dml-diagrams")]
35091 for item in &self.desc {
35092 #[cfg(feature = "extra-children")]
35093 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35094 extra_iter
35095 .next()
35096 .unwrap()
35097 .node
35098 .write_to(writer)
35099 .map_err(SerializeError::from)?;
35100 }
35101 item.write_element("a:desc", writer)?;
35102 #[cfg(feature = "extra-children")]
35103 {
35104 emit_idx += 1;
35105 }
35106 }
35107 #[cfg(feature = "extra-children")]
35108 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35109 extra_iter
35110 .next()
35111 .unwrap()
35112 .node
35113 .write_to(writer)
35114 .map_err(SerializeError::from)?;
35115 }
35116 #[cfg(feature = "dml-diagrams")]
35117 if let Some(ref val) = self.cat_lst {
35118 val.write_element("a:catLst", writer)?;
35119 }
35120 #[cfg(feature = "extra-children")]
35121 {
35122 emit_idx += 1;
35123 }
35124 #[cfg(feature = "extra-children")]
35125 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35126 extra_iter
35127 .next()
35128 .unwrap()
35129 .node
35130 .write_to(writer)
35131 .map_err(SerializeError::from)?;
35132 }
35133 #[cfg(feature = "dml-diagrams")]
35134 if let Some(ref val) = self.ext_lst {
35135 val.write_element("a:extLst", writer)?;
35136 }
35137 #[cfg(feature = "extra-children")]
35138 {
35139 emit_idx += 1;
35140 }
35141 #[cfg(feature = "extra-children")]
35142 for extra in extra_iter {
35143 extra.node.write_to(writer).map_err(SerializeError::from)?;
35144 }
35145 Ok(())
35146 }
35147
35148 fn is_empty_element(&self) -> bool {
35149 #[cfg(feature = "dml-diagrams")]
35150 if !self.title.is_empty() {
35151 return false;
35152 }
35153 #[cfg(feature = "dml-diagrams")]
35154 if !self.desc.is_empty() {
35155 return false;
35156 }
35157 #[cfg(feature = "dml-diagrams")]
35158 if self.cat_lst.is_some() {
35159 return false;
35160 }
35161 #[cfg(feature = "dml-diagrams")]
35162 if self.ext_lst.is_some() {
35163 return false;
35164 }
35165 #[cfg(feature = "extra-children")]
35166 if !self.extra_children.is_empty() {
35167 return false;
35168 }
35169 true
35170 }
35171}
35172
35173impl ToXml for DiagramDefinitionHeaderList {
35174 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
35175 #[cfg(feature = "extra-children")]
35176 let mut extra_iter = self.extra_children.iter().peekable();
35177 #[cfg(feature = "extra-children")]
35178 let mut emit_idx: usize = 0;
35179 #[cfg(feature = "dml-diagrams")]
35180 for item in &self.layout_def_hdr {
35181 #[cfg(feature = "extra-children")]
35182 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35183 extra_iter
35184 .next()
35185 .unwrap()
35186 .node
35187 .write_to(writer)
35188 .map_err(SerializeError::from)?;
35189 }
35190 item.write_element("a:layoutDefHdr", writer)?;
35191 #[cfg(feature = "extra-children")]
35192 {
35193 emit_idx += 1;
35194 }
35195 }
35196 #[cfg(feature = "extra-children")]
35197 for extra in extra_iter {
35198 extra.node.write_to(writer).map_err(SerializeError::from)?;
35199 }
35200 Ok(())
35201 }
35202
35203 fn is_empty_element(&self) -> bool {
35204 #[cfg(feature = "dml-diagrams")]
35205 if !self.layout_def_hdr.is_empty() {
35206 return false;
35207 }
35208 #[cfg(feature = "extra-children")]
35209 if !self.extra_children.is_empty() {
35210 return false;
35211 }
35212 true
35213 }
35214}
35215
35216impl ToXml for DiagramRelationshipIds {
35217 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35218 #[allow(unused_mut)]
35219 let mut start = start;
35220 #[cfg(feature = "dml-diagrams")]
35221 {
35222 let val = &self.dm;
35223 start.push_attribute(("r:dm", val.as_str()));
35224 }
35225 #[cfg(feature = "dml-diagrams")]
35226 {
35227 let val = &self.lo;
35228 start.push_attribute(("r:lo", val.as_str()));
35229 }
35230 #[cfg(feature = "dml-diagrams")]
35231 {
35232 let val = &self.qs;
35233 start.push_attribute(("r:qs", val.as_str()));
35234 }
35235 #[cfg(feature = "dml-diagrams")]
35236 {
35237 let val = &self.cs;
35238 start.push_attribute(("r:cs", val.as_str()));
35239 }
35240 #[cfg(feature = "extra-attrs")]
35241 for (key, value) in &self.extra_attrs {
35242 start.push_attribute((key.as_str(), value.as_str()));
35243 }
35244 start
35245 }
35246
35247 fn is_empty_element(&self) -> bool {
35248 true
35249 }
35250}
35251
35252impl ToXml for DiagramElementProperties {
35253 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35254 #[allow(unused_mut)]
35255 let mut start = start;
35256 #[cfg(feature = "dml-diagrams")]
35257 if let Some(ref val) = self.pres_assoc_i_d {
35258 {
35259 let s = val.to_string();
35260 start.push_attribute(("presAssocID", s.as_str()));
35261 }
35262 }
35263 #[cfg(feature = "dml-diagrams")]
35264 if let Some(ref val) = self.pres_name {
35265 start.push_attribute(("presName", val.as_str()));
35266 }
35267 #[cfg(feature = "dml-diagrams")]
35268 if let Some(ref val) = self.pres_style_lbl {
35269 start.push_attribute(("presStyleLbl", val.as_str()));
35270 }
35271 #[cfg(feature = "dml-diagrams")]
35272 if let Some(ref val) = self.pres_style_idx {
35273 {
35274 let s = val.to_string();
35275 start.push_attribute(("presStyleIdx", s.as_str()));
35276 }
35277 }
35278 #[cfg(feature = "dml-diagrams")]
35279 if let Some(ref val) = self.pres_style_cnt {
35280 {
35281 let s = val.to_string();
35282 start.push_attribute(("presStyleCnt", s.as_str()));
35283 }
35284 }
35285 #[cfg(feature = "dml-diagrams")]
35286 if let Some(ref val) = self.lo_type_id {
35287 start.push_attribute(("loTypeId", val.as_str()));
35288 }
35289 #[cfg(feature = "dml-diagrams")]
35290 if let Some(ref val) = self.lo_cat_id {
35291 start.push_attribute(("loCatId", val.as_str()));
35292 }
35293 #[cfg(feature = "dml-diagrams")]
35294 if let Some(ref val) = self.qs_type_id {
35295 start.push_attribute(("qsTypeId", val.as_str()));
35296 }
35297 #[cfg(feature = "dml-diagrams")]
35298 if let Some(ref val) = self.qs_cat_id {
35299 start.push_attribute(("qsCatId", val.as_str()));
35300 }
35301 #[cfg(feature = "dml-diagrams")]
35302 if let Some(ref val) = self.cs_type_id {
35303 start.push_attribute(("csTypeId", val.as_str()));
35304 }
35305 #[cfg(feature = "dml-diagrams")]
35306 if let Some(ref val) = self.cs_cat_id {
35307 start.push_attribute(("csCatId", val.as_str()));
35308 }
35309 #[cfg(feature = "dml-diagrams")]
35310 if let Some(ref val) = self.coherent3_d_off {
35311 start.push_attribute(("coherent3DOff", if *val { "1" } else { "0" }));
35312 }
35313 #[cfg(feature = "dml-diagrams")]
35314 if let Some(ref val) = self.phldr_t {
35315 start.push_attribute(("phldrT", val.as_str()));
35316 }
35317 #[cfg(feature = "dml-diagrams")]
35318 if let Some(ref val) = self.phldr {
35319 start.push_attribute(("phldr", if *val { "1" } else { "0" }));
35320 }
35321 #[cfg(feature = "dml-diagrams")]
35322 if let Some(ref val) = self.cust_ang {
35323 {
35324 let s = val.to_string();
35325 start.push_attribute(("custAng", s.as_str()));
35326 }
35327 }
35328 #[cfg(feature = "dml-diagrams")]
35329 if let Some(ref val) = self.cust_flip_vert {
35330 start.push_attribute(("custFlipVert", if *val { "1" } else { "0" }));
35331 }
35332 #[cfg(feature = "dml-diagrams")]
35333 if let Some(ref val) = self.cust_flip_hor {
35334 start.push_attribute(("custFlipHor", if *val { "1" } else { "0" }));
35335 }
35336 #[cfg(feature = "dml-diagrams")]
35337 if let Some(ref val) = self.cust_sz_x {
35338 {
35339 let s = val.to_string();
35340 start.push_attribute(("custSzX", s.as_str()));
35341 }
35342 }
35343 #[cfg(feature = "dml-diagrams")]
35344 if let Some(ref val) = self.cust_sz_y {
35345 {
35346 let s = val.to_string();
35347 start.push_attribute(("custSzY", s.as_str()));
35348 }
35349 }
35350 #[cfg(feature = "dml-diagrams")]
35351 if let Some(ref val) = self.cust_scale_x {
35352 {
35353 let s = val.to_string();
35354 start.push_attribute(("custScaleX", s.as_str()));
35355 }
35356 }
35357 #[cfg(feature = "dml-diagrams")]
35358 if let Some(ref val) = self.cust_scale_y {
35359 {
35360 let s = val.to_string();
35361 start.push_attribute(("custScaleY", s.as_str()));
35362 }
35363 }
35364 #[cfg(feature = "dml-diagrams")]
35365 if let Some(ref val) = self.cust_t {
35366 start.push_attribute(("custT", if *val { "1" } else { "0" }));
35367 }
35368 #[cfg(feature = "dml-diagrams")]
35369 if let Some(ref val) = self.cust_lin_fact_x {
35370 {
35371 let s = val.to_string();
35372 start.push_attribute(("custLinFactX", s.as_str()));
35373 }
35374 }
35375 #[cfg(feature = "dml-diagrams")]
35376 if let Some(ref val) = self.cust_lin_fact_y {
35377 {
35378 let s = val.to_string();
35379 start.push_attribute(("custLinFactY", s.as_str()));
35380 }
35381 }
35382 #[cfg(feature = "dml-diagrams")]
35383 if let Some(ref val) = self.cust_lin_fact_neighbor_x {
35384 {
35385 let s = val.to_string();
35386 start.push_attribute(("custLinFactNeighborX", s.as_str()));
35387 }
35388 }
35389 #[cfg(feature = "dml-diagrams")]
35390 if let Some(ref val) = self.cust_lin_fact_neighbor_y {
35391 {
35392 let s = val.to_string();
35393 start.push_attribute(("custLinFactNeighborY", s.as_str()));
35394 }
35395 }
35396 #[cfg(feature = "dml-diagrams")]
35397 if let Some(ref val) = self.cust_rad_scale_rad {
35398 {
35399 let s = val.to_string();
35400 start.push_attribute(("custRadScaleRad", s.as_str()));
35401 }
35402 }
35403 #[cfg(feature = "dml-diagrams")]
35404 if let Some(ref val) = self.cust_rad_scale_inc {
35405 {
35406 let s = val.to_string();
35407 start.push_attribute(("custRadScaleInc", s.as_str()));
35408 }
35409 }
35410 #[cfg(feature = "extra-attrs")]
35411 for (key, value) in &self.extra_attrs {
35412 start.push_attribute((key.as_str(), value.as_str()));
35413 }
35414 start
35415 }
35416
35417 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
35418 #[cfg(feature = "extra-children")]
35419 let mut extra_iter = self.extra_children.iter().peekable();
35420 #[cfg(feature = "extra-children")]
35421 let mut emit_idx: usize = 0;
35422 #[cfg(feature = "extra-children")]
35423 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35424 extra_iter
35425 .next()
35426 .unwrap()
35427 .node
35428 .write_to(writer)
35429 .map_err(SerializeError::from)?;
35430 }
35431 #[cfg(feature = "dml-diagrams")]
35432 if let Some(ref val) = self.pres_layout_vars {
35433 val.write_element("a:presLayoutVars", writer)?;
35434 }
35435 #[cfg(feature = "extra-children")]
35436 {
35437 emit_idx += 1;
35438 }
35439 #[cfg(feature = "extra-children")]
35440 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35441 extra_iter
35442 .next()
35443 .unwrap()
35444 .node
35445 .write_to(writer)
35446 .map_err(SerializeError::from)?;
35447 }
35448 #[cfg(feature = "dml-diagrams")]
35449 if let Some(ref val) = self.style {
35450 val.write_element("a:style", writer)?;
35451 }
35452 #[cfg(feature = "extra-children")]
35453 {
35454 emit_idx += 1;
35455 }
35456 #[cfg(feature = "extra-children")]
35457 for extra in extra_iter {
35458 extra.node.write_to(writer).map_err(SerializeError::from)?;
35459 }
35460 Ok(())
35461 }
35462
35463 fn is_empty_element(&self) -> bool {
35464 #[cfg(feature = "dml-diagrams")]
35465 if self.pres_layout_vars.is_some() {
35466 return false;
35467 }
35468 #[cfg(feature = "dml-diagrams")]
35469 if self.style.is_some() {
35470 return false;
35471 }
35472 #[cfg(feature = "extra-children")]
35473 if !self.extra_children.is_empty() {
35474 return false;
35475 }
35476 true
35477 }
35478}
35479
35480impl ToXml for OrgChartProperties {
35481 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35482 #[allow(unused_mut)]
35483 let mut start = start;
35484 #[cfg(feature = "dml-diagrams")]
35485 if let Some(ref val) = self.value {
35486 start.push_attribute(("val", if *val { "1" } else { "0" }));
35487 }
35488 #[cfg(feature = "extra-attrs")]
35489 for (key, value) in &self.extra_attrs {
35490 start.push_attribute((key.as_str(), value.as_str()));
35491 }
35492 start
35493 }
35494
35495 fn is_empty_element(&self) -> bool {
35496 true
35497 }
35498}
35499
35500impl ToXml for ChildMaximum {
35501 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35502 #[allow(unused_mut)]
35503 let mut start = start;
35504 #[cfg(feature = "dml-diagrams")]
35505 if let Some(ref val) = self.value {
35506 {
35507 let s = val.to_string();
35508 start.push_attribute(("val", s.as_str()));
35509 }
35510 }
35511 #[cfg(feature = "extra-attrs")]
35512 for (key, value) in &self.extra_attrs {
35513 start.push_attribute((key.as_str(), value.as_str()));
35514 }
35515 start
35516 }
35517
35518 fn is_empty_element(&self) -> bool {
35519 true
35520 }
35521}
35522
35523impl ToXml for ChildPreference {
35524 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35525 #[allow(unused_mut)]
35526 let mut start = start;
35527 #[cfg(feature = "dml-diagrams")]
35528 if let Some(ref val) = self.value {
35529 {
35530 let s = val.to_string();
35531 start.push_attribute(("val", s.as_str()));
35532 }
35533 }
35534 #[cfg(feature = "extra-attrs")]
35535 for (key, value) in &self.extra_attrs {
35536 start.push_attribute((key.as_str(), value.as_str()));
35537 }
35538 start
35539 }
35540
35541 fn is_empty_element(&self) -> bool {
35542 true
35543 }
35544}
35545
35546impl ToXml for BulletEnabled {
35547 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35548 #[allow(unused_mut)]
35549 let mut start = start;
35550 #[cfg(feature = "dml-diagrams")]
35551 if let Some(ref val) = self.value {
35552 start.push_attribute(("val", if *val { "1" } else { "0" }));
35553 }
35554 #[cfg(feature = "extra-attrs")]
35555 for (key, value) in &self.extra_attrs {
35556 start.push_attribute((key.as_str(), value.as_str()));
35557 }
35558 start
35559 }
35560
35561 fn is_empty_element(&self) -> bool {
35562 true
35563 }
35564}
35565
35566impl ToXml for LayoutDirection {
35567 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35568 #[allow(unused_mut)]
35569 let mut start = start;
35570 #[cfg(feature = "dml-diagrams")]
35571 if let Some(ref val) = self.value {
35572 {
35573 let s = val.to_string();
35574 start.push_attribute(("val", s.as_str()));
35575 }
35576 }
35577 #[cfg(feature = "extra-attrs")]
35578 for (key, value) in &self.extra_attrs {
35579 start.push_attribute((key.as_str(), value.as_str()));
35580 }
35581 start
35582 }
35583
35584 fn is_empty_element(&self) -> bool {
35585 true
35586 }
35587}
35588
35589impl ToXml for HierarchyBranchStyle {
35590 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35591 #[allow(unused_mut)]
35592 let mut start = start;
35593 #[cfg(feature = "dml-diagrams")]
35594 if let Some(ref val) = self.value {
35595 {
35596 let s = val.to_string();
35597 start.push_attribute(("val", s.as_str()));
35598 }
35599 }
35600 #[cfg(feature = "extra-attrs")]
35601 for (key, value) in &self.extra_attrs {
35602 start.push_attribute((key.as_str(), value.as_str()));
35603 }
35604 start
35605 }
35606
35607 fn is_empty_element(&self) -> bool {
35608 true
35609 }
35610}
35611
35612impl ToXml for AnimateOneByOne {
35613 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35614 #[allow(unused_mut)]
35615 let mut start = start;
35616 #[cfg(feature = "dml-diagrams")]
35617 if let Some(ref val) = self.value {
35618 {
35619 let s = val.to_string();
35620 start.push_attribute(("val", s.as_str()));
35621 }
35622 }
35623 #[cfg(feature = "extra-attrs")]
35624 for (key, value) in &self.extra_attrs {
35625 start.push_attribute((key.as_str(), value.as_str()));
35626 }
35627 start
35628 }
35629
35630 fn is_empty_element(&self) -> bool {
35631 true
35632 }
35633}
35634
35635impl ToXml for AnimateLevel {
35636 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35637 #[allow(unused_mut)]
35638 let mut start = start;
35639 #[cfg(feature = "dml-diagrams")]
35640 if let Some(ref val) = self.value {
35641 {
35642 let s = val.to_string();
35643 start.push_attribute(("val", s.as_str()));
35644 }
35645 }
35646 #[cfg(feature = "extra-attrs")]
35647 for (key, value) in &self.extra_attrs {
35648 start.push_attribute((key.as_str(), value.as_str()));
35649 }
35650 start
35651 }
35652
35653 fn is_empty_element(&self) -> bool {
35654 true
35655 }
35656}
35657
35658impl ToXml for ResizeHandles {
35659 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35660 #[allow(unused_mut)]
35661 let mut start = start;
35662 #[cfg(feature = "dml-diagrams")]
35663 if let Some(ref val) = self.value {
35664 {
35665 let s = val.to_string();
35666 start.push_attribute(("val", s.as_str()));
35667 }
35668 }
35669 #[cfg(feature = "extra-attrs")]
35670 for (key, value) in &self.extra_attrs {
35671 start.push_attribute((key.as_str(), value.as_str()));
35672 }
35673 start
35674 }
35675
35676 fn is_empty_element(&self) -> bool {
35677 true
35678 }
35679}
35680
35681impl ToXml for LayoutVariableProperties {
35682 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
35683 #[cfg(feature = "extra-children")]
35684 let mut extra_iter = self.extra_children.iter().peekable();
35685 #[cfg(feature = "extra-children")]
35686 let mut emit_idx: usize = 0;
35687 #[cfg(feature = "extra-children")]
35688 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35689 extra_iter
35690 .next()
35691 .unwrap()
35692 .node
35693 .write_to(writer)
35694 .map_err(SerializeError::from)?;
35695 }
35696 #[cfg(feature = "dml-diagrams")]
35697 if let Some(ref val) = self.org_chart {
35698 val.write_element("a:orgChart", writer)?;
35699 }
35700 #[cfg(feature = "extra-children")]
35701 {
35702 emit_idx += 1;
35703 }
35704 #[cfg(feature = "extra-children")]
35705 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35706 extra_iter
35707 .next()
35708 .unwrap()
35709 .node
35710 .write_to(writer)
35711 .map_err(SerializeError::from)?;
35712 }
35713 #[cfg(feature = "dml-diagrams")]
35714 if let Some(ref val) = self.ch_max {
35715 val.write_element("a:chMax", writer)?;
35716 }
35717 #[cfg(feature = "extra-children")]
35718 {
35719 emit_idx += 1;
35720 }
35721 #[cfg(feature = "extra-children")]
35722 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35723 extra_iter
35724 .next()
35725 .unwrap()
35726 .node
35727 .write_to(writer)
35728 .map_err(SerializeError::from)?;
35729 }
35730 #[cfg(feature = "dml-diagrams")]
35731 if let Some(ref val) = self.ch_pref {
35732 val.write_element("a:chPref", writer)?;
35733 }
35734 #[cfg(feature = "extra-children")]
35735 {
35736 emit_idx += 1;
35737 }
35738 #[cfg(feature = "extra-children")]
35739 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35740 extra_iter
35741 .next()
35742 .unwrap()
35743 .node
35744 .write_to(writer)
35745 .map_err(SerializeError::from)?;
35746 }
35747 #[cfg(feature = "dml-diagrams")]
35748 if let Some(ref val) = self.bullet_enabled {
35749 val.write_element("a:bulletEnabled", writer)?;
35750 }
35751 #[cfg(feature = "extra-children")]
35752 {
35753 emit_idx += 1;
35754 }
35755 #[cfg(feature = "extra-children")]
35756 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35757 extra_iter
35758 .next()
35759 .unwrap()
35760 .node
35761 .write_to(writer)
35762 .map_err(SerializeError::from)?;
35763 }
35764 #[cfg(feature = "dml-diagrams")]
35765 if let Some(ref val) = self.dir {
35766 val.write_element("a:dir", writer)?;
35767 }
35768 #[cfg(feature = "extra-children")]
35769 {
35770 emit_idx += 1;
35771 }
35772 #[cfg(feature = "extra-children")]
35773 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35774 extra_iter
35775 .next()
35776 .unwrap()
35777 .node
35778 .write_to(writer)
35779 .map_err(SerializeError::from)?;
35780 }
35781 #[cfg(feature = "dml-diagrams")]
35782 if let Some(ref val) = self.hier_branch {
35783 val.write_element("a:hierBranch", writer)?;
35784 }
35785 #[cfg(feature = "extra-children")]
35786 {
35787 emit_idx += 1;
35788 }
35789 #[cfg(feature = "extra-children")]
35790 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35791 extra_iter
35792 .next()
35793 .unwrap()
35794 .node
35795 .write_to(writer)
35796 .map_err(SerializeError::from)?;
35797 }
35798 #[cfg(feature = "dml-diagrams")]
35799 if let Some(ref val) = self.anim_one {
35800 val.write_element("a:animOne", writer)?;
35801 }
35802 #[cfg(feature = "extra-children")]
35803 {
35804 emit_idx += 1;
35805 }
35806 #[cfg(feature = "extra-children")]
35807 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35808 extra_iter
35809 .next()
35810 .unwrap()
35811 .node
35812 .write_to(writer)
35813 .map_err(SerializeError::from)?;
35814 }
35815 #[cfg(feature = "dml-diagrams")]
35816 if let Some(ref val) = self.anim_lvl {
35817 val.write_element("a:animLvl", writer)?;
35818 }
35819 #[cfg(feature = "extra-children")]
35820 {
35821 emit_idx += 1;
35822 }
35823 #[cfg(feature = "extra-children")]
35824 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35825 extra_iter
35826 .next()
35827 .unwrap()
35828 .node
35829 .write_to(writer)
35830 .map_err(SerializeError::from)?;
35831 }
35832 #[cfg(feature = "dml-diagrams")]
35833 if let Some(ref val) = self.resize_handles {
35834 val.write_element("a:resizeHandles", writer)?;
35835 }
35836 #[cfg(feature = "extra-children")]
35837 {
35838 emit_idx += 1;
35839 }
35840 #[cfg(feature = "extra-children")]
35841 for extra in extra_iter {
35842 extra.node.write_to(writer).map_err(SerializeError::from)?;
35843 }
35844 Ok(())
35845 }
35846
35847 fn is_empty_element(&self) -> bool {
35848 #[cfg(feature = "dml-diagrams")]
35849 if self.org_chart.is_some() {
35850 return false;
35851 }
35852 #[cfg(feature = "dml-diagrams")]
35853 if self.ch_max.is_some() {
35854 return false;
35855 }
35856 #[cfg(feature = "dml-diagrams")]
35857 if self.ch_pref.is_some() {
35858 return false;
35859 }
35860 #[cfg(feature = "dml-diagrams")]
35861 if self.bullet_enabled.is_some() {
35862 return false;
35863 }
35864 #[cfg(feature = "dml-diagrams")]
35865 if self.dir.is_some() {
35866 return false;
35867 }
35868 #[cfg(feature = "dml-diagrams")]
35869 if self.hier_branch.is_some() {
35870 return false;
35871 }
35872 #[cfg(feature = "dml-diagrams")]
35873 if self.anim_one.is_some() {
35874 return false;
35875 }
35876 #[cfg(feature = "dml-diagrams")]
35877 if self.anim_lvl.is_some() {
35878 return false;
35879 }
35880 #[cfg(feature = "dml-diagrams")]
35881 if self.resize_handles.is_some() {
35882 return false;
35883 }
35884 #[cfg(feature = "extra-children")]
35885 if !self.extra_children.is_empty() {
35886 return false;
35887 }
35888 true
35889 }
35890}
35891
35892impl ToXml for StyleDefinitionName {
35893 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35894 #[allow(unused_mut)]
35895 let mut start = start;
35896 #[cfg(feature = "dml-diagrams")]
35897 if let Some(ref val) = self.lang {
35898 start.push_attribute(("lang", val.as_str()));
35899 }
35900 #[cfg(feature = "dml-diagrams")]
35901 {
35902 let val = &self.value;
35903 start.push_attribute(("val", val.as_str()));
35904 }
35905 #[cfg(feature = "extra-attrs")]
35906 for (key, value) in &self.extra_attrs {
35907 start.push_attribute((key.as_str(), value.as_str()));
35908 }
35909 start
35910 }
35911
35912 fn is_empty_element(&self) -> bool {
35913 true
35914 }
35915}
35916
35917impl ToXml for StyleDefinitionDescription {
35918 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35919 #[allow(unused_mut)]
35920 let mut start = start;
35921 #[cfg(feature = "dml-diagrams")]
35922 if let Some(ref val) = self.lang {
35923 start.push_attribute(("lang", val.as_str()));
35924 }
35925 #[cfg(feature = "dml-diagrams")]
35926 {
35927 let val = &self.value;
35928 start.push_attribute(("val", val.as_str()));
35929 }
35930 #[cfg(feature = "extra-attrs")]
35931 for (key, value) in &self.extra_attrs {
35932 start.push_attribute((key.as_str(), value.as_str()));
35933 }
35934 start
35935 }
35936
35937 fn is_empty_element(&self) -> bool {
35938 true
35939 }
35940}
35941
35942impl ToXml for DiagramStyleCategory {
35943 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
35944 #[allow(unused_mut)]
35945 let mut start = start;
35946 #[cfg(feature = "dml-diagrams")]
35947 {
35948 let val = &self.r#type;
35949 start.push_attribute(("type", val.as_str()));
35950 }
35951 #[cfg(feature = "dml-diagrams")]
35952 {
35953 let val = &self.pri;
35954 {
35955 let s = val.to_string();
35956 start.push_attribute(("pri", s.as_str()));
35957 }
35958 }
35959 #[cfg(feature = "extra-attrs")]
35960 for (key, value) in &self.extra_attrs {
35961 start.push_attribute((key.as_str(), value.as_str()));
35962 }
35963 start
35964 }
35965
35966 fn is_empty_element(&self) -> bool {
35967 true
35968 }
35969}
35970
35971impl ToXml for DiagramStyleCategories {
35972 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
35973 #[cfg(feature = "extra-children")]
35974 let mut extra_iter = self.extra_children.iter().peekable();
35975 #[cfg(feature = "extra-children")]
35976 let mut emit_idx: usize = 0;
35977 #[cfg(feature = "dml-diagrams")]
35978 for item in &self.cat {
35979 #[cfg(feature = "extra-children")]
35980 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
35981 extra_iter
35982 .next()
35983 .unwrap()
35984 .node
35985 .write_to(writer)
35986 .map_err(SerializeError::from)?;
35987 }
35988 item.write_element("a:cat", writer)?;
35989 #[cfg(feature = "extra-children")]
35990 {
35991 emit_idx += 1;
35992 }
35993 }
35994 #[cfg(feature = "extra-children")]
35995 for extra in extra_iter {
35996 extra.node.write_to(writer).map_err(SerializeError::from)?;
35997 }
35998 Ok(())
35999 }
36000
36001 fn is_empty_element(&self) -> bool {
36002 #[cfg(feature = "dml-diagrams")]
36003 if !self.cat.is_empty() {
36004 return false;
36005 }
36006 #[cfg(feature = "extra-children")]
36007 if !self.extra_children.is_empty() {
36008 return false;
36009 }
36010 true
36011 }
36012}
36013
36014impl ToXml for DiagramTextProperties {
36015 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
36016 #[cfg(feature = "extra-children")]
36017 let mut extra_iter = self.extra_children.iter().peekable();
36018 #[cfg(feature = "extra-children")]
36019 let mut emit_idx: usize = 0;
36020 #[cfg(feature = "extra-children")]
36021 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36022 extra_iter
36023 .next()
36024 .unwrap()
36025 .node
36026 .write_to(writer)
36027 .map_err(SerializeError::from)?;
36028 }
36029 #[cfg(feature = "dml-diagrams")]
36030 if let Some(ref val) = self.text3_d {
36031 val.write_element("", writer)?;
36032 }
36033 #[cfg(feature = "extra-children")]
36034 {
36035 emit_idx += 1;
36036 }
36037 #[cfg(feature = "extra-children")]
36038 for extra in extra_iter {
36039 extra.node.write_to(writer).map_err(SerializeError::from)?;
36040 }
36041 Ok(())
36042 }
36043
36044 fn is_empty_element(&self) -> bool {
36045 #[cfg(feature = "dml-diagrams")]
36046 if self.text3_d.is_some() {
36047 return false;
36048 }
36049 #[cfg(feature = "extra-children")]
36050 if !self.extra_children.is_empty() {
36051 return false;
36052 }
36053 true
36054 }
36055}
36056
36057impl ToXml for DiagramStyleLabel {
36058 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
36059 #[allow(unused_mut)]
36060 let mut start = start;
36061 #[cfg(feature = "dml-diagrams")]
36062 {
36063 let val = &self.name;
36064 start.push_attribute(("name", val.as_str()));
36065 }
36066 #[cfg(feature = "extra-attrs")]
36067 for (key, value) in &self.extra_attrs {
36068 start.push_attribute((key.as_str(), value.as_str()));
36069 }
36070 start
36071 }
36072
36073 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
36074 #[cfg(feature = "extra-children")]
36075 let mut extra_iter = self.extra_children.iter().peekable();
36076 #[cfg(feature = "extra-children")]
36077 let mut emit_idx: usize = 0;
36078 #[cfg(feature = "extra-children")]
36079 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36080 extra_iter
36081 .next()
36082 .unwrap()
36083 .node
36084 .write_to(writer)
36085 .map_err(SerializeError::from)?;
36086 }
36087 #[cfg(feature = "dml-diagrams")]
36088 if let Some(ref val) = self.scene3d {
36089 val.write_element("a:scene3d", writer)?;
36090 }
36091 #[cfg(feature = "extra-children")]
36092 {
36093 emit_idx += 1;
36094 }
36095 #[cfg(feature = "extra-children")]
36096 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36097 extra_iter
36098 .next()
36099 .unwrap()
36100 .node
36101 .write_to(writer)
36102 .map_err(SerializeError::from)?;
36103 }
36104 #[cfg(feature = "dml-diagrams")]
36105 if let Some(ref val) = self.sp3d {
36106 val.write_element("a:sp3d", writer)?;
36107 }
36108 #[cfg(feature = "extra-children")]
36109 {
36110 emit_idx += 1;
36111 }
36112 #[cfg(feature = "extra-children")]
36113 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36114 extra_iter
36115 .next()
36116 .unwrap()
36117 .node
36118 .write_to(writer)
36119 .map_err(SerializeError::from)?;
36120 }
36121 #[cfg(feature = "dml-diagrams")]
36122 if let Some(ref val) = self.tx_pr {
36123 val.write_element("a:txPr", writer)?;
36124 }
36125 #[cfg(feature = "extra-children")]
36126 {
36127 emit_idx += 1;
36128 }
36129 #[cfg(feature = "extra-children")]
36130 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36131 extra_iter
36132 .next()
36133 .unwrap()
36134 .node
36135 .write_to(writer)
36136 .map_err(SerializeError::from)?;
36137 }
36138 #[cfg(feature = "dml-diagrams")]
36139 if let Some(ref val) = self.style {
36140 val.write_element("a:style", writer)?;
36141 }
36142 #[cfg(feature = "extra-children")]
36143 {
36144 emit_idx += 1;
36145 }
36146 #[cfg(feature = "extra-children")]
36147 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36148 extra_iter
36149 .next()
36150 .unwrap()
36151 .node
36152 .write_to(writer)
36153 .map_err(SerializeError::from)?;
36154 }
36155 #[cfg(feature = "dml-diagrams")]
36156 if let Some(ref val) = self.ext_lst {
36157 val.write_element("a:extLst", writer)?;
36158 }
36159 #[cfg(feature = "extra-children")]
36160 {
36161 emit_idx += 1;
36162 }
36163 #[cfg(feature = "extra-children")]
36164 for extra in extra_iter {
36165 extra.node.write_to(writer).map_err(SerializeError::from)?;
36166 }
36167 Ok(())
36168 }
36169
36170 fn is_empty_element(&self) -> bool {
36171 #[cfg(feature = "dml-diagrams")]
36172 if self.scene3d.is_some() {
36173 return false;
36174 }
36175 #[cfg(feature = "dml-diagrams")]
36176 if self.sp3d.is_some() {
36177 return false;
36178 }
36179 #[cfg(feature = "dml-diagrams")]
36180 if self.tx_pr.is_some() {
36181 return false;
36182 }
36183 #[cfg(feature = "dml-diagrams")]
36184 if self.style.is_some() {
36185 return false;
36186 }
36187 #[cfg(feature = "dml-diagrams")]
36188 if self.ext_lst.is_some() {
36189 return false;
36190 }
36191 #[cfg(feature = "extra-children")]
36192 if !self.extra_children.is_empty() {
36193 return false;
36194 }
36195 true
36196 }
36197}
36198
36199impl ToXml for DiagramStyleDefinition {
36200 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
36201 #[allow(unused_mut)]
36202 let mut start = start;
36203 #[cfg(feature = "dml-diagrams")]
36204 if let Some(ref val) = self.unique_id {
36205 start.push_attribute(("uniqueId", val.as_str()));
36206 }
36207 #[cfg(feature = "dml-diagrams")]
36208 if let Some(ref val) = self.min_ver {
36209 start.push_attribute(("minVer", val.as_str()));
36210 }
36211 #[cfg(feature = "extra-attrs")]
36212 for (key, value) in &self.extra_attrs {
36213 start.push_attribute((key.as_str(), value.as_str()));
36214 }
36215 start
36216 }
36217
36218 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
36219 #[cfg(feature = "extra-children")]
36220 let mut extra_iter = self.extra_children.iter().peekable();
36221 #[cfg(feature = "extra-children")]
36222 let mut emit_idx: usize = 0;
36223 #[cfg(feature = "dml-diagrams")]
36224 for item in &self.title {
36225 #[cfg(feature = "extra-children")]
36226 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36227 extra_iter
36228 .next()
36229 .unwrap()
36230 .node
36231 .write_to(writer)
36232 .map_err(SerializeError::from)?;
36233 }
36234 item.write_element("a:title", writer)?;
36235 #[cfg(feature = "extra-children")]
36236 {
36237 emit_idx += 1;
36238 }
36239 }
36240 #[cfg(feature = "dml-diagrams")]
36241 for item in &self.desc {
36242 #[cfg(feature = "extra-children")]
36243 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36244 extra_iter
36245 .next()
36246 .unwrap()
36247 .node
36248 .write_to(writer)
36249 .map_err(SerializeError::from)?;
36250 }
36251 item.write_element("a:desc", writer)?;
36252 #[cfg(feature = "extra-children")]
36253 {
36254 emit_idx += 1;
36255 }
36256 }
36257 #[cfg(feature = "extra-children")]
36258 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36259 extra_iter
36260 .next()
36261 .unwrap()
36262 .node
36263 .write_to(writer)
36264 .map_err(SerializeError::from)?;
36265 }
36266 #[cfg(feature = "dml-diagrams")]
36267 if let Some(ref val) = self.cat_lst {
36268 val.write_element("a:catLst", writer)?;
36269 }
36270 #[cfg(feature = "extra-children")]
36271 {
36272 emit_idx += 1;
36273 }
36274 #[cfg(feature = "extra-children")]
36275 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36276 extra_iter
36277 .next()
36278 .unwrap()
36279 .node
36280 .write_to(writer)
36281 .map_err(SerializeError::from)?;
36282 }
36283 #[cfg(feature = "dml-diagrams")]
36284 if let Some(ref val) = self.scene3d {
36285 val.write_element("a:scene3d", writer)?;
36286 }
36287 #[cfg(feature = "extra-children")]
36288 {
36289 emit_idx += 1;
36290 }
36291 #[cfg(feature = "dml-diagrams")]
36292 for item in &self.style_lbl {
36293 #[cfg(feature = "extra-children")]
36294 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36295 extra_iter
36296 .next()
36297 .unwrap()
36298 .node
36299 .write_to(writer)
36300 .map_err(SerializeError::from)?;
36301 }
36302 item.write_element("a:styleLbl", writer)?;
36303 #[cfg(feature = "extra-children")]
36304 {
36305 emit_idx += 1;
36306 }
36307 }
36308 #[cfg(feature = "extra-children")]
36309 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36310 extra_iter
36311 .next()
36312 .unwrap()
36313 .node
36314 .write_to(writer)
36315 .map_err(SerializeError::from)?;
36316 }
36317 #[cfg(feature = "dml-diagrams")]
36318 if let Some(ref val) = self.ext_lst {
36319 val.write_element("a:extLst", writer)?;
36320 }
36321 #[cfg(feature = "extra-children")]
36322 {
36323 emit_idx += 1;
36324 }
36325 #[cfg(feature = "extra-children")]
36326 for extra in extra_iter {
36327 extra.node.write_to(writer).map_err(SerializeError::from)?;
36328 }
36329 Ok(())
36330 }
36331
36332 fn is_empty_element(&self) -> bool {
36333 #[cfg(feature = "dml-diagrams")]
36334 if !self.title.is_empty() {
36335 return false;
36336 }
36337 #[cfg(feature = "dml-diagrams")]
36338 if !self.desc.is_empty() {
36339 return false;
36340 }
36341 #[cfg(feature = "dml-diagrams")]
36342 if self.cat_lst.is_some() {
36343 return false;
36344 }
36345 #[cfg(feature = "dml-diagrams")]
36346 if self.scene3d.is_some() {
36347 return false;
36348 }
36349 #[cfg(feature = "dml-diagrams")]
36350 if !self.style_lbl.is_empty() {
36351 return false;
36352 }
36353 #[cfg(feature = "dml-diagrams")]
36354 if self.ext_lst.is_some() {
36355 return false;
36356 }
36357 #[cfg(feature = "extra-children")]
36358 if !self.extra_children.is_empty() {
36359 return false;
36360 }
36361 true
36362 }
36363}
36364
36365impl ToXml for DiagramStyleDefinitionHeader {
36366 fn write_attrs<'a>(&self, start: BytesStart<'a>) -> BytesStart<'a> {
36367 #[allow(unused_mut)]
36368 let mut start = start;
36369 #[cfg(feature = "dml-diagrams")]
36370 {
36371 let val = &self.unique_id;
36372 start.push_attribute(("uniqueId", val.as_str()));
36373 }
36374 #[cfg(feature = "dml-diagrams")]
36375 if let Some(ref val) = self.min_ver {
36376 start.push_attribute(("minVer", val.as_str()));
36377 }
36378 #[cfg(feature = "dml-diagrams")]
36379 if let Some(ref val) = self.res_id {
36380 {
36381 let s = val.to_string();
36382 start.push_attribute(("resId", s.as_str()));
36383 }
36384 }
36385 #[cfg(feature = "extra-attrs")]
36386 for (key, value) in &self.extra_attrs {
36387 start.push_attribute((key.as_str(), value.as_str()));
36388 }
36389 start
36390 }
36391
36392 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
36393 #[cfg(feature = "extra-children")]
36394 let mut extra_iter = self.extra_children.iter().peekable();
36395 #[cfg(feature = "extra-children")]
36396 let mut emit_idx: usize = 0;
36397 #[cfg(feature = "dml-diagrams")]
36398 for item in &self.title {
36399 #[cfg(feature = "extra-children")]
36400 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36401 extra_iter
36402 .next()
36403 .unwrap()
36404 .node
36405 .write_to(writer)
36406 .map_err(SerializeError::from)?;
36407 }
36408 item.write_element("a:title", writer)?;
36409 #[cfg(feature = "extra-children")]
36410 {
36411 emit_idx += 1;
36412 }
36413 }
36414 #[cfg(feature = "dml-diagrams")]
36415 for item in &self.desc {
36416 #[cfg(feature = "extra-children")]
36417 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36418 extra_iter
36419 .next()
36420 .unwrap()
36421 .node
36422 .write_to(writer)
36423 .map_err(SerializeError::from)?;
36424 }
36425 item.write_element("a:desc", writer)?;
36426 #[cfg(feature = "extra-children")]
36427 {
36428 emit_idx += 1;
36429 }
36430 }
36431 #[cfg(feature = "extra-children")]
36432 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36433 extra_iter
36434 .next()
36435 .unwrap()
36436 .node
36437 .write_to(writer)
36438 .map_err(SerializeError::from)?;
36439 }
36440 #[cfg(feature = "dml-diagrams")]
36441 if let Some(ref val) = self.cat_lst {
36442 val.write_element("a:catLst", writer)?;
36443 }
36444 #[cfg(feature = "extra-children")]
36445 {
36446 emit_idx += 1;
36447 }
36448 #[cfg(feature = "extra-children")]
36449 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36450 extra_iter
36451 .next()
36452 .unwrap()
36453 .node
36454 .write_to(writer)
36455 .map_err(SerializeError::from)?;
36456 }
36457 #[cfg(feature = "dml-diagrams")]
36458 if let Some(ref val) = self.ext_lst {
36459 val.write_element("a:extLst", writer)?;
36460 }
36461 #[cfg(feature = "extra-children")]
36462 {
36463 emit_idx += 1;
36464 }
36465 #[cfg(feature = "extra-children")]
36466 for extra in extra_iter {
36467 extra.node.write_to(writer).map_err(SerializeError::from)?;
36468 }
36469 Ok(())
36470 }
36471
36472 fn is_empty_element(&self) -> bool {
36473 #[cfg(feature = "dml-diagrams")]
36474 if !self.title.is_empty() {
36475 return false;
36476 }
36477 #[cfg(feature = "dml-diagrams")]
36478 if !self.desc.is_empty() {
36479 return false;
36480 }
36481 #[cfg(feature = "dml-diagrams")]
36482 if self.cat_lst.is_some() {
36483 return false;
36484 }
36485 #[cfg(feature = "dml-diagrams")]
36486 if self.ext_lst.is_some() {
36487 return false;
36488 }
36489 #[cfg(feature = "extra-children")]
36490 if !self.extra_children.is_empty() {
36491 return false;
36492 }
36493 true
36494 }
36495}
36496
36497impl ToXml for DiagramStyleDefinitionHeaderList {
36498 fn write_children<W: Write>(&self, writer: &mut Writer<W>) -> Result<(), SerializeError> {
36499 #[cfg(feature = "extra-children")]
36500 let mut extra_iter = self.extra_children.iter().peekable();
36501 #[cfg(feature = "extra-children")]
36502 let mut emit_idx: usize = 0;
36503 #[cfg(feature = "dml-diagrams")]
36504 for item in &self.style_def_hdr {
36505 #[cfg(feature = "extra-children")]
36506 while extra_iter.peek().is_some_and(|e| e.position <= emit_idx) {
36507 extra_iter
36508 .next()
36509 .unwrap()
36510 .node
36511 .write_to(writer)
36512 .map_err(SerializeError::from)?;
36513 }
36514 item.write_element("a:styleDefHdr", writer)?;
36515 #[cfg(feature = "extra-children")]
36516 {
36517 emit_idx += 1;
36518 }
36519 }
36520 #[cfg(feature = "extra-children")]
36521 for extra in extra_iter {
36522 extra.node.write_to(writer).map_err(SerializeError::from)?;
36523 }
36524 Ok(())
36525 }
36526
36527 fn is_empty_element(&self) -> bool {
36528 #[cfg(feature = "dml-diagrams")]
36529 if !self.style_def_hdr.is_empty() {
36530 return false;
36531 }
36532 #[cfg(feature = "extra-children")]
36533 if !self.extra_children.is_empty() {
36534 return false;
36535 }
36536 true
36537 }
36538}