ABWOutputElements.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libabw project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef ABWOUTPUTELEMENTS_H
11 #define ABWOUTPUTELEMENTS_H
12 
13 #include <list>
14 #include <map>
15 #include <memory>
16 
17 #include <librevenge/librevenge.h>
18 
19 namespace libabw
20 {
21 
22 class ABWOutputElement;
23 
25 {
26 public:
27  typedef std::list<std::unique_ptr<ABWOutputElement>> OutputElements_t;
28  typedef std::map<int, OutputElements_t> OutputElementsMap_t;
29 
31  virtual ~ABWOutputElements();
32  void splice(ABWOutputElements &elements);
33  void write(librevenge::RVNGTextInterface *iface) const;
34  void addCloseEndnote();
35  void addCloseFooter();
36  void addCloseFootnote();
37  void addCloseFrame();
38  void addCloseHeader();
39  void addCloseLink();
40  void addCloseListElement();
42  void addClosePageSpan();
43  void addCloseParagraph();
44  void addCloseSection();
45  void addCloseSpan();
46  void addCloseTable();
47  void addCloseTableCell();
48  void addCloseTableRow();
49  void addCloseTextBox();
51  void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList);
52  void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList);
53  void addInsertField(const librevenge::RVNGPropertyList &propList);
54  void addInsertLineBreak();
55  void addInsertSpace();
56  void addInsertTab();
57  void addInsertText(const librevenge::RVNGString &text);
58  void addOpenEndnote(const librevenge::RVNGPropertyList &propList);
59  void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id);
60  void addOpenFootnote(const librevenge::RVNGPropertyList &propList);
61  void addOpenFrame(const librevenge::RVNGPropertyList &propList);
62  void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id);
63  void addOpenLink(const librevenge::RVNGPropertyList &propList);
64  void addOpenListElement(const librevenge::RVNGPropertyList &propList);
65  void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList);
66  void addOpenPageSpan(const librevenge::RVNGPropertyList &propList,
67  int footer, int footerLeft, int footerFirst, int footerLast,
68  int header, int headerLeft, int headerFirst, int headerLast);
69  void addOpenParagraph(const librevenge::RVNGPropertyList &propList);
70  void addOpenSection(const librevenge::RVNGPropertyList &propList);
71  void addOpenSpan(const librevenge::RVNGPropertyList &propList);
72  void addOpenTable(const librevenge::RVNGPropertyList &propList);
73  void addOpenTableCell(const librevenge::RVNGPropertyList &propList);
74  void addOpenTableRow(const librevenge::RVNGPropertyList &propList);
75  void addOpenTextBox(const librevenge::RVNGPropertyList &propList);
76  void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
77  void addStartDocument(const librevenge::RVNGPropertyList &propList);
78  bool empty() const
79  {
80  return m_bodyElements.empty();
81  }
82 private:
85  OutputElements_t m_bodyElements;
86  std::map<int, OutputElements_t > m_headerElements;
87  std::map<int, OutputElements_t > m_footerElements;
88  OutputElements_t *m_elements;
89 };
90 
91 
92 } // namespace libabw
93 
94 #endif /* ABWOUTPUTELEMENTS_H */
95 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1091
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1020
std::list< std::unique_ptr< ABWOutputElement > > OutputElements_t
Definition: ABWOutputElements.h:27
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1156
void addInsertSpace()
Definition: ABWOutputElements.cpp:1044
void addCloseFootnote()
Definition: ABWOutputElements.cpp:929
void addCloseEndnote()
Definition: ABWOutputElements.cpp:916
std::map< int, OutputElements_t > OutputElementsMap_t
Definition: ABWOutputElements.h:28
OutputElements_t m_bodyElements
Definition: ABWOutputElements.h:85
void addCloseTableRow()
Definition: ABWOutputElements.cpp:1002
void addInsertLineBreak()
Definition: ABWOutputElements.cpp:1038
void addInsertField(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1026
std::map< int, OutputElements_t > m_footerElements
Definition: ABWOutputElements.h:87
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1138
void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1068
void addCloseHeader()
Definition: ABWOutputElements.cpp:941
std::map< int, OutputElements_t > m_headerElements
Definition: ABWOutputElements.h:86
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1150
void addCloseTable()
Definition: ABWOutputElements.cpp:990
void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1111
ABWOutputElements & operator=(const ABWOutputElements &)
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1126
void addOpenLink(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1105
void addCloseSection()
Definition: ABWOutputElements.cpp:978
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1032
Definition: AbiDocument.cpp:16
void addOpenSection(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1132
OutputElements_t * m_elements
Definition: ABWOutputElements.h:88
virtual ~ABWOutputElements()
Definition: ABWOutputElements.cpp:900
void addCloseParagraph()
Definition: ABWOutputElements.cpp:972
Definition: ABWOutputElements.h:24
void addCloseOrderedListLevel()
Definition: ABWOutputElements.cpp:960
void addOpenPageSpan(const librevenge::RVNGPropertyList &propList, int footer, int footerLeft, int footerFirst, int footerLast, int header, int headerLeft, int headerFirst, int headerLast)
Definition: ABWOutputElements.cpp:1117
void addCloseLink()
Definition: ABWOutputElements.cpp:948
void addCloseFrame()
Definition: ABWOutputElements.cpp:935
void addInsertText(const librevenge::RVNGString &text)
Definition: ABWOutputElements.cpp:1056
void addCloseTextBox()
Definition: ABWOutputElements.cpp:1008
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1085
void addCloseFooter()
Definition: ABWOutputElements.cpp:922
void addCloseTableCell()
Definition: ABWOutputElements.cpp:996
void addCloseUnorderedListLevel()
Definition: ABWOutputElements.cpp:1014
void addOpenFootnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1079
void addOpenEndnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1062
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1144
void addCloseSpan()
Definition: ABWOutputElements.cpp:984
void addClosePageSpan()
Definition: ABWOutputElements.cpp:966
void addOpenTextBox(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1162
void addStartDocument(const librevenge::RVNGPropertyList &propList)
void write(librevenge::RVNGTextInterface *iface) const
Definition: ABWOutputElements.cpp:909
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1168
void addInsertTab()
Definition: ABWOutputElements.cpp:1050
void splice(ABWOutputElements &elements)
Definition: ABWOutputElements.cpp:904
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1099
bool empty() const
Definition: ABWOutputElements.h:78
ABWOutputElements()
Definition: ABWOutputElements.cpp:894
void addCloseListElement()
Definition: ABWOutputElements.cpp:954

Generated for libwpd by doxygen 1.8.8