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 
19 namespace libebook
20 {
21 
22 class EBOOKOutputElement;
23 
25 {
26 public:
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();
40  void addCloseListElement();
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  }
80 private:
83  OutputElements_t m_bodyElements;
84  std::map<int, OutputElements_t> m_headerElements;
85  std::map<int, OutputElements_t> m_footerElements;
86  OutputElements_t *m_elements;
87 };
88 
89 }
90 
91 #endif /* EBOOKOUTPUTELEMENTS_H */
92 
93 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void addInsertText(const librevenge::RVNGString &text)
Definition: EBOOKOutputElements.cpp:981
void addCloseSpan()
Definition: EBOOKOutputElements.cpp:921
Definition: EBOOKOutputElements.h:24
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1010
void addCloseOrderedListLevel()
Definition: EBOOKOutputElements.cpp:897
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:951
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1068
void addOpenSection(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1062
void addCloseListElement()
Definition: EBOOKOutputElements.cpp:891
std::list< std::unique_ptr< EBOOKOutputElement > > OutputElements_t
Definition: EBOOKOutputElements.h:27
void addOpenLink(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1024
void addOpenPageSpan(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1042
void addOpenFootnote(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1004
void addCloseLink()
Definition: EBOOKOutputElements.cpp:885
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:957
void write(librevenge::RVNGTextInterface *iface) const
Definition: EBOOKOutputElements.cpp:847
void addInsertLineBreak()
Definition: EBOOKOutputElements.cpp:963
void addCloseTableCell()
Definition: EBOOKOutputElements.cpp:933
void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id)
Definition: EBOOKOutputElements.cpp:1016
void addCloseParagraph()
Definition: EBOOKOutputElements.cpp:909
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1080
void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id)
Definition: EBOOKOutputElements.cpp:993
void addClosePageSpan()
Definition: EBOOKOutputElements.cpp:903
OutputElements_t m_bodyElements
Definition: EBOOKOutputElements.h:83
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1056
void addCloseEndnote()
Definition: EBOOKOutputElements.cpp:853
EBOOKOutputElements()
Definition: EBOOKOutputElements.cpp:837
virtual ~EBOOKOutputElements()
Definition: EBOOKOutputElements.cpp:843
void addCloseUnorderedListLevel()
Definition: EBOOKOutputElements.cpp:945
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1030
void addCloseSection()
Definition: EBOOKOutputElements.cpp:915
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1074
void addCloseFootnote()
Definition: EBOOKOutputElements.cpp:866
void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1036
std::map< int, OutputElements_t > OutputElementsMap_t
Definition: EBOOKOutputElements.h:28
bool empty() const
Definition: EBOOKOutputElements.h:76
Definition: EBOOKHTMLToken.h:82
void addCloseFrame()
Definition: EBOOKOutputElements.cpp:872
void addInsertSpace()
Definition: EBOOKOutputElements.cpp:969
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1092
EBOOKOutputElements & operator=(const EBOOKOutputElements &)
std::map< int, OutputElements_t > m_footerElements
Definition: EBOOKOutputElements.h:85
void addOpenEndnote(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:987
Definition: BBeBCollector.cpp:19
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition: EBOOKOutputElements.cpp:1086
void addCloseTable()
Definition: EBOOKOutputElements.cpp:927
std::map< int, OutputElements_t > m_headerElements
Definition: EBOOKOutputElements.h:84
void addInsertTab()
Definition: EBOOKOutputElements.cpp:975
void addCloseFooter()
Definition: EBOOKOutputElements.cpp:859
qi::rule< Iterator, AttrValue_t, qi::space_type > text
Definition: TealDocParser.cpp:232
OutputElements_t * m_elements
Definition: EBOOKOutputElements.h:86
void append(const EBOOKOutputElements &elements)
void addStartDocument(const librevenge::RVNGPropertyList &propList)
void addCloseTableRow()
Definition: EBOOKOutputElements.cpp:939
void addCloseHeader()
Definition: EBOOKOutputElements.cpp:878
Definition: EBOOKHTMLToken.h:73

Generated for libe-book by doxygen 1.8.10