EBOOKSubDocument.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libe-book project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef EBOOKSUBDOCUMENT_H_INCLUDED
00011 #define EBOOKSUBDOCUMENT_H_INCLUDED
00012 
00013 #include <librevenge/librevenge.h>
00014 
00015 namespace libebook
00016 {
00017 
00018 class EBOOKSubDocument : public librevenge::RVNGTextInterface
00019 {
00020   // disable copying
00021   EBOOKSubDocument(const EBOOKSubDocument &);
00022   EBOOKSubDocument &operator=(const EBOOKSubDocument &);
00023 
00024 public:
00025   explicit EBOOKSubDocument(librevenge::RVNGTextInterface &document);
00026   ~EBOOKSubDocument();
00027 
00028   void setDocumentMetaData(const librevenge::RVNGPropertyList &propList);
00029 
00030   void startDocument(const librevenge::RVNGPropertyList &propList);
00031   void endDocument();
00032 
00033   void defineEmbeddedFont(const librevenge::RVNGPropertyList &propList);
00034 
00035   void definePageStyle(const librevenge::RVNGPropertyList &propList);
00036   void openPageSpan(const librevenge::RVNGPropertyList &propList);
00037   void closePageSpan();
00038   void openHeader(const librevenge::RVNGPropertyList &propList);
00039   void closeHeader();
00040   void openFooter(const librevenge::RVNGPropertyList &propList);
00041   void closeFooter();
00042 
00043   void defineParagraphStyle(const librevenge::RVNGPropertyList &propList);
00044   void openParagraph(const librevenge::RVNGPropertyList &propList);
00045   void closeParagraph();
00046 
00047   void defineCharacterStyle(const librevenge::RVNGPropertyList &propList);
00048   void openSpan(const librevenge::RVNGPropertyList &propList);
00049   void closeSpan();
00050 
00051   void openLink(const librevenge::RVNGPropertyList &propList);
00052   void closeLink();
00053 
00054   void defineSectionStyle(const librevenge::RVNGPropertyList &propList);
00055   void openSection(const librevenge::RVNGPropertyList &propList);
00056   void closeSection();
00057 
00058   void insertTab();
00059   void insertSpace();
00060   void insertText(const librevenge::RVNGString &text);
00061   void insertLineBreak();
00062   void insertField(const librevenge::RVNGPropertyList &propList);
00063 
00064   void openOrderedListLevel(const librevenge::RVNGPropertyList &propList);
00065   void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
00066   void closeOrderedListLevel();
00067   void closeUnorderedListLevel();
00068   void openListElement(const librevenge::RVNGPropertyList &propList);
00069   void closeListElement();
00070 
00071   void openFootnote(const librevenge::RVNGPropertyList &propList);
00072   void closeFootnote();
00073   void openEndnote(const librevenge::RVNGPropertyList &propList);
00074   void closeEndnote();
00075   void openComment(const librevenge::RVNGPropertyList &propList);
00076   void closeComment();
00077   void openTextBox(const librevenge::RVNGPropertyList &propList);
00078   void closeTextBox();
00079 
00080   void openTable(const librevenge::RVNGPropertyList &propList);
00081   void openTableRow(const librevenge::RVNGPropertyList &propList);
00082   void closeTableRow();
00083   void openTableCell(const librevenge::RVNGPropertyList &propList);
00084   void closeTableCell();
00085   void insertCoveredTableCell(const librevenge::RVNGPropertyList &propList);
00086   void closeTable();
00087 
00088   void openFrame(const librevenge::RVNGPropertyList &propList);
00089   void closeFrame();
00090 
00091   void openGroup(const librevenge::RVNGPropertyList &propList);
00092   void closeGroup();
00093 
00094   void defineGraphicStyle(const librevenge::RVNGPropertyList &propList);
00095   void drawRectangle(const librevenge::RVNGPropertyList &propList);
00096   void drawEllipse(const librevenge::RVNGPropertyList &propList);
00097   void drawPolygon(const librevenge::RVNGPropertyList &propList);
00098   void drawPolyline(const librevenge::RVNGPropertyList &propList);
00099   void drawPath(const librevenge::RVNGPropertyList &propList);
00100   void drawConnector(const librevenge::RVNGPropertyList &propList);
00101 
00102   void insertBinaryObject(const librevenge::RVNGPropertyList &propList);
00103   void insertEquation(const librevenge::RVNGPropertyList &propList);
00104 
00105 private:
00106   librevenge::RVNGTextInterface &m_document;
00107 };
00108 
00109 }
00110 
00111 #endif // EBOOKSUBDOCUMENT_H_INCLUDED
00112 
00113 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */