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
24 class ABWOutputElements
25 {
26 public:
27 typedef std::list<std::unique_ptr<ABWOutputElement>> OutputElements_t;
28 typedef std::map<int, OutputElements_t> OutputElementsMap_t;
29
30 ABWOutputElements();
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();
41 void addCloseOrderedListLevel();
42 void addClosePageSpan();
43 void addCloseParagraph();
44 void addCloseSection();
45 void addCloseSpan();
46 void addCloseTable();
47 void addCloseTableCell();
48 void addCloseTableRow();
49 void addCloseTextBox();
50 void addCloseUnorderedListLevel();
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:
83 ABWOutputElements(const ABWOutputElements &);
84 ABWOutputElements &operator=(const ABWOutputElements &);
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: */
libabw::ABWOutputElements::empty
bool empty() const
Definition: ABWOutputElements.h:78
libabw::ABWOutputElements::addOpenHeader
void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1090
libabw::ABWOutputElements::addInsertBinaryObject
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1019
libabw::ABWOutputElements::OutputElements_t
std::list< std::unique_ptr< ABWOutputElement > > OutputElements_t
Definition: ABWOutputElements.h:27
libabw::ABWOutputElements::addOpenTableRow
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1155
libabw::ABWOutputElements::addInsertSpace
void addInsertSpace()
Definition: ABWOutputElements.cpp:1043
libabw::ABWOutputElements::addCloseFootnote
void addCloseFootnote()
Definition: ABWOutputElements.cpp:928
libabw::ABWOutputElements::addCloseEndnote
void addCloseEndnote()
Definition: ABWOutputElements.cpp:915
libabw::ABWOutputElements::OutputElementsMap_t
std::map< int, OutputElements_t > OutputElementsMap_t
Definition: ABWOutputElements.h:28
libabw::ABWOutputElements::m_bodyElements
OutputElements_t m_bodyElements
Definition: ABWOutputElements.h:85
libabw::ABWOutputElements::addCloseTableRow
void addCloseTableRow()
Definition: ABWOutputElements.cpp:1001
libabw::ABWOutputElements::addInsertLineBreak
void addInsertLineBreak()
Definition: ABWOutputElements.cpp:1037
libabw::ABWOutputElements::addInsertField
void addInsertField(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1025
libabw::ABWOutputElements::m_footerElements
std::map< int, OutputElements_t > m_footerElements
Definition: ABWOutputElements.h:87
libabw::ABWOutputElements::addOpenSpan
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1137
libabw::ABWOutputElements::addOpenFooter
void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id)
Definition: ABWOutputElements.cpp:1067
libabw::ABWOutputElements::addCloseHeader
void addCloseHeader()
Definition: ABWOutputElements.cpp:940
libabw::ABWOutputElements::m_headerElements
std::map< int, OutputElements_t > m_headerElements
Definition: ABWOutputElements.h:86
libabw::ABWOutputElements::addOpenTableCell
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1149
libabw::ABWOutputElements::addCloseTable
void addCloseTable()
Definition: ABWOutputElements.cpp:989
libabw::ABWOutputElements::addOpenOrderedListLevel
void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1110
libabw::ABWOutputElements::operator=
ABWOutputElements & operator=(const ABWOutputElements &)
libabw::ABWOutputElements::write
void write(librevenge::RVNGTextInterface *iface) const
Definition: ABWOutputElements.cpp:908
libabw::ABWOutputElements::addOpenParagraph
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1125
libabw::ABWOutputElements::addOpenLink
void addOpenLink(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1104
libabw::ABWOutputElements::addCloseSection
void addCloseSection()
Definition: ABWOutputElements.cpp:977
libabw::ABWOutputElements::addInsertCoveredTableCell
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1031
libabw
Definition: AbiDocument.cpp:16
libabw::ABWOutputElements::addOpenSection
void addOpenSection(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1131
libabw::ABWOutputElements::m_elements
OutputElements_t * m_elements
Definition: ABWOutputElements.h:88
libabw::ABWOutputElements::~ABWOutputElements
virtual ~ABWOutputElements()
Definition: ABWOutputElements.cpp:899
libabw::ABWOutputElements::addCloseParagraph
void addCloseParagraph()
Definition: ABWOutputElements.cpp:971
libabw::ABWOutputElements
Definition: ABWOutputElements.h:24
libabw::ABWOutputElements::addCloseOrderedListLevel
void addCloseOrderedListLevel()
Definition: ABWOutputElements.cpp:959
libabw::ABWOutputElements::addOpenPageSpan
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
libabw::ABWOutputElements::addCloseLink
void addCloseLink()
Definition: ABWOutputElements.cpp:947
libabw::ABWOutputElements::addCloseFrame
void addCloseFrame()
Definition: ABWOutputElements.cpp:934
libabw::ABWOutputElements::addInsertText
void addInsertText(const librevenge::RVNGString &text)
Definition: ABWOutputElements.cpp:1055
libabw::ABWOutputElements::addCloseTextBox
void addCloseTextBox()
Definition: ABWOutputElements.cpp:1007
libabw::ABWOutputElements::addOpenFrame
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1084
libabw::ABWOutputElements::addCloseFooter
void addCloseFooter()
Definition: ABWOutputElements.cpp:921
libabw::ABWOutputElements::addCloseTableCell
void addCloseTableCell()
Definition: ABWOutputElements.cpp:995
libabw::ABWOutputElements::addCloseUnorderedListLevel
void addCloseUnorderedListLevel()
Definition: ABWOutputElements.cpp:1013
libabw::ABWOutputElements::addOpenFootnote
void addOpenFootnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1078
libabw::ABWOutputElements::addOpenEndnote
void addOpenEndnote(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1061
libabw::ABWOutputElements::addOpenTable
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1143
libabw::ABWOutputElements::addCloseSpan
void addCloseSpan()
Definition: ABWOutputElements.cpp:983
libabw::ABWOutputElements::addClosePageSpan
void addClosePageSpan()
Definition: ABWOutputElements.cpp:965
libabw::ABWOutputElements::addOpenTextBox
void addOpenTextBox(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1161
libabw::ABWOutputElements::addStartDocument
void addStartDocument(const librevenge::RVNGPropertyList &propList)
libabw::ABWOutputElements::addOpenUnorderedListLevel
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1167
libabw::ABWOutputElements::addInsertTab
void addInsertTab()
Definition: ABWOutputElements.cpp:1049
libabw::ABWOutputElements::splice
void splice(ABWOutputElements &elements)
Definition: ABWOutputElements.cpp:903
libabw::ABWOutputElements::addOpenListElement
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition: ABWOutputElements.cpp:1098
libabw::ABWOutputElements::ABWOutputElements
ABWOutputElements()
Definition: ABWOutputElements.cpp:893
libabw::ABWOutputElements::addCloseListElement
void addCloseListElement()
Definition: ABWOutputElements.cpp:953