EBOOKOutputElements.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 libe-book 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 EBOOKOUTPUTELEMENTS_H
11#define EBOOKOUTPUTELEMENTS_H
12
13#include <list>
14#include <map>
15#include <memory>
16
17#include <librevenge/librevenge.h>
18
19namespace libebook
20{
21
23
25{
26public:
27 typedef std::list<std::unique_ptr<EBOOKOutputElement>> OutputElements_t;
28 typedef std::map<int, OutputElements_t> OutputElementsMap_t;
29
31 virtual ~EBOOKOutputElements();
32 void append(const EBOOKOutputElements &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();
42 void addClosePageSpan();
43 void addCloseParagraph();
44 void addCloseSection();
45 void addCloseSpan();
46 void addCloseTable();
47 void addCloseTableCell();
48 void addCloseTableRow();
50 void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList);
51 void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList);
52 void addInsertLineBreak();
53 void addInsertSpace();
54 void addInsertTab();
55 void addInsertText(const librevenge::RVNGString &text);
56 void addOpenEndnote(const librevenge::RVNGPropertyList &propList);
57 void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id);
58 void addOpenFootnote(const librevenge::RVNGPropertyList &propList);
59 void addOpenFrame(const librevenge::RVNGPropertyList &propList);
60 void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id);
61 void addOpenLink(const librevenge::RVNGPropertyList &propList);
62 void addOpenListElement(const librevenge::RVNGPropertyList &propList);
63 void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList);
64 void addOpenPageSpan(const librevenge::RVNGPropertyList &propList);
65 void addOpenPageSpan(const librevenge::RVNGPropertyList &propList,
66 int footer, int footerLeft, int footerFirst, int footerLast,
67 int header, int headerLeft, int headerFirst, int headerLast);
68 void addOpenParagraph(const librevenge::RVNGPropertyList &propList);
69 void addOpenSection(const librevenge::RVNGPropertyList &propList);
70 void addOpenSpan(const librevenge::RVNGPropertyList &propList);
71 void addOpenTable(const librevenge::RVNGPropertyList &propList);
72 void addOpenTableCell(const librevenge::RVNGPropertyList &propList);
73 void addOpenTableRow(const librevenge::RVNGPropertyList &propList);
74 void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
75 void addStartDocument(const librevenge::RVNGPropertyList &propList);
76 bool empty() const
77 {
78 return m_bodyElements.empty();
79 }
80private:
84 std::map<int, OutputElements_t> m_headerElements;
85 std::map<int, OutputElements_t> m_footerElements;
87};
88
89}
90
91#endif /* EBOOKOUTPUTELEMENTS_H */
92
93/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition EBOOKOutputElements.cpp:31
void addCloseTableRow()
Definition EBOOKOutputElements.cpp:939
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1086
void addStartDocument(const librevenge::RVNGPropertyList &propList)
void addCloseTableCell()
Definition EBOOKOutputElements.cpp:933
void addCloseSpan()
Definition EBOOKOutputElements.cpp:921
virtual ~EBOOKOutputElements()
Definition EBOOKOutputElements.cpp:843
void addInsertTab()
Definition EBOOKOutputElements.cpp:975
void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1036
void addClosePageSpan()
Definition EBOOKOutputElements.cpp:903
void addCloseTable()
Definition EBOOKOutputElements.cpp:927
void addOpenEndnote(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:987
void addOpenPageSpan(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1042
EBOOKOutputElements()
Definition EBOOKOutputElements.cpp:837
void addOpenFootnote(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1004
void addCloseFooter()
Definition EBOOKOutputElements.cpp:859
void append(const EBOOKOutputElements &elements)
OutputElements_t * m_elements
Definition EBOOKOutputElements.h:86
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1068
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1030
void addCloseEndnote()
Definition EBOOKOutputElements.cpp:853
void addInsertSpace()
Definition EBOOKOutputElements.cpp:969
OutputElements_t m_bodyElements
Definition EBOOKOutputElements.h:83
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1010
void addInsertText(const librevenge::RVNGString &text)
Definition EBOOKOutputElements.cpp:981
std::map< int, OutputElements_t > OutputElementsMap_t
Definition EBOOKOutputElements.h:28
EBOOKOutputElements(const EBOOKOutputElements &)
void addOpenLink(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1024
void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id)
Definition EBOOKOutputElements.cpp:993
void addCloseUnorderedListLevel()
Definition EBOOKOutputElements.cpp:945
bool empty() const
Definition EBOOKOutputElements.h:76
void addCloseLink()
Definition EBOOKOutputElements.cpp:885
void addInsertLineBreak()
Definition EBOOKOutputElements.cpp:963
std::map< int, OutputElements_t > m_headerElements
Definition EBOOKOutputElements.h:84
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1080
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:957
void addOpenSection(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1062
void addCloseHeader()
Definition EBOOKOutputElements.cpp:878
void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id)
Definition EBOOKOutputElements.cpp:1016
void write(librevenge::RVNGTextInterface *iface) const
Definition EBOOKOutputElements.cpp:847
void addCloseListElement()
Definition EBOOKOutputElements.cpp:891
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1092
std::map< int, OutputElements_t > m_footerElements
Definition EBOOKOutputElements.h:85
void addCloseParagraph()
Definition EBOOKOutputElements.cpp:909
EBOOKOutputElements & operator=(const EBOOKOutputElements &)
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1074
void addCloseOrderedListLevel()
Definition EBOOKOutputElements.cpp:897
void addCloseFootnote()
Definition EBOOKOutputElements.cpp:866
void addCloseSection()
Definition EBOOKOutputElements.cpp:915
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:951
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition EBOOKOutputElements.cpp:1056
void addCloseFrame()
Definition EBOOKOutputElements.cpp:872
std::list< std::unique_ptr< EBOOKOutputElement > > OutputElements_t
Definition EBOOKOutputElements.h:27
@ footer
Definition EBOOKHTMLToken.h:73
@ header
Definition EBOOKHTMLToken.h:82
@ text
Definition EBOOKHTMLToken.h:257
Definition BBeBCollector.cpp:20

Generated for libe-book by doxygen 1.16.1