OdpGenerator.hxx
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 /* libodfgen
00003  * Version: MPL 2.0 / LGPLv2.1+
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  * Major Contributor(s):
00010  * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
00011  *
00012  * For minor contributions see the git repository.
00013  *
00014  * Alternatively, the contents of this file may be used under the terms
00015  * of the GNU Lesser General Public License Version 2.1 or later
00016  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
00017  * applicable instead of those above.
00018  *
00019  * For further information visit http://libwpd.sourceforge.net
00020  */
00021 
00022 /* "This product is not manufactured, approved, or supported by
00023  * Corel Corporation or Corel Corporation Limited."
00024  */
00025 #ifndef LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
00026 #define LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
00027 
00028 #include <libetonyek/libetonyek.h>
00029 
00030 #include "OdfDocumentHandler.hxx"
00031 
00032 class OdpGeneratorPrivate;
00033 
00039 class OdpGenerator : public libetonyek::KEYPresentationInterface
00040 {
00041 public:
00042         OdpGenerator(OdfDocumentHandler *pHandler, const OdfStreamType streamType);
00043         ~OdpGenerator();
00044 
00045         void startDocument(const ::WPXPropertyList &propList);
00046         void endDocument();
00047         void setDocumentMetaData(const ::WPXPropertyList &propList);
00048         void startSlide(const ::WPXPropertyList &propList);
00049         void endSlide();
00050         void startLayer(const ::WPXPropertyList &propList);
00051         void endLayer();
00052         void startEmbeddedGraphics(const ::WPXPropertyList &propList);
00053         void endEmbeddedGraphics();
00054         void startGroup(const ::WPXPropertyList &propList);
00055         void endGroup();
00056 
00057         void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient);
00058 
00059         void drawRectangle(const ::WPXPropertyList &propList);
00060         void drawEllipse(const ::WPXPropertyList &propList);
00061         void drawPolyline(const ::WPXPropertyListVector &vertices);
00062         void drawPolygon(const ::WPXPropertyListVector &vertices);
00063         void drawPath(const ::WPXPropertyListVector &path);
00064         void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData);
00065         void drawConnector(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path);
00066 
00067         void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path);
00068         void endTextObject();
00069         void openParagraph(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops);
00070         void closeParagraph();
00071         void openSpan(const ::WPXPropertyList &propList);
00072         void closeSpan();
00073         void insertText(const ::WPXString &str);
00074         void insertTab();
00075         void insertSpace();
00076         void insertLineBreak();
00077         void insertField(const WPXString &type, const ::WPXPropertyList &propList);
00078 
00079         void openOrderedListLevel(const ::WPXPropertyList &propList);
00080         void openUnorderedListLevel(const ::WPXPropertyList &propList);
00081         void closeOrderedListLevel();
00082         void closeUnorderedListLevel();
00083         void openListElement(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops);
00084         void closeListElement();
00085 
00086         void openTable(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &columns);
00087         void openTableRow(const ::WPXPropertyList &propList);
00088         void closeTableRow();
00089         void openTableCell(const ::WPXPropertyList &propList);
00090         void closeTableCell();
00091         void insertCoveredTableCell(const ::WPXPropertyList &propList);
00092         void closeTable();
00093 
00094         void startComment(const ::WPXPropertyList &propList);
00095         void endComment();
00096 
00097         void startNotes(const ::WPXPropertyList &propList);
00098         void endNotes();
00099 
00100 private:
00101         // disable copying
00102         OdpGenerator(OdpGenerator const &);
00103         OdpGenerator &operator=(OdpGenerator const &);
00104 
00105         OdpGeneratorPrivate *mpImpl;
00106 };
00107 
00108 #endif // LIBODFGEN_ODPGENERATOR_HXX_INCLUDED
00109 
00110 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */