Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef EBOOKOUTPUTELEMENTS_H
00011 #define EBOOKOUTPUTELEMENTS_H
00012
00013 #include <list>
00014 #include <map>
00015
00016 #include <librevenge/librevenge.h>
00017
00018 namespace libebook
00019 {
00020
00021 class EBOOKOutputElement;
00022
00023 class EBOOKOutputElements
00024 {
00025 public:
00026 EBOOKOutputElements();
00027 virtual ~EBOOKOutputElements();
00028 void append(const EBOOKOutputElements &elements);
00029 void write(librevenge::RVNGTextInterface *iface) const;
00030 void addCloseEndnote();
00031 void addCloseFooter();
00032 void addCloseFootnote();
00033 void addCloseFrame();
00034 void addCloseHeader();
00035 void addCloseLink();
00036 void addCloseListElement();
00037 void addCloseOrderedListLevel();
00038 void addClosePageSpan();
00039 void addCloseParagraph();
00040 void addCloseSection();
00041 void addCloseSpan();
00042 void addCloseTable();
00043 void addCloseTableCell();
00044 void addCloseTableRow();
00045 void addCloseUnorderedListLevel();
00046 void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList);
00047 void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList);
00048 void addInsertLineBreak();
00049 void addInsertSpace();
00050 void addInsertTab();
00051 void addInsertText(const librevenge::RVNGString &text);
00052 void addOpenEndnote(const librevenge::RVNGPropertyList &propList);
00053 void addOpenFooter(const librevenge::RVNGPropertyList &propList, int id);
00054 void addOpenFootnote(const librevenge::RVNGPropertyList &propList);
00055 void addOpenFrame(const librevenge::RVNGPropertyList &propList);
00056 void addOpenHeader(const librevenge::RVNGPropertyList &propList, int id);
00057 void addOpenLink(const librevenge::RVNGPropertyList &propList);
00058 void addOpenListElement(const librevenge::RVNGPropertyList &propList);
00059 void addOpenOrderedListLevel(const librevenge::RVNGPropertyList &propList);
00060 void addOpenPageSpan(const librevenge::RVNGPropertyList &propList);
00061 void addOpenPageSpan(const librevenge::RVNGPropertyList &propList,
00062 int footer, int footerLeft, int footerFirst, int footerLast,
00063 int header, int headerLeft, int headerFirst, int headerLast);
00064 void addOpenParagraph(const librevenge::RVNGPropertyList &propList);
00065 void addOpenSection(const librevenge::RVNGPropertyList &propList);
00066 void addOpenSpan(const librevenge::RVNGPropertyList &propList);
00067 void addOpenTable(const librevenge::RVNGPropertyList &propList);
00068 void addOpenTableCell(const librevenge::RVNGPropertyList &propList);
00069 void addOpenTableRow(const librevenge::RVNGPropertyList &propList);
00070 void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
00071 void addStartDocument(const librevenge::RVNGPropertyList &propList);
00072 bool empty() const
00073 {
00074 return m_bodyElements.empty();
00075 }
00076 private:
00077 EBOOKOutputElements(const EBOOKOutputElements &);
00078 EBOOKOutputElements &operator=(const EBOOKOutputElements &);
00079 std::list<EBOOKOutputElement *> m_bodyElements;
00080 std::map<int, std::list<EBOOKOutputElement *> > m_headerElements;
00081 std::map<int, std::list<EBOOKOutputElement *> > m_footerElements;
00082 std::list<EBOOKOutputElement *> *m_elements;
00083 };
00084
00085 }
00086
00087 #endif
00088
00089