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:
86  std::map<int, OutputElements_t > m_headerElements;
87  std::map<int, OutputElements_t > m_footerElements;
89 };
90 
91 
92 } // namespace libabw
93 
94 #endif /* ABWOUTPUTELEMENTS_H */
95 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
bool empty() const
Definition: ABWOutputElements.h:78
void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1090
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1019
std::list< std::unique_ptr< ABWOutputElement > > OutputElements_t
Definition: ABWOutputElements.h:27
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1155
void addInsertSpace()
Definition: ABWOutputElements.cpp:1043
void addCloseFootnote()
Definition: ABWOutputElements.cpp:928
void addCloseEndnote()
Definition: ABWOutputElements.cpp:915
std::map< int, OutputElements_t > OutputElementsMap_t
Definition: ABWOutputElements.h:28
OutputElements_t m_bodyElements
Definition: ABWOutputElements.h:85
void addCloseTableRow()
Definition: ABWOutputElements.cpp:1001
void addInsertLineBreak()
Definition: ABWOutputElements.cpp:1037
void addInsertField(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1025
std::map< int, OutputElements_t > m_footerElements
Definition: ABWOutputElements.h:87
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1137
void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1067
void addCloseHeader()
Definition: ABWOutputElements.cpp:940
std::map< int, OutputElements_t > m_headerElements
Definition: ABWOutputElements.h:86
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1149
void addCloseTable()
Definition: ABWOutputElements.cpp:989
void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1110
ABWOutputElements & operator=(const ABWOutputElements &)
void write(librevenge::RVNGTextInterface *iface) const
Definition: ABWOutputElements.cpp:908
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1125
void addOpenLink(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1104
void addCloseSection()
Definition: ABWOutputElements.cpp:977
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1031
Definition: AbiDocument.cpp:16
void addOpenSection(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1131
OutputElements_t * m_elements
Definition: ABWOutputElements.h:88
virtual ~ABWOutputElements()
Definition: ABWOutputElements.cpp:899
void addCloseParagraph()
Definition: ABWOutputElements.cpp:971
Definition: ABWOutputElements.h:24
void addCloseOrderedListLevel()
Definition: ABWOutputElements.cpp:959
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:1116
void addCloseLink()
Definition: ABWOutputElements.cpp:947
void addCloseFrame()
Definition: ABWOutputElements.cpp:934
void addInsertText(const librevenge::RVNGString &text)
Definition: ABWOutputElements.cpp:1055
void addCloseTextBox()
Definition: ABWOutputElements.cpp:1007
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1084
void addCloseFooter()
Definition: ABWOutputElements.cpp:921
void addCloseTableCell()
Definition: ABWOutputElements.cpp:995
void addCloseUnorderedListLevel()
Definition: ABWOutputElements.cpp:1013
void addOpenFootnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1078
void addOpenEndnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1061
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1143
void addCloseSpan()
Definition: ABWOutputElements.cpp:983
void addClosePageSpan()
Definition: ABWOutputElements.cpp:965
void addOpenTextBox(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1161
void addStartDocument(const librevenge::RVNGPropertyList &propList)
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1167
void addInsertTab()
Definition: ABWOutputElements.cpp:1049
void splice(ABWOutputElements &elements)
Definition: ABWOutputElements.cpp:903
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1098
ABWOutputElements()
Definition: ABWOutputElements.cpp:893
void addCloseListElement()
Definition: ABWOutputElements.cpp:953

Generated for libwpd by doxygen 1.8.15